blob: 025982c3ead914427b9bdc8cce5989fa2d595f38 [file] [log] [blame]
(function(window){function Matrix(t){var e=this;e._t=e.transform,e.a=e.d=1,e.b=e.c=e.e=e.f=0,e.props=[1,0,0,1,0,0],e.cssParts=["matrix(","",")"],e.a1=e.b1=e.c1=e.d1=e.e1=e.f1=0,e.context=t,e.cos=e.sin=0,t&&t.setTransform(1,0,0,1,0,0)}function BM_CanvasRenderingContext2D(t){this.renderer=t}function matrixManagerFunction(){var t=new Matrix,e=function(t,e,a,r,i,s,n,o,h){var l,m,p,d,c,f,u;return l=$M([[1,0,0,0],[0,Math.cos(t),Math.sin(-t),0],[0,Math.sin(t),Math.cos(t),0],[0,0,0,1]]),m=$M([[Math.cos(e),0,Math.sin(e),0],[0,1,0,0],[Math.sin(-e),0,Math.cos(e),0],[0,0,0,1]]),p=$M([[Math.cos(a),Math.sin(-a),0,0],[Math.sin(a),Math.cos(a),0,0],[0,0,1,0],[0,0,0,1]]),c=$M([[r,0,0,0],[0,i,0,0],[0,0,s,0],[0,0,0,1]]),f=l.x(m).x(p).x(c),f=f.transpose(),u=$M([[1,0,0,0],[0,1,0,0],[0,0,1,0],[n,o,h,1]]),f=f.x(u),d="matrix3d(",d+=f.e(1,1).toFixed(5)+","+f.e(1,2).toFixed(5)+","+f.e(1,3).toFixed(5)+","+f.e(1,4).toFixed(5)+",",d+=f.e(2,1).toFixed(5)+","+f.e(2,2).toFixed(5)+","+f.e(2,3).toFixed(5)+","+f.e(2,4).toFixed(5)+",",d+=f.e(3,1).toFixed(5)+","+f.e(3,2).toFixed(5)+","+f.e(3,3).toFixed(5)+","+f.e(3,4).toFixed(5)+",",d+=f.e(4,1).toFixed(5)+","+f.e(4,2).toFixed(5)+","+f.e(4,3).toFixed(5)+","+f.e(4,4).toFixed(5),d+=")"},a=function(e,a,r,i,s){return t.reset().translate(i,s).rotate(e).scale(a,r).toCSS()},r=function(e,a,r,i,s){return t.reset().translate(i,s).rotate(e).scale(a,r).toArray()},i=function(t){return a(t.r,t.s[0],t.s[1],t.p[0],t.p[1])},s=function(t,r){return r?e(-t.tr.r[0],t.tr.r[1],t.tr.r[2],t.tr.s[0],t.tr.s[1],t.tr.s[2],t.tr.p[0],t.tr.p[1],t.tr.p[2]):a(t.tr.r[2],t.tr.s[0],t.tr.s[1],t.tr.p[0],t.tr.p[1])},n=function(t,r){return r?e(-t.r[0],t.r[1],t.r[2],t.s[0],t.s[1],t.s[2],t.p[0],t.p[1],t.p[2]):a(t.r[2],t.s[0],t.s[1],t.p[0],t.p[1])},o=function(t,e){return e?null:r(t.r[2],t.s[0],t.s[1],t.p[0],t.p[1])};return{get2DMatrix:i,getMatrix:s,getMatrix2:n,getMatrixArray:o,getMatrixArrayFromParams:r,getMatrix2FromParams:a}}function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.left=0,t.style.display="block",t.style.verticalAlign="top",t.style.backfaceVisibility=t.style.webkitBackfaceVisibility="hidden",styleUnselectableDiv(t)}function styleUnselectableDiv(t){t.style.userSelect="none",t.style.MozUserSelect="none",t.style.webkitUserSelect="none",t.style.oUserSelect="none"}function randomString(t,e){void 0===e&&(e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890");var a,r="";for(a=t;a>0;--a)r+=e[Math.round(Math.random()*(e.length-1))];return r}function componentToHex(t){var e=t.toString(16);return 1==e.length?"0"+e:e}function fillToRgba(t,e){if(!cachedColors[t]){var a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);cachedColors[t]=parseInt(a[1],16)+","+parseInt(a[2],16)+","+parseInt(a[3],16)}return"rgba("+cachedColors[t]+","+e+")"}function createElement(t,e,a){if(!e){var r=Object.create(t.prototype,a),i={};return r&&"[object Function]"===i.toString.call(r.init)&&r.init(),r}e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.prototype.parent=t.prototype}function defineDescriptor(t,e,a,r){var i={writable:!1,configurable:!1,enumerable:!1,value:a};if(r)for(var s in r)i[s]=r[s];var n={};t&&"[object Function]"===n.toString.call(t)&&(t=t.prototype),Object.defineProperty(t,e,i)}function defineAccessor(t,e,a){var r,i={enumerable:!1,configurable:!1,get:function(){return r},set:function(t){r=t}};if(a)for(var s in a)i[s]=a[s];var n={};t&&"[object Function]"===n.toString.call(t)&&(t=t.prototype),Object.defineProperty(t,e,i)}function bezFunction(){function t(t,e,a,r,i,s){return m.abs((a-t)*(s-e)-(i-t)*(r-e))<1e-5}function e(t){return l[t].fnc}function a(t,e,a,r,i){if(i||(i=("bez_"+t+"_"+e+"_"+a+"_"+r).replace(/\./g,"p")),l[i])return l[i];var s,n,o,h,p,d;return l[i]=function(i,l,c,f,u){var y=l/u;i=y;for(var g,v=0;++v<14&&(o=3*t,n=3*(a-t)-o,s=1-o-n,g=i*(o+i*(n+i*s))-y,!(m.abs(g)<.001));)i-=g/(o+i*(2*n+3*s*i));d=3*e,p=3*(r-e)-d,h=1-d-p;var b=i*(d+i*(p+i*h));return f*b+c},l[i]}function r(t){this.segmentLength=0,this.points=new Array(t)}function i(t,e){this.partialLength=t,this.point=e}function s(e){var a,s,n,o,h,l,p,d=e.s,c=e.e,f=e.to,u=e.ti,y=100,g=0,v=null;(d[0]!=c[0]||d[1]!=c[1])&&t(d[0],d[1],c[0],c[1],d[0]+f[0],d[1]+f[1])&&t(d[0],d[1],c[0],c[1],c[0]+u[0],c[1]+u[1])&&(y=2);var b=new r(y);for(n=f.length,a=0;y>a;a+=1){for(p=[],h=a/(y-1),l=0,s=0;n>s;s+=1)o=m.pow(1-h,3)*d[s]+3*m.pow(1-h,2)*h*(d[s]+f[s])+3*(1-h)*m.pow(h,2)*(c[s]+u[s])+m.pow(h,3)*c[s],p.push(o),null!==v&&(l+=m.pow(p[s]-v[s],2));l=m.sqrt(l),g+=l,b.points[a]=new i(l,p),v=p}b.segmentLength=g,e.bezierData=b}function n(t,e){var a=e.segments,r=a.length,i=m.floor((r-1)*t),s=t*e.addedLength,n=0;if(s==a[i].l)return a[i].p;for(var o=a[i].l>s?-1:1,h=!0;h;)a[i].l<=s&&a[i+1].l>s?(n=(s-a[i].l)/(a[i+1].l-a[i].l),h=!1):i+=o,(0>i||i>=r-1)&&(h=!1);return a[i].p+(a[i+1].p-a[i].p)*n}function o(){this.pt1=new Array(2),this.pt2=new Array(2),this.pt3=new Array(2),this.pt4=new Array(2)}function h(t,e,a,r,i,s,h){var l=new o;i=0>i?0:i;var m=n(i,h);s=s>1?1:s;var p,d=n(s,h),c=t.length,f=1-m,u=1-d;for(p=0;c>p;p+=1)l.pt1[p]=f*f*f*t[p]+(m*f*f+f*m*f+f*f*m)*a[p]+(m*m*f+f*m*m+m*f*m)*r[p]+m*m*m*e[p],l.pt3[p]=f*f*u*t[p]+(m*f*u+f*m*u+f*f*d)*a[p]+(m*m*u+f*m*d+m*f*d)*r[p]+m*m*d*e[p],l.pt4[p]=f*u*u*t[p]+(m*u*u+f*d*u+f*u*d)*a[p]+(m*d*u+f*d*d+m*u*d)*r[p]+m*d*d*e[p],l.pt2[p]=u*u*u*t[p]+(d*u*u+u*d*u+u*u*d)*a[p]+(d*d*u+u*d*d+d*u*d)*r[p]+d*d*d*e[p];return l}var l=[],m=Math,p=function(){var e={};return function(a,r,i,s){var n=(a.join("_")+"_"+r.join("_")+"_"+i.join("_")+"_"+s.join("_")).replace(/\./g,"p");if(e[n])return e[n];var o,h,l,p,d,c,f=100,u=0,y=[],g=[],v={addedLength:0,segments:[]};for((a[0]!=r[0]||a[1]!=r[1])&&t(a[0],a[1],r[0],r[1],i[0],i[1])&&t(a[0],a[1],r[0],r[1],s[0],s[1])&&(f=2),l=i.length,o=0;f>o;o+=1){for(d=o/(f-1),c=0,h=0;l>h;h+=1)p=m.pow(1-d,3)*a[h]+3*m.pow(1-d,2)*d*i[h]+3*(1-d)*m.pow(d,2)*s[h]+m.pow(d,3)*r[h],y[h]=p,null!==g[h]&&(c+=m.pow(y[h]-g[h],2)),g[h]=y[h];c&&(c=m.sqrt(c),u+=c),v.segments.push({l:u,p:d})}return v.addedLength=u,e[n]=v,v}}();return{getEasingCurve:a,getEasingCurveByIndex:e,getBezierLength:p,getNewSegment:h,buildBezierData:s}}function dataFunctionManager(){function t(t,e){var a,r,i,s=t.length;for(a=0;s>a;a+=1)if(void 0!==t[a].t)if(t[a].s instanceof Array)for(i=t[a].s.length,r=0;i>r;r+=1)t[a].s[r]*=e,void 0!==t[a].e&&(t[a].e[r]*=e);else t[a].s&&(t[a].s*=e,t[a].e&&(t[a].e*=e));else t[a]=t[a]*e}function e(s,o){o||(o=s);var h,l,m,p,d,c,f,y,v,b,C=s.length;for(c=0;C>c;c+=1){if(m=s[c],h=m.outPoint-m.startTime,l=m.startTime,m.tt&&(s[c-1].td=m.tt),m.renderedFrame={},m.renderedData={},p=[],d=-1,m.tm){m.trmp=m.tm;var E=new Array(h);for(f=0;h>f;f+=1)E.push(Math.floor(n(m.tm,f,l)*u));m.tm=E}if(m.ks.o instanceof Array?t(m.ks.o,.01):m.ks.o/=100,m.ks.s instanceof Array?t(m.ks.s,.01):m.ks.s/=100,m.ks.r instanceof Array?t(m.ks.r,g):m.ks.r*=g,m.hasMask){var D=m.masksProperties;for(y=D.length,f=0;y>f;f+=1)if(D[f].pt.i)i(D[f].pt);else for(b=D[f].pt.length,v=0;b>v;v+=1)D[f].pt[v].s&&i(D[f].pt[v].s[0]),D[f].pt[v].e&&i(D[f].pt[v].e[0])}"PreCompLayer"==m.ty?m.refId&&!m.layers?m.layers=a(m.refId,o):e(m.layers,o):"ShapeLayer"==m.ty&&r(m.shapes)}}function a(t,e,r){r||(r=e);var i,s=e.length;for(i=0;s>i;i+=1){if(e[i].compId==t)return e[i].layers||(e[i].layers=a(e[i].refId,r)),e[i].layers;if("PreCompLayer"==e[i].ty){var n=a(t,e[i].layers,r);if(n)return n}}return null}function r(e,a){var s,n,o,h,l=e.length,m=a?a:!1;for(s=l-1;s>=0;s-=1)if(e[s].renderedData=[],"tm"==e[s].ty&&(m=!0),"fl"==e[s].ty||"st"==e[s].ty)e[s].o instanceof Array?t(e[s].o,.01):e[s].o*=.01;else if("sh"==e[s].ty)if(e[s].trimmed=m,e[s].ks.i)i(e[s].ks);else for(o=e[s].ks.length,n=0;o>n;n+=1)e[s].ks[n].s&&(i(e[s].ks[n].s[0]),i(e[s].ks[n].e[0]));else"gr"==e[s].ty?r(e[s].it,m):"tr"==e[s].ty?(h=e[s],h.renderedData=[],h.o instanceof Array?t(h.o,.01):h.o/=100,h.s instanceof Array?t(h.s,.01):h.s/=100,h.r instanceof Array?t(h.r,g):h.r*=g):("rc"==e[s].ty||"el"==e[s].ty)&&(e[s].trimmed=m,e[s].trimmed=!0)}function i(t){var e,a=t.i.length;for(e=0;a>e;e+=1)t.i[e][0]+=t.v[e][0],t.i[e][1]+=t.v[e][1],t.o[e][0]+=t.v[e][0],t.o[e][1]+=t.v[e][1]}function s(t){t.__renderedFrames=new Array(Math.floor(t.animation.totalFrames)),t.__renderFinished=!1,u=t.animation.frameRate,e(t.animation.layers)}function n(t,e,a,r,i,s){var n,o,h,l,m,p,d=0;if(!t.length){if(r)for(;s>0;)r[i+d]=t,d+=1,s-=1;return t}if(void 0===t[0].t){if(r)for(;s>0;)r[i+d]=t[d],d+=1,s-=1;return t}m=0,p=t.length-1;for(var c=1,f=!0;!(!f||(n=t[m],o=t[m+1],m==p-1&&e>=o.t-a)||o.t-a>e&&1==c);){if(o.t-a<e&&-1==c){m+=1,n=t[m],o=t[m+1];break}p-1>m&&1==c||m>0&&-1==c?m+=c:f=!1}n.to&&!n.bezierData&&bez.buildBezierData(n);var u,y,g,v,b,C=0;if(r||(h=[]),n.to){if(l=n.bezierData,e>=o.t-a||e<n.t-a){var E=e>=o.t-a?l.points.length-1:0;if(r)for(;s>0;)r[i+d]=l.points[E].point[d],d+=1,s-=1;return l.points[E].point}n.__fnct?b=n.__fnct:(b=bez.getEasingCurve(n.o.x,n.o.y,n.i.x,n.i.y,n.n),n.__fnct=b),g=b("",e-(n.t-a),0,1,o.t-a-(n.t-a));var D,w=l.segmentLength*g,x=0;for(c=1,f=!0,v=l.points.length;f;){if(x+=l.points[C].partialLength*c,0===w||0===g||C==l.points.length-1){if(r)for(;s>0;)r[i+d]=l.points[C].point[d],d+=1,s-=1;else h=l.points[C].point;break}if(w>x&&w<x+l.points[C+1].partialLength){if(D=(w-x)/l.points[C+1].partialLength,r)for(;s>0;)r[i+d]=l.points[C].point[d]+(l.points[C+1].point[d]-l.points[C].point[d])*D,d+=1,s-=1;else for(y=l.points[C].point.length,u=0;y>u;u+=1)h.push(l.points[C].point[u]+(l.points[C+1].point[u]-l.points[C].point[u])*D);break}v-1>C&&1==c||C>0&&-1==c?C+=c:f=!1}}else{var S,A,I,M,F,P=!1;for(p=n.s.length,m=0;p>m;m+=1)1!==n.h&&(n.o.x instanceof Array?(P=!0,n.__fnct||(n.__fnct=[]),n.__fnct[m]||(S=n.o.x[m]?n.o.x[m]:n.o.x[0],A=n.o.y[m]?n.o.y[m]:n.o.y[0],I=n.i.x[m]?n.i.x[m]:n.i.x[0],M=n.i.y[m]?n.i.y[m]:n.i.y[0])):(P=!1,n.__fnct||(S=n.o.x,A=n.o.y,I=n.i.x,M=n.i.y)),P?n.__fnct[m]?b=n.__fnct[m]:(b=bez.getEasingCurve(S,A,I,M),n.__fnct[m]=b):n.__fnct?b=n.__fnct:(b=bez.getEasingCurve(S,A,I,M),n.__fnct=b),g=e>=o.t-a?1:e<n.t-a?0:b("",e-(n.t-a),0,1,o.t-a-(n.t-a))),F=1===n.h?n.s[m]:n.s[m]+(n.e[m]-n.s[m])*g,r?s>0&&(r[i+d]=F,d+=1,s-=1):h.push(F)}return h}function o(t,e){if(!t.__lengths){t.__lengths=[],t.__totalLength=0;var a,r=t.v,i=t.o,s=t.i,n=r.length;for(a=0;n-1>a;a+=1)t.__lengths.push(bez.getBezierLength(r[a],r[a+1],i[a],s[a+1])),t.__totalLength+=t.__lengths[a].addedLength;e&&(t.__lengths.push(bez.getBezierLength(r[a],r[0],i[a],s[0])),t.__totalLength+=t.__lengths[a].addedLength)}}function h(t,e,a,r,i,s){var n=s&&s.length>0,o={};o.closed=i?t.cl:t.closed;var h=i?t.pt:t.ks;if(h.v)return o.pathNodes=n?v(h,o.closed,s,!1):h,o;var l,m,p,d,c,f,u;if(e<h[0].t-a||e>h[h.length-1].t-a){var y,g,b,C;if(e<h[0].t-a?(C="__minValue",g=0,b=h.__minValue,y=h[g].s):(C="__maxValue",g=h.length-2,b=h.__maxValue,y=h[g].e),!b){for(m=h[g].s[0].i.length,t={i:new Array(m),o:new Array(m),v:new Array(m)},l=0;m>l;l+=1){for(d=h[g].s[0].i[l].length,c=new Array(d),f=new Array(d),u=new Array(d),p=0;d>p;p+=1)c[p]=y[0].i[l][p],f[p]=y[0].o[l][p],u[p]=y[0].v[l][p];t.i[l]=c,t.o[l]=f,t.v[l]=u}h[C]=t,b=t}return o.pathNodes=n?v(b,o.closed,s,!1):b,o}for(var E,D,w=0,x=h.length-1,S=1,A=!0;A&&(E=h[w],D=h[w+1],!(D.t-a>e&&1==S));)x-1>w&&1==S||w>0&&-1==S?w+=S:A=!1;var I;if(1!==E.h){var M;E.__fnct?M=E.__fnct:(M=bez.getEasingCurve(E.o.x,E.o.y,E.i.x,E.i.y),E.__fnct=M),I=e>=D.t-a?1:e<E.t-a?0:M("",e-(E.t-a),0,1,D.t-a-(E.t-a))}if(1===E.h&&E.__hValue)t=E.__hValue;else for(m=E.s[0].i.length,t={i:new Array(m),o:new Array(m),v:new Array(m)},l=0;m>l;l+=1){for(d=E.s[0].i[l].length,c=new Array(d),f=new Array(d),u=new Array(d),p=0;d>p;p+=1)1===E.h?(c[p]=E.s[0].i[l][p],f[p]=E.s[0].o[l][p],u[p]=E.s[0].v[l][p]):(c[p]=E.s[0].i[l][p]+(E.e[0].i[l][p]-E.s[0].i[l][p])*I,f[p]=E.s[0].o[l][p]+(E.e[0].o[l][p]-E.s[0].o[l][p])*I,u[p]=E.s[0].v[l][p]+(E.e[0].v[l][p]-E.s[0].v[l][p])*I);t.i[l]=c,t.o[l]=f,t.v[l]=u,1===E.h&&(E.__hValue=t)}return o.pathNodes=n?v(t,o.closed,s,!1):t,o}function l(t,e,a){var r,i,s,o,m,d,c,f,g,v=t.length;for(f=0;v>f;f+=1){if(g=t[f],o=e-g.startTime,r={},r.a=n(g.ks.a,o,g.startTime),r.o=n(g.ks.o,o,g.startTime),g.ks.p.s?(n(g.ks.p.x,o,g.startTime,b,3,1),n(g.ks.p.y,o,g.startTime,b,4,1)):n(g.ks.p,o,g.startTime,b,3,2),n(g.ks.r,o,g.startTime,b,0,1),n(g.ks.s,o,g.startTime,b,1,2),c={},c.an={tr:r},c.an.matrixArray=y.getMatrixArrayFromParams(b[0],b[1],b[2],b[3],b[4]),g.renderedData[o]=c,g.hasMask)for(i=g.masksProperties,d=i.length,m=0;d>m;m+=1)i[m].paths||(i[m].paths=[],i[m].opacity=[]),i[m].paths[o]=h(i[m],o,g.startTime,a,!0),i[m].opacity[o]=n(i[m].o,o,g.startTime),i[m].opacity[o]=i[m].opacity[o]instanceof Array?i[m].opacity[o][0]/100:i[m].opacity[o]/100;e<g.inPoint||e>g.outPoint||("PreCompLayer"==g.ty?(s=g.tm?g.tm[o]<0?0:o>=g.tm.length?g.tm[g.tm.length-1]:g.tm[o]:o,void 0===s&&(s=n(g.trmp,o,0)[0]*u,g.tm[o]=s),l(g.layers,s,a)):"ShapeLayer"==g.ty&&p(g.shapes,o,g.startTime,a))}}function m(t,e,a,r){a=Math.min(e[0],e[1],a/2);var i=new Array(8),s=new Array(8),n=new Array(8),o=a/2;return 2===r?(i[0]=[t[0]+e[0]/2,t[1]-e[1]/2+a],n[0]=i[0],s[0]=[t[0]+e[0]/2,t[1]-e[1]/2+o],i[1]=[t[0]+e[0]/2,t[1]+e[1]/2-a],n[1]=[t[0]+e[0]/2,t[1]+e[1]/2-o],s[1]=i[1],i[2]=[t[0]+e[0]/2-a,t[1]+e[1]/2],n[2]=i[2],s[2]=[t[0]+e[0]/2-o,t[1]+e[1]/2],i[3]=[t[0]-e[0]/2+a,t[1]+e[1]/2],n[3]=[t[0]-e[0]/2+o,t[1]+e[1]/2],s[3]=i[3],i[4]=[t[0]-e[0]/2,t[1]+e[1]/2-a],n[4]=i[4],s[4]=[t[0]-e[0]/2,t[1]+e[1]/2-o],i[5]=[t[0]-e[0]/2,t[1]-e[1]/2+a],n[5]=[t[0]-e[0]/2,t[1]-e[1]/2+o],s[5]=i[5],i[6]=[t[0]-e[0]/2+a,t[1]-e[1]/2],n[6]=i[6],s[6]=[t[0]-e[0]/2+o,t[1]-e[1]/2],i[7]=[t[0]+e[0]/2-a,t[1]-e[1]/2],n[7]=[t[0]+e[0]/2-o,t[1]-e[1]/2],s[7]=i[7]):(i[0]=[t[0]+e[0]/2,t[1]-e[1]/2+a],n[0]=[t[0]+e[0]/2,t[1]-e[1]/2+o],s[0]=i[0],i[1]=[t[0]+e[0]/2-a,t[1]-e[1]/2],n[1]=i[1],s[1]=[t[0]+e[0]/2-o,t[1]-e[1]/2],i[2]=[t[0]-e[0]/2+a,t[1]-e[1]/2],n[2]=[t[0]-e[0]/2+o,t[1]-e[1]/2],s[2]=i[2],i[3]=[t[0]-e[0]/2,t[1]-e[1]/2+a],n[3]=i[3],s[3]=[t[0]-e[0]/2,t[1]-e[1]/2+o],i[4]=[t[0]-e[0]/2,t[1]+e[1]/2-a],n[4]=[t[0]-e[0]/2,t[1]+e[1]/2-o],s[4]=i[4],i[5]=[t[0]-e[0]/2+a,t[1]+e[1]/2],n[5]=i[5],s[5]=[t[0]-e[0]/2+o,t[1]+e[1]/2],i[6]=[t[0]+e[0]/2-a,t[1]+e[1]/2],n[6]=[t[0]+e[0]/2-o,t[1]+e[1]/2],s[6]=i[6],i[7]=[t[0]+e[0]/2,t[1]+e[1]/2-a],n[7]=i[7],s[7]=[t[0]+e[0]/2,t[1]+e[1]/2-o]),{v:i,o:n,i:s,c:!0}}function p(t,e,a,r,i){var s,o,l,c,f,u,g,C,E,D,w=t.length;i||(i=[]);var x,S,A,I,M;for(s=w-1;s>=0;s-=1)if(o=t[s],"sh"==o.ty)o.renderedData[e]={path:h(o,e,a,r,!1,i)};else if("fl"==o.ty)l=n(o.c,e,a),c=n(o.o,e,a),o.renderedData[e]={opacity:c instanceof Array?c[0]:c},"canvas"==r?(d(l),o.renderedData[e].color=l):o.renderedData[e].color=rgbToHex(Math.round(l[0]),Math.round(l[1]),Math.round(l[2]));else if("rc"==o.ty)f=n(o.p,e,a),u=n(o.s,e,a),g=n(o.r,e,a),o.trimmed?(o.renderedData[e]={path:{closed:!0}},o.renderedData[e].path.pathNodes=v(m(f,u,g,o.d),!0,i,!1)):o.renderedData[e]={position:f,size:u,roundness:g};else if("el"==o.ty){if(f=n(o.p,e,a),u=n(o.s,e,a),o.renderedData[e]={p:f,size:u},"svg"==r){var F={v:new Array(4),i:new Array(4),o:new Array(4)};2!==o.d&&3!==o.d?(F.v[0]=[f[0],f[1]-u[1]/2],F.i[0]=[f[0]-u[0]/2*.55,f[1]-u[1]/2],F.o[0]=[f[0]+u[0]/2*.55,f[1]-u[1]/2],F.v[1]=[f[0]+u[0]/2,f[1]],F.i[1]=[f[0]+u[0]/2,f[1]-u[1]/2*.55],F.o[1]=[f[0]+u[0]/2,f[1]+u[1]/2*.55],F.v[2]=[f[0],f[1]+u[1]/2],F.i[2]=[f[0]+u[0]/2*.55,f[1]+u[1]/2],F.o[2]=[f[0]-u[0]/2*.55,f[1]+u[1]/2],F.v[3]=[f[0]-u[0]/2,f[1]],F.i[3]=[f[0]-u[0]/2,f[1]+u[1]/2*.55],F.o[3]=[f[0]-u[0]/2,f[1]-u[1]/2*.55]):(F.v[0]=[f[0],f[1]-u[1]/2],F.o[0]=[f[0]-u[0]/2*.55,f[1]-u[1]/2],F.i[0]=[f[0]+u[0]/2*.55,f[1]-u[1]/2],F.v[1]=[f[0]-u[0]/2,f[1]],F.o[1]=[f[0]-u[0]/2,f[1]+u[1]/2*.55],F.i[1]=[f[0]-u[0]/2,f[1]-u[1]/2*.55],F.v[2]=[f[0],f[1]+u[1]/2],F.o[2]=[f[0]+u[0]/2*.55,f[1]+u[1]/2],F.i[2]=[f[0]-u[0]/2*.55,f[1]+u[1]/2],F.v[3]=[f[0]+u[0]/2,f[1]],F.o[3]=[f[0]+u[0]/2,f[1]-u[1]/2*.55],F.i[3]=[f[0]+u[0]/2,f[1]+u[1]/2*.55]),o.trimmed?(o.renderedData[e]={path:{closed:!0}},o.renderedData[e].path.pathNodes=v(F,!0,i,!1),o.closed=!0):(o.renderedData[e].path={pathNodes:F},o.closed=!0)}}else if("st"==o.ty){if(C=n(o.c,e,a),E=n(o.o,e,a),D=n(o.w,e,a),o.renderedData[e]={opacity:E instanceof Array?E[0]:E,width:D instanceof Array?D[0]:D},o.d){var P=[];M=o.d.length;var T;for(I=0;M>I;I+=1)T=n(o.d[I].v,e,a),P.push({v:T instanceof Array?T[0]:T,n:o.d[I].n});o.renderedData[e].dashes=P}"canvas"==r?(d(C),o.renderedData[e].color=C):o.renderedData[e].color=rgbToHex(Math.round(C[0]),Math.round(C[1]),Math.round(C[2]))}else if("tr"==o.ty)o.renderedData[e]={a:n(o.a,e,a),o:n(o.o,e,a)},n(o.s,e,a,b,1,2),n(o.r,e,a,b,0,1),n(o.p,e,a,b,3,2),o.renderedData[e].mtArr=y.getMatrixArrayFromParams(b[0],b[1],b[2],b[3],b[4]);else if("tm"==o.ty){x=n(o.s,e,a),S=n(o.e,e,a),A=n(o.o,e,a);var _={s:x,e:S,o:A};i.push(_),o.renderedData[e]=_}else"gr"==o.ty&&p(o.it,e,a,r,i)}function d(t){var e,a=t.length;for(e=0;a>e;e+=1)t[e]=Math.round(t[e])}function c(t,e){for(var a=1;a>0;){if(e+=1,e>=Math.floor(t.animation.totalFrames)){t.__renderFinished=!0;break}t.__renderedFrames[e]||(f(t,e),a-=1)}}function f(t,e){return 2==t.__renderedFrames[e]?void(t.__renderFinished||c(t,e)):(u=t.animation.frameRate,t.__renderedFrames[e]=2,void l(t.animation.layers,e,t._animType))}var u=0,y=new MatrixManager,g=Math.PI/180,v=function(){function t(t,s,n,o,p){r[h]=s,e[h+1]=n,a[h+1]=o,l?a[h]=t:(m+=" M"+t.join(","),l=!0,i[h]=t),m+=" C"+s.join(",")+" "+n.join(",")+" "+o.join(","),h+=1}var e,a,r,i,s,n,h,l=!1,m="";return function(p,d,c,f){o(p,d);var u,y=c.length,g=p;a=e=r=i=null;var v,b,C,E,D;for(u=y-1;u>=0;u-=1){var w=[],x=c[u].o%360/360;if(0!==x||0!==c[u].s||100!=c[u].e){m="",l=!1,e=[],r=[],a=[],i=[],s=[],n=0,0>x&&(x+=1);var S=c[u].s/100+x,A=c[u].e/100+x;if(S==A)return f?"":{};if(S>A){var I=S;S=A,A=I}1>=A?w.push({s:g.__totalLength*S,e:g.__totalLength*A}):S>=1?w.push({s:g.__totalLength*(S-1),e:g.__totalLength*(A-1)}):(w.push({s:g.__totalLength*S,e:g.__totalLength}),w.push({s:0,e:g.__totalLength*(A-1)})),v=[],b=[],C=[];var M;v=g.v,b=g.o,C=g.i,M=g.__lengths,D=v.length;var F,P,T=0,_=0,k=w.length;for(h=0,F=0;k>F;F+=1){for(T=0,E=1;D>E;E++)if(_=M[E-1].addedLength,T+_<w[F].s)T+=_;else{if(T>w[F].e)break;w[F].s<=T&&w[F].e>=T+_?t(v[E-1],b[E-1],C[E],v[E],M[E-1]):(P=bez.getNewSegment(v[E-1],v[E],b[E-1],C[E],(w[F].s-T)/_,(w[F].e-T)/_,M[E-1]),t(P.pt1,P.pt3,P.pt4,P.pt2)),T+=_}d!==!1?T<=w[F].e&&(_=M[E-1].addedLength,w[F].s<=T&&w[F].e>=T+_?t(v[E-1],b[E-1],C[0],v[0],M[E-1]):(P=bez.getNewSegment(v[E-1],v[0],b[E-1],C[0],(w[F].s-T)/_,(w[F].e-T)/_,M[E-1]),t(P.pt1,P.pt3,P.pt4,P.pt2))):l=!1}d=!1}}if(a?(v=a,b=r,C=e):(v=g.v,b=g.o,C=g.i,i=[]),D=v.length,f){for(m="",E=1;D>E;E++)i[E-1]?m+="M"+i[E-1].join(","):1==E&&(m+="M"+v[0].join(",")),m+=" C"+b[E-1].join(",")+" "+C[E].join(",")+" "+v[E].join(",");return d!==!1&&(m+=" C"+b[E-1].join(",")+" "+C[0].join(",")+" "+v[0].join(",")),m}return{i:C,o:b,v:v,s:i,c:d}}}(),b=[0,1,1,0,0],C={};return C.completeData=s,C.renderFrame=f,C}function SVGRenderer(t){this.animationItem=t,this.layers=null,this.lastFrame=-1,this.globalData={frameNum:-1},this.elements=[],this.destroyed=!1}function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig=e?e:{clearCanvas:!0,context:null,scaleMode:"fit"},this.lastFrame=-1,this.globalData={frameNum:-1},this.contextData={saved:new Array(15),savedOp:new Array(15),cArrPos:0,cTr:new Matrix,cO:1};var a,r=15;for(a=0;r>a;a+=1)this.contextData.saved[a]=new Array(6);this.elements=[]}function MaskElement(t,e,a){this.data=t,this.storedData=[],this.element=e,this.globalData=a,this.paths=[],this.registeredEffects=[],this.masksProperties=[],this.maskElement=null}function ICompElement(t,e,a){this.parent.constructor.call(this,t,e,a),this.layers=t.layers}function IImageElement(t,e,a){this.assetData=a.getAssetData(t.id),this.path=a.getPath(),this.parent.constructor.call(this,t,e,a)}function IShapeElement(t,e,a){this.shapes=[],this.parent.constructor.call(this,t,e,a)}function ShapeItemElement(t,e,a){this.lcEnum={1:"butt",2:"round",3:"butt"},this.ljEnum={1:"miter",2:"round",3:"bevel"},this.stylesList=[],this.viewData=[],this.shape=e,this.data=t,this.globalData=a,this.searchShapes(this.data,this.viewData),styleUnselectableDiv(this.shape)}function ISolidElement(t,e,a){this.parent.constructor.call(this,t,e,a)}function ITextElement(t,e,a,r){this.parent.constructor.call(this,t,e,a,r)}function CVBaseElement(t,e){this.data=t,this.globalData=e,this.canvasContext=e.canvasContext,this.currentAnimData=null,this.renderFrame=!1,this.ownMatrix=new Matrix,this.finalTransform={mat:new Matrix,opacity:1},this.init()}function CVCompElement(t,e){this.parent.constructor.call(this,t,e),this.layers=t.layers}function CVImageElement(t,e){this.animationItem=e.renderer.animationItem,this.assetData=this.animationItem.getAssetData(t.id),this.path=this.animationItem.getPath(),this.parent.constructor.call(this,t,e),this.animationItem.pendingElements+=1}function CVShapeElement(t,e){this.shapes=[],this.parent.constructor.call(this,t,e)}function CVShapeItemElement(t,e,a){this.data=t,this.globalData=a,this.canvasContext=a.canvasContext,this.frameNum=-1,this.dataLength=this.data.length,this.mainFlag=e,this.stylesList=[],this.ownStylesList=[],this.stylesPool=[],this.currentStylePoolPos=0,this.transform={opacity:1,mat:new Matrix},this.mat=new Matrix;var r,i=this.dataLength-1;this.renderedPaths=new Array(this.globalData.totalFrames);var s;for(r=i;r>=0;r-=1)"gr"==this.data[r].ty?this.data[r].item=new CVShapeItemElement(this.data[r].it,!1,this.globalData):("st"==this.data[r].ty||"fl"==this.data[r].ty)&&(s={type:"fill",styleOpacity:0,opacity:0,value:"rgba(0,0,0,0)",closed:!1},"fl"==this.data[r].ty?s.type="fill":(s.type="stroke",s.width=0),this.stylesPool.push(s))}function CVSolidElement(t,e){this.parent.constructor.call(this,t,e)}function CVTextElement(t,e){this.parent.constructor.call(this,t,e)}function CVMaskElement(){}var svgNS="http://www.w3.org/2000/svg";Matrix.prototype={concat:function(t){return this.clone()._t(t.a,t.b,t.c,t.d,t.e,t.f)},flipX:function(){return this._t(-1,0,0,1,0,0)},flipY:function(){return this._t(1,0,0,-1,0,0)},reflectVector:function(t,e){var a=this.applyToPoint(0,1),r=2*(a.x*t+a.y*e);return t-=r*a.x,e-=r*a.y,{x:t,y:e}},reset:function(){return this.setTransform(1,0,0,1,0,0)},rotate:function(t){return 0===t?this:(this.cos=Math.cos(t),this.sin=Math.sin(t),this._t(this.cos,this.sin,-this.sin,this.cos,0,0))},rotateFromVector:function(t,e){return this.rotate(Math.atan2(e,t))},rotateDeg:function(t){return this.rotate(t*Math.PI/180)},scaleU:function(t){return this._t(t,0,0,t,0,0)},scale:function(t,e){return 1==t&&1==e?this:this._t(t,0,0,e,0,0)},scaleX:function(t){return this._t(t,0,0,1,0,0)},scaleY:function(t){return this._t(1,0,0,t,0,0)},shear:function(t,e){return this._t(1,e,t,1,0,0)},shearX:function(t){return this._t(1,0,t,1,0,0)},shearY:function(t){return this._t(1,t,0,1,0,0)},skew:function(t,e){return this.shear(Math.tan(t),Math.tan(e))},skewX:function(t){return this.shearX(Math.tan(t))},skewY:function(t){return this.shearY(Math.tan(t))},setTransform:function(t,e,a,r,i,s){return this.props[0]=t,this.props[1]=e,this.props[2]=a,this.props[3]=r,this.props[4]=i,this.props[5]=s,this._x()},translate:function(t,e){return this._t(1,0,0,1,t,e)},translateX:function(t){return this._t(1,0,0,1,t,0)},translateY:function(t){return this._t(1,0,0,1,0,t)},transform:function(t,e,a,r,i,s){return this.a1=this.props[0],this.b1=this.props[1],this.c1=this.props[2],this.d1=this.props[3],this.e1=this.props[4],this.f1=this.props[5],this.props[0]=this.a1*t+this.c1*e,this.props[1]=this.b1*t+this.d1*e,this.props[2]=this.a1*a+this.c1*r,this.props[3]=this.b1*a+this.d1*r,this.props[4]=this.a1*i+this.c1*s+this.e1,this.props[5]=this.b1*i+this.d1*s+this.f1,this._x()},divide:function(t){if(!t.isInvertible())throw"Input matrix is not invertible";var e=t.inverse();return this._t(e.a,e.b,e.c,e.d,e.e,e.f)},divideScalar:function(t){var e=this;return e.a/=t,e.b/=t,e.c/=t,e.d/=t,e.e/=t,e.f/=t,e._x()},inverse:function(){if(this.isIdentity())return new Matrix;if(this.isInvertible()){var t=this,e=t.a,a=t.b,r=t.c,i=t.d,s=t.e,n=t.f,o=new Matrix,h=e*i-a*r;return o.a=i/h,o.b=-a/h,o.c=-r/h,o.d=e/h,o.e=(r*n-i*s)/h,o.f=-(e*n-a*s)/h,o}throw"Matrix is not invertible."},interpolate:function(t,e,a){var r=this,i=a?new Matrix(a):new Matrix;return i.a=r.a+(t.a-r.a)*e,i.b=r.b+(t.b-r.b)*e,i.c=r.c+(t.c-r.c)*e,i.d=r.d+(t.d-r.d)*e,i.e=r.e+(t.e-r.e)*e,i.f=r.f+(t.f-r.f)*e,i._x()},interpolateAnim:function(t,e,a){var r=this,i=a?new Matrix(a):new Matrix,s=r.decompose(),n=t.decompose(),o=s.rotation+(n.rotation-s.rotation)*e,h=s.translate.x+(n.translate.x-s.translate.x)*e,l=s.translate.y+(n.translate.y-s.translate.y)*e,m=s.scale.x+(n.scale.x-s.scale.x)*e,p=s.scale.y+(n.scale.y-s.scale.y)*e;return i.translate(h,l),i.rotate(o),i.scale(m,p),i._x()},decompose:function(t){var e=this.props[0],a=this.props[1],r=this.props[2],i=this.props[3],s=Math.acos,n=Math.atan,o=Math.sqrt,h=Math.PI,l={x:this.props[4],y:this.props[5]},m=0,p={x:1,y:1},d={x:0,y:0},c=e*i-a*r;if(t)e?(d={x:n(r/e),y:n(a/e)},p={x:e,y:c/e}):a?(m=.5*h,p={x:a,y:c/a},d.x=n(i/a)):(p={x:r,y:i},d.x=.25*h);else if(e||a){var f=o(e*e+a*a);m=a>0?s(e/f):-s(e/f),p={x:f,y:c/f},d.x=n((e*r+a*i)/(f*f))}else if(r||i){var u=o(r*r+i*i);m=.5*h-(i>0?s(-r/u):-s(r/u)),p={x:c/u,y:u},d.y=n((e*r+a*i)/(u*u))}else p={x:0,y:0};return{scale:p,translate:l,rotation:m,skew:d}},determinant:function(){return this.a*this.d-this.b*this.c},applyToPoint:function(t,e){return{x:t*this.props[0]+e*this.props[2]+this.props[4],y:t*this.props[1]+e*this.props[3]+this.props[5]}},applyToPointStringified:function(t,e){return t*this.props[0]+e*this.props[2]+this.props[4]+","+(t*this.props[1]+e*this.props[3]+this.props[5])},applyToArray:function(t){var e,a,r=0,i=[];if("number"==typeof t[0])for(a=t.length;a>r;)e=this.applyToPoint(t[r++],t[r++]),i.push(e.x,e.y);else for(a=t.length,r=0;a>r;r++)i.push(this.applyToPoint(t[r].x,t[r].y));return i},applyToTypedArray:function(t,e){for(var a,r=0,i=t.length,s=e?new Float64Array(i):new Float32Array(i);i>r;)a=this.applyToPoint(t[r],t[r+1]),s[r++]=a.x,s[r++]=a.y;return s},applyToContext:function(t){var e=this;return t.setTransform(e.a,e.b,e.c,e.d,e.e,e.f),e},isIdentity:function(){var t=this;return t._q(t.a,1)&&t._q(t.b,0)&&t._q(t.c,0)&&t._q(t.d,1)&&t._q(t.e,0)&&t._q(t.f,0)},isInvertible:function(){return!this._q(this.determinant(),0)},isValid:function(){return!this._q(this.a*this.d,0)},clone:function(t){var e=this,a=new Matrix;return a.a=e.a,a.b=e.b,a.c=e.c,a.d=e.d,a.e=e.e,a.f=e.f,t||(a.context=e.context),a},isEqual:function(t){var e=this,a=e._q;return a(e.a,t.a)&&a(e.b,t.b)&&a(e.c,t.c)&&a(e.d,t.d)&&a(e.e,t.e)&&a(e.f,t.f)},toArray:function(){return[this.props[0],this.props[1],this.props[2],this.props[3],this.props[4],this.props[5]]},toCSS:function(){return this.cssParts[1]=this.props.join(","),this.cssParts.join("")},toJSON:function(){var t=this;return'{"a":'+t.a+',"b":'+t.b+',"c":'+t.c+',"d":'+t.d+',"e":'+t.e+',"f":'+t.f+"}"},toString:function(){return""+this.toArray()},_q:function(t,e){return Math.abs(t-e)<1e-14},_x:function(){return this.context&&this.context.setTransform(this.a,this.b,this.c,this.d,this.e,this.f),this}},void 0===CanvasRenderingContext2D.prototype.ellipse&&(CanvasRenderingContext2D.prototype.ellipse=function(t,e,a,r,i,s,n,o){this.save(),this.translate(t,e),this.rotate(i),this.scale(a,r),this.arc(0,0,1,s,n,o),this.restore()});var BM_Path2D;!function(){function t(t){if(this.ops_=[],void 0!==t)if("string"==typeof t)try{this.ops_=parser.parse(t)}catch(e){}else{if(!t.hasOwnProperty("ops_"))throw"Error: "+typeof t+"is not a valid argument to Path";this.ops_=t.ops_.slice(0)}}function e(t){return function(){var e,a=arguments.length,r=[];for(e=0;a>e;e+=1)r.push(arguments[e]);this.ops_.push({type:t,args:r})}}for(var a=CanvasRenderingContext2D.prototype,r=BM_CanvasRenderingContext2D.prototype,i=["closePath","moveTo","lineTo","quadraticCurveTo","bezierCurveTo","rect","arc","arcTo","ellipse"],s=0;s<i.length;s++){var n=i[s];t.prototype[n]=e(n)}t.prototype.addPath=function(t,e){var a=!1;!e||1==e[0]&&0===e[1]&&0===e[2]&&1==e[3]&&0===e[4]&&0===e[5]||(a=!0,this.ops_.push({type:"save",args:[]}),this.ops_.push({type:"transform",args:[e[0],e[1],e[2],e[3],e[4],e[5]]})),this.ops_=this.ops_.concat(t.ops_),a&&this.ops_.push({type:"restore",args:[]})};var o=a.fill,h=a.stroke,l=a.clip;r.fill=function(e){if(e instanceof t){this.renderer.canvasContext.beginPath();for(var a=0,r=e.ops_.length;r>a;a++){var i=e.ops_[a];"transform"==i.type?this.renderer.ctxTransform(i.args):"save"==i.type?this.renderer.save():"restore"==i.type?this.renderer.restore():this.renderer.canvasContext[i.type].apply(this.renderer.canvasContext,i.args)}r=arguments.length;var s=[];for(a=1;r>a;a+=1)s.push(arguments[a]);o.apply(this.renderer.canvasContext,s)}else o.apply(this.renderer.canvasContext,arguments)},r.stroke=function(e){if(e instanceof t){this.renderer.canvasContext.beginPath();for(var a=0,r=e.ops_.length;r>a;a++){var i=e.ops_[a];this.renderer.canvasContext[i.type].apply(this.renderer.canvasContext,i.args)}h.call(this.renderer.canvasContext)}else h.call(this.renderer.canvasContext)},r.clip=function(e){if(e instanceof t){this.renderer.canvasContext.beginPath();for(var a=0,r=e.ops_.length;r>a;a++){var i=e.ops_[a];this.renderer.canvasContext[i.type].apply(this.renderer.canvasContext,i.args)}r=arguments.length;var s=[];for(a=1;r>a;a+=1)s.push(arguments[a]);l.apply(this.renderer.canvasContext,s)}else l.apply(this.renderer.canvasContext,arguments)},BM_Path2D=t}();var MatrixManager=matrixManagerFunction;!function(){for(var t=0,e=["ms","moz","webkit","o"],a=0;a<e.length&&!window.requestAnimationFrame;++a)window.requestAnimationFrame=window[e[a]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[a]+"CancelAnimationFrame"]||window[e[a]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,a){var r=(new Date).getTime(),i=Math.max(0,16-(r-t)),s=window.setTimeout(function(){e(r+i)},i);return t=r+i,s}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}();var subframeEnabled=!1,cachedColors={},rgbToHex=function(){var t,e,a=[];for(t=0;256>t;t+=1)e=t.toString(16),a[t]=1==e.length?"0"+e:e;return function(t,e,r){return 0>t&&(t=0),0>e&&(e=0),0>r&&(r=0),"#"+a[t]+a[e]+a[r]}}(),fillColorToString=function(){var t=[];return function(e,a){return t[e[0]]||(t[e[0]]=[]),t[e[0]][e[1]]||(t[e[0]][e[1]]=[]),t[e[0]][e[1]][e[2]]||(void 0!==a&&(e[3]=a),t[e[0]][e[1]][e[2]]="rgba("+e.join(",")+")"),t[e[0]][e[1]][e[2]]}}(),bez=bezFunction(),dataManager=dataFunctionManager();SVGRenderer.prototype.buildItems=function(t,e,a){var r,i=0,s=t.length;for(a||(a=this.elements),e||(e=this.animationItem.container),r=s-1;r>=0;r--){if("StillLayer"==t[r].ty)i++,a[r]=this.createImage(t[r],e);else if("PreCompLayer"==t[r].ty){a[r]=this.createComp(t[r],e);var n=[];this.buildItems(t[r].layers,a[r].getDomElement(),n),a[r].setElements(n)}else a[r]="SolidLayer"==t[r].ty?this.createSolid(t[r],e):"ShapeLayer"==t[r].ty?this.createShape(t[r],e):"TextLayer"==t[r].ty?this.createText(t[r],e):this.createBase(t[r],e);t[r].td&&a[r+1].setMatte(a[r].layerId)}},SVGRenderer.prototype.createBase=function(t,e){return new BaseElement(t,e,this.globalData)},SVGRenderer.prototype.createShape=function(t,e){return new IShapeElement(t,e,this.globalData)},SVGRenderer.prototype.createText=function(t,e){return new ITextElement(t,e,this.globalData)},SVGRenderer.prototype.createImage=function(t,e){return new IImageElement(t,e,this.globalData)},SVGRenderer.prototype.createComp=function(t,e){return new ICompElement(t,e,this.globalData)},SVGRenderer.prototype.createSolid=function(t,e){return new ISolidElement(t,e,this.globalData)},SVGRenderer.prototype.configAnimation=function(t){this.animationItem.container=document.createElementNS(svgNS,"svg"),this.animationItem.container.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.animationItem.container.setAttribute("width",t.animation.compWidth),this.animationItem.container.setAttribute("height",t.animation.compHeight),this.animationItem.container.setAttribute("viewBox","0 0 "+t.animation.compWidth+" "+t.animation.compHeight),this.animationItem.container.setAttribute("preserveAspectRatio","xMidYMid meet"),this.animationItem.container.style.width="100%",
this.animationItem.container.style.height="100%",this.animationItem.container.style.transform="translate3d(0,0,0)",this.animationItem.container.style.transformOrigin=this.animationItem.container.style.mozTransformOrigin=this.animationItem.container.style.webkitTransformOrigin=this.animationItem.container.style["-webkit-transform"]="0px 0px 0px",this.animationItem.wrapper.appendChild(this.animationItem.container);var e=document.createElementNS(svgNS,"defs");this.globalData.defs=e,this.animationItem.container.appendChild(e),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getPath=this.animationItem.getPath.bind(this.animationItem),this.globalData.elementLoaded=this.animationItem.elementLoaded.bind(this.animationItem),this.globalData.compSize={w:t.animation.compWidth,h:t.animation.compHeight};var a=document.createElementNS(svgNS,"clipPath"),r=document.createElementNS(svgNS,"rect");r.setAttribute("width",t.animation.compWidth),r.setAttribute("height",t.animation.compHeight),r.setAttribute("x",0),r.setAttribute("y",0);var i="animationMask_"+randomString(10);a.setAttribute("id",i),a.appendChild(r);var s=document.createElementNS(svgNS,"g");s.setAttribute("clip-path","url(#"+i+")"),this.animationItem.container.appendChild(s),e.appendChild(a),this.animationItem.container=s,this.layers=t.animation.layers},SVGRenderer.prototype.buildStage=function(t,e,a){var r,i,s=e.length;for(a||(a=this.elements),r=s-1;r>=0;r--)i=e[r],void 0!==i.parent&&this.buildItemParenting(i,a[r],e,i.parent,a),"PreCompLayer"==i.ty&&this.buildStage(a[r].getComposingElement(),i.layers,a[r].getElements())},SVGRenderer.prototype.buildItemParenting=function(t,e,a,r,i){t.parents||(t.parents=[]);for(var s=0,n=a.length;n>s;)a[s].ind==r&&(e.getHierarchy().push(i[s]),void 0!==a[s].parent&&this.buildItemParenting(t,e,a,a[s].parent,i)),s+=1},SVGRenderer.prototype.destroy=function(){this.animationItem.wrapper.innerHTML="",this.animationItem.container=null,this.globalData.defs=null;var t,e=this.layers.length;for(t=0;e>t;t++)this.elements[t].destroy();this.elements.length=0,this.destroyed=!0},SVGRenderer.prototype.updateContainerSize=function(){},SVGRenderer.prototype.renderFrame=function(t){if(this.lastFrame!=t&&!this.destroyed){this.lastFrame=t,this.globalData.frameNum=t;var e,a=this.layers.length;for(e=0;a>e;e++)this.elements[e].prepareFrame(t-this.layers[e].startTime);for(e=0;a>e;e++)this.elements[e].renderFrame(t-this.layers[e].startTime)}},CanvasRenderer.prototype.buildItems=function(t,e){e||(e=this.elements);var a,r=0,i=t.length;for(a=0;i>a;a++)if("StillLayer"==t[a].ty)r++,e.push(this.createImage(t[a]));else if("PreCompLayer"==t[a].ty){e.push(this.createComp(t[a]));var s=[];this.buildItems(t[a].layers,s),e[e.length-1].setElements(s)}else e.push("SolidLayer"==t[a].ty?this.createSolid(t[a]):"ShapeLayer"==t[a].ty?this.createShape(t[a]):"TextLayer"==t[a].ty?this.createText(t[a]):this.createBase(t[a]))},CanvasRenderer.prototype.createBase=function(t){return new CVBaseElement(t,this.globalData)},CanvasRenderer.prototype.createShape=function(t){return new CVShapeElement(t,this.globalData)},CanvasRenderer.prototype.createText=function(t){return new CVTextElement(t,this.globalData)},CanvasRenderer.prototype.createImage=function(t){return new CVImageElement(t,this.globalData)},CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData)},CanvasRenderer.prototype.createSolid=function(t){return new CVSolidElement(t,this.globalData)},CanvasRenderer.prototype.ctxTransform=function(t){if(!this.renderConfig.clearCanvas)return void this.canvasContext.transform(t[0],t[1],t[2],t[3],t[4],t[5]);this.contextData.cTr.transform(t[0],t[1],t[2],t[3],t[4],t[5]);var e=this.contextData.cTr.props;this.canvasContext.setTransform(e[0],e[1],e[2],e[3],e[4],e[5])},CanvasRenderer.prototype.ctxOpacity=function(t){return this.renderConfig.clearCanvas?(this.contextData.cO*=0>t?0:t,void(this.canvasContext.globalAlpha=this.contextData.cO)):void(this.canvasContext.globalAlpha*=0>t?0:t)},CanvasRenderer.prototype.reset=function(){return this.renderConfig.clearCanvas?(this.contextData.cArrPos=0,this.contextData.cTr.reset(),void(this.contextData.cO=1)):void this.canvasContext.restore()},CanvasRenderer.prototype.save=function(t){if(!this.renderConfig.clearCanvas)return void this.canvasContext.save();t&&this.canvasContext.save();var e=this.contextData.cTr.props;(null===this.contextData.saved[this.contextData.cArrPos]||void 0===this.contextData.saved[this.contextData.cArrPos])&&(this.contextData.saved[this.contextData.cArrPos]=new Array(6));var a,r=6,i=this.contextData.saved[this.contextData.cArrPos];for(a=0;r>a;a+=1)i[a]=e[a];this.contextData.savedOp[this.contextData.cArrPos]=this.contextData.cO,this.contextData.cArrPos+=1},CanvasRenderer.prototype.restore=function(t){if(!this.renderConfig.clearCanvas)return void this.canvasContext.restore();t&&this.canvasContext.restore(),this.contextData.cArrPos-=1;var e,a=this.contextData.saved[this.contextData.cArrPos],r=6,i=this.contextData.cTr.props;for(e=0;r>e;e+=1)i[e]=a[e];this.canvasContext.setTransform(a[0],a[1],a[2],a[3],a[4],a[5]),a=this.contextData.savedOp[this.contextData.cArrPos],this.contextData.cO=a,this.canvasContext.globalAlpha=a},CanvasRenderer.prototype.configAnimation=function(t){this.animationItem.wrapper?(this.animationItem.container=document.createElement("canvas"),this.animationItem.container.style.width="100%",this.animationItem.container.style.height="100%",this.animationItem.container.style.transformOrigin=this.animationItem.container.style.mozTransformOrigin=this.animationItem.container.style.webkitTransformOrigin=this.animationItem.container.style["-webkit-transform"]="0px 0px 0px",this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d")):this.canvasContext=this.renderConfig.context,this.globalData.canvasContext=this.canvasContext,this.globalData.bmCtx=new BM_CanvasRenderingContext2D(this),this.globalData.renderer=this,this.globalData.totalFrames=Math.floor(t.animation.totalFrames),this.globalData.compWidth=t.animation.compWidth,this.globalData.compHeight=t.animation.compHeight,this.layers=t.animation.layers,this.transformCanvas={},this.transformCanvas.w=t.animation.compWidth,this.transformCanvas.h=t.animation.compHeight,this.updateContainerSize()},CanvasRenderer.prototype.updateContainerSize=function(){var t,e;if(this.animationItem.wrapper&&this.animationItem.container?(t=this.animationItem.wrapper.offsetWidth,e=this.animationItem.wrapper.offsetHeight,this.animationItem.container.setAttribute("width",t),this.animationItem.container.setAttribute("height",e)):(t=this.canvasContext.canvas.width,e=this.canvasContext.canvas.height),"fit"==this.renderConfig.scaleMode){var a=t/e,r=this.transformCanvas.w/this.transformCanvas.h;r>a?(this.transformCanvas.sx=t/this.transformCanvas.w,this.transformCanvas.sy=t/this.transformCanvas.w,this.transformCanvas.tx=0,this.transformCanvas.ty=(e-this.transformCanvas.h*(t/this.transformCanvas.w))/2):(this.transformCanvas.sx=e/this.transformCanvas.h,this.transformCanvas.sy=e/this.transformCanvas.h,this.transformCanvas.tx=(t-this.transformCanvas.w*(e/this.transformCanvas.h))/2,this.transformCanvas.ty=0)}else this.transformCanvas.sx=1,this.transformCanvas.sy=1,this.transformCanvas.tx=0,this.transformCanvas.ty=0;this.transformCanvas.props=[this.transformCanvas.sx,0,0,this.transformCanvas.sy,this.transformCanvas.tx,this.transformCanvas.ty],this.clipper=new BM_Path2D,this.clipper.rect(0,0,this.transformCanvas.w,this.transformCanvas.h)},CanvasRenderer.prototype.buildStage=function(t,e,a){a||(a=this.elements);var r,i,s=e.length;for(r=s-1;r>=0;r--)i=e[r],void 0!==i.parent&&this.buildItemHierarchy(i,a[r],e,i.parent,a),"PreCompLayer"==i.ty&&this.buildStage(null,i.layers,a[r].getElements())},CanvasRenderer.prototype.buildItemHierarchy=function(t,e,a,r,i){for(var s=0,n=a.length;n>s;)a[s].ind===r&&(e.getHierarchy().push(i[s]),void 0!==a[s].parent&&this.buildItemHierarchy(t,e,a,a[s].parent,i)),s+=1},CanvasRenderer.prototype.prepareFrame=function(t){if(!this.destroyed){var e,a=this.elements.length;for(e=0;a>e;e++)this.elements[e].prepareFrame(t-this.layers[e].startTime)}},CanvasRenderer.prototype.draw=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].draw()},CanvasRenderer.prototype.destroy=function(){this.renderConfig.clearCanvas&&(this.animationItem.wrapper.innerHTML="");var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].destroy();this.elements.length=0,this.globalData.bmCtx=null,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRenderer.prototype.renderFrame=function(t){this.lastFrame==t&&this.renderConfig.clearCanvas===!0||this.destroyed||(this.lastFrame=t,this.globalData.frameNum=t-this.animationItem.firstFrame,this.renderConfig.clearCanvas===!0?(this.reset(),this.canvasContext.canvas.width=this.canvasContext.canvas.width):this.save(),this.ctxTransform(this.transformCanvas.props),this.globalData.bmCtx.clip(this.clipper),this.prepareFrame(t),this.draw(),this.renderConfig.clearCanvas!==!0&&this.restore())},MaskElement.prototype.init=function(){this.masksProperties=this.data.masksProperties;var t,e,a,r,i,s=this.element.maskedElement,n=this.globalData.defs,o=this.masksProperties.length,h=this.data.masksProperties,l=0,m=[],p=randomString(10);for(this.maskElement=document.createElementNS(svgNS,"mask"),t=0;o>t;t++)if("s"!=h[t].mode&&"i"!=h[t].mode||0!=l||(i=document.createElementNS(svgNS,"rect"),i.setAttribute("fill","#ffffff"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("width","100%"),i.setAttribute("height","100%"),m.push(i)),!("f"==h[t].mode&&l>0||"n"==h[t].mode)){if(l+=1,e=document.createElementNS(svgNS,"path"),h[t].cl?"s"==h[t].mode?e.setAttribute("fill","#000000"):e.setAttribute("fill","#ffffff"):(e.setAttribute("fill","none"),"s"==h[t].mode?e.setAttribute("fill","#000000"):e.setAttribute("fill","#ffffff"),e.setAttribute("stroke-width","1"),e.setAttribute("stroke-miterlimit","10")),e.setAttribute("clip-rule","nonzero"),this.storedData[t]={elem:e,lastPath:""},"i"==h[t].mode){r=m.length;var d=document.createElementNS(svgNS,"g");for(a=0;r>a;a+=1)d.appendChild(m[a]);var c=document.createElementNS(svgNS,"mask");c.setAttribute("mask-type","alpha"),c.setAttribute("id",p+"_"+l),c.appendChild(e),n.appendChild(c),d.setAttribute("mask","url(#"+p+"_"+l+")"),m.length=0,m.push(d)}else m.push(e);h[t].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath())}for(o=m.length,t=0;o>t;t+=1)this.maskElement.appendChild(m[t]);this.maskElement.setAttribute("id",p),l>0&&s.setAttribute("mask","url(#"+p+")"),n.appendChild(this.maskElement)},MaskElement.prototype.renderFrame=function(t){var e,a=this.data.masksProperties.length,r=0;for(e=0;a>e;e++)"f"==this.data.masksProperties[e].mode&&r>0||"n"==this.data.masksProperties[e].mode||(r+=1,this.drawPath(this.data.masksProperties[e],this.data.masksProperties[e].paths[t].pathNodes,this.storedData[e]))},MaskElement.prototype.processMaskFromEffects=function(t,e){var a,r=this.registeredEffects.length;for(a=0;r>a;a++)this.registeredEffects[a].renderMask(t,e)},MaskElement.prototype.registerEffect=function(t){this.registeredEffects.push(t)},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var t="M0,0 ";return t+=" h"+this.globalData.compSize.w,t+=" v"+this.globalData.compSize.h,t+=" h-"+this.globalData.compSize.w,t+=" v-"+this.globalData.compSize.h+" "},MaskElement.prototype.drawPath=function(t,e,a){var r,i,s="";if(e.__renderedString)s=e.__renderedString;else{for(i=e.v.length,r=1;i>r;r+=1)1==r&&(s+=" M"+e.v[0][0]+","+e.v[0][1]),s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[r][0]+","+e.i[r][1]+" "+e.v[r][0]+","+e.v[r][1];t.cl&&(s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),e.__renderedString=s}a.lastPath!==s&&(t.inv?a.elem.setAttribute("d",this.solidPath+s):a.elem.setAttribute("d",s),a.lastPath=s)},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.paths=null,this.registeredEffects=null,this.masksProperties=null};var BaseElement=function(t,e,a){this.globalData=a,this.data=t,this.ownMatrix=new Matrix,this.finalTransform={mat:new Matrix,op:1},this.matteElement=null,this.renderedFrames=[],this.lastData={},this.parentContainer=e,this.layerId=randomString(10),this.hidden=!1,this.init()};BaseElement.prototype.init=function(){this.createElements(),this.data.hasMask&&this.addMasks(this.data),this.data.eff},BaseElement.prototype.createElements=function(){if(this.data.td){if(3==this.data.td)this.layerElement=document.createElementNS(svgNS,"mask"),this.layerElement.setAttribute("id",this.layerId),this.layerElement.setAttribute("mask-type","luminance"),this.globalData.defs.appendChild(this.layerElement);else if(2==this.data.td){var t=document.createElementNS(svgNS,"mask");t.setAttribute("id",this.layerId),t.setAttribute("mask-type","alpha");var e=document.createElementNS(svgNS,"g");t.appendChild(e),this.layerElement=document.createElementNS(svgNS,"g");var a=document.createElementNS(svgNS,"filter"),r=randomString(10);a.setAttribute("id",r),a.setAttribute("filterUnits","objectBoundingBox"),a.setAttribute("x","0%"),a.setAttribute("y","0%"),a.setAttribute("width","100%"),a.setAttribute("height","100%");var i=document.createElementNS(svgNS,"feComponentTransfer");i.setAttribute("in","SourceGraphic"),a.appendChild(i);var s=document.createElementNS(svgNS,"feFuncA");s.setAttribute("type","table"),s.setAttribute("tableValues","1.0 0.0"),i.appendChild(s),this.globalData.defs.appendChild(a);var n=document.createElementNS(svgNS,"rect");n.setAttribute("width","100%"),n.setAttribute("height","100%"),n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("fill","#ffffff"),n.setAttribute("opacity","0"),e.setAttribute("filter","url(#"+r+")"),e.appendChild(n),e.appendChild(this.layerElement),this.globalData.defs.appendChild(t)}else{this.layerElement=document.createElementNS(svgNS,"g");var o=document.createElementNS(svgNS,"mask");o.setAttribute("id",this.layerId),o.setAttribute("mask-type","alpha"),o.appendChild(this.layerElement),this.globalData.defs.appendChild(o)}this.data.hasMask&&(this.maskedElement=this.layerElement)}else this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"g"),this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.appendChild(this.layerElement),this.parentContainer.appendChild(this.matteElement)):this.parentContainer.appendChild(this.layerElement),this.maskedElement=this.layerElement):this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.setAttribute("id",this.layerId),this.parentContainer.appendChild(this.matteElement),this.layerElement=this.matteElement):this.layerElement=this.parentContainer},BaseElement.prototype.prepareFrame=function(t){this.currentAnimData=this.data.renderedData[t].an;var e=this.currentAnimData.matrixArray;this.ownMatrix.reset().transform(e[0],e[1],e[2],e[3],e[4],e[5]).translate(-this.currentAnimData.tr.a[0],-this.currentAnimData.tr.a[1])},BaseElement.prototype.renderFrame=function(t,e){if("NullLayer"!=this.data.ty){if(this.data.inPoint-this.data.startTime<=t&&this.data.outPoint-this.data.startTime>t?(this.isVisible!==!0&&(this.isVisible=!0),this.finalTransform.opacity=1):(this.isVisible!==!1&&(this.isVisible=!1),this.finalTransform.opacity=0),this.data.eff,t===this.data.renderedFrame.num)return this.isVisible;this.data.hasMask&&this.maskManager.renderFrame(t),this.finalTransform.opacity*=this.currentAnimData.tr.o;var a,r=this.finalTransform.mat;if(e&&(a=e.mat.props,r.reset().transform(a[0],a[1],a[2],a[3],a[4],a[5]),this.finalTransform.opacity*=e.opacity),this.hierarchy){var i,s=this.hierarchy.length;for(e||r.reset(),i=s-1;i>=0;i-=1)a=this.hierarchy[i].ownMatrix.props,r.transform(a[0],a[1],a[2],a[3],a[4],a[5]);a=this.ownMatrix.props,r.transform(a[0],a[1],a[2],a[3],a[4],a[5])}else this.isVisible&&(e?(a=this.ownMatrix.props,r.transform(a[0],a[1],a[2],a[3],a[4],a[5])):(this.finalTransform.mat.props[0]=this.ownMatrix.props[0],this.finalTransform.mat.props[1]=this.ownMatrix.props[1],this.finalTransform.mat.props[2]=this.ownMatrix.props[2],this.finalTransform.mat.props[3]=this.ownMatrix.props[3],this.finalTransform.mat.props[4]=this.ownMatrix.props[4],this.finalTransform.mat.props[5]=this.ownMatrix.props[5]));if(this.data.hasMask){this.renderedFrames[this.globalData.frameNum]||(this.renderedFrames[this.globalData.frameNum]={tr:"matrix("+r.props.join(",")+")",o:this.finalTransform.opacity});var n=this.renderedFrames[this.globalData.frameNum];this.lastData.tr!=n.tr&&(this.lastData.tr=n.tr,this.layerElement.setAttribute("transform",n.tr)),this.lastData.o!==n.o&&(this.lastData.o=n.o,this.layerElement.setAttribute("opacity",n.o))}return this.isVisible}},BaseElement.prototype.destroy=function(){this.layerElement=null,this.parentContainer=null,this.matteElement&&(this.matteElement=null),this.maskManager&&this.maskManager.destroy()},BaseElement.prototype.getDomElement=function(){return this.layerElement},BaseElement.prototype.getMaskManager=function(){return this.maskManager},BaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData),this.maskManager.init()},BaseElement.prototype.createEffectsManager=function(t){var e={effects:{value:t.eff},element:{value:this}};this.effectsManager=createElement(EffectsManager,null,e)},BaseElement.prototype.getType=function(){return this.type},BaseElement.prototype.getLayerSize=function(){return"TextLayer"==this.data.ty?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}},BaseElement.prototype.getHierarchy=function(){return this.hierarchy||(this.hierarchy=[]),this.hierarchy},BaseElement.prototype.setMatte=function(t){this.matteElement&&this.matteElement.setAttribute("mask","url(#"+t+")")},BaseElement.prototype.hide=function(){},createElement(BaseElement,ICompElement),ICompElement.prototype.getComposingElement=function(){return this.layerElement},ICompElement.prototype.hide=function(){if(!this.hidden){var t,e=this.elements.length;for(t=0;e>t;t+=1)this.elements[t].hide();this.hidden=!0}},ICompElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);if(a===!1)return void this.hide();this.hidden=!1;var r,i=this.layers.length,s=this.data.tm?this.data.tm[t]<0?0:t>=this.data.tm.length?this.data.tm[this.data.tm.length-1]:this.data.tm[t]:t;for(r=0;i>r;r+=1)this.elements[r].prepareFrame(s-this.layers[r].startTime);for(r=0;i>r;r+=1)this.data.hasMask?this.elements[r].renderFrame(s-this.layers[r].startTime):this.elements[r].renderFrame(s-this.layers[r].startTime,this.finalTransform)},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroy=function(){this.parent.destroy.call();var t,e=this.layers.length;for(t=0;e>t;t+=1)this.elements[t].destroy()},createElement(BaseElement,IImageElement),IImageElement.prototype.createElements=function(){var t=this,e=function(){t.image.setAttributeNS("http://www.w3.org/1999/xlink","href",t.path+t.assetData.p),t.maskedElement=t.image},a=new Image;a.addEventListener("load",e,!1),a.addEventListener("error",e,!1),a.src=this.path+this.assetData.p,this.parent.createElements.call(this),this.image=document.createElementNS(svgNS,"image"),this.image.setAttribute("width",this.assetData.w+"px"),this.image.setAttribute("height",this.assetData.h+"px"),this.layerElement.appendChild(this.image)},IImageElement.prototype.hide=function(){this.hidden||(this.image.setAttribute("opacity","0"),this.hidden=!0)},IImageElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);if(a===!1)return void this.hide();if(this.hidden&&(this.lastData.o=-1,this.hidden=!1,this.image.setAttribute("opacity","1")),!this.data.hasMask){this.renderedFrames[this.globalData.frameNum]||(this.renderedFrames[this.globalData.frameNum]={tr:"matrix("+this.finalTransform.mat.props.join(",")+")",o:this.finalTransform.opacity});var r=this.renderedFrames[this.globalData.frameNum];this.lastData.tr!=r.tr&&(this.lastData.tr=r.tr,this.image.setAttribute("transform",r.tr)),this.lastData.o!==r.o&&(this.lastData.o=r.o,this.image.setAttribute("opacity",r.o))}},IImageElement.prototype.destroy=function(){this.parent.destroy.call(),this.image=null},createElement(BaseElement,IShapeElement),IShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.mainShape=new ShapeItemElement(this.data.shapes,this.layerElement,this.globalData)},IShapeElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);return a===!1?void this.hide():void this.renderShapes(t)},IShapeElement.prototype.hide=function(){this.hidden||(this.mainShape.hideShape(),this.hidden=!0)},IShapeElement.prototype.renderShapes=function(t){this.hidden=!1,this.data.hasMask?this.mainShape.renderShape(t,{opacity:1,mat:new Matrix}):this.mainShape.renderShape(t,this.finalTransform)},IShapeElement.prototype.destroy=function(){this.parent.destroy.call(),this.mainShape.destroy()},ShapeItemElement.prototype.searchShapes=function(t,e){var a,r,i,s=t.length-1,n=[];for(a=s;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){e[a]={renderedFrames:[],lastData:{c:"",o:-1,w:""}};var o=document.createElementNS(svgNS,"path");"st"==t[a].ty&&(o.setAttribute("stroke-linecap",this.lcEnum[t[a].lc]||"round"),o.setAttribute("stroke-linejoin",this.ljEnum[t[a].lj]||"round"),1==t[a].lj&&o.setAttribute("stroke-miterlimit",t[a].ml)),this.shape.appendChild(o),this.stylesList.push({pathElement:o,type:t[a].ty,d:"",ld:"a"}),e[a].style=this.stylesList[this.stylesList.length-1],n.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1}};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty)for(e[a]={elements:[],renderedFrames:[],styles:[],lastData:{d:"",o:"",tr:""}},i=this.stylesList.length,r=0;i>r;r+=1)this.stylesList[r].closed||(e[a].styles.push(this.stylesList[r]),"st"==this.stylesList[r].type&&this.stylesList[r].pathElement.setAttribute("fill-opacity",0));for(s=n.length,a=0;s>a;a+=1)n[a].closed=!0},ShapeItemElement.prototype.getElement=function(){return this.shape},ShapeItemElement.prototype.hideShape=function(){var t,e=this.stylesList.length;for(t=e-1;t>=0;t-=1)this.stylesList[t].pathElement.setAttribute("d","M 0,0"),this.stylesList[t].ld="M 0,0"},ShapeItemElement.prototype.renderShape=function(t,e,a,r){var i,s;if(!a)for(a=this.data,s=this.stylesList.length,i=0;s>i;i+=1)this.stylesList[i].d="";r||(r=this.viewData),this.frameNum=t,s=a.length-1;var n,o;for(n=e,i=s;i>=0;i-=1)if("tr"==a[i].ty){var h=a[i].renderedData[t].mtArr;if(n=r[i].transform,o=n.mat,o.reset(),e){var l=e.mat.props;n.opacity=e.opacity,n.opacity*=a[i].renderedData[t].o,o.transform(l[0],l[1],l[2],l[3],l[4],l[5])}else n.opacity=a[i].renderedData[t].o;o.transform(h[0],h[1],h[2],h[3],h[4],h[5]).translate(-a[i].renderedData[t].a[0],-a[i].renderedData[t].a[1])}else"sh"==a[i].ty?this.renderPath(a[i],r[i],t,n):"el"==a[i].ty?this.renderPath(a[i],r[i],t,n):"rc"==a[i].ty?a[i].trimmed?this.renderPath(a[i],r[i],t,n):this.renderRect(a[i],r[i],t,n):"fl"==a[i].ty?this.renderFill(a[i],r[i],t,n):"st"==a[i].ty?this.renderStroke(a[i],r[i],t,n):"gr"==a[i].ty?this.renderShape(t,n,a[i].it,r[i].it):"tm"==a[i].ty;for(s=this.stylesList.length,i=0;s>i;i+=1)""==this.stylesList[i].d&&""!==this.stylesList[i].ld?(this.stylesList[i].pathElement.setAttribute("d","M 0,0"),this.stylesList[i].ld=this.stylesList[i].d):this.stylesList[i].ld!==this.stylesList[i].d&&(this.stylesList[i].pathElement.setAttribute("d",this.stylesList[i].d),this.stylesList[i].ld=this.stylesList[i].d)},ShapeItemElement.prototype.renderPath=function(t,e,a,r){var i,s;if(!e.renderedFrames[this.globalData.frameNum]){var n=t.renderedData[a].path.pathNodes;if(!n.v)return;i=n.v.length;var o=n.s?n.s:[],h="";for(s=1;i>s;s+=1)o[s-1]?h+=" M"+o[s-1][0]+","+o[s-1][1]:1==s&&(h+=" M"+n.v[0][0]+","+n.v[0][1]),h+=" C"+n.o[s-1][0]+","+n.o[s-1][1]+" "+n.i[s][0]+","+n.i[s][1]+" "+n.v[s][0]+","+n.v[s][1];1==i&&(h+=o[0]?" M"+o[0][0]+","+o[0][1]:" M"+n.v[0][0]+","+n.v[0][1]),!t.closed||t.trimmed&&!n.c||(h+=" C"+n.o[s-1][0]+","+n.o[s-1][1]+" "+n.i[0][0]+","+n.i[0][1]+" "+n.v[0][0]+","+n.v[0][1]),e.renderedFrames[this.globalData.frameNum]={dTr:h}}var l=e.renderedFrames[this.globalData.frameNum];for(i=e.styles.length,s=0;i>s;s+=1)e.styles[s].d+=l.dTr},ShapeItemElement.prototype.renderFill=function(t,e,a,r){var i=t.renderedData[a],s=e.style;e.renderedFrames[this.globalData.frameNum]||(e.renderedFrames[this.globalData.frameNum]={c:i.color,o:i.opacity*r.opacity,t:"matrix("+r.mat.props.join(",")+")"});var n=e.renderedFrames[this.globalData.frameNum];e.lastData.c!=n.c&&(s.pathElement.setAttribute("fill",n.c),e.lastData.c=n.c),e.lastData.o!=n.o&&(s.pathElement.setAttribute("fill-opacity",n.o),e.lastData.o=n.o),e.lastData.t!=n.t&&(s.pathElement.setAttribute("transform",n.t),e.lastData.t=n.t)},ShapeItemElement.prototype.renderStroke=function(t,e,a,r){var i=t.renderedData[a],s=e.style;e.renderedFrames[this.globalData.frameNum]||(e.renderedFrames[this.globalData.frameNum]={c:i.color,o:i.opacity*r.opacity,w:i.width,t:"matrix("+r.mat.props.join(",")+")"},i.dashes&&(e.renderedFrames[this.globalData.frameNum].d=i.dashes));var n,o,h=e.renderedFrames[this.globalData.frameNum],l=h.c,m=h.o,p=h.w,d=h.d,c=h.t;if(d){var f,u=d.length;for(n="",o="",f=0;u>f;f+=1)"o"!=d[f].n?n+=" "+d[f].v:o+=d[f].v;e.lastData.da!=n&&(s.pathElement.setAttribute("stroke-dasharray",n),e.lastData.da=n),e.lastData["do"]!=o&&(s.pathElement.setAttribute("stroke-dashoffset",o),e.lastData["do"]=o)}e.lastData.c!=l&&(s.pathElement.setAttribute("stroke",l),e.lastData.c=l),e.lastData.o!=m&&(s.pathElement.setAttribute("stroke-opacity",m),e.lastData.o=m),e.lastData.w!==p&&(s.pathElement.setAttribute("stroke-width",p),e.lastData.w=p),e.lastData.t!==c&&(s.pathElement.setAttribute("transform",c),e.lastData.t=c)},ShapeItemElement.prototype.destroy=function(t,e){this.shape=null,this.data=null,this.viewData=null},createElement(BaseElement,ISolidElement),ISolidElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=document.createElementNS(svgNS,"rect");t.setAttribute("width",this.data.width),t.setAttribute("height",this.data.height),t.setAttribute("fill",this.data.color),this.layerElement.appendChild(t),this.rectElement=t},ISolidElement.prototype.hide=function(){this.hidden||(this.rectElement.setAttribute("opacity","0"),this.hidden=!0)},ISolidElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);if(a===!1)return void this.hide();if(this.hidden&&(this.lastData.o=-1,this.hidden=!1,this.data.hasMask&&this.rectElement.setAttribute("opacity","1")),!this.data.hasMask){this.renderedFrames[this.globalData.frameNum]||(this.renderedFrames[this.globalData.frameNum]={tr:"matrix("+this.finalTransform.mat.props.join(",")+")",o:this.finalTransform.opacity});var r=this.renderedFrames[this.globalData.frameNum];this.lastData.tr!=r.tr&&(this.lastData.tr=r.tr,this.rectElement.setAttribute("transform",r.tr)),this.lastData.o!==r.o&&(this.lastData.o=r.o,this.rectElement.setAttribute("opacity",r.o))}},ICompElement.prototype.destroy=function(){this.parent.destroy.call(),this.rectElement=null},createElement(BaseElement,ITextElement),ITextElement.prototype.createElements=function(){this.parent.createElements.call(this)},CVBaseElement.prototype.init=function(){this.createElements(),this.data.hasMask&&this.addMasks(this.data),this.data.eff},CVBaseElement.prototype.createElements=function(){},CVBaseElement.prototype.prepareFrame=function(t){this.currentAnimData=this.data.renderedData[t].an;var e=this.currentAnimData.matrixArray;return this.ownMatrix.reset().transform(e[0],e[1],e[2],e[3],e[4],e[5]).translate(-this.currentAnimData.tr.a[0],-this.currentAnimData.tr.a[1]),this.data.inPoint-this.data.startTime<=t&&this.data.outPoint-this.data.startTime>=t?(this.renderFrame=!0,this.finalTransform.opacity=1,void(this.data.hasMask&&this.maskManager.prepareFrame(t))):(this.renderFrame=!1,this.finalTransform.opacity=0,!1)},CVBaseElement.prototype.draw=function(t){if("NullLayer"!=this.data.ty){if(!this.renderFrame)return!1;var e,a=(this.canvasContext,this.finalTransform.mat);if(this.finalTransform.opacity*=this.currentAnimData.tr.o,t&&(e=t.mat.props,a.reset().transform(e[0],e[1],e[2],e[3],e[4],e[5]),this.finalTransform.opacity*=t.opacity),this.hierarchy){var r,i=this.hierarchy.length;for(t||a.reset(),r=i-1;r>=0;r-=1)e=this.hierarchy[r].ownMatrix.props,a.transform(e[0],e[1],e[2],e[3],e[4],e[5]);e=this.ownMatrix.props,a.transform(e[0],e[1],e[2],e[3],e[4],e[5])}else this.renderFrame&&(t?(e=this.ownMatrix.props,a.transform(e[0],e[1],e[2],e[3],e[4],e[5])):this.finalTransform.mat=this.ownMatrix);this.data.hasMask&&(this.globalData.renderer.save(!0),this.maskManager.draw(this.finalTransform))}},CVBaseElement.prototype.getCurrentAnimData=function(){return this.currentAnimData},CVBaseElement.prototype.addMasks=function(t){var e={data:{value:t},element:{value:this},globalData:{value:this.globalData}};this.maskManager=createElement(CVMaskElement,null,e)},CVBaseElement.prototype.createEffectsManager=function(t){var e={effects:{value:t.eff},element:{value:this}};this.effectsManager=createElement(EffectsManager,null,e)},CVBaseElement.prototype.getType=function(){return this.type},CVBaseElement.prototype.getHierarchy=function(){return this.hierarchy||(this.hierarchy=[]),this.hierarchy},CVBaseElement.prototype.getLayerSize=function(){return"TextLayer"==this.data.ty?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}},CVBaseElement.prototype.destroy=function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager&&this.maskManager.destroy()},createElement(CVBaseElement,CVCompElement),CVCompElement.prototype.prepareFrame=function(t){var e=this.parent.prepareFrame.call(this,t);if(e!==!1){var a,r=this.elements.length,i=this.data.tm?this.data.tm[t]<0?0:t>=this.data.tm.length?this.data.tm[this.data.tm.length-1]:this.data.tm[t]:t;for(a=0;r>a;a+=1)this.elements[a].prepareFrame(i-this.layers[a].startTime)}},CVCompElement.prototype.draw=function(t){if(this.parent.draw.call(this,t)!==!1){var e,a=this.layers.length;for(e=a-1;e>=0;e-=1)this.elements[e].draw(this.finalTransform);this.data.hasMask&&this.globalData.renderer.restore(!0)}},CVCompElement.prototype.setElements=function(t){this.elements=t},CVCompElement.prototype.getElements=function(){return this.elements},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].destroy();this.layers=null,this.elements=null,this.parent.destroy.call()},createElement(CVBaseElement,CVImageElement),CVImageElement.prototype.createElements=function(){var t=this,e=function(){t.animationItem.elementLoaded()},a=function(){t.failed=!0,t.animationItem.elementLoaded()};this.img=new Image,this.img.addEventListener("load",e,!1),this.img.addEventListener("error",a,!1),this.img.src=this.path+this.assetData.p,this.parent.createElements.call(this)},CVImageElement.prototype.draw=function(t){if(!this.failed&&this.parent.draw.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var a=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(a),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.drawImage(this.img,0,0),this.globalData.renderer.restore(this.data.hasMask)}},CVImageElement.prototype.destroy=function(){this.img=null,this.animationItem=null,this.parent.destroy.call()},createElement(CVBaseElement,CVShapeElement),CVShapeElement.prototype.createElements=function(){
this.parent.createElements.call(this),this.mainShape=new CVShapeItemElement(this.data.shapes,!0,this.globalData)},CVShapeElement.prototype.prepareFrame=function(t){var e=this.parent.prepareFrame.call(this,t);e!==!1&&this.mainShape.prepareFrame(t)},CVShapeElement.prototype.draw=function(t){this.parent.draw.call(this,t)!==!1&&(this.drawShapes(this.finalTransform),this.data.hasMask&&this.globalData.renderer.restore(!0))},CVShapeElement.prototype.drawShapes=function(t){this.mainShape.renderShape(t)},CVShapeElement.prototype.destroy=function(){this.mainShape.destroy(),this.parent.destroy.call()},CVShapeItemElement.prototype.drawPaths=function(t){var e,a;t?(a=[],e=this.stylesList):e=this.renderedPaths[this.globalData.frameNum];var r,i=e.length,s=this.canvasContext;for(this.globalData.renderer.save(),s.lineCap="round",s.lineJoin="round",r=0;i>r;r+=1)"stroke"==e[r].type?(1!=e[r].opacity&&(this.globalData.renderer.save(),this.globalData.renderer.ctxOpacity(e[r].opacity)),s.strokeStyle=e[r].value,s.lineWidth=e[r].width,e[r].dasharray?(s.setLineDash(e[r].dasharray),s.lineDashOffset=e[r].dashoffset):(s.setLineDash([]),s.lineDashOffset=0),this.globalData.bmCtx.stroke(e[r].path),1!=e[r].opacity&&this.globalData.renderer.restore(),t&&(a.push({type:e[r].type,opacity:e[r].opacity,value:e[r].value,width:e[r].width,path:e[r].path}),e[r].dasharray&&(a[a.length-1].dasharray=e[r].dasharray,a[a.length-1].dashoffset=e[r].dashoffset))):"fill"==e[r].type&&(1!=e[r].opacity&&(this.globalData.renderer.save(),this.globalData.renderer.ctxOpacity(e[r].opacity)),s.fillStyle=e[r].value,this.globalData.bmCtx.fill(e[r].path),1!=e[r].opacity&&this.globalData.renderer.restore(),t&&a.push({type:e[r].type,opacity:e[r].opacity,value:e[r].value,path:e[r].path}));this.globalData.renderer.restore(),t&&(this.renderedPaths[this.globalData.frameNum]=a)},CVShapeItemElement.prototype.prepareFrame=function(t){this.frameNum=t;var e,a=this.dataLength-1;for(e=a;e>=0;e-=1)"gr"==this.data[e].ty&&this.data[e].item.prepareFrame(t)},CVShapeItemElement.prototype.renderShape=function(t,e){if(this.renderedPaths[this.globalData.frameNum])return void this.drawPaths(!1);this.transform.opacity=1;var a,r;for(this.ownStylesList.length=0,this.currentStylePoolPos=0,e?this.stylesList=e:this.stylesList.length=0,t?(this.transform.mat.props[0]=t.mat.props[0],this.transform.mat.props[1]=t.mat.props[1],this.transform.mat.props[2]=t.mat.props[2],this.transform.mat.props[3]=t.mat.props[3],this.transform.mat.props[4]=t.mat.props[4],this.transform.mat.props[5]=t.mat.props[5],this.transform.opacity*=t.opacity):(this.transform.mat.props[0]=this.transform.mat.props[3]=1,this.transform.mat.props[1]=this.transform.mat.props[2]=this.transform.mat.props[4]=this.transform.mat.props[5]=0),r=this.dataLength-1,a=r;a>=0;a-=1)"gr"==this.data[a].ty?this.data[a].item.renderShape(this.transform,this.stylesList):"tr"==this.data[a].ty?this.renderTransform(this.data[a]):"sh"==this.data[a].ty?this.renderPath(this.data[a]):"el"==this.data[a].ty?this.renderEllipse(this.data[a]):"rc"==this.data[a].ty?this.data[a].trimmed?this.renderPath(this.data[a]):this.renderRect(this.data[a]):"fl"==this.data[a].ty?this.renderFill(this.data[a]):"st"==this.data[a].ty&&this.renderStroke(this.data[a]);if(this.mainFlag)this.drawPaths(!0);else for(r=this.ownStylesList.length,a=0;r>a;a+=1)this.ownStylesList[a].closed=!0},CVShapeItemElement.prototype.renderTransform=function(t){var e=t.renderedData[this.frameNum],a=e.mtArr;this.transform.mat.transform(a[0],a[1],a[2],a[3],a[4],a[5]).translate(-e.a[0],-e.a[1]),this.transform.opacity*=e.o},CVShapeItemElement.prototype.renderPath=function(t){if(t.trimmed){var e=this.canvasContext;e.lineCap="round",e.lineJoin="round"}var a=t.renderedData[this.frameNum].path,r=new BM_Path2D,i=a.pathNodes;if(i instanceof Array&&(i=i[0]),i.v){var s,n=i.v.length,o=i.s?i.s:[];for(s=1;n>s;s+=1)o[s-1]?r.moveTo(o[s-1][0],o[s-1][1]):1==s&&r.moveTo(i.v[0][0],i.v[0][1]),r.bezierCurveTo(i.o[s-1][0],i.o[s-1][1],i.i[s][0],i.i[s][1],i.v[s][0],i.v[s][1]);1==n&&(o[0]?r.moveTo(o[0][0],o[0][1]):r.moveTo(i.v[0][0],i.v[0][1])),!t.closed||t.trimmed&&!i.c||r.bezierCurveTo(i.o[s-1][0],i.o[s-1][1],i.i[0][0],i.i[0][1],i.v[0][0],i.v[0][1]),this.addPathToStyles(r)}},CVShapeItemElement.prototype.renderEllipse=function(t){var e=new BM_Path2D,a=t.renderedData[this.frameNum];e.moveTo(a.p[0]+a.size[0]/2,a.p[1]),e.ellipse(a.p[0],a.p[1],a.size[0]/2,a.size[1]/2,0,0,2*Math.PI,!1),this.addPathToStyles(e)},CVShapeItemElement.prototype.renderRect=function(t){var e=new BM_Path2D,a=t.renderedData[this.frameNum],r=a.roundness;if(0===r)e.rect(a.position[0]-a.size[0]/2,a.position[1]-a.size[1]/2,a.size[0],a.size[1]);else{var i=a.position[0]-a.size[0]/2,s=a.position[1]-a.size[1]/2,n=a.size[0],o=a.size[1];r instanceof Array&&(r=r[0]),r>n/2&&(r=n/2),r>o/2&&(r=o/2),e.moveTo(i+r,s),e.lineTo(i+n-r,s),e.quadraticCurveTo(i+n,s,i+n,s+r),e.lineTo(i+n,s+o-r),e.quadraticCurveTo(i+n,s+o,i+n-r,s+o),e.lineTo(i+r,s+o),e.quadraticCurveTo(i,s+o,i,s+o-r),e.lineTo(i,s+r),e.quadraticCurveTo(i,s,i+r,s)}this.addPathToStyles(e)},CVShapeItemElement.prototype.addPathToStyles=function(t){var e,a=this.stylesList.length,r=!0,i=0;for(e=a-1;e>=0;e-=1)this.stylesList[e].closed||("stroke"==this.stylesList[e].type?(this.stylesList[e].width>i&&this.stylesList[e].path.addPath(t,this.transform.mat.props),1==this.stylesList[e].styleOpacity&&1==this.stylesList[e].opacity&&(i=this.stylesList[e].width)):r&&"fill"==this.stylesList[e].type&&(this.stylesList[e].path.addPath(t,this.transform.mat.props),1==this.stylesList[e].styleOpacity&&1==this.stylesList[e].opacity&&(r=!1)))},CVShapeItemElement.prototype.renderFill=function(t){var e=t.renderedData[this.frameNum];return t.fillEnabled!==!1?(this.stylesPool[this.currentStylePoolPos].path=new BM_Path2D,this.stylesPool[this.currentStylePoolPos].closed=!1,this.stylesPool[this.currentStylePoolPos].styleOpacity=e.opacity<1?e.opacity:1,this.stylesPool[this.currentStylePoolPos].opacity=this.transform.opacity,this.stylesPool[this.currentStylePoolPos].value=e.opacity<1?fillColorToString(e.color,e.opacity):fillColorToString(e.color),this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),void(this.currentStylePoolPos+=1)):(this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),void(this.currentStylePoolPos+=1))},CVShapeItemElement.prototype.renderStroke=function(t){var e=t.renderedData[this.frameNum];if(this.data.strokeEnabled!==!1){if(this.stylesPool[this.currentStylePoolPos].path=new BM_Path2D,this.stylesPool[this.currentStylePoolPos].closed=!1,this.stylesPool[this.currentStylePoolPos].styleOpacity=e.opacity<1?e.opacity:1,this.stylesPool[this.currentStylePoolPos].width=e.width,this.stylesPool[this.currentStylePoolPos].opacity=this.transform.opacity,this.stylesPool[this.currentStylePoolPos].value=e.opacity<1?fillColorToString(e.color,e.opacity):fillColorToString(e.color),e.dashes){var a,r=e.dashes,i=r.length,s=[],n="";for(a=0;i>a;a+=1)"o"!=r[a].n?s.push(r[a].v):n=r[a].v;this.stylesPool[this.currentStylePoolPos].dasharray=s,this.stylesPool[this.currentStylePoolPos].dashoffset=n}return this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),void(this.currentStylePoolPos+=1)}this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),this.currentStylePoolPos+=1},CVShapeItemElement.prototype.destroy=function(){this.data=null,this.globalData=null,this.canvasContext=null},createElement(CVBaseElement,CVSolidElement),CVSolidElement.prototype.draw=function(t){if(this.parent.draw.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var a=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(a),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.fillStyle=this.data.color,e.fillRect(0,0,this.data.width,this.data.height),this.globalData.renderer.restore(this.data.hasMask)}},createElement(CVBaseElement,CVTextElement),CVTextElement.prototype.createElements=function(){this.parent.createElements.call(this)},CVMaskElement.prototype.init=function(){this.registeredEffects=[],this.masksProperties=this.data.masksProperties,this.totalMasks=this.masksProperties.length,this.ctx=this.element.canvasContext,this.layerSize=this.element.getLayerSize(),this.renderedFrames=new Array(this.globalData.totalFrames+1)},CVMaskElement.prototype.prepareFrame=function(t){this.frameNum=t},CVMaskElement.prototype.draw=function(t){var e;if(this.renderedFrames[this.globalData.frameNum])e=this.renderedFrames[this.globalData.frameNum];else{var a,r=new BM_Path2D,i=this.data.masksProperties.length;for(e=new BM_Path2D,a=0;i>a;a++)this.masksProperties[a].inv&&this.createInvertedMask(r,this.data.masksProperties[a].paths[this.frameNum].pathNodes),this.drawShape(r,this.data.masksProperties[a].paths[this.frameNum].pathNodes);e.addPath(r,t.mat.props),this.renderedFrames[this.globalData.frameNum]=e}this.globalData.bmCtx.clip(e)},CVMaskElement.prototype.drawShape=function(t,e){var a,r=e.v.length;for(t.moveTo(e.v[0][0],e.v[0][1]),a=1;r>a;a++)t.bezierCurveTo(e.o[a-1][0],e.o[a-1][1],e.i[a][0],e.i[a][1],e.v[a][0],e.v[a][1]);t.bezierCurveTo(e.o[a-1][0],e.o[a-1][1],e.i[0][0],e.i[0][1],e.v[0][0],e.v[0][1])},CVMaskElement.prototype.createInvertedMask=function(t){t.moveTo(0,0),t.lineTo(this.globalData.compWidth,0),t.lineTo(this.globalData.compWidth,this.globalData.compHeight),t.lineTo(0,this.globalData.compHeight),t.lineTo(0,0)},CVMaskElement.prototype.destroy=function(){this.ctx=null};var animationManager=function(){function t(t){if(!t)return null;for(var e=0;b>e;){if(y[e].elem==t&&null!==y[e].elem)return y[e].animation;e+=1}var a=new AnimationItem;return a.setData(t),y.push({elem:t,animation:a}),b+=1,a}function e(t){var e=new AnimationItem;return e.setParams(t),y.push({elem:null,animation:e}),b+=1,e}function a(t,e){var a;for(a=0;b>a;a+=1)y[a].animation.setSpeed(t,e)}function r(t,e){var a;for(a=0;b>a;a+=1)y[a].animation.setDirection(t,e)}function i(t){var e;for(e=0;b>e;e+=1)y[e].animation.play(t)}function s(t,e){v=!1,g=Date.now();var a;for(a=0;b>a;a+=1)y[a].animation.moveFrame(t,e)}function n(){var t,e=Date.now(),a=e-g;for(t=0;b>t;t+=1)y[t].animation.renderer.destroyed?(y.splice(t,1),t-=1,b-=1):y[t].animation.advanceTime(a);g=e,requestAnimationFrame(n)}function o(t){var e;for(e=0;b>e;e+=1)y[e].animation.pause(t)}function h(t,e,a){var r;for(r=0;b>r;r+=1)y[r].animation.goToAndStop(t,e,a)}function l(t){var e;for(e=0;b>e;e+=1)y[e].animation.stop(t)}function m(t){var e;for(e=0;b>e;e+=1)y[e].animation.togglePause(t)}function p(t){var e;for(e=0;b>e;e+=1)y[e].animation.destroy(t)}function d(){var e=document.getElementsByClassName("bodymovin");Array.prototype.forEach.call(e,t)}function c(){var t;for(t=0;b>t;t+=1)y[t].animation.resize()}function f(){g=Date.now(),requestAnimationFrame(n)}var u={},y=[],g=0,v=!0,b=0;return setTimeout(f,0),u.registerAnimation=t,u.loadAnimation=e,u.setSpeed=a,u.setDirection=r,u.play=i,u.moveFrame=s,u.pause=o,u.stop=l,u.togglePause=m,u.searchAnimations=d,u.resize=c,u.start=f,u.goToAndStop=h,u.destroy=p,u}(),AnimationItem=function(){this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.pendingElements=0,this.playCount=0,this.prerenderFramesFlag=!0,this.repeat="indefinite",this.animationData={},this.layers=[],this.assets=[],this.isPaused=!0,this.isScrolling=!1,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=randomString(10),this.renderedFrameCount=0,this.scaleMode="fit",this.math=Math,this.removed=!1};AnimationItem.prototype.setParams=function(t){var e=this;t.context&&(this.context=t.context),t.wrapper&&(this.wrapper=t.wrapper);var a=t.animType?t.animType:"canvas";switch(a){case"canvas":this.renderer=new CanvasRenderer(this,t.renderer);break;case"svg":this.renderer=new SVGRenderer(this,t.renderer)}if(this.animType=a,""===t.loop||null===t.loop||(this.loop=t.loop===!1?!1:t.loop===!0?!0:parseInt(t.loop)),this.autoplay="autoplay"in t?t.autoplay:!0,this.name=t.name?t.name:"",this.prerenderFramesFlag="prerender"in t?t.prerender:!0,t.animationData)e.configAnimation(t.animationData);else if(t.path){"json"!=t.path.substr(-4)&&("/"!=t.path.substr(-1,1)&&(t.path+="/"),t.path+="data.json");var r=new XMLHttpRequest;this.path=t.path.substr(0,t.path.lastIndexOf("/")+1),r.open("GET",t.path,!0),r.send(),r.onreadystatechange=function(){if(4==r.readyState)if(200==r.status)e.configAnimation(JSON.parse(r.responseText));else try{var t=JSON.parse(r.responseText);e.configAnimation(t)}catch(a){}}}},AnimationItem.prototype.setData=function(t){var e={wrapper:t},a=t.attributes;e.path=a.getNamedItem("data-animation-path")?a.getNamedItem("data-animation-path").value:a.getNamedItem("data-bm-path")?a.getNamedItem("data-bm-path").value:a.getNamedItem("bm-path")?a.getNamedItem("bm-path").value:"",e.animType=a.getNamedItem("data-anim-type")?a.getNamedItem("data-anim-type").value:a.getNamedItem("data-bm-type")?a.getNamedItem("data-bm-type").value:a.getNamedItem("bm-type")?a.getNamedItem("bm-type").value:"canvas";var r=a.getNamedItem("data-anim-loop")?a.getNamedItem("data-anim-loop").value:a.getNamedItem("data-bm-loop")?a.getNamedItem("data-bm-loop").value:a.getNamedItem("bm-loop")?a.getNamedItem("bm-loop").value:"";""===r||(e.loop="false"===r?!1:"true"===r?!0:parseInt(r)),e.name=a.getNamedItem("data-name")?a.getNamedItem("data-name").value:a.getNamedItem("data-bm-name")?a.getNamedItem("data-bm-name").value:a.getNamedItem("bm-name")?a.getNamedItem("bm-name").value:"";var i=a.getNamedItem("data-anim-prerender")?a.getNamedItem("data-anim-prerender").value:a.getNamedItem("data-bm-prerender")?a.getNamedItem("data-bm-prerender").value:a.getNamedItem("bm-prerender")?a.getNamedItem("bm-prerender").value:"";"false"===i&&(e.prerender=!1),this.setParams(e)},AnimationItem.prototype.configAnimation=function(t){this.renderer.configAnimation(t),this.animationData=t,this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.animation.layers,this.assets=this.animationData.assets,this.totalFrames=Math.floor(this.animationData.animation.totalFrames),this.frameRate=this.animationData.animation.frameRate,this.firstFrame=Math.round(this.animationData.animation.ff*this.frameRate),this.frameMult=this.animationData.animation.frameRate/1e3,dataManager.completeData(this.animationData),this.renderer.buildItems(this.animationData.animation.layers),this.updaFrameModifier(),this.checkLoaded()},AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){0===this.pendingElements&&(this.renderer.buildStage(this.container,this.layers),this.prerenderFramesFlag?(this.prerenderFrames(0),dataManager.renderFrame(this.animationData,this.currentFrame+this.firstFrame),this.renderer.renderFrame(this.currentFrame+this.firstFrame)):(this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play()))},AnimationItem.prototype.prerenderFrames=function(t){t||(t=0),this.renderedFrameCount===Math.floor(this.totalFrames)?(this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play()):(dataManager.renderFrame(this.animationData,this.renderedFrameCount+this.firstFrame),this.renderedFrameCount+=1,t>10?setTimeout(this.prerenderFrames.bind(this),0):(t+=1,this.prerenderFrames(t)))},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.math.round(100*this.currentRawFrame)/100:this.math.floor(this.currentRawFrame),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&(dataManager.renderFrame(this.animationData,this.currentFrame+this.firstFrame),this.renderer.renderFrame(this.currentFrame+this.firstFrame))},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,a){a&&this.name!=a||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.remove=function(t){t&&this.name!=t||this.renderer.destroy()},AnimationItem.prototype.destroy=function(t){t&&this.name!=t||this.renderer&&this.renderer.destroyed||this.renderer.destroy()},AnimationItem.prototype.setCurrentRawFrameValue=function(t){if(this.currentRawFrame=t,this.currentRawFrame>=this.totalFrames){if(this.loop===!1)return this.currentRawFrame=this.totalFrames-1,this.gotoFrame(),void this.pause();if(this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-1,this.gotoFrame(),void this.pause()}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),void this.pause()):(this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());this.currentRawFrame=this.currentRawFrame%this.totalFrames,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetData=function(t){for(var e=0,a=this.assets.length;a>e;){if(t==this.assets[e].id)return this.assets[e];e+=1}return this.assets},AnimationItem.prototype.getAssets=function(){return this.assets},function(t){function e(t){animationManager.play(t)}function a(t){animationManager.pause(t)}function r(t){animationManager.togglePause(t)}function i(t,e){animationManager.setSpeed(t,e)}function s(t,e){animationManager.setDirection(t,e)}function n(t){animationManager.stop(t)}function o(t){animationManager.moveFrame(t)}function h(){animationManager.searchAnimations()}function l(t){return animationManager.registerAnimation(t)}function m(){animationManager.resize()}function p(){animationManager.start()}function d(t,e,a){animationManager.goToAndStop(t,e,a)}function c(t){subframeEnabled=t}function f(t){return animationManager.loadAnimation(t)}function u(t){return animationManager.destroy(t)}function y(){"complete"===document.readyState&&(clearInterval(v),h())}var g={};g.play=e,g.pause=a,g.togglePause=r,g.setSpeed=i,g.setDirection=s,g.stop=n,g.moveFrame=o,g.searchAnimations=h,g.registerAnimation=l,g.loadAnimation=f,g.setSubframeRendering=c,g.resize=m,g.start=p,g.goToAndStop=d,g.destroy=u,g.checkReady=y,t.bodymovin=g;var v=setInterval(y,100)}(window);}(window));