PageSourceSearch

https://www.beaconartscentre.co.uk/wp-content/cache/breeze-minific…chute-lottie-43788fd818ef.js?ver=1790343020

js beaconartscentre.co.uk collected 2026-09-25 19:10:29 UTC 335,326 bytes, 1,362 lines download raw bytes

1(typeof navigator!=="undefined")&&(function(root,factory){if(typeof define==="function"&&define.amd){define(function(){return factory(root)})}else if(typeof module==="object"&&module.exports){module.exports=factory(root)}else{root.lottie=factory(root);root.bodymovin=root.lottie}}((window||{}),function(window){"use strict";var svgNS="http://www.w3.org/2000/svg";var locationHref='';var initialDefaultFrame=-999999;var subframeEnabled=!0;var expressionsPlugin;var isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);var cachedColors={};var bm_rounder=Math.round;var bm_rnd;var bm_pow=Math.pow;var bm_sqrt=Math.sqrt;var bm_abs=Math.abs;var bm_floor=Math.floor;var bm_max=Math.max;var bm_min=Math.min;var blitter=10;var BMMath={};(function(){var propertyNames=Object.getOwnPropertyNames(Math);var i,len=propertyNames.length;for(i=0;i<len;i+=1){BMMath[propertyNames[i]]=Math[propertyNames[i]]}}());function ProjectInterface(){return{}}
2BMMath.random=Math.random;BMMath.abs=function(val){var tOfVal=typeof val;if(tOfVal==='object'&&val.length){var absArr=createSizedArray(val.length);var i,len=val.length;for(i=0;i<len;i+=1){absArr[i]=Math.abs(val[i])}
3return absArr}
4return Math.abs(val)};var defaultCurveSegments=150;var degToRads=Math.PI/180;var roundCorner=0.5519;function roundValues(flag){if(flag){bm_rnd=Math.round}else{bm_rnd=function(val){return val}}}
5roundValues(!1);function styleDiv(element){element.style.position='absolute';element.style.top=0;element.style.left=0;element.style.display='block';element.style.transformOrigin=element.style.webkitTransformOrigin='0 0';element.style.backfaceVisibility=element.style.webkitBackfaceVisibility='visible';element.style.transformStyle=element.style.webkitTransformStyle=element.style.mozTransformStyle="preserve-3d"}
6function BMEnterFrameEvent(n,c,t,d){this.type=n;this.currentTime=c;this.totalTime=t;this.direction=d<0?-1:1}
7function BMCompleteEvent(n,d){this.type=n;this.direction=d<0?-1:1}
8function BMCompleteLoopEvent(n,c,t,d){this.type=n;this.currentLoop=t;this.totalLoops=c;this.direction=d<0?-1:1}
9function BMSegmentStartEvent(n,f,t){this.type=n;this.firstFrame=f;this.totalFrames=t}
10function BMDestroyEvent(n,t){this.type=n;this.target=t}
11function randomString(length,chars){if(chars===undefined){chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'}
12var i;var result='';for(i=length;i>0;--i)result+=chars[Math.round(Math.random()*(chars.length-1))];return result}
13function HSVtoRGB(h,s,v){var r,g,b,i,f,p,q,t;i=Math.floor(h*6);f=h*6-i;p=v*(1-s);q=v*(1-f*s);t=v*(1-(1-f)*s);switch(i%6){case 0:r=v;g=t;b=p;break;case 1:r=q;g=v;b=p;break;case 2:r=p;g=v;b=t;break;case 3:r=p;g=q;b=v;break;case 4:r=t;g=p;b=v;break;case 5:r=v;g=p;b=q;break}
14return[r,g,b]}
15function RGBtoHSV(r,g,b){var max=Math.max(r,g,b),min=Math.min(r,g,b),d=max-min,h,s=(max===0?0:d/max),v=max/255;switch(max){case min:h=0;break;case r:h=(g-b)+d*(g<b?6:0);h/=6*d;break;case g:h=(b-r)+d*2;h/=6*d;break;case b:h=(r-g)+d*4;h/=6*d;break}
16return[h,s,v]}
17function addSaturationToRGB(color,offset){var hsv=RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);hsv[1]+=offset;if(hsv[1]>1){hsv[1]=1}else if(hsv[1]<=0){hsv[1]=0}
18return HSVtoRGB(hsv[0],hsv[1],hsv[2])}
19function addBrightnessToRGB(color,offset){var hsv=RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);hsv[2]+=offset;if(hsv[2]>1){hsv[2]=1}else if(hsv[2]<0){hsv[2]=0}
20return HSVtoRGB(hsv[0],hsv[1],hsv[2])}
21function addHueToRGB(color,offset){var hsv=RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);hsv[0]+=offset/360;if(hsv[0]>1){hsv[0]-=1}else if(hsv[0]<0){hsv[0]+=1}
22return HSVtoRGB(hsv[0],hsv[1],hsv[2])}
23var rgbToHex=(function(){var colorMap=[];var i;var hex;for(i=0;i<256;i+=1){hex=i.toString(16);colorMap[i]=hex.length==1?'0'+hex:hex}
24return function(r,g,b){if(r<0){r=0}
25if(g<0){g=0}
26if(b<0){b=0}
27return'#'+colorMap[r]+colorMap[g]+colorMap[b]}}());function BaseEvent(){}
28BaseEvent.prototype={triggerEvent:function(eventName,args){if(this._cbs[eventName]){var len=this._cbs[eventName].length;for(var i=0;i<len;i++){this._cbs[eventName][i](args)}}},addEventListener:function(eventName,callback){if(!this._cbs[eventName]){this._cbs[eventName]=[]}
29this._cbs[eventName].push(callback);return function(){this.removeEventListener(eventName,callback)}.bind(this)},removeEventListener:function(eventName,callback){if(!callback){this._cbs[eventName]=null}else if(this._cbs[eventName]){var i=0,len=this._cbs[eventName].length;while(i<len){if(this._cbs[eventName][i]===callback){this._cbs[eventName].splice(i,1);i-=1;len-=1}
30i+=1}
31if(!this._cbs[eventName].length){this._cbs[eventName]=null}}}};var createTypedArray=(function(){function createRegularArray(type,len){var i=0,arr=[],value;switch(type){case 'int16':case 'uint8c':value=1;break;default:value=1.1;break}
32for(i=0;i<len;i+=1){arr.push(value)}
33return arr}
34function createTypedArray(type,len){if(type==='float32'){return new Float32Array(len)}else if(type==='int16'){return new Int16Array(len)}else if(type==='uint8c'){return new Uint8ClampedArray(len)}}
35if(typeof Uint8ClampedArray==='function'&&typeof Float32Array==='function'){return createTypedArray}else{return createRegularArray}}());function createSizedArray(len){return Array.apply(null,{length:len})}
36function createNS(type){return document.createElementNS(svgNS,type)}
37function createTag(type){return document.createElement(type)}
38function DynamicPropertyContainer(){};DynamicPropertyContainer.prototype={addDynamicProperty:function(prop){if(this.dynamicProperties.indexOf(prop)===-1){this.dynamicProperties.push(prop);this.container.addDynamicProperty(this);this._isAnimated=!0}},iterateDynamicProperties:function(){this._mdf=!1;var i,len=this.dynamicProperties.length;for(i=0;i<len;i+=1){this.dynamicProperties[i].getValue();if(this.dynamicProperties[i]._mdf){this._mdf=!0}}},initDynamicPropertyContainer:function(container){this.container=container;this.dynamicProperties=[];this._mdf=!1;this._isAnimated=!1}}
39/*!
40 Transformation Matrix v2.0
41 (c) Epistemex 2014-2015
42 www.epistemex.com
43 By Ken Fyrstenberg
44 Contributions by leeoniya.
45 License: MIT, header required.
46 */
47var Matrix=(function(){var _cos=Math.cos;var _sin=Math.sin;var _tan=Math.tan;var _rnd=Math.round;function reset(){this.props[0]=1;this.props[1]=0;this.props[2]=0;this.props[3]=0;this.props[4]=0;this.props[5]=1;this.props[6]=0;this.props[7]=0;this.props[8]=0;this.props[9]=0;this.props[10]=1;this.props[11]=0;this.props[12]=0;this.props[13]=0;this.props[14]=0;this.props[15]=1;return this}
48function rotate(angle){if(angle===0){return this}
49var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1,0,0,0,0,1)}
50function rotateX(angle){if(angle===0){return this}
51var mCos=_cos(angle);var mSin=_sin(angle);return this._t(1,0,0,0,0,mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1)}
52function rotateY(angle){if(angle===0){return this}
53var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,0,mSin,0,0,1,0,0,-mSin,0,mCos,0,0,0,0,1)}
54function rotateZ(angle){if(angle===0){return this}
55var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1,0,0,0,0,1)}
56function shear(sx,sy){return this._t(1,sy,sx,1,0,0)}
57function skew(ax,ay){return this.shear(_tan(ax),_tan(ay))}
58function skewFromAxis(ax,angle){var mCos=_cos(angle);var mSin=_sin(angle);return this._t(mCos,mSin,0,0,-mSin,mCos,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,_tan(ax),1,0,0,0,0,1,0,0,0,0,1)._t(mCos,-mSin,0,0,mSin,mCos,0,0,0,0,1,0,0,0,0,1)}
59function scale(sx,sy,sz){sz=isNaN(sz)?1:sz;if(sx==1&&sy==1&&sz==1){return this}
60return this._t(sx,0,0,0,0,sy,0,0,0,0,sz,0,0,0,0,1)}
61function setTransform(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){this.props[0]=a;this.props[1]=b;this.props[2]=c;this.props[3]=d;this.props[4]=e;this.props[5]=f;this.props[6]=g;this.props[7]=h;this.props[8]=i;this.props[9]=j;this.props[10]=k;this.props[11]=l;this.props[12]=m;this.props[13]=n;this.props[14]=o;this.props[15]=p;return this}
62function translate(tx,ty,tz){tz=tz||0;if(tx!==0||ty!==0||tz!==0){return this._t(1,0,0,0,0,1,0,0,0,0,1,0,tx,ty,tz,1)}
63return this}
64function transform(a2,b2,c2,d2,e2,f2,g2,h2,i2,j2,k2,l2,m2,n2,o2,p2){var _p=this.props;if(a2===1&&b2===0&&c2===0&&d2===0&&e2===0&&f2===1&&g2===0&&h2===0&&i2===0&&j2===0&&k2===1&&l2===0){_p[12]=_p[12]*a2+_p[15]*m2;_p[13]=_p[13]*f2+_p[15]*n2;_p[14]=_p[14]*k2+_p[15]*o2;_p[15]=_p[15]*p2;this._identityCalculated=!1;return this}
65var a1=_p[0];var b1=_p[1];var c1=_p[2];var d1=_p[3];var e1=_p[4];var f1=_p[5];var g1=_p[6];var h1=_p[7];var i1=_p[8];var j1=_p[9];var k1=_p[10];var l1=_p[11];var m1=_p[12];var n1=_p[13];var o1=_p[14];var p1=_p[15];_p[0]=a1*a2+b1*e2+c1*i2+d1*m2;_p[1]=a1*b2+b1*f2+c1*j2+d1*n2;_p[2]=a1*c2+b1*g2+c1*k2+d1*o2;_p[3]=a1*d2+b1*h2+c1*l2+d1*p2;_p[4]=e1*a2+f1*e2+g1*i2+h1*m2;_p[5]=e1*b2+f1*f2+g1*j2+h1*n2;_p[6]=e1*c2+f1*g2+g1*k2+h1*o2;_p[7]=e1*d2+f1*h2+g1*l2+h1*p2;_p[8]=i1*a2+j1*e2+k1*i2+l1*m2;_p[9]=i1*b2+j1*f2+k1*j2+l1*n2;_p[10]=i1*c2+j1*g2+k1*k2+l1*o2;_p[11]=i1*d2+j1*h2+k1*l2+l1*p2;_p[12]=m1*a2+n1*e2+o1*i2+p1*m2;_p[13]=m1*b2+n1*f2+o1*j2+p1*n2;_p[14]=m1*c2+n1*g2+o1*k2+p1*o2;_p[15]=m1*d2+n1*h2+o1*l2+p1*p2;this._identityCalculated=!1;return this}
66function isIdentity(){if(!this._identityCalculated){this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1);this._identityCalculated=!0}
67return this._identity}
68function equals(matr){var i=0;while(i<16){if(matr.props[i]!==this.props[i]){return!1}
69i+=1}
70return!0}
71function clone(matr){var i;for(i=0;i<16;i+=1){matr.props[i]=this.props[i]}}
72function cloneFromProps(props){var i;for(i=0;i<16;i+=1){this.props[i]=props[i]}}
73function applyToPoint(x,y,z){return{x:x*this.props[0]+y*this.props[4]+z*this.props[8]+this.props[12],y:x*this.props[1]+y*this.props[5]+z*this.props[9]+this.props[13],z:x*this.props[2]+y*this.props[6]+z*this.props[10]+this.props[14]}}
74function applyToX(x,y,z){return x*this.props[0]+y*this.props[4]+z*this.props[8]+this.props[12]}
75function applyToY(x,y,z){return x*this.props[1]+y*this.props[5]+z*this.props[9]+this.props[13]}
76function applyToZ(x,y,z){return x*this.props[2]+y*this.props[6]+z*this.props[10]+this.props[14]}
77function inversePoint(pt){var determinant=this.props[0]*this.props[5]-this.props[1]*this.props[4];var a=this.props[5]/determinant;var b=-this.props[1]/determinant;var c=-this.props[4]/determinant;var d=this.props[0]/determinant;var e=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/determinant;var f=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/determinant;return[pt[0]*a+pt[1]*c+e,pt[0]*b+pt[1]*d+f,0]}
78function inversePoints(pts){var i,len=pts.length,retPts=[];for(i=0;i<len;i+=1){retPts[i]=inversePoint(pts[i])}
79return retPts}
80function applyToTriplePoints(pt1,pt2,pt3){var arr=createTypedArray('float32',6);if(this.isIdentity()){arr[0]=pt1[0];arr[1]=pt1[1];arr[2]=pt2[0];arr[3]=pt2[1];arr[4]=pt3[0];arr[5]=pt3[1]}else{var p0=this.props[0],p1=this.props[1],p4=this.props[4],p5=this.props[5],p12=this.props[12],p13=this.props[13];arr[0]=pt1[0]*p0+pt1[1]*p4+p12;arr[1]=pt1[0]*p1+pt1[1]*p5+p13;arr[2]=pt2[0]*p0+pt2[1]*p4+p12;arr[3]=pt2[0]*p1+pt2[1]*p5+p13;arr[4]=pt3[0]*p0+pt3[1]*p4+p12;arr[5]=pt3[0]*p1+pt3[1]*p5+p13}
81return arr}
82function applyToPointArray(x,y,z){var arr;if(this.isIdentity()){arr=[x,y,z]}else{arr=[x*this.props[0]+y*this.props[4]+z*this.props[8]+this.props[12],x*this.props[1]+y*this.props[5]+z*this.props[9]+this.props[13],x*this.props[2]+y*this.props[6]+z*this.props[10]+this.props[14]]}
83return arr}
84function applyToPointStringified(x,y){if(this.isIdentity()){return x+','+y}
85var _p=this.props;return Math.round((x*_p[0]+y*_p[4]+_p[12])*100)/100+','+Math.round((x*_p[1]+y*_p[5]+_p[13])*100)/100}
86function toCSS(){var i=0;var props=this.props;var cssValue='matrix3d(';var v=10000;while(i<16){cssValue+=_rnd(props[i]*v)/v;cssValue+=i===15?')':',';i+=1}
87return cssValue}
88function roundMatrixProperty(val){var v=10000;if((val<0.000001&&val>0)||(val>
88-0.000001&&val<0)){return _rnd(val*v)/v}
89return val}
90function to2dCSS(){var props=this.props;var _a=roundMatrixProperty(props[0]);var _b=roundMatrixProperty(props[1]);var _c=roundMatrixProperty(props[4]);var _d=roundMatrixProperty(props[5]);var _e=roundMatrixProperty(props[12]);var _f=roundMatrixProperty(props[13]);return"matrix("+_a+','+_b+','+_c+','+_d+','+_e+','+_f+")"}
91return function(){this.reset=reset;this.rotate=rotate;this.rotateX=rotateX;this.rotateY=rotateY;this.rotateZ=rotateZ;this.skew=skew;this.skewFromAxis=skewFromAxis;this.shear=shear;this.scale=scale;this.setTransform=setTransform;this.translate=translate;this.transform=transform;this.applyToPoint=applyToPoint;this.applyToX=applyToX;this.applyToY=applyToY;this.applyToZ=applyToZ;this.applyToPointArray=applyToPointArray;this.applyToTriplePoints=applyToTriplePoints;this.applyToPointStringified=applyToPointStringified;this.toCSS=toCSS;this.to2dCSS=to2dCSS;this.clone=clone;this.cloneFromProps=cloneFromProps;this.equals=equals;this.inversePoints=inversePoints;this.inversePoint=inversePoint;this._t=this.transform;this.isIdentity=isIdentity;this._identity=!0;this._identityCalculated=!1;this.props=createTypedArray('float32',16);this.reset()}}());(function(pool,math){var global=this,width=256,chunks=6,digits=52,rngname='random',startdenom=math.pow(width,chunks),significance=math.pow(2,digits),overflow=significance*2,mask=width-1,nodecrypto;function seedrandom(seed,options,callback){var key=[];options=(options===!0)?{entropy:!0}:(options||{});var shortseed=mixkey(flatten(options.entropy?[seed,tostring(pool)]:(seed===null)?autoseed():seed,3),key);var arc4=new ARC4(key);var prng=function(){var n=arc4.g(chunks),d=startdenom,x=0;while(n<significance){n=(n+x)*width;d*=width;x=arc4.g(1)}
92while(n>=overflow){n/=2;d/=2;x>>>=1}
93return(n+x)/d};prng.int32=function(){return arc4.g(4)|0};prng.quick=function(){return arc4.g(4)/0x100000000};prng.double=prng;mixkey(tostring(arc4.S),pool);return(options.pass||callback||function(prng,seed,is_math_call,state){if(state){if(state.S){copy(state,arc4)}
94prng.state=function(){return copy(arc4,{})}}
95if(is_math_call){math[rngname]=prng;return seed}else return prng})(prng,shortseed,'global' in options?options.global:(this==math),options.state)}
96math['seed'+rngname]=seedrandom;function ARC4(key){var t,keylen=key.length,me=this,i=0,j=me.i=me.j=0,s=me.S=[];if(!keylen){key=[keylen++]}
97while(i<width){s[i]=i++}
98for(i=0;i<width;i++){s[i]=s[j=mask&(j+key[i%keylen]+(t=s[i]))];s[j]=t}
99me.g=function(count){var t,r=0,i=me.i,j=me.j,s=me.S;while(count--){t=s[i=mask&(i+1)];r=r*width+s[mask&((s[i]=s[j=mask&(j+t)])+(s[j]=t))]}
100me.i=i;me.j=j;return r}}
101function copy(f,t){t.i=f.i;t.j=f.j;t.S=f.S.slice();return t}
102function flatten(obj,depth){var result=[],typ=(typeof obj),prop;if(depth&&typ=='object'){for(prop in obj){try{result.push(flatten(obj[prop],depth-1))}catch(e){}}}
103return(result.length?result:typ=='string'?obj:obj+'\0')}
104function mixkey(seed,key){var stringseed=seed+'',smear,j=0;while(j<stringseed.length){key[mask&j]=mask&((smear^=key[mask&j]*19)+stringseed.charCodeAt(j++))}
105return tostring(key)}
106function autoseed(){try{if(nodecrypto){return tostring(nodecrypto.randomBytes(width))}
107var out=new Uint8Array(width);(global.crypto||global.msCrypto).getRandomValues(out);return tostring(out)}catch(e){var browser=global.navigator,plugins=browser&&browser.plugins;return[+new Date(),global,plugins,global.screen,tostring(pool)]}}
108function tostring(a){return String.fromCharCode.apply(0,a)}
109mixkey(math.random(),pool)})([],BMMath);var BezierFactory=(function(){var ob={};ob.getBezierEasing=getBezierEasing;var beziers={};function getBezierEasing(a,b,c,d,nm){var str=nm||('bez_'+a+'_'+b+'_'+c+'_'+d).replace(/\./g,'p');if(beziers[str]){return beziers[str]}
110var bezEasing=new BezierEasing([a,b,c,d]);beziers[str]=bezEasing;return bezEasing}
111var NEWTON_ITERATIONS=4;var NEWTON_MIN_SLOPE=0.001;var SUBDIVISION_PRECISION=0.0000001;var SUBDIVISION_MAX_ITERATIONS=10;var kSplineTableSize=11;var kSampleStepSize=1.0/(kSplineTableSize-1.0);var float32ArraySupported=typeof Float32Array==="function";function A(aA1,aA2){return 1.0-3.0*aA2+3.0*aA1}
112function B(aA1,aA2){return 3.0*aA2-6.0*aA1}
113function C(aA1){return 3.0*aA1}
114function calcBezier(aT,aA1,aA2){return((A(aA1,aA2)*aT+B(aA1,aA2))*aT+C(aA1))*aT}
115function getSlope(aT,aA1,aA2){return 3.0*A(aA1,aA2)*aT*aT+2.0*B(aA1,aA2)*aT+C(aA1)}
116function binarySubdivide(aX,aA,aB,mX1,mX2){var currentX,currentT,i=0;do{currentT=aA+(aB-aA)/2.0;currentX=calcBezier(currentT,mX1,mX2)-aX;if(currentX>0.0){aB=currentT}else{aA=currentT}}while(Math.abs(currentX)>SUBDIVISION_PRECISION&&++i<SUBDIVISION_MAX_ITERATIONS);return currentT}
117function newtonRaphsonIterate(aX,aGuessT,mX1,mX2){for(var i=0;i<NEWTON_ITERATIONS;++i){var currentSlope=getSlope(aGuessT,mX1,mX2);if(currentSlope===0.0)return aGuessT;var currentX=calcBezier(aGuessT,mX1,mX2)-aX;aGuessT-=currentX/currentSlope}
118return aGuessT}
119function BezierEasing(points){this._p=points;
119this._mSampleValues=float32ArraySupported?new Float32Array(kSplineTableSize):new Array(kSplineTableSize);this._precomputed=!1;this.get=this.get.bind(this)}
120BezierEasing.prototype={get:function(x){var mX1=this._p[0],mY1=this._p[1],mX2=this._p[2],mY2=this._p[3];if(!this._precomputed)this._precompute();if(mX1===mY1&&mX2===mY2)return x;if(x===0)return 0;if(x===1)return 1;return calcBezier(this._getTForX(x),mY1,mY2)},_precompute:function(){var mX1=this._p[0],mY1=this._p[1],mX2=this._p[2],mY2=this._p[3];this._precomputed=!0;if(mX1!==mY1||mX2!==mY2)
121this._calcSampleValues();},_calcSampleValues:function(){var mX1=this._p[0],mX2=this._p[2];for(var i=0;i<kSplineTableSize;++i){this._mSampleValues[i]=calcBezier(i*kSampleStepSize,mX1,mX2)}},_getTForX:function(aX){var mX1=this._p[0],mX2=this._p[2],mSampleValues=this._mSampleValues;var intervalStart=0.0;var currentSample=1;var lastSample=kSplineTableSize-1;for(;currentSample!==lastSample&&mSampleValues[currentSample]<=aX;++currentSample){intervalStart+=kSampleStepSize}
122--currentSample;var dist=(aX-mSampleValues[currentSample])/(mSampleValues[currentSample+1]-mSampleValues[currentSample]);var guessForT=intervalStart+dist*kSampleStepSize;var initialSlope=getSlope(guessForT,mX1,mX2);if(initialSlope>=NEWTON_MIN_SLOPE){return newtonRaphsonIterate(aX,guessForT,mX1,mX2)}else if(initialSlope===0.0){return guessForT}else{return binarySubdivide(aX,intervalStart,intervalStart+kSampleStepSize,mX1,mX2)}}};return ob}());(function(){var lastTime=0;var vendors=['ms','moz','webkit','o'];for(var x=0;x<vendors.length&&!window.requestAnimationFrame;++x){window.requestAnimationFrame=window[vendors[x]+'RequestAnimationFrame'];window.cancelAnimationFrame=window[vendors[x]+'CancelAnimationFrame']||window[vendors[x]+'CancelRequestAnimationFrame']}
123if(!window.requestAnimationFrame)
124window.requestAnimationFrame=function(callback,element){var currTime=new Date().getTime();var timeToCall=Math.max(0,16-(currTime-lastTime));var id=setTimeout(function(){callback(currTime+timeToCall)},timeToCall);lastTime=currTime+timeToCall;return id};if(!window.cancelAnimationFrame)
125window.cancelAnimationFrame=function(id){clearTimeout(id)}}());function extendPrototype(sources,destination){var i,len=sources.length,sourcePrototype;for(i=0;i<len;i+=1){sourcePrototype=sources[i].prototype;for(var attr in sourcePrototype){if(sourcePrototype.hasOwnProperty(attr))destination.prototype[attr]=sourcePrototype[attr]}}}
126function getDescriptor(object,prop){return Object.getOwnPropertyDescriptor(object,prop)}
127function createProxyFunction(prototype){function ProxyFunction(){}
128ProxyFunction.prototype=prototype;return ProxyFunction}
129function bezFunction(){var easingFunctions=[];var math=Math;function pointOnLine2D(x1,y1,x2,y2,x3,y3){var det1=(x1*y2)+(y1*x3)+(x2*y3)-(x3*y2)-(y3*x1)-(x2*y1);return det1>-0.001&&det1<0.001}
130function pointOnLine3D(x1,y1,z1,x2,y2,z2,x3,y3,z3){if(z1===0&&z2===0&&z3===0){return pointOnLine2D(x1,y1,x2,y2,x3,y3)}
131var dist1=Math.sqrt(Math.pow(x2-x1,2)+Math.pow(y2-y1,2)+Math.pow(z2-z1,2));var dist2=Math.sqrt(Math.pow(x3-x1,2)+Math.pow(y3-y1,2)+Math.pow(z3-z1,2));var dist3=Math.sqrt(Math.pow(x3-x2,2)+Math.pow(y3-y2,2)+Math.pow(z3-z2,2));var diffDist;if(dist1>dist2){if(dist1>dist3){diffDist=dist1-dist2-dist3}else{diffDist=dist3-dist2-dist1}}else if(dist3>dist2){diffDist=dist3-dist2-dist1}else{diffDist=dist2-dist1-dist3}
132return diffDist>-0.0001&&diffDist<0.0001}
133var getBezierLength=(function(){return function(pt1,pt2,pt3,pt4){var curveSegments=defaultCurveSegments;var k;var i,len;var ptCoord,perc,addedLength=0;var ptDistance;var point=[],lastPoint=[];var lengthData=bezier_length_pool.newElement();len=pt3.length;for(k=0;k<curveSegments;k+=1){perc=k/(curveSegments-1);ptDistance=0;for(i=0;i<len;i+=1){ptCoord=bm_pow(1-perc,3)*pt1[i]+3*bm_pow(1-perc,2)*perc*pt3[i]+3*(1-perc)*bm_pow(perc,2)*pt4[i]+bm_pow(perc,3)*pt2[i];point[i]=ptCoord;if(lastPoint[i]!==null){ptDistance+=bm_pow(point[i]-lastPoint[i],2)}
134lastPoint[i]=point[i]}
135if(ptDistance){ptDistance=bm_sqrt(ptDistance);addedLength+=ptDistance}
136lengthData.percents[k]=perc;lengthData.lengths[k]=addedLength}
137lengthData.addedLength=addedLength;return lengthData}}());function getSegmentsLength(shapeData){var segmentsLength=segments_length_pool.newElement();var closed=shapeData.c;var pathV=shapeData.v;var pathO=shapeData.o;var pathI=shapeData.i;var i,len=shapeData._length;var lengths=segmentsLength.lengths;var totalLength=0;for(i=0;i<len-1;i+=1){lengths[i]=getBezierLength(pathV[i],pathV[i+1],pathO[i],pathI[i+1]);totalLength+=lengths[i].addedLength}
138if(closed&&len){lengths[i]=getBezierLength(pathV[i],pathV[0],pathO[i],pathI[0]);totalLength+=lengths[i].addedLength}
139segmentsLength.totalLength=totalLength;return segmentsLength}
140function BezierData(length){this.segmentLength=0;this.points=new Array(length)}
141function PointData(partial,point){this.partialLength=partial;this.point=point}
142var buildBezierData=(function(){var storedData={};return function(keyData){var pt1=keyData.s;var pt2=keyData.e;var pt3=keyData.to;var pt4=keyData.ti;var bezierName=(pt1[0]+'_'+pt1[1]+'_'+pt2[0]+'_'+pt2[1]+'_'+pt3[0]+'_'+pt3[1]+'_'+pt4[0]+'_'+pt4[1]).replace(/\./g,'p');if(storedData[bezierName]){keyData.bezierData=storedData[bezierName];return}
143var curveSegments=defaultCurveSegments;var k,i,len;var ptCoord,perc,addedLength=0;var ptDistance;var point,lastPoint=null;if(pt1.length===2&&(pt1[0]!=pt2[0]||pt1[1]!=pt2[1])&&pointOnLine2D(pt1[0],pt1[1],pt2[0],pt2[1],pt1[0]+pt3[0],pt1[1]+pt3[1])&&pointOnLine2D(pt1[0],pt1[1],pt2[0],pt2[1],pt2[0]+pt4[0],pt2[1]+pt4[1])){curveSegments=2}
144var bezierData=new BezierData(curveSegments);len=pt3.length;for(k=0;k<curveSegments;k+=1){point=createSizedArray(len);perc=k/(curveSegments-1);ptDistance=0;for(i=0;i<len;i+=1){ptCoord=bm_pow(1-perc,3)*pt1[i]+3*bm_pow(1-perc,2)*perc*(pt1[i]+pt3[i])+3*(1-perc)*bm_pow(perc,2)*(pt2[i]+pt4[i])+bm_pow(perc,3)*pt2[i];point[i]=ptCoord;if(lastPoint!==null){ptDistance+=bm_pow(point[i]-lastPoint[i],2)}}
145ptDistance=bm_sqrt(ptDistance);addedLength+=ptDistance;bezierData.points[k]=new PointData(ptDistance,point);lastPoint=point}
146bezierData.segmentLength=addedLength;keyData.bezierData=bezierData;storedData[bezierName]=bezierData}}());function getDistancePerc(perc,bezierData){var percents=bezierData.percents;var lengths=bezierData.lengths;var len=percents.length;var initPos=bm_floor((len-1)*perc);var lengthPos=perc*bezierData.addedLength;var lPerc=0;if(initPos===len-1||initPos===0||lengthPos===lengths[initPos]){return percents[initPos]}else{var dir=lengths[initPos]>lengthPos?-1:1;var flag=!0;while(flag){if(lengths[initPos]<=lengthPos&&lengths[initPos+1]>lengthPos){lPerc=(lengthPos-lengths[initPos])/(lengths[initPos+1]-lengths[initPos]);flag=!1}else{initPos+=dir}
147if(initPos<0||initPos>=len-1){if(initPos===len-1){return percents[initPos]}
148flag=!1}}
149return percents[initPos]+(percents[initPos+1]-percents[initPos])*lPerc}}
150function getPointInSegment(pt1,pt2,pt3,pt4,percent,bezierData){var t1=getDistancePerc(percent,bezierData);var u0=1;var u1=1-t1;var ptX=Math.round((u1*u1*u1*pt1[0]+(t1*u1*u1+u1*t1*u1+u1*u1*t1)*pt3[0]+(t1*t1*u1+u1*t1*t1+t1*u1*t1)*pt4[0]+t1*t1*t1*pt2[0])*1000)/1000;var ptY=Math.round((u1*u1*u1*pt1[1]+(t1*u1*u1+u1*t1*u1+u1*u1*t1)*pt3[1]+(t1*t1*u1+u1*t1*t1+t1*u1*t1)*pt4[1]+t1*t1*t1*pt2[1])*1000)/1000;return[ptX,ptY]}
151function getSegmentArray(){}
152var bezier_segment_points=createTypedArray('float32',8);function getNewSegment(pt1,pt2,pt3,pt4,startPerc,endPerc,bezierData){startPerc=startPerc<0?0:startPerc>1?1:startPerc;var t0=getDistancePerc(startPerc,bezierData);endPerc=endPerc>1?1:endPerc;var t1=getDistancePerc(endPerc,bezierData);var i,len=pt1.length;var u0=1-t0;var u1=1-t1;var u0u0u0=u0*u0*u0;var t0u0u0_3=t0*u0*u0*3;var t0t0u0_3=t0*t0*u0*3;var t0t0t0=t0*t0*t0;var u0u0u1=u0*u0*u1;var t0u0u1_3=t0*u0*u1+u0*t0*u1+u0*u0*t1;var t0t0u1_3=t0*t0*u1+u0*t0*t1+t0*u0*t1;var t0t0t1=t0*t0*t1;var u0u1u1=u0*u1*u1;var t0u1u1_3=t0*u1*u1+u0*t1*u1+u0*u1*t1;var t0t1u1_3=t0*t1*u1+u0*t1*t1+t0*u1*t1;var t0t1t1=t0*t1*t1;var u1u1u1=u1*u1*u1;var t1u1u1_3=t1*u1*u1+u1*t1*u1+u1*u1*t1;var t1t1u1_3=t1*t1*u1+u1*t1*t1+t1*u1*t1;var t1t1t1=t1*t1*t1;for(i=0;i<len;
152i+=1){bezier_segment_points[i*4]=Math.round((u0u0u0*pt1[i]+t0u0u0_3*pt3[i]+t0t0u0_3*pt4[i]+t0t0t0*pt2[i])*1000)/1000;bezier_segment_points[i*4+1]=Math.round((u0u0u1*pt1[i]+t0u0u1_3*pt3[i]+t0t0u1_3*pt4[i]+t0t0t1*pt2[i])*1000)/1000;bezier_segment_points[i*4+2]=Math.round((u0u1u1*pt1[i]+t0u1u1_3*pt3[i]+t0t1u1_3*pt4[i]+t0t1t1*pt2[i])*1000)/1000;bezier_segment_points[i*4+3]=Math.round((u1u1u1*pt1[i]+t1u1u1_3*pt3[i]+t1t1u1_3*pt4[i]+t1t1t1*pt2[i])*1000)/1000}
153return bezier_segment_points}
154return{getSegmentsLength:getSegmentsLength,getNewSegment:getNewSegment,getPointInSegment:getPointInSegment,buildBezierData:buildBezierData,pointOnLine2D:pointOnLine2D,pointOnLine3D:pointOnLine3D}}
155var bez=bezFunction();function dataFunctionManager(){function completeLayers(layers,comps,fontManager){var layerData;var animArray,lastFrame;var i,len=layers.length;var j,jLen,k,kLen;for(i=0;i<len;i+=1){layerData=layers[i];if(!('ks' in layerData)||layerData.completed){continue}
156layerData.completed=!0;if(layerData.tt){layers[i-1].td=layerData.tt}
157animArray=[];lastFrame=-1;if(layerData.hasMask){var maskProps=layerData.masksProperties;jLen=maskProps.length;for(j=0;j<jLen;j+=1){if(maskProps[j].pt.k.i){convertPathsToAbsoluteValues(maskProps[j].pt.k)}else{kLen=maskProps[j].pt.k.length;for(k=0;k<kLen;k+=1){if(maskProps[j].pt.k[k].s){convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0])}
158if(maskProps[j].pt.k[k].e){convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0])}}}}}
159if(layerData.ty===0){layerData.layers=findCompLayers(layerData.refId,comps);completeLayers(layerData.layers,comps,fontManager)}else if(layerData.ty===4){completeShapes(layerData.shapes)}else if(layerData.ty==5){completeText(layerData,fontManager)}}}
160function findCompLayers(id,comps){var i=0,len=comps.length;while(i<len){if(comps[i].id===id){if(!comps[i].layers.__used){comps[i].layers.__used=!0;return comps[i].layers}
161return JSON.parse(JSON.stringify(comps[i].layers))}
162i+=1}}
163function completeShapes(arr){var i,len=arr.length;var j,jLen;var hasPaths=!1;for(i=len-1;i>=0;i-=1){if(arr[i].ty=='sh'){if(arr[i].ks.k.i){convertPathsToAbsoluteValues(arr[i].ks.k)}else{jLen=arr[i].ks.k.length;for(j=0;j<jLen;j+=1){if(arr[i].ks.k[j].s){convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0])}
164if(arr[i].ks.k[j].e){convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0])}}}
165hasPaths=!0}else if(arr[i].ty=='gr'){completeShapes(arr[i].it)}}}
166function convertPathsToAbsoluteValues(path){var i,len=path.i.length;for(i=0;i<len;i+=1){path.i[i][0]+=path.v[i][0];path.i[i][1]+=path.v[i][1];path.o[i][0]+=path.v[i][0];path.o[i][1]+=path.v[i][1]}}
167function checkVersion(minimum,animVersionString){var animVersion=animVersionString?animVersionString.split('.'):[100,100,100];if(minimum[0]>animVersion[0]){return!0}else if(animVersion[0]>minimum[0]){return!1}
168if(minimum[1]>animVersion[1]){return!0}else if(animVersion[1]>minimum[1]){return!1}
169if(minimum[2]>animVersion[2]){return!0}else if(animVersion[2]>minimum[2]){return!1}}
170var checkText=(function(){var minimumVersion=[4,4,14];function updateTextLayer(textLayer){var documentData=textLayer.t.d;textLayer.t.d={k:[{s:documentData,t:0}]}}
171function iterateLayers(layers){var i,len=layers.length;for(i=0;i<len;i+=1){if(layers[i].ty===5){updateTextLayer(layers[i])}}}
172return function(animationData){if(checkVersion(minimumVersion,animationData.v)){iterateLayers(animationData.layers);if(animationData.assets){var i,len=animationData.assets.length;for(i=0;i<len;i+=1){if(animationData.assets[i].layers){iterateLayers(animationData.assets[i].layers)}}}}}}());var checkChars=(function(){var minimumVersion=[4,7,99];return function(animationData){if(animationData.chars&&!checkVersion(minimumVersion,animationData.v)){var i,len=animationData.chars.length,j,jLen,k,kLen;var pathData,paths;for(i=0;i<len;i+=1){if(animationData.chars[i].data&&animationData.chars[i].data.shapes){paths=animationData.chars[i].data.shapes[0].it;jLen=paths.length;for(j=0;j<jLen;j+=1){pathData=paths[j].ks.k;if(!pathData.__converted){convertPathsToAbsoluteValues(paths[j].ks.k);pathData.__converted=!0}}}}}}}());var checkColors=(function(){var minimumVersion=[4,1,9];function iterateShapes(shapes){var i,len=shapes.length;var j,jLen;for(i=0;i<len;i+=1){if(shapes[i].ty==='gr'){iterateShapes(shapes[i].it)}else if(shapes[i].ty==='fl'||shapes[i].ty==='st'){if(shapes[i].c.k&&shapes[i].c.k[0].i){jLen=shapes[i].c.k.length;for(j=0;j<jLen;j+=1){if(shapes[i].c.k[j].s){shapes[i].c.k[j].s[0]/=255;shapes[i].c.k[j].s[1]/=255;shapes[i].c.k[j].s[2]/=255;shapes[i].c.k[j].s[3]/=255}
173if(shapes[i].c.k[j].e){shapes[i].c.k[j].e[0]/=255;shapes[i].c.k[j].e[1]/=255;shapes[i].c.k[j].e[2]/=255;shapes[i].c.k[j].e[3]/=255}}}else{shapes[i].c.k[0]/=255;shapes[i].c.k[1]/=255;shapes[i].c.k[2]/=255;shapes[i].c.k[3]/=255}}}}
174function iterateLayers(layers){var i,len=layers.length;for(i=0;i<len;i+=1){if(layers[i].ty===4){iterateShapes(layers[i].shapes)}}}
175return function(animationData){if(checkVersion(minimumVersion,animationData.v)){iterateLayers(animationData.layers);if(animationData.assets){var i,len=animationData.assets.length;for(i=0;i<len;i+=1){if(animationData.assets[i].layers){iterateLayers(animationData.assets[i].layers)}}}}}}());var checkShapes=(function(){var minimumVersion=[4,4,18];function completeShapes(arr){var i,len=arr.length;var j,jLen;var hasPaths=!1;for(i=len-1;i>=0;i-=1){if(arr[i].ty=='sh'){if(arr[i].ks.k.i){arr[i].ks.k.c=arr[i].closed}else{jLen=arr[i].ks.k.length;for(j=0;j<jLen;j+=1){if(arr[i].ks.k[j].s){arr[i].ks.k[j].s[0].c=arr[i].closed}
176if(arr[i].ks.k[j].e){arr[i].ks.k[j].e[0].c=arr[i].closed}}}
177hasPaths=!0}else if(arr[i].ty=='gr'){completeShapes(arr[i].it)}}}
178function iterateLayers(layers){var layerData;var i,len=layers.length;var j,jLen,k,kLen;for(i=0;i<len;i+=1){layerData=layers[i];if(layerData.hasMask){var maskProps=layerData.masksProperties;jLen=maskProps.length;for(j=0;j<jLen;j+=1){if(maskProps[j].pt.k.i){maskProps[j].pt.k.c=maskProps[j].cl}else{kLen=maskProps[j].pt.k.length;for(k=0;k<kLen;k+=1){if(maskProps[j].pt.k[k].s){maskProps[j].pt.k[k].s[0].c=maskProps[j].cl}
179if(maskProps[j].pt.k[k].e){maskProps[j].pt.k[k].e[0].c=maskProps[j].cl}}}}}
180if(layerData.ty===4){completeShapes(layerData.shapes)}}}
181return function(animationData){if(checkVersion(minimumVersion,animationData.v)){iterateLayers(animationData.layers);if(animationData.assets){var i,len=animationData.assets.length;for(i=0;i<len;i+=1){if(animationData.assets[i].layers){iterateLayers(animationData.assets[i].layers)}}}}}}());function completeData(animationData,fontManager){if(animationData.__complete){return}
182checkColors(animationData);checkText(animationData);checkChars(animationData);checkShapes(animationData);completeLayers(animationData.layers,animationData.assets,fontManager);animationData.__complete=!0}
183function completeText(data,fontManager){if(data.t.a.length===0&&!('m' in data.t.p)){data.singleShape=!0}}
184var moduleOb={};moduleOb.completeData=completeData;return moduleOb}
185var dataManager=dataFunctionManager();var FontManager=(function(){var maxWaitingTime=5000;var emptyChar={w:0,size:0,shapes:[]};var combinedCharacters=[];combinedCharacters=combinedCharacters.concat([2304,2305,2306,2307,2362,23
18563,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);function setUpNode(font,family){var parentNode=createTag('span');parentNode.style.fontFamily=family;var node=createTag('span');node.innerHTML='giItT1WQy@!-/#';parentNode.style.position='absolute';parentNode.style.left='-10000px';parentNode.style.top='-10000px';parentNode.style.fontSize='300px';parentNode.style.fontVariant='normal';parentNode.style.fontStyle='normal';parentNode.style.fontWeight='normal';parentNode.style.letterSpacing='0';parentNode.appendChild(node);document.body.appendChild(parentNode);var width=node.offsetWidth;node.style.fontFamily=font+', '+family;return{node:node,w:width,parent:parentNode}}
186function checkLoadedFonts(){var i,len=this.fonts.length;var node,w;var loadedCount=len;for(i=0;i<len;i+=1){if(this.fonts[i].loaded){loadedCount-=1;continue}
187if(this.fonts[i].fOrigin==='t'||this.fonts[i].origin===2){if(window.Typekit&&window.Typekit.load&&this.typekitLoaded===0){this.typekitLoaded=1;try{window.Typekit.load({async:!0,active:function(){this.typekitLoaded=2}.bind(this)})}catch(e){}}
188if(this.typekitLoaded===2){this.fonts[i].loaded=!0}}else if(this.fonts[i].fOrigin==='n'||this.fonts[i].origin===0){this.fonts[i].loaded=!0}else{node=this.fonts[i].monoCase.node;w=this.fonts[i].monoCase.w;if(node.offsetWidth!==w){loadedCount-=1;this.fonts[i].loaded=!0}else{node=this.fonts[i].sansCase.node;w=this.fonts[i].sansCase.w;if(node.offsetWidth!==w){loadedCount-=1;this.fonts[i].loaded=!0}}
189if(this.fonts[i].loaded){this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent)}}}
190if(loadedCount!==0&&Date.now()-this.initTime<maxWaitingTime){setTimeout(checkLoadedFonts.bind(this),20)}else{setTimeout(function(){this.loaded=!0}.bind(this),0)}}
191function createHelper(def,fontData){var tHelper=createNS('text');tHelper.style.fontSize='100px';tHelper.setAttribute('font-family',fontData.fFamily);tHelper.setAttribute('font-style',fontData.fStyle);tHelper.setAttribute('font-weight',fontData.fWeight);tHelper.textContent='1';if(fontData.fClass){tHelper.style.fontFamily='inherit';tHelper.className=fontData.fClass}else{tHelper.style.fontFamily=fontData.fFamily}
192def.appendChild(tHelper);var tCanvasHelper=createTag('canvas').getContext('2d');tCanvasHelper.font=fontData.fWeight+' '+fontData.fStyle+' 100px '+fontData.fFamily;return tHelper}
193function addFonts(fontData,defs){if(!fontData){this.loaded=!0;return}
194if(this.chars){this.loaded=!0;this.fonts=fontData.list;return}
195var fontArr=fontData.list;var i,len=fontArr.length;for(i=0;i<len;i+=1){fontArr[i].loaded=!1;fontArr[i].monoCase=setUpNode(fontArr[i].fFamily,'monospace');fontArr[i].sansCase=setUpNode(fontArr[i].fFamily,'sans-serif');if(!fontArr[i].fPath){fontArr[i].loaded=!0}else if(fontArr[i].fOrigin==='p'||fontArr[i].origin===3){var s=createTag('style');s.type="text/css";s.innerHTML="@font-face {"+"font-family: "+fontArr[i].fFamily+"; font-style: normal; src: url('"+fontArr[i].fPath+"');}";defs.appendChild(s)}else if(fontArr[i].fOrigin==='g'||fontArr[i].origin===1){var l=createTag('link');l.type="text/css";l.rel="stylesheet";l.href=fontArr[i].fPath;document.body.appendChild(l)}else if(fontArr[i].fOrigin==='t'||fontArr[i].origin===2){var sc=createTag('script');sc.setAttribute('src',fontArr[i].fPath);defs.appendChild(sc)}
196fontArr[i].helper=createHelper(defs,fontArr[i]);fontArr[i].cache={};this.fonts.push(fontArr[i])}
197setTimeout(function(){checkLoadedFonts.bind(this)()}.bind(this),100)}
198function addChars(chars){if(!chars){return}
199if(!this.chars){this.chars=[]}
200var i,len=chars.length;var j,jLen=this.chars.length,found;for(i=0;i<len;i+=1){j=0;found=!1;while(j<jLen){if(this.chars[j].style===chars[i].style&&this.chars[j].fFamily===chars[i].fFamily&&this.chars[j].ch===chars[i].ch){found=!0}
201j+=1}
202if(!found){this.chars.push(chars[i]);jLen+=1}}}
203function getCharData(char,style,font){var i=0,len=this.chars.length;while(i<len){if(this.chars[i].ch===char&&this.chars[i].style===style&&this.chars[i].fFamily===font){return this.chars[i]}
204i+=1}
205if(console&&console.warn){console.warn('Missing character from exported characters list: ',char,style,font)}
206return emptyChar}
207function measureText(char,fontName,size){var fontData=this.getFontByName(fontName);var index=char.charCodeAt(0);if(!fontData.cache[index+1]){var tHelper=fontData.helper;tHelper.textContent=char;fontData.cache[index+1]=(tHelper.getComputedTextLength())/100}
208return fontData.cache[index+1]*size}
209function getFontByName(name){var i=0,len=this.fonts.length;while(i<len){if(this.fonts[i].fName===name){return this.fonts[i]}
210i+=1}
211return this.fonts[0]}
212function getCombinedCharacterCodes(){return combinedCharacters}
213var Font=function(){this.fonts=[];this.chars=null;this.typekitLoaded=0;this.loaded=!1;this.initTime=Date.now()};Font.getCombinedCharacterCodes=getCombinedCharacterCodes;Font.prototype.addChars=addChars;Font.prototype.addFonts=addFonts;Font.prototype.getCharData=getCharData;Font.prototype.getFontByName=getFontByName;Font.prototype.measureText=measureText;return Font}());var PropertyFactory=(function(){var initFrame=initialDefaultFrame;var math_abs=Math.abs;function interpolateValue(frameNum,caching){var offsetTime=this.offsetTime;var newValue;if(this.propType==='multidimensional'){newValue=createTypedArray('float32',this.pv.length)}
214var iterationIndex=caching.lastIndex;var i=iterationIndex;var len=this.keyframes.length-1,flag=!0;var keyData,nextKeyData;while(flag){keyData=this.keyframes[i];nextKeyData=this.keyframes[i+1];if(i==len-1&&frameNum>=nextKeyData.t-offsetTime){if(keyData.h){keyData=nextKeyData}
215iterationIndex=0;break}
216if((nextKeyData.t-offsetTime)>frameNum){iterationIndex=i;break}
217if(i<len-1){i+=1}else{iterationIndex=0;flag=!1}}
218var k,kLen,perc,jLen,j,fnc;if(keyData.to){if(!keyData.bezierData){bez.buildBezierData(keyData)}
219var bezierData=keyData.bezierData;if(frameNum>=nextKeyData.t-offsetTime||frameNum<keyData.t-offsetTime){var ind=frameNum>=nextKeyData.t-offsetTime?bezierData.points.length-1:0;kLen=bezierData.points[ind].point.length;for(k=0;k<kLen;k+=1){newValue[k]=bezierData.points[ind].point[k]}
220caching._lastBezierData=null}else{if(keyData.__fnct){fnc=keyData.__fnct}else{fnc=BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y,keyData.n).get;keyData.__fnct=fnc}
221perc=fnc((frameNum-(keyData.t-offsetTime))/((nextKeyData.t-offsetTime)-(keyData.t-offsetTime)));var distanceInLine=bezierData.segmentLength*perc;var segmentPerc;var addedLength=(caching.lastFrame<frameNum&&caching._lastBezierData===bezierData)?caching._lastAddedLength:0;j=(caching.lastFrame<frameNum&&caching._lastBezierData===bezierData)?caching._lastPoint:0;flag=!0;jLen=bezierData.points.length;while(flag){addedLength+=bezierData.points[j].partialLength;if(distanceInLine===0||perc===0||j==bezierData.points.length-1){kLen=bezierData.points[j].point.length;for(k=0;k<kLen;k+=1){newValue[k]=bezierData.points[j].point[k]}
222break}else if(distanceInLine>=addedLength&&distanceInLine<addedLength+bezierData.points[j+1].partialLength){segmentPerc=(distanceInLine-addedLength)/(bezierData.points[j+1].partialLength);kLen=bezierData.points[j].point.length;for(k=0;k<kLen;k+=1){newValue[k]=bezierData.points[j].point[k]+(bezierData.points[j+1].point[k]-bezierData.points[j].point[k])*segmentPerc}
223break}
224if(j<jLen-1){j+=1}else{flag=!1}}
225caching._lastPoint=j;caching._lastAddedLength=addedLength-bezierData.points[j].partialLength;caching._lastBezierData=bezierData}}else{var outX,outY,inX,inY,keyValue;len=keyData.s.length;if(this.sh&&keyData.h!==1){if(frameNum>=nextKeyData.t-offsetTime){newValue[0]=keyData.e[0];newValue[1]=keyData.e[1];newValue[2]=keyData.e[2]}else if(frameNum<=keyData.t-offsetTime){newValue[0]=keyData.s[0];newValue[1]=keyData.s[1];newValue[2]=keyData.s[2]}else{var quatStart=createQuaternion(keyData.s);var quatEnd=createQuaternion(keyData.e);var time=(frameNum-(keyData.t-offsetTime))/((nextKeyData.t-offsetTime)-(keyData.t-offsetTime));quaternionToEuler(newValue,slerp(quatStart,quatEnd,time))}}else{for(i=0;i<len;i+=1){if(keyData.h!==1){if(frameNum>=nextKeyData.t-offsetTime){perc=1}else if(frameNum<keyData.t-offsetTime){perc=0}else{if(keyData.o.x.constructor===Array){if(!keyData.__fnct){keyData.__fnct=[]}
226if(!keyData.__fnct[i]){outX=keyData.o.x[i]||keyData.o.x[0];outY=keyData.o.y[i]||keyData.o.y[0];inX=keyData.i.x[i]||keyData.i.x[0];
226inY=keyData.i.y[i]||keyData.i.y[0];fnc=BezierFactory.getBezierEasing(outX,outY,inX,inY).get;keyData.__fnct[i]=fnc}else{fnc=keyData.__fnct[i]}}else{if(!keyData.__fnct){outX=keyData.o.x;outY=keyData.o.y;inX=keyData.i.x;inY=keyData.i.y;fnc=BezierFactory.getBezierEasing(outX,outY,inX,inY).get;keyData.__fnct=fnc}else{fnc=keyData.__fnct}}
227perc=fnc((frameNum-(keyData.t-offsetTime))/((nextKeyData.t-offsetTime)-(keyData.t-offsetTime)))}}
228keyValue=keyData.h===1?keyData.s[i]:keyData.s[i]+(keyData.e[i]-keyData.s[i])*perc;if(len===1){newValue=keyValue}else{newValue[i]=keyValue}}}}
229caching.lastIndex=iterationIndex;return newValue}
230function slerp(a,b,t){var out=[];var ax=a[0],ay=a[1],az=a[2],aw=a[3],bx=b[0],by=b[1],bz=b[2],bw=b[3]
231var omega,cosom,sinom,scale0,scale1;cosom=ax*bx+ay*by+az*bz+aw*bw;if(cosom<0.0){cosom=-cosom;bx=-bx;by=-by;bz=-bz;bw=-bw}
232if((1.0-cosom)>0.000001){omega=Math.acos(cosom);sinom=Math.sin(omega);scale0=Math.sin((1.0-t)*omega)/sinom;scale1=Math.sin(t*omega)/sinom}else{scale0=1.0-t;scale1=t}
233out[0]=scale0*ax+scale1*bx;out[1]=scale0*ay+scale1*by;out[2]=scale0*az+scale1*bz;out[3]=scale0*aw+scale1*bw;return out}
234function quaternionToEuler(out,quat){var qx=quat[0];var qy=quat[1];var qz=quat[2];var qw=quat[3];var heading=Math.atan2(2*qy*qw-2*qx*qz,1-2*qy*qy-2*qz*qz)
235var attitude=Math.asin(2*qx*qy+2*qz*qw)
236var bank=Math.atan2(2*qx*qw-2*qy*qz,1-2*qx*qx-2*qz*qz);out[0]=heading/degToRads;out[1]=attitude/degToRads;out[2]=bank/degToRads}
237function createQuaternion(values){var heading=values[0]*degToRads;var attitude=values[1]*degToRads;var bank=values[2]*degToRads;var c1=Math.cos(heading/2);var c2=Math.cos(attitude/2);var c3=Math.cos(bank/2);var s1=Math.sin(heading/2);var s2=Math.sin(attitude/2);var s3=Math.sin(bank/2);var w=c1*c2*c3-s1*s2*s3;var x=s1*s2*c3+c1*c2*s3;var y=s1*c2*c3+c1*s2*s3;var z=c1*s2*c3-s1*c2*s3;return[x,y,z,w]}
238function getValueAtCurrentTime(){var frameNum=this.comp.renderedFrame-this.offsetTime;var initTime=this.keyframes[0].t-this.offsetTime;var endTime=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(frameNum===this._caching.lastFrame||(this._caching.lastFrame!==initFrame&&((this._caching.lastFrame>=endTime&&frameNum>=endTime)||(this._caching.lastFrame<initTime&&frameNum<initTime))))){this._caching.lastIndex=this._caching.lastFrame<frameNum?this._caching.lastIndex:0;var renderResult=this.interpolateValue(frameNum,this._caching);this.pv=renderResult}
239this._caching.lastFrame=frameNum;return this.pv}
240function setVValue(val){var multipliedValue;if(this.propType==='unidimensional'){multipliedValue=val*this.mult;if(math_abs(this.v-multipliedValue)>0.00001){this.v=multipliedValue;this._mdf=!0}}else{var i=0,len=this.v.length;while(i<len){multipliedValue=val[i]*this.mult;if(math_abs(this.v[i]-multipliedValue)>0.00001){this.v[i]=multipliedValue;this._mdf=!0}
241i+=1}}}
242function processEffectsSequence(){if(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length){return}
243if(this.lock){this.setVValue(this.pv);return}
244this.lock=!0;this._mdf=this._isFirstFrame;var multipliedValue;var i,len=this.effectsSequence.length;var finalValue=this.kf?this.pv:this.data.k;for(i=0;i<len;i+=1){finalValue=this.effectsSequence[i](finalValue)}
245this.setVValue(finalValue);this._isFirstFrame=!1;this.lock=!1;this.frameId=this.elem.globalData.frameId}
246function addEffect(effectFunction){this.effectsSequence.push(effectFunction);this.container.addDynamicProperty(this)}
247function ValueProperty(elem,data,mult,container){this.propType='unidimensional';this.mult=mult||1;this.data=data;this.v=mult?data.k*mult:data.k;this.pv=data.k;this._mdf=!1;this.elem=elem;this.container=container;this.comp=elem.comp;this.k=!1;this.kf=!1;this.vel=0;this.effectsSequence=[];this._isFirstFrame=!0;this.getValue=processEffectsSequence;this.setVValue=setVValue;this.addEffect=addEffect}
248function MultiDimensionalProperty(elem,data,mult,container){this.propType='multidimensional';this.mult=mult||1;this.data=data;this._mdf=!1;this.elem=elem;this.container=container;this.comp=elem.comp;this.k=!1;this.kf=!1;this.frameId=-1;var i,len=data.k.length;this.v=createTypedArray('float32',len);this.pv=createTypedArray('float32',len);var arr=createTypedArray('float32',len);this.vel=createTypedArray('float32',len);for(i=0;i<len;i+=1){this.v[i]=data.k[i]*this.mult;this.pv[i]=data.k[i]}
249this._isFirstFrame=!0;this.effectsSequence=[];this.getValue=processEffectsSequence;this.setVValue=setVValue;this.addEffect=addEffect}
250function KeyframedValueProperty(elem,data,mult,container){this.propType='unidimensional';this.keyframes=data.k;this.offsetTime=elem.data.st;this.frameId=-1;this._caching={lastFrame:initFrame,lastIndex:0,value:0};this.k=!0;this.kf=!0;this.data=data;this.mult=mult||1;this.elem=elem;this.container=container;this.comp=elem.comp;this.v=initFrame;this.pv=initFrame;this._isFirstFrame=!0;this.getValue=processEffectsSequence;this.setVValue=setVValue;this.interpolateValue=interpolateValue;this.effectsSequence=[getValueAtCurrentTime.bind(this)];this.addEffect=addEffect}
251function KeyframedMultidimensionalProperty(elem,data,mult,container){this.propType='multidimensional';var i,len=data.k.length;var s,e,to,ti;for(i=0;i<len-1;i+=1){if(data.k[i].to&&data.k[i].s&&data.k[i].e){s=data.k[i].s;e=data.k[i].e;to=data.k[i].to;ti=data.k[i].ti;if((s.length===2&&!(s[0]===e[0]&&s[1]===e[1])&&bez.pointOnLine2D(s[0],s[1],e[0],e[1],s[0]+to[0],s[1]+to[1])&&bez.pointOnLine2D(s[0],s[1],e[0],e[1],e[0]+ti[0],e[1]+ti[1]))||(s.length===3&&!(s[0]===e[0]&&s[1]===e[1]&&s[2]===e[2])&&bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],s[0]+to[0],s[1]+to[1],s[2]+to[2])&&bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],e[0]+ti[0],e[1]+ti[1],e[2]+ti[2]))){data.k[i].to=null;data.k[i].ti=null}
252if(s[0]===e[0]&&s[1]===e[1]&&to[0]===0&&to[1]===0&&ti[0]===0&&ti[1]===0){if(s.length===2||(s[2]===e[2]&&to[2]===0&&ti[2]===0)){data.k[i].to=null;data.k[i].ti=null}}}}
253this.effectsSequence=[getValueAtCurrentTime.bind(this)];this.keyframes=data.k;this.offsetTime=elem.data.st;this.k=!0;this.kf=!0;this._isFirstFrame=!0;this.mult=mult||1;this.elem=elem;this.container=container;this.comp=elem.comp;this.getValue=processEffectsSequence;this.setVValue=setVValue;this.interpolateValue=interpolateValue;this.frameId=-1;var arrLen=data.k[0].s.length;this.v=createTypedArray('float32',arrLen);this.pv=createTypedArray('float32',arrLen);for(i=0;i<arrLen;i+=1){this.v[i]=initFrame;this.pv[i]=initFrame}
254this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray('float32',arrLen)};this.addEffect=addEffect}
255function getProp(elem,data,type,mult,container){var p;if(data.a===0){if(type===0){p=new ValueProperty(elem,data,mult,container)}else{p=new MultiDimensionalProperty(elem,data,mult,container)}}else if(data.a===1){if(type===0){p=new KeyframedValueProperty(elem,data,mult,container)}else{p=new KeyframedMultidimensionalProperty(elem,data,mult,container)}}else if(!data.k.length){p=new ValueProperty(elem,data,mult,container)}else if(typeof(data.k[0])==='number'){p=new MultiDimensionalProperty(elem,data,mult,container)}else{switch(type){case 0:p=new KeyframedValueProperty(elem,data,mult,container);break;case 1:p=new KeyframedMultidimensionalProperty(elem,data,mult,container);break}}
256if(p.effectsSequence.length){container.addDynamicProperty(p)}
257return p}
258var ob={getProp:getProp};return ob}());var TransformPropertyFactory=(function(){function applyToMatrix(mat){var _mdf=this._mdf;this.iterateDynamicProperties();this._mdf=this._mdf||_mdf;if(this.a){mat.translate(-this.a.v[0],-this.a.v[1],this.a.v[2])}
259if(this.s){mat.scale(this.s.v[0],this.s.v[1],this.s.v[2])}
260if(this.sk){mat.skewFromAxis(-this.sk.v,this.sa.v)}
261if(this.r){mat.rotate(-this.r.v)}else{mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0])}
262if(this.data.p.s){if(this.data.p.z){mat.translate(this.px.v,this.py.v,-this.pz.v)}else{mat.translate(this.px.v,this.py.v,0)}}else{mat.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}}
263function processKeys(forceRender){if(this.elem.globalData.frameId===this.frameId){return}
264if(this._isDirty){this.precalculateMatrix();this._isDirty=!1}
265this.iterateDynamicProperties();if(this._mdf||forceRender){this.v.cloneFromProps(this.pre.props);if(this.appliedTransformations<1){this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2])}
266if(this.appliedTransformations<2){this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2])}
267if(this.sk&&this.appliedTransformations<3){this.v.skewFromAxis(-this.sk.v,this.sa.v)}
268if(this.r&&this.appliedTransformations<4){this.v.rotate(-this.r.v)}else if(!this.r&&this.appliedTransformations<4){this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0])}
269if(this.autoOriented&&this.p.keyframes&&this.p.getValueAtTime){var v1,v2;if(this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t){v1=this.p.getValueAtTime((this.p.keyframes[0].t+0.01)/this.elem.globalData.frameRate,0);v2=this.p.getValueAtTime(this.p.keyframes[0].t/this.elem.globalData.frameRate,0)}else if(this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t){v1=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t/this.elem.globalData.frameRate),0);v2=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-0.01)/this.elem.globalData.frameRate,0)}else{v1=this.p.pv;v2=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-0.01)/this.elem.globalData.frameRate,this.p.offsetTime)}
270this.v.rotate(-Math.atan2(v1[1]-v2[1],v1[0]-v2[0]))}
271if(this.data.p.s){if(this.data.p.z){this.v.translate(this.px.v,this.py.v,-this.pz.v)}else{this.v.translate(this.px.v,this.py.v,0)}}else{this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}}
272this.frameId=this.elem.globalData.frameId}
273function precalculateMatrix(){if(!this.a.k){this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);this.appliedTransformations=1}else{return}
274if(!this.s.effectsSequence.length){this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]);this.appliedTransformations=2}else{return}
275if(this.sk){if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length){this.pre.skewFromAxis(-this.sk.v,this.sa.v);this.appliedTransformations=3}else{return}}
276if(this.r){if(!this.r.effectsSequence.length){this.pre.rotate(-this.r.v);this.appliedTransformations=4}else{return}}else if(!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length){this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);this.appliedTransformations=4}}
277function autoOrient(){}
278function addDynamicProperty(prop){this._addDynamicProperty(prop);this.elem.addDynamicProperty(prop);this._isDirty=!0}
279function TransformProperty(elem,data,container){this.elem=elem;this.frameId=-1;this.propType='transform';this.data=data;this.v=new Matrix();this.pre=new Matrix();this.appliedTransformations=0;this.initDynamicPropertyContainer(container||elem);if(data.p.s){this.px=PropertyFactory.getProp(elem,data.p.x,0,0,this);this.py=PropertyFactory.getProp(elem,data.p.y,0,0,this);if(data.p.z){this.pz=PropertyFactory.getProp(elem,data.p.z,0,0,this)}}else{this.p=PropertyFactory.getProp(elem,data.p,1,0,this)}
280if(data.r){this.r=PropertyFactory.getProp(elem,data.r,0,degToRads,this)}else if(data.rx){this.rx=PropertyFactory.getProp(elem,data.rx,0,degToRads,this);this.ry=PropertyFactory.getProp(elem,data.ry,0,degToRads,this);this.rz=PropertyFactory.getProp(elem,data.rz,0,degToRads,this);if(data.or.k[0].ti){var i,len=data.or.k.length;for(i=0;i<len;i+=1){data.or.k[i].to=data.or.k[i].ti=null}}
281this.or=PropertyFactory.getProp(elem,data.or,1,degToRads,this);this.or.sh=!0}
282if(data.sk){this.sk=PropertyFactory.getProp(elem,data.sk,0,degToRads,this);this.sa=PropertyFactory.getProp(elem,data.sa,0,degToRads,this)}
283if(data.a){this.a=PropertyFactory.getProp(elem,data.a,1,0,this)}
284if(data.s){this.s=PropertyFactory.getProp(elem,data.s,1,0.01,this)}
285if(data.o){this.o=PropertyFactory.getProp(elem,data.o,0,0.01,elem)}else{this.o={_mdf:!1,v:1}}
286this._isDirty=!0;if(!this.dynamicProperties.length){this.getValue(!0)}}
287TransformProperty.prototype={applyToMatrix:applyToMatrix,getValue:processKeys,precalculateMatrix:precalculateMatrix,autoOrient:autoOrient}
288extendPrototype([DynamicPropertyContainer],TransformProperty);TransformProperty.prototype.addDynamicProperty=addDynamicProperty;TransformProperty.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function getTransformProperty(elem,data,container){return new TransformProperty(elem,data,container)}
289return{getTransformProperty:getTransformProperty}}());function ShapePath(){this.c=!1;this._length=0;this._maxLength=8;this.v=createSizedArray(this._maxLength);this.o=createSizedArray(this._maxLength);this.i=createSizedArray(this._maxLength)}
290ShapePath.prototype.setPathData=function(closed,len){this.c=closed;this.setLength(len);var i=0;while(i<len){this.v[i]=point_pool.newElement();
290this.o[i]=point_pool.newElement();this.i[i]=point_pool.newElement();i+=1}};ShapePath.prototype.setLength=function(len){while(this._maxLength<len){this.doubleArrayLength()}
291this._length=len};ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength));this.i=this.i.concat(createSizedArray(this._maxLength));this.o=this.o.concat(createSizedArray(this._maxLength));this._maxLength*=2};ShapePath.prototype.setXYAt=function(x,y,type,pos,replace){var arr;this._length=Math.max(this._length,pos+1);if(this._length>=this._maxLength){this.doubleArrayLength()}
292switch(type){case 'v':arr=this.v;break;case 'i':arr=this.i;break;case 'o':arr=this.o;break}
293if(!arr[pos]||(arr[pos]&&!replace)){arr[pos]=point_pool.newElement()}
294arr[pos][0]=x;arr[pos][1]=y};ShapePath.prototype.setTripleAt=function(vX,vY,oX,oY,iX,iY,pos,replace){this.setXYAt(vX,vY,'v',pos,replace);this.setXYAt(oX,oY,'o',pos,replace);this.setXYAt(iX,iY,'i',pos,replace)};ShapePath.prototype.reverse=function(){var newPath=new ShapePath();newPath.setPathData(this.c,this._length);var vertices=this.v,outPoints=this.o,inPoints=this.i;var init=0;if(this.c){newPath.setTripleAt(vertices[0][0],vertices[0][1],inPoints[0][0],inPoints[0][1],outPoints[0][0],outPoints[0][1],0,!1);init=1}
295var cnt=this._length-1;var len=this._length;var i;for(i=init;i<len;i+=1){newPath.setTripleAt(vertices[cnt][0],vertices[cnt][1],inPoints[cnt][0],inPoints[cnt][1],outPoints[cnt][0],outPoints[cnt][1],i,!1);cnt-=1}
296return newPath};var ShapePropertyFactory=(function(){var initFrame=-999999;function interpolateShape(frameNum,previousValue,caching){var iterationIndex=caching.lastIndex;var keyPropS,keyPropE,isHold,j,k,jLen,kLen,perc,vertexValue;var kf=this.keyframes;if(frameNum<kf[0].t-this.offsetTime){keyPropS=kf[0].s[0];isHold=!0;iterationIndex=0}else if(frameNum>=kf[kf.length-1].t-this.offsetTime){if(kf[kf.length-2].h===1){keyPropS=kf[kf.length-1].s[0]}else{keyPropS=kf[kf.length-2].e[0]}
297isHold=!0}else{var i=iterationIndex;var len=kf.length-1,flag=!0,keyData,nextKeyData;while(flag){keyData=kf[i];nextKeyData=kf[i+1];if((nextKeyData.t-this.offsetTime)>frameNum){break}
298if(i<len-1){i+=1}else{flag=!1}}
299isHold=keyData.h===1;iterationIndex=i;if(!isHold){if(frameNum>=nextKeyData.t-this.offsetTime){perc=1}else if(frameNum<keyData.t-this.offsetTime){perc=0}else{var fnc;if(keyData.__fnct){fnc=keyData.__fnct}else{fnc=BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y).get;keyData.__fnct=fnc}
300perc=fnc((frameNum-(keyData.t-this.offsetTime))/((nextKeyData.t-this.offsetTime)-(keyData.t-this.offsetTime)))}
301keyPropE=keyData.e[0]}
302keyPropS=keyData.s[0]}
303jLen=previousValue._length;kLen=keyPropS.i[0].length;caching.lastIndex=iterationIndex;for(j=0;j<jLen;j+=1){for(k=0;k<kLen;k+=1){vertexValue=isHold?keyPropS.i[j][k]:keyPropS.i[j][k]+(keyPropE.i[j][k]-keyPropS.i[j][k])*perc;previousValue.i[j][k]=vertexValue;vertexValue=isHold?keyPropS.o[j][k]:keyPropS.o[j][k]+(keyPropE.o[j][k]-keyPropS.o[j][k])*perc;previousValue.o[j][k]=vertexValue;vertexValue=isHold?keyPropS.v[j][k]:keyPropS.v[j][k]+(keyPropE.v[j][k]-keyPropS.v[j][k])*perc;previousValue.v[j][k]=vertexValue}}}
304function interpolateShapeCurrentTime(){var frameNum=this.comp.renderedFrame-this.offsetTime;var initTime=this.keyframes[0].t-this.offsetTime;var endTime=this.keyframes[this.keyframes.length-1].t-this.offsetTime;var lastFrame=this._caching.lastFrame;if(!(lastFrame!==initFrame&&((lastFrame<initTime&&frameNum<initTime)||(lastFrame>endTime&&frameNum>endTime)))){this._caching.lastIndex=lastFrame<frameNum?this._caching.lastIndex:0;this.interpolateShape(frameNum,this.pv,this._caching)}
305this._caching.lastFrame=frameNum;return this.pv}
306function resetShape(){this.paths=this.localShapeCollection}
307function shapesEqual(shape1,shape2){if(shape1._length!==shape2._length||shape1.c!==shape2.c){return!1}
308var i,len=shape1._length;for(i=0;i<len;i+=1){if(shape1.v[i][0]!==shape2.v[i][0]||shape1.v[i][1]!==shape2.v[i][1]||shape1.o[i][0]!==shape2.o[i][0]||shape1.o[i][1]!==shape2.o[i][1]||shape1.i[i][0]!==shape2.i[i][0]||shape1.i[i][1]!==shape2.i[i][1]){return!1}}
309return!0}
310function processEffectsSequence(){if(this.lock||this.elem.globalData.frameId===this.frameId){return}
311this.lock=!0;this.frameId=this.elem.globalData.frameId;this._mdf=!1;var finalValue=this.kf?this.pv:this.data.ks?this.data.ks.k:this.data.pt.k;var i,len=this.effectsSequence.length;for(i=0;i<len;i+=1){finalValue=this.effectsSequence[i](finalValue)}
312if(!shapesEqual(this.v,finalValue)){this.v=shape_pool.clone(finalValue);this.localShapeCollection.releaseShapes();this.localShapeCollection.addShape(this.v);this._mdf=!0;this.paths=this.localShapeCollection}
313this.lock=!1};function ShapeProperty(elem,data,type){this.propType='shape';this.comp=elem.comp;this.container=elem;this.elem=elem;this.data=data;this.k=!1;this.kf=!1;this._mdf=!1;var pathData=type===3?data.pt.k:data.ks.k;this.v=shape_pool.clone(pathData);this.pv=shape_pool.clone(this.v);this.localShapeCollection=shapeCollection_pool.newShapeCollection();this.paths=this.localShapeCollection;this.paths.addShape(this.v);this.reset=resetShape;this.effectsSequence=[]}
314function addEffect(effectFunction){this.effectsSequence.push(effectFunction);this.container.addDynamicProperty(this)}
315ShapeProperty.prototype.interpolateShape=interpolateShape;ShapeProperty.prototype.getValue=processEffectsSequence;ShapeProperty.prototype.getValue=processEffectsSequence;ShapeProperty.prototype.addEffect=addEffect;function KeyframedShapeProperty(elem,data,type){this.propType='shape';this.comp=elem.comp;this.elem=elem;this.container=elem;this.offsetTime=elem.data.st;this.keyframes=type===3?data.pt.k:data.ks.k;this.k=!0;this.kf=!0;var i,len=this.keyframes[0].s[0].i.length;var jLen=this.keyframes[0].s[0].i[0].length;this.v=shape_pool.newElement();this.v.setPathData(this.keyframes[0].s[0].c,len);this.pv=shape_pool.clone(this.v);this.localShapeCollection=shapeCollection_pool.newShapeCollection();this.paths=this.localShapeCollection;this.paths.addShape(this.v);this.lastFrame=initFrame;this.reset=resetShape;this._caching={lastFrame:initFrame,lastIndex:0};this.effectsSequence=[interpolateShapeCurrentTime.bind(this)]}
316KeyframedShapeProperty.prototype.getValue=processEffectsSequence;
316KeyframedShapeProperty.prototype.interpolateShape=interpolateShape;KeyframedShapeProperty.prototype.addEffect=addEffect;var EllShapeProperty=(function(){var cPoint=roundCorner;function EllShapeProperty(elem,data){this.v=shape_pool.newElement();this.v.setPathData(!0,4);this.localShapeCollection=shapeCollection_pool.newShapeCollection();this.paths=this.localShapeCollection;this.localShapeCollection.addShape(this.v);this.d=data.d;this.elem=elem;this.comp=elem.comp;this.frameId=-1;this.initDynamicPropertyContainer(elem);this.p=PropertyFactory.getProp(elem,data.p,1,0,this);this.s=PropertyFactory.getProp(elem,data.s,1,0,this);if(this.dynamicProperties.length){this.k=!0}else{this.k=!1;this.convertEllToPath()}};EllShapeProperty.prototype={reset:resetShape,getValue:function(){if(this.elem.globalData.frameId===this.frameId){return}
317this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();if(this._mdf){this.convertEllToPath()}},convertEllToPath:function(){var p0=this.p.v[0],p1=this.p.v[1],s0=this.s.v[0]/2,s1=this.s.v[1]/2;var _cw=this.d!==3;var _v=this.v;_v.v[0][0]=p0;_v.v[0][1]=p1-s1;_v.v[1][0]=_cw?p0+s0:p0-s0;_v.v[1][1]=p1;_v.v[2][0]=p0;_v.v[2][1]=p1+s1;_v.v[3][0]=_cw?p0-s0:p0+s0;_v.v[3][1]=p1;_v.i[0][0]=_cw?p0-s0*cPoint:p0+s0*cPoint;_v.i[0][1]=p1-s1;_v.i[1][0]=_cw?p0+s0:p0-s0;_v.i[1][1]=p1-s1*cPoint;_v.i[2][0]=_cw?p0+s0*cPoint:p0-s0*cPoint;_v.i[2][1]=p1+s1;_v.i[3][0]=_cw?p0-s0:p0+s0;_v.i[3][1]=p1+s1*cPoint;_v.o[0][0]=_cw?p0+s0*cPoint:p0-s0*cPoint;_v.o[0][1]=p1-s1;_v.o[1][0]=_cw?p0+s0:p0-s0;_v.o[1][1]=p1+s1*cPoint;_v.o[2][0]=_cw?p0-s0*cPoint:p0+s0*cPoint;_v.o[2][1]=p1+s1;_v.o[3][0]=_cw?p0-s0:p0+s0;_v.o[3][1]=p1-s1*cPoint}}
318extendPrototype([DynamicPropertyContainer],EllShapeProperty);return EllShapeProperty}());var StarShapeProperty=(function(){function StarShapeProperty(elem,data){this.v=shape_pool.newElement();this.v.setPathData(!0,0);this.elem=elem;this.comp=elem.comp;this.data=data;this.frameId=-1;this.d=data.d;this.initDynamicPropertyContainer(elem);if(data.sy===1){this.ir=PropertyFactory.getProp(elem,data.ir,0,0,this);this.is=PropertyFactory.getProp(elem,data.is,0,0.01,this);this.convertToPath=this.convertStarToPath}else{this.convertToPath=this.convertPolygonToPath}
319this.pt=PropertyFactory.getProp(elem,data.pt,0,0,this);this.p=PropertyFactory.getProp(elem,data.p,1,0,this);this.r=PropertyFactory.getProp(elem,data.r,0,degToRads,this);this.or=PropertyFactory.getProp(elem,data.or,0,0,this);this.os=PropertyFactory.getProp(elem,data.os,0,0.01,this);this.localShapeCollection=shapeCollection_pool.newShapeCollection();this.localShapeCollection.addShape(this.v);this.paths=this.localShapeCollection;if(this.dynamicProperties.length){this.k=!0}else{this.k=!1;this.convertToPath()}};StarShapeProperty.prototype={reset:resetShape,getValue:function(){if(this.elem.globalData.frameId===this.frameId){return}
320this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();if(this._mdf){this.convertToPath()}},convertStarToPath:function(){var numPts=Math.floor(this.pt.v)*2;var angle=Math.PI*2/numPts;var longFlag=!0;var longRad=this.or.v;var shortRad=this.ir.v;var longRound=this.os.v;var shortRound=this.is.v;var longPerimSegment=2*Math.PI*longRad/(numPts*2);var shortPerimSegment=2*Math.PI*shortRad/(numPts*2);var i,rad,roundness,perimSegment,currentAng=-Math.PI/2;currentAng+=this.r.v;var dir=this.data.d===3?-1:1;this.v._length=0;for(i=0;i<numPts;i+=1){rad=longFlag?longRad:shortRad;roundness=longFlag?longRound:shortRound;perimSegment=longFlag?longPerimSegment:shortPerimSegment;var x=rad*Math.cos(currentAng);var y=rad*Math.sin(currentAng);var ox=x===0&&y===0?0:y/Math.sqrt(x*x+y*y);var oy=x===0&&y===0?0:-x/Math.sqrt(x*x+y*y);x+=+this.p.v[0];y+=+this.p.v[1];this.v.setTripleAt(x,y,x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir,x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir,i,!0);longFlag=!longFlag;currentAng+=angle*dir}},convertPolygonToPath:function(){var numPts=Math.floor(this.pt.v);var angle=Math.PI*2/numPts;var rad=this.or.v;var roundness=this.os.v;var perimSegment=2*Math.PI*rad/(numPts*4);var i,currentAng=-Math.PI/2;var dir=this.data.d===3?-1:1;currentAng+=this.r.v;this.v._length=0;for(i=0;i<numPts;i+=1){var x=rad*Math.cos(currentAng);var y=rad*Math.sin(currentAng);var ox=x===0&&y===0?0:y/Math.sqrt(x*x+y*y);var oy=x===0&&y===0?0:-x/Math.sqrt(x*x+y*y);x+=+this.p.v[0];y+=+this.p.v[1];this.v.setTripleAt(x,y,x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir,x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir,i,!0);currentAng+=angle*dir}
321this.paths.length=0;this.paths[0]=this.v}}
322extendPrototype([DynamicPropertyContainer],StarShapeProperty);return StarShapeProperty}());var RectShapeProperty=(function(){function RectShapeProperty(elem,data){this.v=shape_pool.newElement();this.v.c=!0;this.localShapeCollection=shapeCollection_pool.newShapeCollection();this.localShapeCollection.addShape(this.v);this.paths=this.localShapeCollection;this.elem=elem;this.comp=elem.comp;this.frameId=-1;this.d=data.d;this.initDynamicPropertyContainer(elem);this.p=PropertyFactory.getProp(elem,data.p,1,0,this);this.s=PropertyFactory.getProp(elem,data.s,1,0,this);this.r=PropertyFactory.getProp(elem,data.r,0,0,this);if(this.dynamicProperties.length){this.k=!0}else{this.k=!1;this.convertRectToPath()}};RectShapeProperty.prototype={convertRectToPath:function(){var p0=this.p.v[0],p1=this.p.v[1],v0=this.s.v[0]/2,v1=this.s.v[1]/2;var round=bm_min(v0,v1,this.r.v);var cPoint=round*(1-roundCorner);this.v._length=0;if(this.d===2||this.d===1){this.v.setTripleAt(p0+v0,p1-v1+round,p0+v0,p1-v1+round,p0+v0,p1-v1+cPoint,0,!0);this.v.setTripleAt(p0+v0,p1+v1-round,p0+v0,p1+v1-cPoint,p0+v0,p1+v1-round,1,!0);if(round!==0){this.v.setTripleAt(p0+v0-round,p1+v1,p0+v0-round,p1+v1,p0+v0-cPoint,p1+v1,2,!0);this.v.setTripleAt(p0-v0+round,p1+v1,p0-v0+cPoint,p1+v1,p0-v0+round,p1+v1,3,!0);this.v.setTripleAt(p0-v0,p1+v1-round,p0-v0,p1+v1-round,p0-v0,p1+v1-cPoint,4,!0);this.v.setTripleAt(p0-v0,p1-v1+round,p0-v0,p1-v1+cPoint,p0-v0,p1-v1+round,5,!0);this.v.setTripleAt(p0-v0+round,p1-v1,p0-v0+round,p1-v1,p0-v0+cPoint,p1-v1,6,!0);this.v.setTripleAt(p0+v0-round,p1-v1,p0+v0-cPoint,p1-v1,p0+v0-round,p1-v1,7,!0)}else{this.v.setTripleAt(p0-v0,p1+v1,p0-v0+cPoint,p1+v1,p0-v0,p1+v1,2);this.v.setTripleAt(p0-v0,p1-v1,p0-v0,p1-v1+cPoint,p0-v0,p1-v1,3)}}else{this.v.setTripleAt(p0+v0,p1-v1+round,p0+v0,p1-v1+cPoint,p0+v0,p1-v1+round,0,!0);if(round!==0){this.v.setTripleAt(p0+v0-round,p1-v1,p0+v0-round,p1-v1,p0+v0-cPoint,p1-v1,1,!0);this.v.setTripleAt(p0-v0+round,p1-v1,p0-v0+cPoint,p1-v1,p0-v0+round,p1-v1,2,!0);this.v.setTripleAt(p0-v0,p1-v1+round,p0-v0,p1-v1+round,p0-v0,p1-v1+cPoint,3,!0);this.v.setTripleAt(p0-v0,p1+v1-round,p0-v0,p1+v1-cPoint,p0-v0,p1+v1-round,4,!0);this.v.setTripleAt(p0-v0+round,p1+v1,p0-v0+round,p1+v1,p0-v0+cPoint,p1+v1,5,!0);this.v.setTripleAt(p0+v0-round,p1+v1,p0+v0-cPoint,p1+v1,p0+v0-round,p1+v1,6,!0);this.v.setTripleAt(p0+v0,p1+v1-round,p0+v0,p1+v1-round,p0+v0,p1+v1-cPoint,7,!0)}else{this.v.setTripleAt(p0-v0,p1-v1,p0-v0+cPoint,p1-v1,p0-v0,p1-v1,1,!0);this.v.setTripleAt(p0-v0,p1+v1,p0-v0,p1+v1-cPoint,p0-v0,p1+v1,2,!0);this.v.setTripleAt(p0+v0,p1+v1,p0+v0-cPoint,p1+v1,p0+v0,p1+v1,3,!0)}}},getValue:function(frameNum){if(this.elem.globalData.frameId===this.frameId){return}
323this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();if(this._mdf){this.convertRectToPath()}},reset:resetShape}
324extendPrototype([DynamicPropertyContainer],RectShapeProperty);return RectShapeProperty}());function getShapeProp(elem,data,type){var prop;if(type===3||type===4){var dataProp=type===3?data.pt:data.ks;var keys=dataProp.k;if(dataProp.a===1||keys.length){prop=new KeyframedShapeProperty(elem,data,type)}else{prop=new ShapeProperty(elem,data,type)}}else if(type===5){prop=new RectShapeProperty(elem,data)}else if(type===6){prop=new EllShapeProperty(elem,data)}else if(type===7){prop=new StarShapeProperty(elem,data)}
325if(prop.k){elem.addDynamicProperty(prop)}
326return prop}
327function getConstructorFunction(){return ShapeProperty}
328function getKeyframedConstructorFunction(){return KeyframedShapeProperty}
329var ob={};ob.getShapeProp=getShapeProp;ob.getConstructorFunction=getConstructorFunction;ob.getKeyframedConstructorFunction=getKeyframedConstructorFunction;return ob}());var ShapeModifiers=(function(){var ob={};var modifiers={};ob.registerModifier=registerModifier;ob.getModifier=getModifier;function registerModifier(nm,factory){if(!modifiers[nm]){modifiers[nm]=factory}}
330function getModifier(nm,elem,data){return new modifiers[nm](elem,data)}
331return ob}());function ShapeModifier(){}
332ShapeModifier.prototype.initModifierProperties=function(){};ShapeModifier.prototype.addShapeToModifier=function(){};ShapeModifier.prototype.addShape=function(data){if(!this.closed){var shapeData={shape:data.sh,data:data,localShapeCollection:shapeCollection_pool.newShapeCollection()};this.shapes.push(shapeData);this.addShapeToModifier(shapeData);if(this._isAnimated){data.setAsAnimated()}}};ShapeModifier.prototype.init=function(elem,data){this.shapes=[];this.elem=elem;this.initDynamicPropertyContainer(elem);this.initModifierProperties(elem,data);this.frameId=initialDefaultFrame;this.closed=!1;this.k=!1;if(this.dynamicProperties.length){this.k=!0}else{this.getValue(!0)}};ShapeModifier.prototype.processKeys=function(){if(this.elem.globalData.frameId===this.frameId){return}
333this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties()};extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}
334extendPrototype([ShapeModifier],TrimModifier);TrimModifier.prototype.initModifierProperties=function(elem,data){this.s=PropertyFactory.getProp(elem,data.s,0,0.01,this);this.e=PropertyFactory.getProp(elem,data.e,0,0.01,this);this.o=PropertyFactory.getProp(elem,data.o,0,0,this);this.sValue=0;this.eValue=0;this.getValue=this.processKeys;this.m=data.m;this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length};TrimModifier.prototype.addShapeToModifier=function(shapeData){shapeData.pathsData=[]};TrimModifier.prototype.calculateShapeEdges=function(s,e,shapeLength,addedLength,totalModifierLength){var segments=[];if(e<=1){segments.push({s:s,e:e})}else if(s>=1){segments.push({s:s-1,e:e-1})}else{segments.push({s:s,e:1});segments.push({s:0,e:e-1})}
335var shapeSegments=[];var i,len=segments.length,segmentOb;for(i=0;i<len;i+=1){segmentOb=segments[i];if(segmentOb.e*totalModifierLength<addedLength||segmentOb.s*totalModifierLength>addedLength+shapeLength){}else{var shapeS,shapeE;if(segmentOb.s*totalModifierLength<=addedLength){shapeS=0}else{shapeS=(segmentOb.s*totalModifierLength-addedLength)/shapeLength}
336if(segmentOb.e*totalModifierLength>=addedLength+shapeLength){shapeE=1}else{shapeE=((segmentOb.e*totalModifierLength-addedLength)/shapeLength)}
337shapeSegments.push([shapeS,shapeE])}}
338if(!shapeSegments.length){shapeSegments.push([0,0])}
339return shapeSegments};TrimModifier.prototype.releasePathsData=function(pathsData){var i,len=pathsData.length;for(i=0;i<len;i+=1){segments_length_pool.release(pathsData[i])}
340pathsData.length=0;return pathsData};TrimModifier.prototype.processShapes=function(_isFirstFrame){var s,e;if(this._mdf||_isFirstFrame){var o=(this.o.v%360)/360;if(o<0){o+=1}
341s=this.s.v+o;e=this.e.v+o;if(s===e){}
342if(s>e){var _s=s;s=e;e=_s}
343s=Math.round(s*1000)/1000;e=Math.round(e*1000)/1000;this.sValue=s;this.eValue=e}else{s=this.sValue;e=this.eValue}
344var shapePaths;var i,len=this.shapes.length,j,jLen;var pathsData,pathData,totalShapeLength,totalModifierLength=0;if(e===s){for(i=0;i<len;i+=1){this.shapes[i].localShapeCollection.releaseShapes();this.shapes[i].shape._mdf=!0;this.shapes[i].shape.paths=this.shapes[i].localShapeCollection}}else if(!((e===1&&s===0)||(e===0&&s===1))){var segments=[],shapeData,localShapeCollection;for(i=0;i<len;i+=1){shapeData=this.shapes[i];if(!shapeData.shape._mdf&&!this._mdf&&!_isFirstFrame&&this.m!==2){shapeData.shape.paths=shapeData.localShapeCollection}else{shapePaths=shapeData.shape.paths;jLen=shapePaths._length;totalShapeLength=0;if(!shapeData.shape._mdf&&shapeData.pathsData.length){totalShapeLength=shapeData.totalShapeLength}else{pathsData=this.releasePathsData(shapeData.pathsData);for(j=0;j<jLen;j+=1){pathData=bez.getSegmentsLength(shapePaths.shapes[j]);pathsData.push(pathData);totalShapeLength+=pathData.totalLength}
345shapeData.totalShapeLength=totalShapeLength;shapeData.pathsData=pathsData}
346totalModifierLength+=totalShapeLength;shapeData.shape._mdf=!0}}
347var shapeS=s,shapeE=e,addedLength=0,edges;for(i=len-1;i>=0;i-=1){shapeData=this.shapes[i];if(shapeData.shape._mdf){localShapeCollection=shapeData.localShapeCollection;localShapeCollection.releaseShapes();if(this.m===2&&len>1){edges=this.calculateShapeEdges(s,e,shapeData.totalShapeLength,addedLength,totalModifierLength);addedLength+=shapeData.totalShapeLength}else{edges=[[shapeS,shapeE]]}
348jLen=edges.length;for(j=0;j<jLen;j+=1){shapeS=edges[j][0];shapeE=edges[j][1];segments.length=0;if(shapeE<=1){segments.push({s:shapeData.totalShapeLength*shapeS,e:shapeData.totalShapeLength*shapeE})}else if(shapeS>=1){segments.push({s:shapeData.totalShapeLength*(shapeS-1),e:shapeData.totalShapeLength*(shapeE-1)})}else{segments.push({s:shapeData.totalShapeLength*shapeS,e:shapeData.totalShapeLength});segments.push({s:0,e:shapeData.totalShapeLength*(shapeE-1)})}
349var newShapesData=this.addShapes(shapeData,segments[0]);if(segments[0].s!==segments[0].e){if(segments.length>1){if(shapeData.shape.v.c){var lastShape=newShapesData.pop();this.addPaths(newShapesData,localShapeCollection);newShapesData=this.addShapes(shapeData,segments[1],lastShape)}else{this.addPaths(newShapesData,localShapeCollection);newShapesData=this.addShapes(shapeData,segments[1])}}
350this.addPaths(newShapesData,localShapeCollection)}}
351shapeData.shape.paths=localShapeCollection}}}else if(this._mdf){for(i=0;i<len;i+=1){this.shapes[i].shape._mdf=!0}}};TrimModifier.prototype.addPaths=function(newPaths,localShapeCollection){var i,len=newPaths.length;for(i=0;i<len;i+=1){localShapeCollection.addShape(newPaths[i])}};TrimModifier.prototype.addSegment=function(pt1,pt2,pt3,pt4,shapePath,pos,newShape){shapePath.setXYAt(pt2[0],pt2[1],'o',pos);shapePath.setXYAt(pt3[0],pt3[1],'i',pos+1);if(newShape){shapePath.setXYAt(pt1[0],pt1[1],'v',pos)}
352shapePath.setXYAt(pt4[0],pt4[1],'v',pos+1)};
352TrimModifier.prototype.addSegmentFromArray=function(points,shapePath,pos,newShape){shapePath.setXYAt(points[1],points[5],'o',pos);shapePath.setXYAt(points[2],points[6],'i',pos+1);if(newShape){shapePath.setXYAt(points[0],points[4],'v',pos)}
353shapePath.setXYAt(points[3],points[7],'v',pos+1)};TrimModifier.prototype.addShapes=function(shapeData,shapeSegment,shapePath){var pathsData=shapeData.pathsData;var shapePaths=shapeData.shape.paths.shapes;var i,len=shapeData.shape.paths._length,j,jLen;var addedLength=0;var currentLengthData,segmentCount;var lengths;var segment;var shapes=[];var initPos;var newShape=!0;if(!shapePath){shapePath=shape_pool.newElement();segmentCount=0;initPos=0}else{segmentCount=shapePath._length;initPos=shapePath._length}
354shapes.push(shapePath);for(i=0;i<len;i+=1){lengths=pathsData[i].lengths;shapePath.c=shapePaths[i].c;jLen=shapePaths[i].c?lengths.length:lengths.length+1;for(j=1;j<jLen;j+=1){currentLengthData=lengths[j-1];if(addedLength+currentLengthData.addedLength<shapeSegment.s){addedLength+=currentLengthData.addedLength;shapePath.c=!1}else if(addedLength>shapeSegment.e){shapePath.c=!1;break}else{if(shapeSegment.s<=addedLength&&shapeSegment.e>=addedLength+currentLengthData.addedLength){this.addSegment(shapePaths[i].v[j-1],shapePaths[i].o[j-1],shapePaths[i].i[j],shapePaths[i].v[j],shapePath,segmentCount,newShape);newShape=!1}else{segment=bez.getNewSegment(shapePaths[i].v[j-1],shapePaths[i].v[j],shapePaths[i].o[j-1],shapePaths[i].i[j],(shapeSegment.s-addedLength)/currentLengthData.addedLength,(shapeSegment.e-addedLength)/currentLengthData.addedLength,lengths[j-1]);this.addSegmentFromArray(segment,shapePath,segmentCount,newShape);newShape=!1;shapePath.c=!1}
355addedLength+=currentLengthData.addedLength;segmentCount+=1}}
356if(shapePaths[i].c&&lengths.length){currentLengthData=lengths[j-1];if(addedLength<=shapeSegment.e){var segmentLength=lengths[j-1].addedLength;if(shapeSegment.s<=addedLength&&shapeSegment.e>=addedLength+segmentLength){this.addSegment(shapePaths[i].v[j-1],shapePaths[i].o[j-1],shapePaths[i].i[0],shapePaths[i].v[0],shapePath,segmentCount,newShape);newShape=!1}else{segment=bez.getNewSegment(shapePaths[i].v[j-1],shapePaths[i].v[0],shapePaths[i].o[j-1],shapePaths[i].i[0],(shapeSegment.s-addedLength)/segmentLength,(shapeSegment.e-addedLength)/segmentLength,lengths[j-1]);this.addSegmentFromArray(segment,shapePath,segmentCount,newShape);newShape=!1;shapePath.c=!1}}else{shapePath.c=!1}
357addedLength+=currentLengthData.addedLength;segmentCount+=1}
358if(shapePath._length){shapePath.setXYAt(shapePath.v[initPos][0],shapePath.v[initPos][1],'i',initPos);shapePath.setXYAt(shapePath.v[shapePath._length-1][0],shapePath.v[shapePath._length-1][1],'o',shapePath._length-1)}
359if(addedLength>shapeSegment.e){break}
360if(i<len-1){shapePath=shape_pool.newElement();newShape=!0;shapes.push(shapePath);segmentCount=0}}
361return shapes};ShapeModifiers.registerModifier('tm',TrimModifier);function RoundCornersModifier(){}
362extendPrototype([ShapeModifier],RoundCornersModifier);RoundCornersModifier.prototype.initModifierProperties=function(elem,data){this.getValue=this.processKeys;this.rd=PropertyFactory.getProp(elem,data.r,0,null,this);this._isAnimated=!!this.rd.effectsSequence.length};RoundCornersModifier.prototype.processPath=function(path,round){var cloned_path=shape_pool.newElement();cloned_path.c=path.c;var i,len=path._length;var currentV,currentI,currentO,closerV,newV,newO,newI,distance,newPosPerc,index=0;var vX,vY,oX,oY,iX,iY;for(i=0;i<len;i+=1){currentV=path.v[i];currentO=path.o[i];currentI=path.i[i];if(currentV[0]===currentO[0]&&currentV[1]===currentO[1]&&currentV[0]===currentI[0]&&currentV[1]===currentI[1]){if((i===0||i===len-1)&&!path.c){cloned_path.setTripleAt(currentV[0],currentV[1],currentO[0],currentO[1],currentI[0],currentI[1],index);index+=1}else{if(i===0){closerV=path.v[len-1]}else{closerV=path.v[i-1]}
363distance=Math.sqrt(Math.pow(currentV[0]-closerV[0],2)+Math.pow(currentV[1]-closerV[1],2));newPosPerc=distance?Math.min(distance/2,round)/distance:0;vX=iX=currentV[0]+(closerV[0]-currentV[0])*newPosPerc;vY=iY=currentV[1]-(currentV[1]-closerV[1])*newPosPerc;oX=vX-(vX-currentV[0])*roundCorner;oY=vY-(vY-currentV[1])*roundCorner;cloned_path.setTripleAt(vX,vY,oX,oY,iX,iY,index);index+=1;if(i===len-1){closerV=path.v[0]}else{closerV=path.v[i+1]}
364distance=Math.sqrt(Math.pow(currentV[0]-closerV[0],2)+Math.pow(currentV[1]-closerV[1],2));newPosPerc=distance?Math.min(distance/2,round)/distance:0;vX=oX=currentV[0]+(closerV[0]-currentV[0])*newPosPerc;vY=oY=currentV[1]+(closerV[1]-currentV[1])*newPosPerc;iX=vX-(vX-currentV[0])*roundCorner;iY=vY-(vY-currentV[1])*roundCorner;cloned_path.setTripleAt(vX,vY,oX,oY,iX,iY,index);index+=1}}else{cloned_path.setTripleAt(path.v[i][0],path.v[i][1],path.o[i][0],path.o[i][1],path.i[i][0],path.i[i][1],index);index+=1}}
365return cloned_path};RoundCornersModifier.prototype.processShapes=function(_isFirstFrame){var shapePaths;var i,len=this.shapes.length;var j,jLen;var rd=this.rd.v;if(rd!==0){var shapeData,newPaths,localShapeCollection;for(i=0;i<len;i+=1){shapeData=this.shapes[i];newPaths=shapeData.shape.paths;localShapeCollection=shapeData.localShapeCollection;if(!(!shapeData.shape._mdf&&!this._mdf&&!_isFirstFrame)){localShapeCollection.releaseShapes();shapeData.shape._mdf=!0;shapePaths=shapeData.shape.paths.shapes;jLen=shapeData.shape.paths._length;for(j=0;j<jLen;j+=1){localShapeCollection.addShape(this.processPath(shapePaths[j],rd))}}
366shapeData.shape.paths=shapeData.localShapeCollection}}
367if(!this.dynamicProperties.length){this._mdf=!1}};ShapeModifiers.registerModifier('rd',RoundCornersModifier);function RepeaterModifier(){}
368extendPrototype([ShapeModifier],RepeaterModifier);RepeaterModifier.prototype.initModifierProperties=function(elem,data){this.getValue=this.processKeys;this.c=PropertyFactory.getProp(elem,data.c,0,null,this);this.o=PropertyFactory.getProp(elem,data.o,0,null,this);this.tr=TransformPropertyFactory.getTransformProperty(elem,data.tr,this);this.data=data;if(!this.dynamicProperties.length){this.getValue(!0)}
369this._isAnimated=!!this.dynamicProperties.length;this.pMatrix=new Matrix();this.rMatrix=new Matrix();this.sMatrix=new Matrix();this.tMatrix=new Matrix();this.matrix=new Matrix()};RepeaterModifier.prototype.applyTransforms=function(pMatrix,rMatrix,sMatrix,transform,perc,inv){var dir=inv?-1:1;var scaleX=transform.s.v[0]+(1-transform.s.v[0])*(1-perc);var scaleY=transform.s.v[1]+(1-transform.s.v[1])*(1-perc);pMatrix.translate(transform.p.v[0]*dir*perc,transform.p.v[1]*dir*perc,transform.p.v[2]);rMatrix.translate(-transform.a.v[0],-transform.a.v[1],transform.a.v[2]);rMatrix.rotate(-transform.r.v*dir*perc);rMatrix.translate(transform.a.v[0],transform.a.v[1],transform.a.v[2]);sMatrix.translate(-transform.a.v[0],-transform.a.v[1],transform.a.v[2]);sMatrix.scale(inv?1/scaleX:scaleX,inv?1/scaleY:scaleY);sMatrix.translate(transform.a.v[0],transform.a.v[1],transform.a.v[2])};RepeaterModifier.prototype.init=function(elem,arr,pos,elemsData){this.elem=elem;this.arr=arr;this.pos=pos;this.elemsData=elemsData;this._currentCopies=0;this._elements=[];this._groups=[];this.frameId=-1;this.initDynamicPropertyContainer(elem);this.initModifierProperties(elem,arr[pos]);var cont=0;while(pos>0){pos-=1;this._elements.unshift(arr[pos]);cont+=1}
370if(this.dynamicProperties.length){this.k=!0}else{this.getValue(!0)}};RepeaterModifier.prototype.resetElements=function(elements){var i,len=elements.length;for(i=0;i<len;i+=1){elements[i]._processed=!1;if(elements[i].ty==='gr'){this.resetElements(elements[i].it)}}};RepeaterModifier.prototype.cloneElements=function(elements){var i,len=elements.length;var newElements=JSON.parse(JSON.stringify(elements));this.resetElements(newElements);return newElements};RepeaterModifier.prototype.changeGroupRender=function(elements,renderFlag){var i,len=elements.length;for(i=0;i<len;i+=1){elements[i]._render=renderFlag;if(elements[i].ty==='gr'){this.changeGroupRender(elements[i].it,renderFlag)}}};RepeaterModifier.prototype.processShapes=function(_isFirstFrame){var items,itemsTransform,i,dir,cont;if(this._mdf||_isFirstFrame){var copies=Math.ceil(this.c.v);if(this._groups.length<copies){while(this._groups.length<copies){var group={it:this.cloneElements(this._elements),ty:'gr'};group.it.push({"a":{"a":0,"ix":1,"k":[0,0]},"nm":"Transform","o":{"a":0,"ix":7,"k":100},"p":{"a":0,"ix":2,"k":[0,0]},"r":{"a":1,"ix":6,"k":[{s:0,e:0,t:0},{s:0,e:0,t:1}]},"s":{"a":0,"ix":3,"k":[100,100]},"sa":{"a":0,"ix":5,"k":0},"sk":{"a":0,"ix":4,"k":0},"ty":"tr"});this.arr.splice(0,0,group);this._groups.splice(0,0,group);this._currentCopies+=1}
371this.elem.reloadShapes()}
372cont=0;var renderFlag;for(i=0;i<=this._groups.length-1;i+=1){renderFlag=cont<copies;this._groups[i]._render=renderFlag;this.changeGroupRender(this._groups[i].it,renderFlag);cont+=1}
373this._currentCopies=copies;var offset=this.o.v;var offsetModulo=offset%1;var roundOffset=offset>0?Math.floor(offset):Math.ceil(offset);var k;var tMat=this.tr.v.props;var pProps=this.pMatrix.props;var rProps=this.rMatrix.props;
373var sProps=this.sMatrix.props;this.pMatrix.reset();this.rMatrix.reset();this.sMatrix.reset();this.tMatrix.reset();this.matrix.reset();var iteration=0;if(offset>0){while(iteration<roundOffset){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1);iteration+=1}
374if(offsetModulo){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,offsetModulo,!1);iteration+=offsetModulo}}else if(offset<0){while(iteration>roundOffset){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0);iteration-=1}
375if(offsetModulo){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-offsetModulo,!0);iteration-=offsetModulo}}
376i=this.data.m===1?0:this._currentCopies-1;dir=this.data.m===1?1:-1;cont=this._currentCopies;var j,jLen;while(cont){items=this.elemsData[i].it;itemsTransform=items[items.length-1].transform.mProps.v.props;jLen=itemsTransform.length;items[items.length-1].transform.mProps._mdf=!0;items[items.length-1].transform.op._mdf=!0;if(iteration!==0){if((i!==0&&dir===1)||(i!==this._currentCopies-1&&dir===-1)){this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1)}
377this.matrix.transform(rProps[0],rProps[1],rProps[2],rProps[3],rProps[4],rProps[5],rProps[6],rProps[7],rProps[8],rProps[9],rProps[10],rProps[11],rProps[12],rProps[13],rProps[14],rProps[15]);this.matrix.transform(sProps[0],sProps[1],sProps[2],sProps[3],sProps[4],sProps[5],sProps[6],sProps[7],sProps[8],sProps[9],sProps[10],sProps[11],sProps[12],sProps[13],sProps[14],sProps[15]);this.matrix.transform(pProps[0],pProps[1],pProps[2],pProps[3],pProps[4],pProps[5],pProps[6],pProps[7],pProps[8],pProps[9],pProps[10],pProps[11],pProps[12],pProps[13],pProps[14],pProps[15]);for(j=0;j<jLen;j+=1){itemsTransform[j]=this.matrix.props[j]}
378this.matrix.reset()}else{this.matrix.reset();for(j=0;j<jLen;j+=1){itemsTransform[j]=this.matrix.props[j]}}
379iteration+=1;cont-=1;i+=dir}}else{cont=this._currentCopies;i=0;dir=1;while(cont){items=this.elemsData[i].it;itemsTransform=items[items.length-1].transform.mProps.v.props;items[items.length-1].transform.mProps._mdf=!1;items[items.length-1].transform.op._mdf=!1;cont-=1;i+=dir}}};RepeaterModifier.prototype.addShape=function(){};ShapeModifiers.registerModifier('rp',RepeaterModifier);function ShapeCollection(){this._length=0;this._maxLength=4;this.shapes=createSizedArray(this._maxLength)}
380ShapeCollection.prototype.addShape=function(shapeData){if(this._length===this._maxLength){this.shapes=this.shapes.concat(createSizedArray(this._maxLength));this._maxLength*=2}
381this.shapes[this._length]=shapeData;this._length+=1};ShapeCollection.prototype.releaseShapes=function(){var i;for(i=0;i<this._length;i+=1){shape_pool.release(this.shapes[i])}
382this._length=0};function DashProperty(elem,data,renderer,container){this.elem=elem;this.frameId=-1;this.dataProps=createSizedArray(data.length);this.renderer=renderer;this.k=!1;this.dashStr='';this.dashArray=createTypedArray('float32',data.length?data.length-1:0);this.dashoffset=createTypedArray('float32',1);this.initDynamicPropertyContainer(container);var i,len=data.length||0,prop;for(i=0;i<len;i+=1){prop=PropertyFactory.getProp(elem,data[i].v,0,0,this);this.k=prop.k||this.k;this.dataProps[i]={n:data[i].n,p:prop}}
383if(!this.k){this.getValue(!0)}
384this._isAnimated=this.k}
385DashProperty.prototype.getValue=function(forceRender){if(this.elem.globalData.frameId===this.frameId&&!forceRender){return}
386this.frameId=this.elem.globalData.frameId;this.iterateDynamicProperties();this._mdf=this._mdf||forceRender;if(this._mdf){var i=0,len=this.dataProps.length;if(this.renderer==='svg'){this.dashStr=''}
387for(i=0;i<len;i+=1){if(this.dataProps[i].n!='o'){if(this.renderer==='svg'){this.dashStr+=' '+this.dataProps[i].p.v}else{this.dashArray[i]=this.dataProps[i].p.v}}else{this.dashoffset[0]=this.dataProps[i].p.v}}}};extendPrototype([DynamicPropertyContainer],DashProperty);function GradientProperty(elem,data){this.data=data;this.c=createTypedArray('uint8c',data.p*4);var cLength=data.k.k[0].s?(data.k.k[0].s.length-data.p*4):data.k.k.length-data.p*4;this.o=createTypedArray('float32',cLength);this._cmdf=!1;this._omdf=!1;this._collapsable=this.checkCollapsable();this._hasOpacity=cLength;this.initDynamicPropertyContainer(elem);this.prop=PropertyFactory.getProp(elem,data.k,1,null,this);this.k=this.prop.k;this.getValue(!0)}
388GradientProperty.prototype.comparePoints=function(values,points){var i=0,len=this.o.length/2,diff;while(i<len){diff=Math.abs(values[i*4]-values[points*4+i*2]);if(diff>0.01){return!1}
389i+=1}
390return!0};GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4){return!1}
391if(this.data.k.k[0].s){var i=0,len=this.data.k.k.length;while(i<len){if(!this.comparePoints(this.data.k.k[i].s,this.data.p)){return!1}
392i+=1}}else if(!this.comparePoints(this.data.k.k,this.data.p)){return!1}
393return!0};GradientProperty.prototype.getValue=function(forceRender){this.prop.getValue();this._mdf=!1;this._cmdf=!1;this._omdf=!1;if(this.prop._mdf||forceRender){var i,len=this.data.p*4;var mult,val;for(i=0;i<len;i+=1){mult=i%4===0?100:255;val=Math.round(this.prop.v[i]*mult);if(this.c[i]!==val){this.c[i]=val;this._cmdf=!forceRender}}
394if(this.o.length){len=this.prop.v.length;for(i=this.data.p*4;i<len;i+=1){mult=i%2===0?100:1;val=i%2===0?Math.round(this.prop.v[i]*100):this.prop.v[i];if(this.o[i-this.data.p*4]!==val){this.o[i-this.data.p*4]=val;this._omdf=!forceRender}}}
395this._mdf=!forceRender}};extendPrototype([DynamicPropertyContainer],GradientProperty);var buildShapeString=function(pathNodes,length,closed,mat){if(length===0){return''}
396var _o=pathNodes.o;var _i=pathNodes.i;var _v=pathNodes.v;var i,shapeString=" M"+mat.applyToPointStringified(_v[0][0],_v[0][1]);for(i=1;i<length;i+=1){shapeString+=" C"+mat.applyToPointStringified(_o[i-1][0],_o[i-1][1])+" "+mat.applyToPointStringified(_i[i][0],_i[i][1])+" "+mat.applyToPointStringified(_v[i][0],_v[i][1])}
397if(closed&&length){shapeString+=" C"+mat.applyToPointStringified(_o[i-1][0],_o[i-1][1])+" "+mat.applyToPointStringified(_i[0][0],_i[0][1])+" "+mat.applyToPointStringified(_v[0][0],_v[0][1]);shapeString+='z'}
398return shapeString}
399var ImagePreloader=(function(){function imageLoaded(){this.loadedAssets+=1;if(this.loadedAssets===this.totalImages){if(this.imagesLoadedCb){this.imagesLoadedCb(null)}}}
400function getAssetsPath(assetData){var path='';if(assetData.e){path=assetData.p}else if(this.assetsPath){var imagePath=assetData.p;if(imagePath.indexOf('images/')!==-1){imagePath=imagePath.split('/')[1]}
401path=this.assetsPath+imagePath}else{path=this.path;path+=assetData.u?assetData.u:'';path+=assetData.p}
402return path}
403function loadImage(path){var img=createTag('img');img.addEventListener('load',imageLoaded.bind(this),!1);img.addEventListener('error',imageLoaded.bind(this),!1);img.src=path}
404function loadAssets(assets,cb){this.imagesLoadedCb=cb;this.totalAssets=assets.length;var i;for(i=0;i<this.totalAssets;i+=1){if(!assets[i].layers){loadImage.bind(this)(getAssetsPath.bind(this)(assets[i]));this.totalImages+=1}}}
405function setPath(path){this.path=path||''}
406function setAssetsPath(path){this.assetsPath=path||''}
407function destroy(){this.imagesLoadedCb=null}
408return function ImagePreloader(){this.loadAssets=loadAssets;this.setAssetsPath=setAssetsPath;this.setPath=setPath;this.destroy=destroy;this.assetsPath='';this.path='';this.totalAssets=0;this.totalImages=0;this.loadedAssets=0;this.imagesLoadedCb=null}}());var featureSupport=(function(){var ob={maskType:!0};if(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent)){ob.maskType=!1}
409return ob}());var filtersFactory=(function(){var ob={};ob.createFilter=createFilter;ob.createAlphaToLuminanceFilter=createAlphaToLuminanceFilter;function createFilter(filId){var fil=createNS('filter');fil.setAttribute('id',filId);fil.setAttribute('filterUnits','objectBoundingBox');fil.setAttribute('x','0%');fil.setAttribute('y','0%');fil.setAttribute('width','100%');fil.setAttribute('height','100%');return fil}
410function createAlphaToLuminanceFilter(){var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','sRGB');feColorMatrix.setAttribute('values','0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1');return feColorMatrix}
411return ob}());var assetLoader=(function(){function formatResponse(xhr){if(xhr.response&&typeof xhr.response==='object'){return xhr.response}else if(xhr.response&&typeof xhr.response==='string'){return JSON.parse(xhr.response)}else if(xhr.responseText){return JSON.parse(xhr.response)}}
412function loadAsset(path,callback,errorCallback){var response;var xhr=new XMLHttpRequest();xhr.open('GET',path,!0);xhr.responseType="json";xhr.send();xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status==200){response=formatResponse(xhr);callback(response)}else{try{response=formatResponse(xhr);callback(response)}catch(err){if(errorCallback){errorCallback(err)}}}}}}
413return{load:loadAsset}}())
414function TextAnimatorProperty(textData,renderType,elem){this._isFirstFrame=!0;this._hasMaskedPath=!1;this._frameId=-1;this._textData=textData;this._renderType=renderType;this._elem=elem;
414this._animatorsData=createSizedArray(this._textData.a.length);this._pathData={};this._moreOptions={alignment:{}};this.renderedLetters=[];this.lettersChangedFlag=!1;this.initDynamicPropertyContainer(elem)}
415TextAnimatorProperty.prototype.searchProperties=function(){var i,len=this._textData.a.length,animatorProps;var getProp=PropertyFactory.getProp;for(i=0;i<len;i+=1){animatorProps=this._textData.a[i];this._animatorsData[i]=new TextAnimatorDataProperty(this._elem,animatorProps,this)}
416if(this._textData.p&&'m' in this._textData.p){this._pathData={f:getProp(this._elem,this._textData.p.f,0,0,this),l:getProp(this._elem,this._textData.p.l,0,0,this),r:this._textData.p.r,m:this._elem.maskManager.getMaskProperty(this._textData.p.m)};this._hasMaskedPath=!0}else{this._hasMaskedPath=!1}
417this._moreOptions.alignment=getProp(this._elem,this._textData.m.a,1,0,this)};TextAnimatorProperty.prototype.getMeasures=function(documentData,lettersChangedFlag){this.lettersChangedFlag=lettersChangedFlag;if(!this._mdf&&!this._isFirstFrame&&!lettersChangedFlag&&(!this._hasMaskedPath||!this._pathData.m._mdf)){return}
418this._isFirstFrame=!1;var alignment=this._moreOptions.alignment.v;var animators=this._animatorsData;var textData=this._textData;var matrixHelper=this.mHelper;var renderType=this._renderType;var renderedLettersCount=this.renderedLetters.length;var data=this.data;var xPos,yPos;var i,len;var letters=documentData.l,pathInfo,currentLength,currentPoint,segmentLength,flag,pointInd,segmentInd,prevPoint,points,segments,partialLength,totalLength,perc,tanAngle,mask;if(this._hasMaskedPath){mask=this._pathData.m;if(!this._pathData.n||this._pathData._mdf){var paths=mask.v;if(this._pathData.r){paths=paths.reverse()}
419pathInfo={tLength:0,segments:[]};len=paths._length-1;var pathData;totalLength=0;for(i=0;i<len;i+=1){pathData={s:paths.v[i],e:paths.v[i+1],to:[paths.o[i][0]-paths.v[i][0],paths.o[i][1]-paths.v[i][1]],ti:[paths.i[i+1][0]-paths.v[i+1][0],paths.i[i+1][1]-paths.v[i+1][1]]};bez.buildBezierData(pathData);pathInfo.tLength+=pathData.bezierData.segmentLength;pathInfo.segments.push(pathData);totalLength+=pathData.bezierData.segmentLength}
420i=len;if(mask.v.c){pathData={s:paths.v[i],e:paths.v[0],to:[paths.o[i][0]-paths.v[i][0],paths.o[i][1]-paths.v[i][1]],ti:[paths.i[0][0]-paths.v[0][0],paths.i[0][1]-paths.v[0][1]]};bez.buildBezierData(pathData);pathInfo.tLength+=pathData.bezierData.segmentLength;pathInfo.segments.push(pathData);totalLength+=pathData.bezierData.segmentLength}
421this._pathData.pi=pathInfo}
422pathInfo=this._pathData.pi;currentLength=this._pathData.f.v;segmentInd=0;pointInd=1;segmentLength=0;flag=!0;segments=pathInfo.segments;if(currentLength<0&&mask.v.c){if(pathInfo.tLength<Math.abs(currentLength)){currentLength=-Math.abs(currentLength)%pathInfo.tLength}
423segmentInd=segments.length-1;points=segments[segmentInd].bezierData.points;pointInd=points.length-1;while(currentLength<0){currentLength+=points[pointInd].partialLength;pointInd-=1;if(pointInd<0){segmentInd-=1;points=segments[segmentInd].bezierData.points;pointInd=points.length-1}}}
424points=segments[segmentInd].bezierData.points;prevPoint=points[pointInd-1];currentPoint=points[pointInd];partialLength=currentPoint.partialLength}
425len=letters.length;xPos=0;yPos=0;var yOff=documentData.finalSize*1.2*0.714;var firstLine=!0;var animatorProps,animatorSelector;var j,jLen;var letterValue;jLen=animators.length;var lastLetter;var mult,ind=-1,offf,xPathPos,yPathPos;var initPathPos=currentLength,initSegmentInd=segmentInd,initPointInd=pointInd,currentLine=-1;var elemOpacity;var sc,sw,fc,k;var lineLength=0;var letterSw,letterSc,letterFc,letterM='',letterP=this.defaultPropsArray,letterO;if(documentData.j===2||documentData.j===1){var animatorJustifyOffset=0;var animatorFirstCharOffset=0;var justifyOffsetMult=documentData.j===2?-0.5:-1;var lastIndex=0;var isNewLine=!0;for(i=0;i<len;i+=1){if(letters[i].n){if(animatorJustifyOffset){animatorJustifyOffset+=animatorFirstCharOffset}
426while(lastIndex<i){letters[lastIndex].animatorJustifyOffset=animatorJustifyOffset;lastIndex+=1}
427animatorJustifyOffset=0;isNewLine=!0}else{for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;
427if(animatorProps.t.propType){if(isNewLine&&documentData.j===2){animatorFirstCharOffset+=animatorProps.t.v*justifyOffsetMult}
428animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){animatorJustifyOffset+=animatorProps.t.v*mult[0]*justifyOffsetMult}else{animatorJustifyOffset+=animatorProps.t.v*mult*justifyOffsetMult}}}
429isNewLine=!1}}
430if(animatorJustifyOffset){animatorJustifyOffset+=animatorFirstCharOffset}
431while(lastIndex<i){letters[lastIndex].animatorJustifyOffset=animatorJustifyOffset;lastIndex+=1}}
432for(i=0;i<len;i+=1){matrixHelper.reset();elemOpacity=1;if(letters[i].n){xPos=0;yPos+=documentData.yOffset;yPos+=firstLine?1:0;currentLength=initPathPos;firstLine=!1;lineLength=0;if(this._hasMaskedPath){segmentInd=initSegmentInd;pointInd=initPointInd;points=segments[segmentInd].bezierData.points;prevPoint=points[pointInd-1];currentPoint=points[pointInd];partialLength=currentPoint.partialLength;segmentLength=0}
433letterO=letterSw=letterFc=letterM='';letterP=this.defaultPropsArray}else{if(this._hasMaskedPath){if(currentLine!==letters[i].line){switch(documentData.j){case 1:currentLength+=totalLength-documentData.lineWidths[letters[i].line];break;case 2:currentLength+=(totalLength-documentData.lineWidths[letters[i].line])/2;break}
434currentLine=letters[i].line}
435if(ind!==letters[i].ind){if(letters[ind]){currentLength+=letters[ind].extra}
436currentLength+=letters[i].an/2;ind=letters[i].ind}
437currentLength+=alignment[0]*letters[i].an/200;var animatorOffset=0;for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.p.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){animatorOffset+=animatorProps.p.v[0]*mult[0]}else{animatorOffset+=animatorProps.p.v[0]*mult}}
438if(animatorProps.a.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){animatorOffset+=animatorProps.a.v[0]*mult[0]}else{animatorOffset+=animatorProps.a.v[0]*mult}}}
439flag=!0;while(flag){if(segmentLength+partialLength>
439=currentLength+animatorOffset||!points){perc=(currentLength+animatorOffset-segmentLength)/currentPoint.partialLength;xPathPos=prevPoint.point[0]+(currentPoint.point[0]-prevPoint.point[0])*perc;yPathPos=prevPoint.point[1]+(currentPoint.point[1]-prevPoint.point[1])*perc;matrixHelper.translate(-alignment[0]*letters[i].an/200,-(alignment[1]*yOff/100));flag=!1}else if(points){segmentLength+=currentPoint.partialLength;pointInd+=1;if(pointInd>=points.length){pointInd=0;segmentInd+=1;if(!segments[segmentInd]){if(mask.v.c){pointInd=0;segmentInd=0;points=segments[segmentInd].bezierData.points}else{segmentLength-=currentPoint.partialLength;points=null}}else{points=segments[segmentInd].bezierData.points}}
440if(points){prevPoint=currentPoint;currentPoint=points[pointInd];partialLength=currentPoint.partialLength}}}
441offf=letters[i].an/2-letters[i].add;matrixHelper.translate(-offf,0,0)}else{offf=letters[i].an/2-letters[i].add;matrixHelper.translate(-offf,0,0);matrixHelper.translate(-alignment[0]*letters[i].an/200,-alignment[1]*yOff/100,0)}
442lineLength+=letters[i].l/2;for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.t.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(xPos!==0||documentData.j!==0){if(this._hasMaskedPath){if(mult.length){currentLength+=animatorProps.t.v*mult[0]}else{currentLength+=animatorProps.t.v*mult}}else{if(mult.length){xPos+=animatorProps.t.v*mult[0]}else{xPos+=animatorProps.t.v*mult}}}}}
443lineLength+=letters[i].l/2;if(documentData.strokeWidthAnim){sw=documentData.sw||0}
444if(documentData.strokeColorAnim){if(documentData.sc){sc=[documentData.sc[0],documentData.sc[1],documentData.sc[2]]}else{sc=[0,0,0]}}
445if(documentData.fillColorAnim&&documentData.fc){fc=[documentData.fc[0],documentData.fc[1],documentData.fc[2]]}
446for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.a.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){matrixHelper.translate(-animatorProps.a.v[0]*mult[0],-animatorProps.a.v[1]*mult[1],animatorProps.a.v[2]*mult[2])}else{matrixHelper.translate(-animatorProps.a.v[0]*mult,-animatorProps.a.v[1]*mult,animatorProps.a.v[2]*mult)}}}
447for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.s.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(mult.length){matrixHelper.scale(1+((animatorProps.s.v[0]-1)*mult[0]),1+((animatorProps.s.v[1]-1)*mult[1]),1)}else{matrixHelper.scale(1+((animatorProps.s.v[0]-1)*mult),1+((animatorProps.s.v[1]-1)*mult),1)}}}
448for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(animatorProps.sk.propType){if(mult.length){matrixHelper.skewFromAxis(-animatorProps.sk.v*mult[0],animatorProps.sa.v*mult[1])}else{matrixHelper.skewFromAxis(-animatorProps.sk.v*mult,animatorProps.sa.v*mult)}}
449if(animatorProps.r.propType){if(mult.length){matrixHelper.rotateZ(-animatorProps.r.v*mult[2])}else{matrixHelper.rotateZ(-animatorProps.r.v*mult)}}
450if(animatorProps.ry.propType){if(mult.length){matrixHelper.rotateY(animatorProps.ry.v*mult[1])}else{matrixHelper.rotateY(animatorProps.ry.v*mult)}}
451if(animatorProps.rx.propType){if(mult.length){matrixHelper.rotateX(animatorProps.rx.v*mult[0])}else{matrixHelper.rotateX(animatorProps.rx.v*mult)}}
452if(animatorProps.o.propType){if(mult.length){elemOpacity+=((animatorProps.o.v)*mult[0]-elemOpacity)*mult[0]}else{elemOpacity+=((animatorProps.o.v)*mult-elemOpacity)*mult}}
453if(documentData.strokeWidthAnim&&animatorProps.sw.propType){if(mult.length){sw+=animatorProps.sw.v*mult[0]}else{sw+=animatorProps.sw.v*mult}}
453
454if(documentData.strokeColorAnim&&animatorProps.sc.propType){for(k=0;k<3;k+=1){if(mult.length){sc[k]=sc[k]+(animatorProps.sc.v[k]-sc[k])*mult[0]}else{sc[k]=sc[k]+(animatorProps.sc.v[k]-sc[k])*mult}}}
455if(documentData.fillColorAnim&&documentData.fc){if(animatorProps.fc.propType){for(k=0;k<3;k+=1){if(mult.length){fc[k]=fc[k]+(animatorProps.fc.v[k]-fc[k])*mult[0]}else{fc[k]=fc[k]+(animatorProps.fc.v[k]-fc[k])*mult}}}
456if(animatorProps.fh.propType){if(mult.length){fc=addHueToRGB(fc,animatorProps.fh.v*mult[0])}else{fc=addHueToRGB(fc,animatorProps.fh.v*mult)}}
457if(animatorProps.fs.propType){if(mult.length){fc=addSaturationToRGB(fc,animatorProps.fs.v*mult[0])}else{fc=addSaturationToRGB(fc,animatorProps.fs.v*mult)}}
458if(animatorProps.fb.propType){if(mult.length){fc=addBrightnessToRGB(fc,animatorProps.fb.v*mult[0])}else{fc=addBrightnessToRGB(fc,animatorProps.fb.v*mult)}}}}
459for(j=0;j<jLen;j+=1){animatorProps=animators[j].a;if(animatorProps.p.propType){animatorSelector=animators[j].s;mult=animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);if(this._hasMaskedPath){if(mult.length){matrixHelper.translate(0,animatorProps.p.v[1]*mult[0],-animatorProps.p.v[2]*mult[1])}else{matrixHelper.translate(0,animatorProps.p.v[1]*mult,-animatorProps.p.v[2]*mult)}}else{if(mult.length){matrixHelper.translate(animatorProps.p.v[0]*mult[0],animatorProps.p.v[1]*mult[1],-animatorProps.p.v[2]*mult[2])}else{matrixHelper.translate(animatorProps.p.v[0]*mult,animatorProps.p.v[1]*mult,-animatorProps.p.v[2]*mult)}}}}
460if(documentData.strokeWidthAnim){letterSw=sw<0?0:sw}
461if(documentData.strokeColorAnim){letterSc='rgb('+Math.round(sc[0]*255)+','+Math.round(sc[1]*255)+','+Math.round(sc[2]*255)+')'}
462if(documentData.fillColorAnim&&documentData.fc){letterFc='rgb('+Math.round(fc[0]*255)+','+Math.round(fc[1]*255)+','+Math.round(fc[2]*255)+')'}
463if(this._hasMaskedPath){matrixHelper.translate(0,-documentData.ls);matrixHelper.translate(0,alignment[1]*yOff/100+yPos,0);if(textData.p.p){tanAngle=(currentPoint.point[1]-prevPoint.point[1])/(currentPoint.point[0]-prevPoint.point[0]);var rot=Math.atan(tanAngle)*180/Math.PI;if(currentPoint.point[0]<prevPoint.point[0]){rot+=180}
464matrixHelper.rotate(-rot*Math.PI/180)}
465matrixHelper.translate(xPathPos,yPathPos,0);currentLength-=alignment[0]*letters[i].an/200;if(letters[i+1]&&ind!==letters[i+1].ind){currentLength+=letters[i].an/2;currentLength+=documentData.tr/1000*documentData.finalSize}}else{matrixHelper.translate(xPos,yPos,0);if(documentData.ps){matrixHelper.translate(documentData.ps[0],documentData.ps[1]+documentData.ascent,0)}
466switch(documentData.j){case 1:matrixHelper.translate(letters[i].animatorJustifyOffset+documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[letters[i].line]),0,0);break;case 2:matrixHelper.translate(letters[i].animatorJustifyOffset+documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[letters[i].line])/2,0,0);break}
467matrixHelper.translate(0,-documentData.ls);matrixHelper.translate(offf,0,0);matrixHelper.translate(alignment[0]*letters[i].an/200,alignment[1]*yOff/100,0);xPos+=letters[i].l+documentData.tr/1000*documentData.finalSize}
468if(renderType==='html'){letterM=matrixHelper.toCSS()}else if(renderType==='svg'){letterM=matrixHelper.to2dCSS()}else{letterP=[matrixHelper.props[0],matrixHelper.props[1],matrixHelper.props[2],matrixHelper.props[3],matrixHelper.props[4],matrixHelper.props[5],matrixHelper.props[6],matrixHelper.props[7],matrixHelper.props[8],matrixHelper.props[9],matrixHelper.props[10],matrixHelper.props[11],matrixHelper.props[12],matrixHelper.props[13],matrixHelper.props[14],matrixHelper.props[15]]}
469letterO=elemOpacity}
470if(renderedLettersCount<=i){letterValue=new LetterProps(letterO,letterSw,letterSc,letterFc,letterM,letterP);this.renderedLetters.push(letterValue);renderedLettersCount+=1;this.lettersChangedFlag=!0}else{letterValue=this.renderedLetters[i];this.lettersChangedFlag=letterValue.update(letterO,letterSw,letterSc,letterFc,letterM,letterP)||this.lettersChangedFlag}}};TextAnimatorProperty.prototype.getValue=function(){if(this._elem.globalData.frameId===this._frameId){return}
471this._frameId=this._elem.globalData.frameId;this.iterateDynamicProperties()};TextAnimatorProperty.prototype.mHelper=new Matrix();TextAnimatorProperty.prototype.defaultPropsArray=[];extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function TextAnimatorDataProperty(elem,animatorProps,container){var defaultData={propType:!1};var getProp=PropertyFactory.getProp;var textAnimator_animatables=animatorProps.a;this.a={r:textAnimator_animatables.r?getProp(elem,textAnimator_animatables.r,0,degToRads,container):defaultData,rx:textAnimator_animatables.rx?getProp(elem,textAnimator_animatables.rx,0,degToRads,container):defaultData,ry:textAnimator_animatables.ry?getProp(elem,textAnimator_animatables.ry,0,degToRads,container):defaultData,sk:textAnimator_animatables.sk?getProp(elem,textAnimator_animatables.sk,0,degToRads,container):defaultData,sa:textAnimator_animatables.sa?getProp(elem,textAnimator_animatables.sa,0,degToRads,container):defaultData,s:textAnimator_animatables.s?getProp(elem,textAnimator_animatables.s,1,0.01,container):defaultData,a:textAnimator_animatables.a?getProp(elem,textAnimator_animatables.a,1,0,container):defaultData,o:textAnimator_animatables.o?getProp(elem,textAnimator_animatables.o,0,0.01,container):defaultData,p:textAnimator_animatables.p?getProp(elem,textAnimator_animatables.p,1,0,container):defaultData,sw:textAnimator_animatables.sw?getProp(elem,textAnimator_animatables.sw,0,0,container):defaultData,sc:textAnimator_animatables.sc?getProp(elem,textAnimator_animatables.sc,1,0,container):defaultData,fc:textAnimator_animatables.fc?getProp(elem,textAnimator_animatables.fc,1,0,container):defaultData,fh:textAnimator_animatables.fh?getProp(elem,textAnimator_animatables.fh,0,0,container):defaultData,fs:textAnimator_animatables.fs?getProp(elem,textAnimator_animatables.fs,0,0.01,container):defaultData,fb:textAnimator_animatables.fb?getProp(elem,textAnimator_animatables.fb,0,0.01,container):defaultData,t:textAnimator_animatables.t?getProp(elem,textAnimator_animatables.t,0,0,container):defaultData};this.s=TextSelectorProp.getTextSelectorProp(elem,animatorProps.s,container);
471this.s.t=animatorProps.s.t}
472function LetterProps(o,sw,sc,fc,m,p){this.o=o;this.sw=sw;this.sc=sc;this.fc=fc;this.m=m;this.p=p;this._mdf={o:!0,sw:!!sw,sc:!!sc,fc:!!fc,m:!0,p:!0}}
473LetterProps.prototype.update=function(o,sw,sc,fc,m,p){this._mdf.o=!1;this._mdf.sw=!1;this._mdf.sc=!1;this._mdf.fc=!1;this._mdf.m=!1;this._mdf.p=!1;var updated=!1;if(this.o!==o){this.o=o;this._mdf.o=!0;updated=!0}
474if(this.sw!==sw){this.sw=sw;this._mdf.sw=!0;updated=!0}
475if(this.sc!==sc){this.sc=sc;this._mdf.sc=!0;updated=!0}
476if(this.fc!==fc){this.fc=fc;this._mdf.fc=!0;updated=!0}
477if(this.m!==m){this.m=m;this._mdf.m=!0;updated=!0}
478if(p.length&&(this.p[0]!==p[0]||this.p[1]!==p[1]||this.p[4]!==p[4]||this.p[5]!==p[5]||this.p[12]!==p[12]||this.p[13]!==p[13])){this.p=p;this._mdf.p=!0;updated=!0}
479return updated};function TextProperty(elem,data){this._frameId=initialDefaultFrame;this.pv='';this.v='';this.kf=!1;this._isFirstFrame=!0;this._mdf=!1;this.data=data;this.elem=elem;this.comp=this.elem.comp;this.keysIndex=0;this.canResize=!1;this.minimumFontSize=1;this.effectsSequence=[];this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:'',fStyle:'',fWeight:'',fc:'',j:'',justifyOffset:'',l:[],lh:0,lineWidths:[],ls:'',of:'',s:'',sc:'',sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1};this.copyData(this.currentData,this.data.d.k[0].s);if(!this.searchProperty()){this.completeTextData(this.currentData)}}
480TextProperty.prototype.defaultBoxWidth=[0,0];TextProperty.prototype.copyData=function(obj,data){for(var s in data){if(data.hasOwnProperty(s)){obj[s]=data[s]}}
481return obj}
482TextProperty.prototype.setCurrentData=function(data){if(!data.__complete){this.completeTextData(data)}
483this.currentData=data;this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth;this._mdf=!0};TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()};TextProperty.prototype.searchKeyframes=function(){this.kf=this.data.d.k.length>1;if(this.kf){this.addEffect(this.getKeyframeValue.bind(this))}
484return this.kf}
485TextProperty.prototype.addEffect=function(effectFunction){this.effectsSequence.push(effectFunction);this.elem.addDynamicProperty(this)};TextProperty.prototype.getValue=function(_finalValue){if((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!_finalValue){return}
486var currentValue=this.currentData;var currentIndex=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData,currentTextValue);return}
487this.lock=!0;this._mdf=!1;var multipliedValue;var i,len=this.effectsSequence.length;var finalValue=_finalValue||this.data.d.k[this.keysIndex].s;for(i=0;i<len;i+=1){if(currentIndex!==this.keysIndex){finalValue=this.effectsSequence[i](finalValue,finalValue.t)}else{finalValue=this.effectsSequence[i](this.currentData,finalValue.t)}}
488if(currentValue!==finalValue){this.setCurrentData(finalValue)}
489this.pv=this.v=this.currentData;this.lock=!1;this.frameId=this.elem.globalData.frameId}
490TextProperty.prototype.getKeyframeValue=function(){var textKeys=this.data.d.k,textDocumentData;var frameNum=this.elem.comp.renderedFrame;var i=0,len=textKeys.length;while(i<=len-1){textDocumentData=textKeys[i].s;if(i===len-1||textKeys[i+1].t>frameNum){break}
491i+=1}
492if(this.keysIndex!==i){this.keysIndex=i}
493return this.data.d.k[this.keysIndex].s};TextProperty.prototype.buildFinalText=function(text){var combinedCharacters=FontManager.getCombinedCharacterCodes();var charactersArray=[];var i=0,len=text.length;while(i<len){if(combinedCharacters.indexOf(text.charCodeAt(i))!==-1){charactersArray[charactersArray.length-1]+=text.charAt(i)}else{charactersArray.push(text.charAt(i))}
494i+=1}
495return charactersArray}
496TextProperty.prototype.completeTextData=function(documentData){documentData.__complete=!0;var fontManager=this.elem.globalData.fontManager;var data=this.data;var letters=[];var i,len;var newLineFlag,index=0,val;var anchorGrouping=data.m.g;var currentSize=0,currentPos=0,currentLine=0,lineWidths=[];var lineWidth=0;var maxLineWidth=0;var j,jLen;
496var fontData=fontManager.getFontByName(documentData.f);var charData,cLength=0;var styles=fontData.fStyle?fontData.fStyle.split(' '):[];var fWeight='normal',fStyle='normal';len=styles.length;var styleName;for(i=0;i<len;i+=1){styleName=styles[i].toLowerCase();switch(styleName){case 'italic':fStyle='italic';break;case 'bold':fWeight='700';break;case 'black':fWeight='900';break;case 'medium':fWeight='500';break;case 'regular':case 'normal':fWeight='400';break;case 'light':case 'thin':fWeight='200';break}}
497documentData.fWeight=fontData.fWeight||fWeight;documentData.fStyle=fStyle;len=documentData.t.length;documentData.finalSize=documentData.s;documentData.finalText=this.buildFinalText(documentData.t);documentData.finalLineHeight=documentData.lh;var trackingOffset=documentData.tr/1000*documentData.finalSize;if(documentData.sz){var flag=!0;var boxWidth=documentData.sz[0];var boxHeight=documentData.sz[1];var currentHeight,finalText;while(flag){finalText=this.buildFinalText(documentData.t);currentHeight=0;lineWidth=0;len=finalText.length;trackingOffset=documentData.tr/1000*documentData.finalSize;var lastSpaceIndex=-1;for(i=0;i<len;i+=1){newLineFlag=!1;if(finalText[i]===' '){lastSpaceIndex=i}else if(finalText[i].charCodeAt(0)===13){lineWidth=0;newLineFlag=!0;currentHeight+=documentData.finalLineHeight||documentData.finalSize*1.2}
498if(fontManager.chars){charData=fontManager.getCharData(finalText[i],fontData.fStyle,fontData.fFamily);cLength=newLineFlag?0:charData.w*documentData.finalSize/100}else{cLength=fontManager.measureText(finalText[i],documentData.f,documentData.finalSize)}
499if(lineWidth+cLength>boxWidth&&finalText[i]!==' '){if(lastSpaceIndex===-1){len+=1}else{i=lastSpaceIndex}
500currentHeight+=documentData.finalLineHeight||documentData.finalSize*1.2;finalText.splice(i,lastSpaceIndex===i?1:0,"\r");lastSpaceIndex=-1;lineWidth=0}else{lineWidth+=cLength;lineWidth+=trackingOffset}}
501currentHeight+=fontData.ascent*documentData.finalSize/100;if(this.canResize&&documentData.finalSize>this.minimumFontSize&&boxHeight<currentHeight){documentData.finalSize-=1;documentData.finalLineHeight=documentData.finalSize*documentData.lh/documentData.s}else{documentData.finalText=finalText;len=documentData.finalText.length;flag=!1}}}
502lineWidth=-trackingOffset;cLength=0;var uncollapsedSpaces=0;var currentChar;for(i=0;i<len;i+=1){newLineFlag=!1;currentChar=documentData.finalText[i];if(currentChar===' '){val='\u00A0'}else if(currentChar.charCodeAt(0)===13){uncollapsedSpaces=0;lineWidths.push(lineWidth);maxLineWidth=lineWidth>maxLineWidth?lineWidth:maxLineWidth;lineWidth=-2*trackingOffset;val='';newLineFlag=!0;currentLine+=1}else{val=documentData.finalText[i]}
503if(fontManager.chars){charData=fontManager.getCharData(currentChar,fontData.fStyle,fontManager.getFontByName(documentData.f).fFamily);cLength=newLineFlag?0:charData.w*documentData.finalSize/100}else{cLength=fontManager.measureText(val,documentData.f,documentData.finalSize)}
504if(currentChar===' '){uncollapsedSpaces+=cLength+trackingOffset}else{lineWidth+=cLength+trackingOffset+uncollapsedSpaces;uncollapsedSpaces=0}
505letters.push({l:cLength,an:cLength,add:currentSize,n:newLineFlag,anIndexes:[],val:val,line:currentLine,animatorJustifyOffset:0});if(anchorGrouping==2){currentSize+=cLength;if(val===''||val==='\u00A0'||i===len-1){if(val===''||val==='\u00A0'){currentSize-=cLength}
506while(currentPos<=i){letters[currentPos].an=currentSize;letters[currentPos].ind=index;letters[currentPos].extra=cLength;currentPos+=1}
507index+=1;currentSize=0}}else if(anchorGrouping==3){currentSize+=cLength;if(val===''||i===len-1){if(val===''){currentSize-=cLength}
508while(currentPos<=i){letters[currentPos].an=currentSize;letters[currentPos].ind=index;letters[currentPos].extra=cLength;currentPos+=1}
509currentSize=0;index+=1}}else{letters[index].ind=index;letters[index].extra=0;index+=1}}
510documentData.l=letters;maxLineWidth=lineWidth>maxLineWidth?lineWidth:maxLineWidth;lineWidths.push(lineWidth);if(documentData.sz){documentData.boxWidth=documentData.sz[0];documentData.justifyOffset=0}else{documentData.boxWidth=maxLineWidth;switch(documentData.j){case 1:documentData.justifyOffset=-documentData.boxWidth;break;case 2:documentData.justifyOffset=-documentData.boxWidth/2;break;default:documentData.justifyOffset=0}}
511documentData.lineWidths=lineWidths;var animators=data.a,animatorData,letterData;jLen=animators.length;var based,ind,indexes=[];for(j=0;j<jLen;j+=1){animatorData=animators[j];if(animatorData.a.sc){documentData.strokeColorAnim=!0}
512if(animatorData.a.sw){documentData.strokeWidthAnim=!0}
513if(animatorData.a.fc||animatorData.a.fh||animatorData.a.fs||animatorData.a.fb){documentData.fillColorAnim=!0}
514ind=0;based=animatorData.s.b;for(i=0;i<len;i+=1){letterData=letters[i];letterData.anIndexes[j]=ind;if((based==1&&letterData.val!=='')||(based==2&&letterData.val!==''&&letterData.val!=='\u00A0')||(based==3&&(letterData.n||letterData.val=='\u00A0'||i==len-1))||(based==4&&(letterData.n||i==len-1))){if(animatorData.s.rn===1){indexes.push(ind)}
515ind+=1}}
516data.a[j].s.totalChars=ind;var currentInd=-1,newInd;if(animatorData.s.rn===1){for(i=0;i<len;i+=1){letterData=letters[i];if(currentInd!=letterData.anIndexes[j]){currentInd=letterData.anIndexes[j];
516newInd=indexes.splice(Math.floor(Math.random()*indexes.length),1)[0]}
517letterData.anIndexes[j]=newInd}}}
518documentData.yOffset=documentData.finalLineHeight||documentData.finalSize*1.2;documentData.ls=documentData.ls||0;documentData.ascent=fontData.ascent*documentData.finalSize/100};TextProperty.prototype.updateDocumentData=function(newData,index){index=index===undefined?this.keysIndex:index;var dData=this.copyData({},this.data.d.k[index].s);dData=this.copyData(dData,newData);this.data.d.k[index].s=dData;this.recalculate(index)};TextProperty.prototype.recalculate=function(index){var dData=this.data.d.k[index].s;dData.__complete=!1;this.keysIndex=0;this._isFirstFrame=!0;this.getValue(dData)}
519TextProperty.prototype.canResizeFont=function(_canResize){this.canResize=_canResize;this.recalculate(this.keysIndex)};TextProperty.prototype.setMinimumFontSize=function(_fontValue){this.minimumFontSize=Math.floor(_fontValue)||1;this.recalculate(this.keysIndex)};var TextSelectorProp=(function(){var max=Math.max;var min=Math.min;var floor=Math.floor;function TextSelectorProp(elem,data){this._currentTextLength=-1;this.k=!1;this.data=data;this.elem=elem;this.comp=elem.comp;this.finalS=0;this.finalE=0;this.initDynamicPropertyContainer(elem);this.s=PropertyFactory.getProp(elem,data.s||{k:0},0,0,this);if('e' in data){this.e=PropertyFactory.getProp(elem,data.e,0,0,this)}else{this.e={v:100}}
520this.o=PropertyFactory.getProp(elem,data.o||{k:0},0,0,this);this.xe=PropertyFactory.getProp(elem,data.xe||{k:0},0,0,this);this.ne=PropertyFactory.getProp(elem,data.ne||{k:0},0,0,this);this.a=PropertyFactory.getProp(elem,data.a,0,0.01,this);if(!this.dynamicProperties.length){this.getValue()}}
521TextSelectorProp.prototype={getMult:function(ind){if(this._currentTextLength!==this.elem.textProperty.currentData.l.length){this.getValue()}
522var easer=BezierFactory.getBezierEasing(this.ne.v/100,0,1-this.xe.v/100,1).get;var mult=0;var s=this.finalS;var e=this.finalE;var type=this.data.sh;if(type==2){if(e===s){mult=ind>=e?1:0}else{mult=max(0,min(0.5/(e-s)+(ind-s)/(e-s),1))}
523mult=easer(mult)}else if(type==3){if(e===s){mult=ind>=e?0:1}else{mult=1-max(0,min(0.5/(e-s)+(ind-s)/(e-s),1))}
524mult=easer(mult)}else if(type==4){if(e===s){mult=0}else{mult=max(0,min(0.5/(e-s)+(ind-s)/(e-s),1));if(mult<0.5){mult*=2}else{mult=1-2*(mult-0.5)}}
525mult=easer(mult)}else if(type==5){if(e===s){mult=0}else{var tot=e-s;ind=min(max(0,ind+0.5-s),e-s);var x=-tot/2+ind;var a=tot/2;mult=Math.sqrt(1-(x*x)/(a*a))}
526mult=easer(mult)}else if(type==6){if(e===s){mult=0}else{ind=min(max(0,ind+0.5-s),e-s);mult=(1+(Math.cos((Math.PI+Math.PI*2*(ind)/(e-s)))))/2}
527mult=easer(mult)}else{if(ind>=floor(s)){if(ind-s<0){mult=1-(s-ind)}else{mult=max(0,min(e-ind,1))}}
528mult=easer(mult)}
529return mult*this.a.v},getValue:function(newCharsFlag){this.iterateDynamicProperties();this._mdf=newCharsFlag||this._mdf;this._currentTextLength=this.elem.textProperty.currentData.l.length||0;if(newCharsFlag&&this.data.r===2){this.e.v=this._currentTextLength}
530var divisor=this.data.r===2?1:100/this._currentTextLength;var o=this.o.v/divisor;var s=this.s.v/divisor+o;var e=(this.e.v/divisor)+o;if(s>e){var _s=s;s=e;e=_s}
531this.finalS=s;this.finalE=e}}
532extendPrototype([DynamicPropertyContainer],TextSelectorProp);function getTextSelectorProp(elem,data,arr){return new TextSelectorProp(elem,data,arr)}
533return{getTextSelectorProp:getTextSelectorProp}}());var pool_factory=(function(){return function(initialLength,_create,_release,_clone){var _length=0;var _maxLength=initialLength;var pool=createSizedArray(_maxLength);var ob={newElement:newElement,release:release};function newElement(){var element;if(_length){_length-=1;element=pool[_length]}else{element=_create()}
534return element}
535function release(element){if(_length===_maxLength){pool=pooling.double(pool);_maxLength=_maxLength*2}
536if(_release){_release(element)}
537pool[_length]=element;_length+=1}
538function clone(){var clonedElement=newElement();return _clone(clonedElement)}
539return ob}}());var pooling=(function(){function double(arr){return arr.concat(createSizedArray(arr.length))}
540return{double:double}}());var point_pool=(function(){function create(){return createTypedArray('float32',2)}
541return pool_factory(8,create)}());var shape_pool=(function(){function create(){return new ShapePath()}
542function release(shapePath){var len=shapePath._length,i;for(i=0;i<len;i+=1){point_pool.release(shapePath.v[i]);point_pool.release(shapePath.i[i]);point_pool.release(shapePath.o[i]);shapePath.v[i]=null;shapePath.i[i]=null;shapePath.o[i]=null}
543shapePath._length=0;shapePath.c=!1}
544function clone(shape){var cloned=factory.newElement();var i,len=shape._length===undefined?shape.v.length:shape._length;cloned.setLength(len);cloned.c=shape.c;var pt;for(i=0;i<len;i+=1){cloned.setTripleAt(shape.v[i][0],shape.v[i][1],shape.o[i][0],shape.o[i][1],shape.i[i][0],shape.i[i][1],i)}
545return cloned}
546var factory=pool_factory(4,create,release);factory.clone=clone;return factory}());var shapeCollection_pool=(function(){var ob={newShapeCollection:newShapeCollection,release:release};var _length=0;var _maxLength=4;var pool=createSizedArray(_maxLength);function newShapeCollection(){var shapeCollection;if(_length){_length-=1;shapeCollection=pool[_length]}else{shapeCollection=new ShapeCollection()}
547return shapeCollection}
548function release(shapeCollection){var i,len=shapeCollection._length;for(i=0;i<len;i+=1){shape_pool.release(shapeCollection.shapes[i])}
549shapeCollection._length=0;
549if(_length===_maxLength){pool=pooling.double(pool);_maxLength=_maxLength*2}
550pool[_length]=shapeCollection;_length+=1}
551return ob}());var segments_length_pool=(function(){function create(){return{lengths:[],totalLength:0}}
552function release(element){var i,len=element.lengths.length;for(i=0;i<len;i+=1){bezier_length_pool.release(element.lengths[i])}
553element.lengths.length=0}
554return pool_factory(8,create,release)}());var bezier_length_pool=(function(){function create(){return{addedLength:0,percents:createTypedArray('float32',defaultCurveSegments),lengths:createTypedArray('float32',defaultCurveSegments),}}
555return pool_factory(8,create)}());function BaseRenderer(){}
556BaseRenderer.prototype.checkLayers=function(num){var i,len=this.layers.length,data;this.completeLayers=!0;for(i=len-1;i>=0;i--){if(!this.elements[i]){data=this.layers[i];if(data.ip-data.st<=(num-this.layers[i].st)&&data.op-data.st>(num-this.layers[i].st)){this.buildItem(i)}}
557this.completeLayers=this.elements[i]?this.completeLayers:!1}
558this.checkPendingElements()};BaseRenderer.prototype.createItem=function(layer){switch(layer.ty){case 2:return this.createImage(layer);case 0:return this.createComp(layer);case 1:return this.createSolid(layer);case 3:return this.createNull(layer);case 4:return this.createShape(layer);case 5:return this.createText(layer);case 13:return this.createCamera(layer)}
559return this.createNull(layer)};BaseRenderer.prototype.createCamera=function(){throw new Error('You\'re using a 3d camera. Try the html renderer.')};BaseRenderer.prototype.buildAllItems=function(){var i,len=this.layers.length;for(i=0;i<len;i+=1){this.buildItem(i)}
560this.checkPendingElements()};BaseRenderer.prototype.includeLayers=function(newLayers){this.completeLayers=!1;var i,len=newLayers.length;var j,jLen=this.layers.length;for(i=0;i<len;i+=1){j=0;while(j<jLen){if(this.layers[j].id==newLayers[i].id){this.layers[j]=newLayers[i];break}
561j+=1}}};BaseRenderer.prototype.setProjectInterface=function(pInterface){this.globalData.projectInterface=pInterface};BaseRenderer.prototype.initItems=function(){if(!this.globalData.progressiveLoad){this.buildAllItems()}};BaseRenderer.prototype.buildElementParenting=function(element,parentName,hierarchy){var elements=this.elements;var layers=this.layers;var i=0,len=layers.length;while(i<len){if(layers[i].ind==parentName){if(!elements[i]||elements[i]===!0){this.buildItem(i);this.addPendingElement(element)}else{hierarchy.push(elements[i]);elements[i].setAsParent();if(layers[i].parent!==undefined){this.buildElementParenting(element,layers[i].parent,hierarchy)}else{element.setHierarchy(hierarchy)}}}
562i+=1}};BaseRenderer.prototype.addPendingElement=function(element){this.pendingElements.push(element)};BaseRenderer.prototype.searchExtraCompositions=function(assets){var i,len=assets.length;for(i=0;i<len;i+=1){if(assets[i].xt){var comp=this.createComp(assets[i]);comp.initExpressions();this.globalData.projectInterface.registerComposition(comp)}}};BaseRenderer.prototype.setupGlobalData=function(animData,fontsContainer){this.globalData.fontManager=new FontManager();this.globalData.fontManager.addChars(animData.chars);this.globalData.fontManager.addFonts(animData.fonts,fontsContainer);this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem);this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem);this.globalData.elementLoaded=this.animationItem.elementLoaded.bind(this.animationItem);this.globalData.addPendingElement=this.animationItem.addPendingElement.bind(this.animationItem);this.globalData.frameId=0;this.globalData.frameRate=animData.fr;this.globalData.nm=animData.nm;this.globalData.compSize={w:animData.w,h:animData.h}}
563function SVGRenderer(animationItem,config){this.animationItem=animationItem;this.layers=null;this.renderedFrame=-1;this.svgElement=createNS('svg');var defs=createNS('defs');this.svgElement.appendChild(defs);var maskElement=createNS('g');this.svgElement.appendChild(maskElement);this.layerElement=maskElement;this.renderConfig={preserveAspectRatio:(config&&config.preserveAspectRatio)||'xMidYMid meet',imagePreserveAspectRatio:(config&&config.imagePreserveAspectRatio)||'xMidYMid slice',progressiveLoad:(config&&config.progressiveLoad)||!1,hideOnTransparent:(config&&config.hideOnTransparent===!1)?!1:!0,viewBoxOnly:(config&&config.viewBoxOnly)||!1,viewBoxSize:(config&&config.viewBoxSize)||!1,className:(config&&config.className)||''};this.globalData={_mdf:!1,frameNum:-1,defs:defs,renderConfig:this.renderConfig};this.elements=[];this.pendingElements=[];this.destroyed=!1}
564extendPrototype([BaseRenderer],SVGRenderer);SVGRenderer.prototype.createNull=function(data){return new NullElement(data,this.globalData,this)};SVGRenderer.prototype.createShape=function(data){return new SVGShapeElement(data,this.globalData,this)};SVGRenderer.prototype.createText=function(data){return new SVGTextElement(data,this.globalData,this)};SVGRenderer.prototype.createImage=function(data){return new IImageElement(data,this.globalData,this)};SVGRenderer.prototype.createComp=function(data){return new SVGCompElement(data,this.globalData,this)};SVGRenderer.prototype.createSolid=function(data){return new ISolidElement(data,this.globalData,this)};SVGRenderer.prototype.configAnimation=function(animData){this.svgElement.setAttribute('xmlns','http://www.w3.org/2000/svg');if(this.renderConfig.viewBoxSize){this.svgElement.setAttribute('viewBox',this.renderConfig.viewBoxSize)}else{this.svgElement.setAttribute('viewBox','0 0 '+animData.w+' '+animData.h)}
565if(!this.renderConfig.viewBoxOnly){this.svgElement.setAttribute('width',animData.w);this.svgElement.setAttribute('height',animData.h);this.svgElement.style.width='100%';this.svgElement.style.height='100%';
565this.svgElement.style.transform='translate3d(0,0,0)'}
566if(this.renderConfig.className){this.svgElement.setAttribute('class',this.renderConfig.className)}
567this.svgElement.setAttribute('preserveAspectRatio',this.renderConfig.preserveAspectRatio);this.animationItem.wrapper.appendChild(this.svgElement);var defs=this.globalData.defs;this.setupGlobalData(animData,defs);this.globalData.progressiveLoad=this.renderConfig.progressiveLoad;this.data=animData;var maskElement=createNS('clipPath');var rect=createNS('rect');rect.setAttribute('width',animData.w);rect.setAttribute('height',animData.h);rect.setAttribute('x',0);rect.setAttribute('y',0);var maskId='animationMask_'+randomString(10);maskElement.setAttribute('id',maskId);maskElement.appendChild(rect);this.layerElement.setAttribute("clip-path","url("+locationHref+"#"+maskId+")");defs.appendChild(maskElement);this.layers=animData.layers;this.elements=createSizedArray(animData.layers.length)};SVGRenderer.prototype.destroy=function(){this.animationItem.wrapper.innerHTML='';this.layerElement=null;this.globalData.defs=null;var i,len=this.layers?this.layers.length:0;for(i=0;i<len;i++){if(this.elements[i]){this.elements[i].destroy()}}
568this.elements.length=0;this.destroyed=!0;this.animationItem=null};SVGRenderer.prototype.updateContainerSize=function(){};SVGRenderer.prototype.buildItem=function(pos){var elements=this.elements;if(elements[pos]||this.layers[pos].ty==99){return}
569elements[pos]=!0;var element=this.createItem(this.layers[pos]);elements[pos]=element;if(expressionsPlugin){if(this.layers[pos].ty===0){this.globalData.projectInterface.registerComposition(element)}
570element.initExpressions()}
571this.appendElementInPos(element,pos);if(this.layers[pos].tt){if(!this.elements[pos-1]||this.elements[pos-1]===!0){this.buildItem(pos-1);this.addPendingElement(element)}else{element.setMatte(elements[pos-1].layerId)}}};SVGRenderer.prototype.checkPendingElements=function(){while(this.pendingElements.length){var element=this.pendingElements.pop();element.checkParenting();if(element.data.tt){var i=0,len=this.elements.length;while(i<len){if(this.elements[i]===element){element.setMatte(this.elements[i-1].layerId);break}
572i+=1}}}};SVGRenderer.prototype.renderFrame=function(num){if(this.renderedFrame===num||this.destroyed){return}
573if(num===null){num=this.renderedFrame}else{this.renderedFrame=num}
574this.globalData.frameNum=num;this.globalData.frameId+=1;this.globalData.projectInterface.currentFrame=num;this.globalData._mdf=!1;var i,len=this.layers.length;if(!this.completeLayers){this.checkLayers(num)}
575for(i=len-1;i>=0;i--){if(this.completeLayers||this.elements[i]){this.elements[i].prepareFrame(num-this.layers[i].st)}}
576if(this.globalData._mdf){for(i=0;i<len;i+=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame()}}}};SVGRenderer.prototype.appendElementInPos=function(element,pos){var newElement=element.getBaseElement();if(!newElement){return}
577var i=0;var nextElement;while(i<pos){if(this.elements[i]&&this.elements[i]!==!0&&this.elements[i].getBaseElement()){nextElement=this.elements[i].getBaseElement()}
578i+=1}
579if(nextElement){this.layerElement.insertBefore(newElement,nextElement)}else{this.layerElement.appendChild(newElement)}};SVGRenderer.prototype.hide=function(){this.layerElement.style.display='none'};SVGRenderer.prototype.show=function(){this.layerElement.style.display='block'};function MaskElement(data,element,globalData){this.data=data;this.element=element;this.globalData=globalData;this.storedData=[];this.masksProperties=this.data.masksProperties||[];this.maskElement=null;var defs=this.globalData.defs;var i,len=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(len);this.solidPath='';var path,properties=this.masksProperties;var count=0;var currentMasks=[];var j,jLen;var layerId=randomString(10);var rect,expansor,feMorph,x;var maskType='clipPath',maskRef='clip-path';for(i=0;i<len;i++){if((properties[i].mode!=='a'&&properties[i].mode!=='n')||properties[i].inv||properties[i].o.k!==100){maskType='mask';maskRef='mask'}
580if((properties[i].mode=='s'||properties[i].mode=='i')&&count===0){rect=createNS('rect');rect.setAttribute('fill','#ffffff');rect.setAttribute('width',this.element.comp.data.w||0);rect.setAttribute('height',this.element.comp.data.h||0);currentMasks.push(rect)}else{rect=null}
581path=createNS('path');if(properties[i].mode=='n'){this.viewData[i]={op:PropertyFactory.getProp(this.element,properties[i].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,properties[i],3),elem:path,lastPath:''};defs.appendChild(path);continue}
582count+=1;path.setAttribute('fill',properties[i].mode==='s'?'#000000':'#ffffff');path.setAttribute('clip-rule','nonzero');var filterID;if(properties[i].x.k!==0){maskType='mask';maskRef='mask';
582x=PropertyFactory.getProp(this.element,properties[i].x,0,null,this.element);filterID='fi_'+randomString(10);expansor=createNS('filter');expansor.setAttribute('id',filterID);feMorph=createNS('feMorphology');feMorph.setAttribute('operator','dilate');feMorph.setAttribute('in','SourceGraphic');feMorph.setAttribute('radius','0');expansor.appendChild(feMorph);defs.appendChild(expansor);path.setAttribute('stroke',properties[i].mode==='s'?'#000000':'#ffffff')}else{feMorph=null;x=null}
583this.storedData[i]={elem:path,x:x,expan:feMorph,lastPath:'',lastOperator:'',filterId:filterID,lastRadius:0};if(properties[i].mode=='i'){jLen=currentMasks.length;var g=createNS('g');for(j=0;j<jLen;j+=1){g.appendChild(currentMasks[j])}
584var mask=createNS('mask');mask.setAttribute('mask-type','alpha');mask.setAttribute('id',layerId+'_'+count);mask.appendChild(path);defs.appendChild(mask);g.setAttribute('mask','url('+locationHref+'#'+layerId+'_'+count+')');currentMasks.length=0;currentMasks.push(g)}else{currentMasks.push(path)}
585if(properties[i].inv&&!this.solidPath){this.solidPath=this.createLayerSolidPath()}
586this.viewData[i]={elem:path,lastPath:'',op:PropertyFactory.getProp(this.element,properties[i].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,properties[i],3),invRect:rect};if(!this.viewData[i].prop.k){this.drawPath(properties[i],this.viewData[i].prop.v,this.viewData[i])}}
587this.maskElement=createNS(maskType);len=currentMasks.length;for(i=0;i<len;i+=1){this.maskElement.appendChild(currentMasks[i])}
588if(count>0){this.maskElement.setAttribute('id',layerId);this.element.maskedElement.setAttribute(maskRef,"url("+locationHref+"#"+layerId+")");defs.appendChild(this.maskElement)}
589if(this.viewData.length){this.element.addRenderableComponent(this)}}
590MaskElement.prototype.getMaskProperty=function(pos){return this.viewData[pos].prop};MaskElement.prototype.renderFrame=function(isFirstFrame){var finalMat=this.element.finalTransform.mat;var i,len=this.masksProperties.length;for(i=0;i<len;i++){if(this.viewData[i].prop._mdf||isFirstFrame){this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i])}
591if(this.viewData[i].op._mdf||isFirstFrame){this.viewData[i].elem.setAttribute('fill-opacity',this.viewData[i].op.v)}
592if(this.masksProperties[i].mode!=='n'){if(this.viewData[i].invRect&&(this.element.finalTransform.mProp._mdf||isFirstFrame)){this.viewData[i].invRect.setAttribute('x',-finalMat.props[12]);this.viewData[i].invRect.setAttribute('y',-finalMat.props[13])}
593if(this.storedData[i].x&&(this.storedData[i].x._mdf||isFirstFrame)){var feMorph=this.storedData[i].expan;if(this.storedData[i].x.v<0){if(this.storedData[i].lastOperator!=='erode'){this.storedData[i].lastOperator='erode';this.storedData[i].elem.setAttribute('filter','url('+locationHref+'#'+this.storedData[i].filterId+')')}
594feMorph.setAttribute('radius',-this.storedData[i].x.v)}else{if(this.storedData[i].lastOperator!=='dilate'){this.storedData[i].lastOperator='dilate';this.storedData[i].elem.setAttribute('filter',null)}
595this.storedData[i].elem.setAttribute('stroke-width',this.storedData[i].x.v*2)}}}}};MaskElement.prototype.getMaskelement=function(){return this.maskElement};MaskElement.prototype.createLayerSolidPath=function(){var path='M0,0 ';path+=' h'+this.globalData.compSize.w;path+=' v'+this.globalData.compSize.h;path+=' h-'+this.globalData.compSize.w;path+=' v-'+this.globalData.compSize.h+' ';return path};MaskElement.prototype.drawPath=function(pathData,pathNodes,viewData){var pathString=" M"+pathNodes.v[0][0]+','+pathNodes.v[0][1];var i,len;len=pathNodes._length;for(i=1;i<len;i+=1){pathString+=" C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1]+" "+pathNodes.i[i][0]+','+pathNodes.i[i][1]+" "+pathNodes.v[i][0]+','+pathNodes.v[i][1]}
596if(pathNodes.c&&len>1){pathString+=" C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1]+" "+pathNodes.i[0][0]+','+pathNodes.i[0][1]+" "+pathNodes.v[0][0]+','+pathNodes.v[0][1]}
597if(viewData.lastPath!==pathString){var pathShapeValue='';if(viewData.elem){if(pathNodes.c){pathShapeValue=pathData.inv?this.solidPath+pathString:pathString}
598viewData.elem.setAttribute('d',pathShapeValue)}
599viewData.lastPath=pathString}};MaskElement.prototype.destroy=function(){this.element=null;this.globalData=null;this.maskElement=null;this.data=null;this.masksProperties=null};function HierarchyElement(){}
600HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[];this._isParent=!1;this.checkParenting()},setHierarchy:function(hierarchy){this.hierarchy=hierarchy},setAsParent:function(){this._isParent=!0},checkParenting:function(){if(this.data.parent!==undefined){this.comp.buildElementParenting(this,this.data.parent,[])}}};function FrameElement(){}
601FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1;this.dynamicProperties=[];this._mdf=!1},prepareProperties:function(num,isVisible){var i,len=this.dynamicProperties.length;for(i=0;i<len;i+=1){if(isVisible||(this._isParent&&this.dynamicProperties[i].propType==='transform')){this.dynamicProperties[i].getValue();if(this.dynamicProperties[i]._mdf){this.globalData._mdf=!0;this._mdf=!0}}}},addDynamicProperty:function(prop){if(this.dynamicProperties.indexOf(prop)===-1){this.dynamicProperties.push(prop)}}};function TransformElement(){}
602TransformElement.prototype={initTransform:function(){this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_opMdf:!1,mat:new Matrix()};if(this.data.ao){this.finalTransform.mProp.autoOriented=!0}
603if(this.data.ty!==11){}},renderTransform:function(){this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame;this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame;if(this.hierarchy){var mat;var finalMat=this.finalTransform.mat;var i=0,len=this.hierarchy.length;if(!this.finalTransform._matMdf){while(i<len){if(this.hierarchy[i].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}
604i+=1}}
605if(this.finalTransform._matMdf){mat=this.finalTransform.mProp.v.props;finalMat.cloneFromProps(mat);for(i=0;i<len;i+=1){mat=this.hierarchy[i].finalTransform.mProp.v.props;finalMat.transform(mat[0],mat[1],mat[2],mat[3],mat[4],mat[5],mat[6],mat[7],mat[8],mat[9],mat[10],mat[11],mat[12],mat[13],mat[14],mat[15])}}}},globalToLocal:function(pt){var transforms=[];transforms.push(this.finalTransform);var flag=!0;var comp=this.comp;
605while(flag){if(comp.finalTransform){if(comp.data.hasMask){transforms.splice(0,0,comp.finalTransform)}
606comp=comp.comp}else{flag=!1}}
607var i,len=transforms.length,ptNew;for(i=0;i<len;i+=1){ptNew=transforms[i].mat.applyToPointArray(0,0,0);pt=[pt[0]-ptNew[0],pt[1]-ptNew[1],0]}
608return pt},mHelper:new Matrix()};function RenderableElement(){}
609RenderableElement.prototype={initRenderable:function(){this.isInRange=!1;this.hidden=!1;this.isTransparent=!1;this.renderableComponents=[]},addRenderableComponent:function(component){if(this.renderableComponents.indexOf(component)===-1){this.renderableComponents.push(component)}},removeRenderableComponent:function(component){if(this.renderableComponents.indexOf(component)!==-1){this.renderableComponents.splice(this.renderableComponents.indexOf(component),1)}},prepareRenderableFrame:function(num){this.checkLayerLimits(num)},checkTransparency:function(){if(this.finalTransform.mProp.o.v<=0){if(!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent){this.isTransparent=!0;this.hide()}}else if(this.isTransparent){this.isTransparent=!1;this.show()}},checkLayerLimits:function(num){if(this.data.ip-this.data.st<=num&&this.data.op-this.data.st>num){if(this.isInRange!==!0){this.globalData._mdf=!0;this._mdf=!0;this.isInRange=!0;this.show()}}else{if(this.isInRange!==!1){this.globalData._mdf=!0;this.isInRange=!1;this.hide()}}},renderRenderable:function(){var i,len=this.renderableComponents.length;for(i=0;i<len;i+=1){this.renderableComponents[i].renderFrame(this._isFirstFrame)}},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){if(this.data.ty===5){return{w:this.data.textData.width,h:this.data.textData.height}}else{return{w:this.data.width,h:this.data.height}}}};function RenderableDOMElement(){}(function(){var _prototype={initElement:function(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initTransform(data,globalData,comp);this.initHierarchy();this.initRenderable();this.initRendererElement();this.createContainerElements();this.addMasks();this.createContent();this.hide()},hide:function(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var elem=this.baseElement||this.layerElement;elem.style.display='none';this.hidden=!0}},show:function(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var elem=this.baseElement||this.layerElement;elem.style.display='block'}
610this.hidden=!1;this._isFirstFrame=!0}},renderFrame:function(){if(this.data.hd||this.hidden){return}
611this.renderTransform();this.renderRenderable();this.renderElement();this.renderInnerContent();if(this._isFirstFrame){this._isFirstFrame=!1}},renderInnerContent:function(){},prepareFrame:function(num){this._mdf=!1;this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange);this.checkTransparency()},destroy:function(){this.innerElem=null;this.destroyBaseElement()}};extendPrototype([RenderableElement,createProxyFunction(_prototype)],RenderableDOMElement)}());function ProcessedElement(element,position){this.elem=element;this.pos=position}
612function SVGStyleData(data,level){this.data=data;this.type=data.ty;this.d='';this.lvl=level;this._mdf=!1;this.closed=!1;this.pElem=createNS('path');this.msElem=null}
613SVGStyleData.prototype.reset=function(){this.d='';this._mdf=!1};function SVGShapeData(transformers,level,shape){this.caches=[];this.styles=[];this.transformers=transformers;this.lStr='';this.sh=shape;this.lvl=level;this._isAnimated=!!shape.k;var i=0,len=transformers.length;while(i<len){if(transformers[i].mProps.dynamicProperties.length){this._isAnimated=!0;break}
614i+=1}}
615SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0}
616function SVGTransformData(mProps,op,container){this.transform={mProps:mProps,op:op,container:container};this.elements=[];this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}
617function SVGStrokeStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.o=PropertyFactory.getProp(elem,data.o,0,0.01,this);this.w=PropertyFactory.getProp(elem,data.w,0,null,this);this.d=new DashProperty(elem,data.d||{},'svg',this);this.c=PropertyFactory.getProp(elem,data.c,1,255,this);this.style=styleOb;this._isAnimated=!!this._isAnimated}
618extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.o=PropertyFactory.getProp(elem,data.o,0,0.01,this);this.c=PropertyFactory.getProp(elem,data.c,1,255,this);this.style=styleOb}
619extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGGradientFillStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.initGradientData(elem,data,styleOb)}
620SVGGradientFillStyleData.prototype.initGradientData=function(elem,data,styleOb){this.o=PropertyFactory.getProp(elem,data.o,0,0.01,this);this.s=PropertyFactory.getProp(elem,data.s,1,null,this);
620this.e=PropertyFactory.getProp(elem,data.e,1,null,this);this.h=PropertyFactory.getProp(elem,data.h||{k:0},0,0.01,this);this.a=PropertyFactory.getProp(elem,data.a||{k:0},0,degToRads,this);this.g=new GradientProperty(elem,data.g,this);this.style=styleOb;this.stops=[];this.setGradientData(styleOb.pElem,data);this.setGradientOpacity(data,styleOb);this._isAnimated=!!this._isAnimated};SVGGradientFillStyleData.prototype.setGradientData=function(pathElement,data){var gradientId='gr_'+randomString(10);var gfill=createNS(data.t===1?'linearGradient':'radialGradient');gfill.setAttribute('id',gradientId);gfill.setAttribute('spreadMethod','pad');gfill.setAttribute('gradientUnits','userSpaceOnUse');var stops=[];var stop,j,jLen;jLen=data.g.p*4;for(j=0;j<jLen;j+=4){stop=createNS('stop');gfill.appendChild(stop);stops.push(stop)}
621pathElement.setAttribute(data.ty==='gf'?'fill':'stroke','url(#'+gradientId+')');this.gf=gfill;this.cst=stops};SVGGradientFillStyleData.prototype.setGradientOpacity=function(data,styleOb){if(this.g._hasOpacity&&!this.g._collapsable){var stop,j,jLen;var mask=createNS("mask");var maskElement=createNS('path');mask.appendChild(maskElement);var opacityId='op_'+randomString(10);var maskId='mk_'+randomString(10);mask.setAttribute('id',maskId);var opFill=createNS(data.t===1?'linearGradient':'radialGradient');opFill.setAttribute('id',opacityId);opFill.setAttribute('spreadMethod','pad');opFill.setAttribute('gradientUnits','userSpaceOnUse');jLen=data.g.k.k[0].s?data.g.k.k[0].s.length:data.g.k.k.length;var stops=this.stops;for(j=data.g.p*4;j<jLen;j+=2){stop=createNS('stop');stop.setAttribute('stop-color','rgb(255,255,255)');opFill.appendChild(stop);stops.push(stop)}
622maskElement.setAttribute(data.ty==='gf'?'fill':'stroke','url(#'+opacityId+')');this.of=opFill;this.ms=mask;this.ost=stops;this.maskId=maskId;styleOb.msElem=maskElement}};extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(elem,data,styleOb){this.initDynamicPropertyContainer(elem);this.getValue=this.iterateDynamicProperties;this.w=PropertyFactory.getProp(elem,data.w,0,null,this);this.d=new DashProperty(elem,data.d||{},'svg',this);this.initGradientData(elem,data,styleOb);this._isAnimated=!!this._isAnimated}
623extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[];this.prevViewData=[];this.gr=createNS('g')}
624var SVGElementsRenderer=(function(){var _identityMatrix=new Matrix();var _matrixHelper=new Matrix();var ob={createRenderFunction:createRenderFunction}
625function createRenderFunction(data){var ty=data.ty;switch(data.ty){case 'fl':return renderFill;case 'gf':return renderGradient;case 'gs':return renderGradientStroke;case 'st':return renderStroke;case 'sh':case 'el':case 'rc':case 'sr':return renderPath;case 'tr':return renderContentTransform}}
626function renderContentTransform(styleData,itemData,isFirstFrame){if(isFirstFrame||itemData.transform.op._mdf){itemData.transform.container.setAttribute('opacity',itemData.transform.op.v)}
627if(isFirstFrame||itemData.transform.mProps._mdf){itemData.transform.container.setAttribute('transform',itemData.transform.mProps.v.to2dCSS())}}
628function renderPath(styleData,itemData,isFirstFrame){var j,jLen,pathStringTransformed,redraw,pathNodes,l,lLen=itemData.styles.length;var lvl=itemData.lvl;var paths,mat,props,iterations,k;for(l=0;l<lLen;l+=1){redraw=itemData.sh._mdf||isFirstFrame;if(itemData.styles[l].lvl<lvl){mat=_matrixHelper.reset();iterations=lvl-itemData.styles[l].lvl;k=itemData.transformers.length-1;while(!redraw&&iterations>0){redraw=itemData.transformers[k].mProps._mdf||redraw;iterations --;k --}
629if(redraw){iterations=lvl-itemData.styles[l].lvl;k=itemData.transformers.length-1;while(iterations>0){props=itemData.transformers[k].mProps.v.props;mat.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);iterations --;k --}}}else{mat=_identityMatrix}
630paths=itemData.sh.paths;jLen=paths._length;if(redraw){pathStringTransformed='';for(j=0;j<jLen;
vendor: 3,067 bytes, lines 630-643
630j+=1){pathNodes=paths.shapes[j];if(pathNodes&&pathNodes._length){pathStringTransformed+=buildShapeString(pathNodes,pathNodes._length,pathNodes.c,mat)}}
631itemData.caches[l]=pathStringTransformed}else{pathStringTransformed=itemData.caches[l]}
632itemData.styles[l].d+=pathStringTransformed;itemData.styles[l]._mdf=redraw||itemData.styles[l]._mdf}}
633function renderFill(styleData,itemData,isFirstFrame){var styleElem=itemData.style;if(itemData.c._mdf||isFirstFrame){styleElem.pElem.setAttribute('fill','rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')')}
634if(itemData.o._mdf||isFirstFrame){styleElem.pElem.setAttribute('fill-opacity',itemData.o.v)}};function renderGradientStroke(styleData,itemData,isFirstFrame){renderGradient(styleData,itemData,isFirstFrame);renderStroke(styleData,itemData,isFirstFrame)}
635function renderGradient(styleData,itemData,isFirstFrame){var gfill=itemData.gf;var hasOpacity=itemData.g._hasOpacity;var pt1=itemData.s.v,pt2=itemData.e.v;if(itemData.o._mdf||isFirstFrame){var attr=styleData.ty==='gf'?'fill-opacity':'stroke-opacity';itemData.style.pElem.setAttribute(attr,itemData.o.v)}
636if(itemData.s._mdf||isFirstFrame){var attr1=styleData.t===1?'x1':'cx';var attr2=attr1==='x1'?'y1':'cy';gfill.setAttribute(attr1,pt1[0]);gfill.setAttribute(attr2,pt1[1]);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute(attr1,pt1[0]);itemData.of.setAttribute(attr2,pt1[1])}}
637var stops,i,len,stop;if(itemData.g._cmdf||isFirstFrame){stops=itemData.cst;var cValues=itemData.g.c;len=stops.length;for(i=0;i<len;i+=1){stop=stops[i];stop.setAttribute('offset',cValues[i*4]+'%');stop.setAttribute('stop-color','rgb('+cValues[i*4+1]+','+cValues[i*4+2]+','+cValues[i*4+3]+')')}}
638if(hasOpacity&&(itemData.g._omdf||isFirstFrame)){var oValues=itemData.g.o;if(itemData.g._collapsable){stops=itemData.cst}else{stops=itemData.ost}
639len=stops.length;for(i=0;i<len;i+=1){stop=stops[i];if(!itemData.g._collapsable){stop.setAttribute('offset',oValues[i*2]+'%')}
640stop.setAttribute('stop-opacity',oValues[i*2+1])}}
641if(styleData.t===1){if(itemData.e._mdf||isFirstFrame){gfill.setAttribute('x2',pt2[0]);gfill.setAttribute('y2',pt2[1]);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute('x2',pt2[0]);itemData.of.setAttribute('y2',pt2[1])}}}else{var rad;if(itemData.s._mdf||itemData.e._mdf||isFirstFrame){rad=Math.sqrt(Math.pow(pt1[0]-pt2[0],2)+Math.pow(pt1[1]-pt2[1],2));gfill.setAttribute('r',rad);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute('r',rad)}}
642if(itemData.e._mdf||itemData.h._mdf||itemData.a._mdf||isFirstFrame){if(!rad){rad=Math.sqrt(Math.pow(pt1[0]-pt2[0],2)+Math.pow(pt1[1]-pt2[1],2))}
643var ang=Math.atan2(pt2[1]-pt1[1],pt2[0]-pt1[0]);var percent=itemData.h.v>=1?0.99:itemData.h.v<=-1?-0.99:itemData.h.v;var dist=rad*percent;var x=Math.cos(ang+itemData.a.v)*dist+pt1[0];var y=Math.sin(ang+itemData.a.v)*dist+pt1[1];gfill.setAttribute('fx',x);gfill.setAttribute('fy',y);if(hasOpacity&&!itemData.g._collapsable){itemData.of.setAttribute('fx',x);itemData.of.setAttribute('fy',y)}}}};
643function renderStroke(styleData,itemData,isFirstFrame){var styleElem=itemData.style;var d=itemData.d;if(d&&(d._mdf||isFirstFrame)&&d.dashStr){styleElem.pElem.setAttribute('stroke-dasharray',d.dashStr);styleElem.pElem.setAttribute('stroke-dashoffset',d.dashoffset[0])}
644if(itemData.c&&(itemData.c._mdf||isFirstFrame)){styleElem.pElem.setAttribute('stroke','rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')')}
645if(itemData.o._mdf||isFirstFrame){styleElem.pElem.setAttribute('stroke-opacity',itemData.o.v)}
646if(itemData.w._mdf||isFirstFrame){styleElem.pElem.setAttribute('stroke-width',itemData.w.v);if(styleElem.msElem){styleElem.msElem.setAttribute('stroke-width',itemData.w.v)}}};return ob}())
647function BaseElement(){}
648BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask){return!1}
649var i=0,len=this.data.masksProperties.length;while(i<len){if((this.data.masksProperties[i].mode!=='n'&&this.data.masksProperties[i].cl!==!1)){return!0}
650i+=1}
651return!1},initExpressions:function(){this.layerInterface=LayerExpressionInterface(this);if(this.data.hasMask&&this.maskManager){this.layerInterface.registerMaskInterface(this.maskManager)}
652var effectsInterface=EffectsExpressionInterface.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(effectsInterface);if(this.data.ty===0||this.data.xt){this.compInterface=CompExpressionInterface(this)}else if(this.data.ty===4){this.layerInterface.shapeInterface=ShapeExpressionInterface(this.shapesData,this.itemsData,this.layerInterface);this.layerInterface.content=this.layerInterface.shapeInterface}else if(this.data.ty===5){this.layerInterface.textInterface=TextExpressionInterface(this);this.layerInterface.text=this.layerInterface.textInterface}},blendModeEnums:{1:'multiply',2:'screen',3:'overlay',4:'darken',5:'lighten',6:'color-dodge',7:'color-burn',8:'hard-light',9:'soft-light',10:'difference',11:'exclusion',12:'hue',13:'saturation',14:'color',15:'luminosity'}
652,getBlendMode:function(){return this.blendModeEnums[this.data.bm]||''},setBlendMode:function(){var blendModeValue=this.getBlendMode();var elem=this.baseElement||this.layerElement;elem.style['mix-blend-mode']=blendModeValue},initBaseData:function(data,globalData,comp){this.globalData=globalData;this.comp=comp;this.data=data;this.layerId='ly_'+randomString(10);if(!this.data.sr){this.data.sr=1}
653this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type}}
654function NullElement(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initFrame();this.initTransform(data,globalData,comp);this.initHierarchy()}
655NullElement.prototype.prepareFrame=function(num){this.prepareProperties(num,!0)};NullElement.prototype.renderFrame=function(){};NullElement.prototype.getBaseElement=function(){return null};NullElement.prototype.destroy=function(){};NullElement.prototype.sourceRectAtTime=function(){};NullElement.prototype.hide=function(){};extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGBaseElement(){}
656SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS('g')},createContainerElements:function(){this.matteElement=createNS('g');this.transformedElement=this.layerElement;this.maskedElement=this.layerElement;this._sizeChanged=!1;var layerElementParent=null;var filId,fil,gg;if(this.data.td){if(this.data.td==3||this.data.td==1){var masker=createNS('mask');masker.setAttribute('id',this.layerId);masker.setAttribute('mask-type',this.data.td==3?'luminance':'alpha');masker.appendChild(this.layerElement);layerElementParent=masker;this.globalData.defs.appendChild(masker);if(!featureSupport.maskType&&this.data.td==1){masker.setAttribute('mask-type','luminance');filId=randomString(10);fil=filtersFactory.createFilter(filId);this.globalData.defs.appendChild(fil);fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());gg=createNS('g');gg.appendChild(this.layerElement);layerElementParent=gg;masker.appendChild(gg);gg.setAttribute('filter','url('+locationHref+'#'+filId+')')}}else if(this.data.td==2){var maskGroup=createNS('mask');maskGroup.setAttribute('id',this.layerId);maskGroup.setAttribute('mask-type','alpha');var maskGrouper=createNS('g');maskGroup.appendChild(maskGrouper);filId=randomString(10);fil=filtersFactory.createFilter(filId);var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','sRGB');feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');fil.appendChild(feColorMatrix);this.globalData.defs.appendChild(fil);var alphaRect=createNS('rect');alphaRect.setAttribute('width',this.comp.data.w);alphaRect.setAttribute('height',this.comp.data.h);alphaRect.setAttribute('x','0');alphaRect.setAttribute('y','0');alphaRect.setAttribute('fill','#ffffff');alphaRect.setAttribute('opacity','0');maskGrouper.setAttribute('filter','url('+locationHref+'#'+filId+')');maskGrouper.appendChild(alphaRect);maskGrouper.appendChild(this.layerElement);layerElementParent=maskGrouper;if(!featureSupport.maskType){maskGroup.setAttribute('mask-type','luminance');fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());gg=createNS('g');maskGrouper.appendChild(alphaRect);gg.appendChild(this.layerElement);layerElementParent=gg;maskGrouper.appendChild(gg)}
657this.globalData.defs.appendChild(maskGroup)}}else if(this.data.tt){this.matteElement.appendChild(this.layerElement);layerElementParent=this.matteElement;this.baseElement=this.matteElement}else{this.baseElement=this.layerElement}
658if(this.data.ln){this.layerElement.setAttribute('id',this.data.ln)}
659if(this.data.cl){this.layerElement.setAttribute('class',this.data.cl)}
660if(this.data.ty===0&&!this.data.hd){var cp=createNS('clipPath');var pt=createNS('path');pt.setAttribute('d','M0,0 L'+this.data.w+',0'+' L'+this.data.w+','+this.data.h+' L0,'+this.data.h+'z');var clipId='cp_'+randomString(8);cp.setAttribute('id',clipId);cp.appendChild(pt);this.globalData.defs.appendChild(cp);if(this.checkMasks()){var cpGroup=createNS('g');cpGroup.setAttribute('clip-path','url('+locationHref+'#'+clipId+')');cpGroup.appendChild(this.layerElement);this.transformedElement=cpGroup;if(layerElementParent){layerElementParent.appendChild(this.transformedElement)}else{this.baseElement=this.transformedElement}}else{this.layerElement.setAttribute('clip-path','url('+locationHref+'#'+clipId+')')}}
661if(this.data.bm!==0){this.setBlendMode()}
662this.renderableEffectsManager=new SVGEffects(this)},renderElement:function(){if(this.finalTransform._matMdf){this.transformedElement.setAttribute('transform',this.finalTransform.mat.to2dCSS())}
663if(this.finalTransform._opMdf){this.transformedElement.setAttribute('opacity',this.finalTransform.mProp.o.v)}},destroyBaseElement:function(){this.layerElement=null;this.matteElement=null;this.maskManager.destroy()},getBaseElement:function(){if(this.data.hd){return null}
664return this.baseElement},addMasks:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},setMatte:function(id){if(!this.matteElement){return}
665this.matteElement.setAttribute("mask","url("+locationHref+"#"+id+")")}};function IShapeElement(){}
666IShapeElement.prototype={addShapeToModifiers:function(data){var i,len=this.shapeModifiers.length;for(i=0;i<len;i+=1){this.shapeModifiers[i].addShape(data)}},isShapeInAnimatedModifiers:function(data){var i=0,len=this.shapeModifiers.length;while(i<len){if(this.shapeModifiers[i].isAnimatedWithShape(data)){return!0}}
667return!1},renderModifiers:function(){if(!this.shapeModifiers.length){return}
668var i,len=this.shapes.length;for(i=0;i<len;i+=1){this.shapes[i].sh.reset()}
669len=this.shapeModifiers.length;for(i=len-1;i>=0;i-=1){this.shapeModifiers[i].processShapes(this._isFirstFrame)}},lcEnum:{'1':'butt','2':'round','3':'square'},ljEnum:{'1':'miter','2':'round','3':'bevel'},searchProcessedElement:function(elem){var elements=this.processedElements;var i=0,len=elements.length;while(i<len){if(elements[i].elem===elem){return elements[i].pos}
670i+=1}
671return 0},addProcessedElement:function(elem,pos){var elements=this.processedElements;var i=elements.length;while(i){i-=1;if(elements[i].elem===elem){elements[i].pos=pos;return}}
672elements.push(new ProcessedElement(elem,pos))},prepareFrame:function(num){this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange)}};function ITextElement(){}
673ITextElement.prototype.initElement=function(data,globalData,comp){this.lettersChangedFlag=!0;this.initFrame();this.initBaseData(data,globalData,comp);this.textProperty=new TextProperty(this,data.t,this.dynamicProperties);this.textAnimator=new TextAnimatorProperty(data.t,this.renderType,this);this.initTransform(data,globalData,comp);this.initHierarchy();this.initRenderable();this.initRendererElement();this.createContainerElements();this.addMasks();this.createContent();this.hide();this.textAnimator.searchProperties(this.dynamicProperties)};ITextElement.prototype.prepareFrame=function(num){this._mdf=!1;this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange);if(this.textProperty._mdf||this.textProperty._isFirstFrame){this.buildNewText();this.textProperty._isFirstFrame=!1;this.textProperty._mdf=!1}};ITextElement.prototype.createPathShape=function(matrixHelper,shapes){var j,jLen=shapes.length;var k,kLen,pathNodes;var shapeStr='';for(j=0;j<jLen;j+=1){pathNodes=shapes[j].ks.k;shapeStr+=buildShapeString(pathNodes,pathNodes.i.length,!0,matrixHelper)}
674return shapeStr};ITextElement.prototype.updateDocumentData=function(newData,index){this.textProperty.updateDocumentData(newData,index)};ITextElement.prototype.canResizeFont=function(_canResize){this.textProperty.canResizeFont(_canResize)};ITextElement.prototype.setMinimumFontSize=function(_fontSize){this.textProperty.setMinimumFontSize(_fontSize)};ITextElement.prototype.applyTextPropertiesToMatrix=function(documentData,matrixHelper,lineNumber,xPos,yPos){if(documentData.ps){matrixHelper.translate(documentData.ps[0],documentData.ps[1]+documentData.ascent,0)}
675matrixHelper.translate(0,-documentData.ls,0);switch(documentData.j){case 1:matrixHelper.translate(documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[lineNumber]),0,0);break;case 2:matrixHelper.translate(documentData.justifyOffset+(documentData.boxWidth-documentData.lineWidths[lineNumber])/2,0,0);break}
676matrixHelper.translate(xPos,yPos,0)};ITextElement.prototype.buildColor=function(colorData){return'rgb('+Math.round(colorData[0]*255)+','+Math.round(colorData[1]*255)+','+Math.round(colorData[2]*255)+')'};ITextElement.prototype.emptyProp=new LetterProps();ITextElement.prototype.destroy=function(){};function ICompElement(){}
677extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement);ICompElement.prototype.initElement=function(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initTransform(data,globalData,comp);this.initRenderable();this.initHierarchy();this.initRendererElement();this.createContainerElements();this.addMasks();if(this.data.xt||!globalData.progressiveLoad){this.buildAllItems()}
678this.hide()};ICompElement.prototype.prepareFrame=function(num){this._mdf=!1;this.prepareRenderableFrame(num);this.prepareProperties(num,this.isInRange);
678if(!this.isInRange&&!this.data.xt){return}
679if(!this.tm._placeholder){var timeRemapped=this.tm.v;if(timeRemapped===this.data.op){timeRemapped=this.data.op-1}
680this.renderedFrame=timeRemapped}else{this.renderedFrame=num/this.data.sr}
681var i,len=this.elements.length;if(!this.completeLayers){this.checkLayers(this.renderedFrame)}
682for(i=len-1;i>=0;i-=1){if(this.completeLayers||this.elements[i]){this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st);if(this.elements[i]._mdf){this._mdf=!0}}}};ICompElement.prototype.renderInnerContent=function(){var i,len=this.layers.length;for(i=0;i<len;i+=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame()}}};ICompElement.prototype.setElements=function(elems){this.elements=elems};ICompElement.prototype.getElements=function(){return this.elements};ICompElement.prototype.destroyElements=function(){var i,len=this.layers.length;for(i=0;i<len;i+=1){if(this.elements[i]){this.elements[i].destroy()}}};ICompElement.prototype.destroy=function(){this.destroyElements();this.destroyBaseElement()};function IImageElement(data,globalData,comp){this.assetData=globalData.getAssetData(data.refId);this.initElement(data,globalData,comp)}
683extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement);IImageElement.prototype.createContent=function(){var assetPath=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS('image');this.innerElem.setAttribute('width',this.assetData.w+"px");this.innerElem.setAttribute('height',this.assetData.h+"px");this.innerElem.setAttribute('preserveAspectRatio',this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio);this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);this.layerElement.appendChild(this.innerElem)};function ISolidElement(data,globalData,comp){this.initElement(data,globalData,comp)}
684extendPrototype([IImageElement],ISolidElement);ISolidElement.prototype.createContent=function(){var rect=createNS('rect');rect.setAttribute('width',this.data.sw);rect.setAttribute('height',this.data.sh);rect.setAttribute('fill',this.data.sc);this.layerElement.appendChild(rect)};function SVGCompElement(data,globalData,comp){this.layers=data.layers;this.supports3d=!0;this.completeLayers=!1;this.pendingElements=[];this.elements=this.layers?createSizedArray(this.layers.length):[];this.initElement(data,globalData,comp);this.tm=data.tm?PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this):{_placeholder:!0}}
685extendPrototype([SVGRenderer,ICompElement,SVGBaseElement],SVGCompElement);function SVGTextElement(data,globalData,comp){this.textSpans=[];this.renderType='svg';this.initElement(data,globalData,comp)}
686extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextElement);SVGTextElement.prototype.createContent=function(){if(this.data.singleShape&&!this.globalData.fontManager.chars){this.textContainer=createNS('text')}};SVGTextElement.prototype.buildTextContents=function(textArray){var i=0,len=textArray.length;var textContents=[],currentTextContent='';while(i<len){if(textArray[i]===String.fromCharCode(13)){textContents.push(currentTextContent);currentTextContent=''}else{currentTextContent+=textArray[i]}
687i+=1}
688textContents.push(currentTextContent);return textContents}
689SVGTextElement.prototype.buildNewText=function(){var i,len;var documentData=this.textProperty.currentData;this.renderedLetters=createSizedArray(documentData?documentData.l.length:0);if(documentData.fc){this.layerElement.setAttribute('fill',this.buildColor(documentData.fc))}else{this.layerElement.setAttribute('fill','rgba(0,0,0,0)')}
690if(documentData.sc){this.layerElement.setAttribute('stroke',this.buildColor(documentData.sc));this.layerElement.setAttribute('stroke-width',documentData.sw)}
691this.layerElement.setAttribute('font-size',documentData.finalSize);var fontData=this.globalData.fontManager.getFontByName(documentData.f);if(fontData.fClass){this.layerElement.setAttribute('class',fontData.fClass)}else{this.layerElement.setAttribute('font-family',fontData.fFamily);
691var fWeight=documentData.fWeight,fStyle=documentData.fStyle;this.layerElement.setAttribute('font-style',fStyle);this.layerElement.setAttribute('font-weight',fWeight)}
692var letters=documentData.l||[];var usesGlyphs=this.globalData.fontManager.chars;len=letters.length;var tSpan;var matrixHelper=this.mHelper;var shapes,shapeStr='',singleShape=this.data.singleShape;var xPos=0,yPos=0,firstLine=!0;var trackingOffset=documentData.tr/1000*documentData.finalSize;if(singleShape&&!usesGlyphs&&!documentData.sz){var tElement=this.textContainer;var justify='start';switch(documentData.j){case 1:justify='end';break;case 2:justify='middle';break}
693tElement.setAttribute('text-anchor',justify);tElement.setAttribute('letter-spacing',trackingOffset);var textContent=this.buildTextContents(documentData.finalText);len=textContent.length;yPos=documentData.ps?documentData.ps[1]+documentData.ascent:0;for(i=0;i<len;i+=1){tSpan=this.textSpans[i]||createNS('tspan');tSpan.textContent=textContent[i];tSpan.setAttribute('x',0);tSpan.setAttribute('y',yPos);tSpan.style.display='inherit';tElement.appendChild(tSpan);this.textSpans[i]=tSpan;yPos+=documentData.finalLineHeight}
694this.layerElement.appendChild(tElement)}else{var cachedSpansLength=this.textSpans.length;var shapeData,charData;for(i=0;i<len;i+=1){if(!usesGlyphs||!singleShape||i===0){tSpan=cachedSpansLength>i?this.textSpans[i]:createNS(usesGlyphs?'path':'text');if(cachedSpansLength<=i){tSpan.setAttribute('stroke-linecap','butt');tSpan.setAttribute('stroke-linejoin','round');tSpan.setAttribute('stroke-miterlimit','4');this.textSpans[i]=tSpan;this.layerElement.appendChild(tSpan)}
695tSpan.style.display='inherit'}
696matrixHelper.reset();matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);if(singleShape){if(letters[i].n){xPos=-trackingOffset;yPos+=documentData.yOffset;yPos+=firstLine?1:0;firstLine=!1}
697this.applyTextPropertiesToMatrix(documentData,matrixHelper,letters[i].line,xPos,yPos);xPos+=letters[i].l||0;xPos+=trackingOffset}
698if(usesGlyphs){charData=this.globalData.fontManager.getCharData(documentData.finalText[i],fontData.fStyle,this.globalData.fontManager.getFontByName(documentData.f).fFamily);shapeData=charData&&charData.data||{};shapes=shapeData.shapes?shapeData.shapes[0].it:[];if(!singleShape){tSpan.setAttribute('d',this.createPathShape(matrixHelper,shapes))}else{shapeStr+=this.createPathShape(matrixHelper,shapes)}}else{if(singleShape){tSpan.setAttribute("transform","translate("+matrixHelper.props[12]+","+matrixHelper.props[13]+")")}
699tSpan.textContent=letters[i].val;tSpan.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}}
700if(singleShape&&tSpan){tSpan.setAttribute('d',shapeStr)}}
701while(i<this.textSpans.length){this.textSpans[i].style.display='none';i+=1}
702this._sizeChanged=!0};SVGTextElement.prototype.sourceRectAtTime=function(time){this.prepareFrame(this.comp.renderedFrame-this.data.st);this.renderInnerContent();if(this._sizeChanged){this._sizeChanged=!1;var textBox=this.layerElement.getBBox();this.bbox={top:textBox.y,left:textBox.x,width:textBox.width,height:textBox.height}}
703return this.bbox};SVGTextElement.prototype.renderInnerContent=function(){if(!this.data.singleShape){this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);if(this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){this._sizeChanged=!0;var i,len;var renderedLetters=this.textAnimator.renderedLetters;var letters=this.textProperty.currentData.l;len=letters.length;var renderedLetter,textSpan;for(i=0;i<len;i+=1){if(letters[i].n){continue}
704renderedLetter=renderedLetters[i];textSpan=this.textSpans[i];if(renderedLetter._mdf.m){textSpan.setAttribute('transform',renderedLetter.m)}
705if(renderedLetter._mdf.o){textSpan.setAttribute('opacity',renderedLetter.o)}
706if(renderedLetter._mdf.sw){textSpan.setAttribute('stroke-width',renderedLetter.sw)}
707if(renderedLetter._mdf.sc){textSpan.setAttribute('stroke',renderedLetter.sc)}
708if(renderedLetter._mdf.fc){textSpan.setAttribute('fill',renderedLetter.fc)}}}}};function SVGShapeElement(data,globalData,comp){this.shapes=[];this.shapesData=data.shapes;this.stylesList=[];this.shapeModifiers=[];this.itemsData=[];this.processedElements=[];this.animatedContents=[];this.initElement(data,globalData,comp);this.prevViewData=[]}
709extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement);SVGShapeElement.prototype.initSecondaryElement=function(){};SVGShapeElement.prototype.identityMatrix=new Matrix();SVGShapeElement.prototype.buildExpressionInterface=function(){};SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0);this.filterUniqueShapes()};SVGShapeElement.prototype.filterUniqueShapes=function(){var i,len=this.shapes.length,shape;var j,jLen=this.stylesList.length;var style,count=0;var tempShapes=[];var areAnimated=!1;for(j=0;j<jLen;j+=1){style=this.stylesList[j];areAnimated=!1;tempShapes.length=0;for(i=0;i<len;i+=1){shape=this.shapes[i];if(shape.styles.indexOf(style)!==-1){tempShapes.push(shape);areAnimated=shape._isAnimated||areAnimated}}
710if(tempShapes.length>1&&areAnimated){this.setShapesAsAnimated(tempShapes)}}}
711SVGShapeElement.prototype.setShapesAsAnimated=function(shapes){var i,len=shapes.length;for(i=0;i<len;i+=1){shapes[i].setAsAnimated()}}
712SVGShapeElement.prototype.createStyleElement=function(data,level){var elementData;var styleOb=new SVGStyleData(data,level);var pathElement=styleOb.pElem;if(data.ty==='st'){elementData=new SVGStrokeStyleData(this,data,styleOb)}else if(data.ty==='fl'){elementData=new SVGFillStyleData(this,data,styleOb)}else if(data.ty==='gf'||data.ty==='gs'){var gradientConstructor=data.ty==='gf'?SVGGradientFillStyleData:SVGGradientStrokeStyleData;elementData=new gradientConstructor(this,data,styleOb);this.globalData.defs.appendChild(elementData.gf);if(elementData.maskId){this.globalData.defs.appendChild(elementData.ms);this.globalData.defs.appendChild(elementData.of);pathElement.setAttribute('mask','url(#'+elementData.maskId+')')}}
713if(data.ty==='st'||data.ty==='gs'){pathElement.setAttribute('stroke-linecap',this.lcEnum[data.lc]||'round');pathElement.setAttribute('stroke-linejoin',this.ljEnum[data.lj]||'round');pathElement.setAttribute('fill-opacity','0');if(data.lj===1){pathElement.setAttribute('stroke-miterlimit',data.ml)}}
714if(data.r===2){pathElement.setAttribute('fill-rule','evenodd')}
715if(data.ln){pathElement.setAttribute('id',data.ln)}
716if(data.cl){pathElement.setAttribute('class',data.cl)}
717this.stylesList.push(styleOb);this.addToAnimatedContents(data,elementData);return elementData};SVGShapeElement.prototype.createGroupElement=function(data){var elementData=new ShapeGroupData();if(data.ln){elementData.gr.setAttribute('id',data.ln)}
718return elementData};SVGShapeElement.prototype.createTransformElement=function(data,container){var transformProperty=TransformPropertyFactory.getTransformProperty(this,data,this);var elementData=new SVGTransformData(transformProperty,transformProperty.o,container);this.addToAnimatedContents(data,elementData);return elementData};SVGShapeElement.prototype.createShapeElement=function(data,ownTransformers,level){var ty=4;if(data.ty==='rc'){ty=5}else if(data.ty==='el'){ty=6}else if(data.ty==='sr'){ty=7}
719var shapeProperty=ShapePropertyFactory.getShapeProp(this,data,ty,this);var elementData=new SVGShapeData(ownTransformers,level,shapeProperty);this.shapes.push(elementData);this.addShapeToModifiers(elementData);this.addToAnimatedContents(data,elementData);return elementData};SVGShapeElement.prototype.addToAnimatedContents=function(data,element){var i=0,len=this.animatedContents.length;while(i<len){if(this.animatedContents[i].element===element){return}
720i+=1}
721this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(data),element:element,data:data})};SVGShapeElement.prototype.setElementStyles=function(elementData){var arr=elementData.styles;var j,jLen=this.stylesList.length;for(j=0;j<jLen;j+=1){if(!this.stylesList[j].closed){arr.push(this.stylesList[j])}}};SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var i,len=this.itemsData.length;for(i=0;i<len;i+=1){this.prevViewData[i]=this.itemsData[i]}
722this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0);this.filterUniqueShapes();len=this.dynamicProperties.length;for(i=0;i<len;i+=1){this.dynamicProperties[i].getValue()}
723this.renderModifiers()};SVGShapeElement.prototype.searchShapes=function(arr,itemsData,prevViewData,container,level,transformers,render){var ownTransformers=[].concat(transformers);var i,len=arr.length-1;var j,jLen;var ownStyles=[],ownModifiers=[],styleOb,currentTransform,modifier,processedPos;for(i=len;i>=0;i-=1){processedPos=this.searchProcessedElement(arr[i]);if(!processedPos){arr[i]._render=render}else{itemsData[i]=prevViewData[processedPos-1]}
724if(arr[i].ty=='fl'||arr[i].ty=='st'||arr[i].ty=='gf'||arr[i].ty=='gs'){if(!processedPos){itemsData[i]=this.createStyleElement(arr[i],level)}else{itemsData[i].style.closed=!1}
725if(arr[i]._render){container.appendChild(itemsData[i].style.pElem)}
726ownStyles.push(itemsData[i].style)}else if(arr[i].ty=='gr'){if(!processedPos){itemsData[i]=this.createGroupElement(arr[i])}else{jLen=itemsData[i].it.length;for(j=0;j<jLen;j+=1){itemsData[i].prevViewData[j]=itemsData[i].it[j]}}
727this.searchShapes(arr[i].it,itemsData[i].it,itemsData[i].prevViewData,itemsData[i].gr,level+1,ownTransformers,render);if(arr[i]._render){container.appendChild(itemsData[i].gr)}}else if(arr[i].ty=='tr'){if(!processedPos){itemsData[i]=this.createTransformElement(arr[i],container)}
728currentTransform=itemsData[i].transform;ownTransformers.push(currentTransform)}else if(arr[i].ty=='sh'||arr[i].ty=='rc'||arr[i].ty=='el'||arr[i].ty=='sr'){if(!processedPos){itemsData[i]=this.createShapeElement(arr[i],ownTransformers,level)}
729this.setElementStyles(itemsData[i])}else if(arr[i].ty=='tm'||arr[i].ty=='rd'||arr[i].ty=='ms'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);modifier.init(this,arr[i]);itemsData[i]=modifier;this.shapeModifiers.push(modifier)}else{modifier=itemsData[i];modifier.closed=!1}
730ownModifiers.push(modifier)}else if(arr[i].ty=='rp'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);itemsData[i]=modifier;modifier.init(this,arr,i,itemsData);this.shapeModifiers.push(modifier);render=!1}else{modifier=itemsData[i];modifier.closed=!0}
731ownModifiers.push(modifier)}
732this.addProcessedElement(arr[i],i+1)}
733len=ownStyles.length;for(i=0;i<len;i+=1){ownStyles[i].closed=!0}
734len=ownModifiers.length;for(i=0;i<len;i+=1){ownModifiers[i].closed=!0}};SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var i,len=this.stylesList.length;for(i=0;i<len;i+=1){this.stylesList[i].reset()}
735this.renderShape();for(i=0;i<len;i+=1){if(this.stylesList[i]._mdf||this._isFirstFrame){if(this.stylesList[i].msElem){this.stylesList[i].msElem.setAttribute('d',this.stylesList[i].d);this.stylesList[i].d='M0 0'+this.stylesList[i].d}
736this.stylesList[i].pElem.setAttribute('d',this.stylesList[i].d||'M0 0')}}};SVGShapeElement.prototype.renderShape=function(){var i,len=this.animatedContents.length;var animatedContent;for(i=0;i<len;i+=1){animatedContent=this.animatedContents[i];if(this._isFirstFrame||animatedContent.element._isAnimated){animatedContent.fn(animatedContent.data,animatedContent.element,this._isFirstFrame)}}}
737SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement();this.shapeData=null;this.itemsData=null};function SVGTintFilter(filter,filterManager){this.filterManager=filterManager;var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','linearRGB');feColorMatrix.setAttribute('values','0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');feColorMatrix.setAttribute('result','f1');filter.appendChild(feColorMatrix);feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','sRGB');feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');feColorMatrix.setAttribute('result','f2');filter.appendChild(feColorMatrix);this.matrixFilter=feColorMatrix;if(filterManager.effectElements[2].p.v!==100||filterManager.effectElements[2].p.k){var feMerge=createNS('feMerge');filter.appendChild(feMerge);var feMergeNode;feMergeNode=createNS('feMergeNode');feMergeNode.setAttribute('in','SourceGraphic');feMerge.appendChild(feMergeNode);feMergeNode=createNS('feMergeNode');feMergeNode.setAttribute('in','f2');feMerge.appendChild(feMergeNode)}}
738SVGTintFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var colorBlack=this.filterManager.effectElements[0].p.v;var colorWhite=this.filterManager.effectElements[1].p.v;var opacity=this.filterManager.effectElements[2].p.v/100;this.matrixFilter.setAttribute('values',(colorWhite[0]-colorBlack[0])+' 0 0 0 '+colorBlack[0]+' '+(colorWhite[1]-colorBlack[1])+' 0 0 0 '+colorBlack[1]+' '+(colorWhite[2]-colorBlack[2])+' 0 0 0 '+colorBlack[2]+' 0 0 0 '+opacity+' 0')}};function SVGFillFilter(filter,filterManager){this.filterManager=filterManager;var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','sRGB');feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');filter.appendChild(feColorMatrix);this.matrixFilter=feColorMatrix}
739SVGFillFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var color=this.filterManager.effectElements[2].p.v;var opacity=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute('values','0 0 0 0 '+color[0]+' 0 0 0 0 '+color[1]+' 0 0 0 0 '+color[2]+' 0 0 0 '+opacity+' 0')}};function SVGStrokeEffect(elem,filterManager){this.initialized=!1;this.filterManager=filterManager;this.elem=elem;this.paths=[]}
740SVGStrokeEffect.prototype.initialize=function(){var elemChildren=this.elem.layerElement.children||this.elem.layerElement.childNodes;var path,groupPath,i,len;if(this.filterManager.effectElements[1].p.v===1){len=this.elem.maskManager.masksProperties.length;i=0}else{i=this.filterManager.effectElements[0].p.v-1;len=i+1}
741groupPath=createNS('g');groupPath.setAttribute('fill','none');groupPath.setAttribute('stroke-linecap','round');groupPath.setAttribute('stroke-dashoffset',1);for(i;i<len;i+=1){path=createNS('path');groupPath.appendChild(path);this.paths.push({p:path,m:i})}
742if(this.filterManager.effectElements[10].p.v===3){var mask=createNS('mask');var id='stms_'+randomString(10);mask.setAttribute('id',id);mask.setAttribute('mask-type','alpha');mask.appendChild(groupPath);this.elem.globalData.defs.appendChild(mask);var g=createNS('g');g.setAttribute('mask','url('+locationHref+'#'+id+')');if(elemChildren[0]){g.appendChild(elemChildren[0])}
743this.elem.layerElement.appendChild(g);this.masker=mask;groupPath.setAttribute('stroke','#fff')}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2){elemChildren=this.elem.layerElement.children||this.elem.layerElement.childNodes;while(elemChildren.length){this.elem.layerElement.removeChild(elemChildren[0])}}
744this.elem.layerElement.appendChild(groupPath);this.elem.layerElement.removeAttribute('mask');groupPath.setAttribute('stroke','#fff')}
745this.initialized=!0;this.pathMasker=groupPath};SVGStrokeEffect.prototype.renderFrame=function(forceRender){if(!this.initialized){this.initialize()}
746var i,len=this.paths.length;var mask,path;for(i=0;i<len;i+=1){if(this.paths[i].m===-1){continue}
747mask=this.elem.maskManager.viewData[this.paths[i].m];path=this.paths[i].p;if(forceRender||this.filterManager._mdf||mask.prop._mdf){path.setAttribute('d',mask.lastPath)}
748if(forceRender||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||mask.prop._mdf){var dasharrayValue;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var s=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)/100;var e=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)/100;var l=path.getTotalLength();dasharrayValue='0 0 0 '+l*s+' ';var lineLength=l*(e-s);var segment=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v/100;var units=Math.floor(lineLength/segment);var j;for(j=0;j<units;j+=1){dasharrayValue+='1 '+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v/100+' '}
749dasharrayValue+='0 '+l*10+' 0 0'}else{dasharrayValue='1 '+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v/100}
750path.setAttribute('stroke-dasharray',dasharrayValue)}}
751if(forceRender||this.filterManager.effectElements[4].p._mdf){this.pathMasker.setAttribute('stroke-width',this.filterManager.effectElements[4].p.v*2)}
752if(forceRender||this.filterManager.effectElements[6].p._mdf){this.pathMasker.setAttribute('opacity',this.filterManager.effectElements[6].p.v)}
753if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(forceRender||this.filterManager.effectElements[3].p._mdf){var color=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute('stroke','rgb('+bm_floor(color[0]*255)+','+bm_floor(color[1]*255)+','+bm_floor(color[2]*255)+')')}}};function SVGTritoneFilter(filter,filterManager){this.filterManager=filterManager;var feColorMatrix=createNS('feColorMatrix');feColorMatrix.setAttribute('type','matrix');feColorMatrix.setAttribute('color-interpolation-filters','linearRGB');feColorMatrix.setAttribute('values','0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');feColorMatrix.setAttribute('result','f1');filter.appendChild(feColorMatrix);var feComponentTransfer=createNS('feComponentTransfer');feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');filter.appendChild(feComponentTransfer);this.matrixFilter=feComponentTransfer;var feFuncR=createNS('feFuncR');feFuncR.setAttribute('type','table');feComponentTransfer.appendChild(feFuncR);this.feFuncR=feFuncR;var feFuncG=createNS('feFuncG');feFuncG.setAttribute('type','table');feComponentTransfer.appendChild(feFuncG);this.feFuncG=feFuncG;var feFuncB=createNS('feFuncB');feFuncB.setAttribute('type','table');feComponentTransfer.appendChild(feFuncB);this.feFuncB=feFuncB}
754SVGTritoneFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var color1=this.filterManager.effectElements[0].p.v;var color2=this.filterManager.effectElements[1].p.v;var color3=this.filterManager.effectElements[2].p.v;var tableR=color3[0]+' '+color2[0]+' '+color1[0];var tableG=color3[1]+' '+color2[1]+' '+color1[1];var tableB=color3[2]+' '+color2[2]+' '+color1[2];this.feFuncR.setAttribute('tableValues',tableR);this.feFuncG.setAttribute('tableValues',tableG);this.feFuncB.setAttribute('tableValues',tableB)}};function SVGProLevelsFilter(filter,filterManager){this.filterManager=filterManager;var effectElements=this.filterManager.effectElements;var feComponentTransfer=createNS('feComponentTransfer');var feFuncR,feFuncG,feFuncB;if(effectElements[10].p.k||effectElements[10].p.v!==0||effectElements[11].p.k||effectElements[11].p.v!==1||effectElements[12].p.k||effectElements[12].p.v!==1||effectElements[13].p.k||effectElements[13].p.v!==0||effectElements[14].p.k||effectElements[14].p.v!==1){this.feFuncR=this.createFeFunc('feFuncR',feComponentTransfer)}
755if(effectElements[17].p.k||effectElements[17].p.v!==0||effectElements[18].p.k||effectElements[18].p.v!==1||effectElements[19].p.k||effectElements[19].p.v!==1||effectElements[20].p.k||effectElements[20].p.v!==0||effectElements[21].p.k||effectElements[21].p.v!==1){this.feFuncG=this.createFeFunc('feFuncG',feComponentTransfer)}
756if(effectElements[24].p.k||effectElements[24].p.v!==0||effectElements[25].p.k||effectElements[25].p.v!==1||effectElements[26].p.k||effectElements[26].p.v!==1||effectElements[27].p.k||effectElements[27].p.v!==0||effectElements[28].p.k||effectElements[28].p.v!==1){this.feFuncB=this.createFeFunc('feFuncB',feComponentTransfer)}
757if(effectElements[31].p.k||effectElements[31].p.v!==0||effectElements[32].p.k||effectElements[32].p.v!==1||effectElements[33].p.k||effectElements[33].p.v!==1||effectElements[34].p.k||effectElements[34].p.v!==0||effectElements[35].p.k||effectElements[35].p.v!==1){this.feFuncA=this.createFeFunc('feFuncA',feComponentTransfer)}
758if(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA){feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');filter.appendChild(feComponentTransfer);feComponentTransfer=createNS('feComponentTransfer')}
759if(effectElements[3].p.k||effectElements[3].p.v!==0||effectElements[4].p.k||effectElements[4].p.v!==1||effectElements[5].p.k||effectElements[5].p.v!==1||effectElements[6].p.k||effectElements[6].p.v!==0||effectElements[7].p.k||effectElements[7].p.v!==1){feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');filter.appendChild(feComponentTransfer);this.feFuncRComposed=this.createFeFunc('feFuncR',feComponentTransfer);this.feFuncGComposed=this.createFeFunc('feFuncG',feComponentTransfer);this.feFuncBComposed=this.createFeFunc('feFuncB',feComponentTransfer)}}
760SVGProLevelsFilter.prototype.createFeFunc=function(type,feComponentTransfer){var feFunc=createNS(type);feFunc.setAttribute('type','table');feComponentTransfer.appendChild(feFunc);return feFunc};SVGProLevelsFilter.prototype.getTableValue=function(inputBlack,inputWhite,gamma,outputBlack,outputWhite){var cnt=0;var segments=256;var perc;var min=Math.min(inputBlack,inputWhite);var max=Math.max(inputBlack,inputWhite);var table=Array.call(null,{length:segments});var colorValue;var pos=0;var outputDelta=outputWhite-outputBlack;var inputDelta=inputWhite-inputBlack;while(cnt<=256){perc=cnt/256;if(perc<=min){colorValue=inputDelta<0?outputWhite:outputBlack}else if(perc>=max){colorValue=inputDelta<0?outputBlack:outputWhite}else{colorValue=(outputBlack+outputDelta*Math.pow((perc-inputBlack)/inputDelta,1/gamma))}
761table[pos++]=colorValue;cnt+=256/(segments-1)}
762return table.join(' ')};SVGProLevelsFilter.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){var val,cnt,perc,bezier;var effectElements=this.filterManager.effectElements;if(this.feFuncRComposed&&(forceRender||effectElements[3].p._mdf||effectElements[4].p._mdf||effectElements[5].p._mdf||effectElements[6].p._mdf||effectElements[7].p._mdf)){val=this.getTableValue(effectElements[3].p.v,effectElements[4].p.v,effectElements[5].p.v,effectElements[6].p.v,effectElements[7].p.v);this.feFuncRComposed.setAttribute('tableValues',val);this.feFuncGComposed.setAttribute('tableValues',val);this.feFuncBComposed.setAttribute('tableValues',val)}
763if(this.feFuncR&&(forceRender||effectElements[10].p._mdf||effectElements[11].p._mdf||effectElements[12].p._mdf||effectElements[13].p._mdf||effectElements[14].p._mdf)){val=this.getTableValue(effectElements[10].p.v,effectElements[11].p.v,effectElements[12].p.v,effectElements[13].p.v,effectElements[14].p.v);this.feFuncR.setAttribute('tableValues',val)}
764if(this.feFuncG&&(forceRender||effectElements[17].p._mdf||effectElements[18].p._mdf||effectElements[19].p._mdf||effectElements[20].p._mdf||effectElements[21].p._mdf)){val=this.getTableValue(effectElements[17].p.v,effectElements[18].p.v,effectElements[19].p.v,effectElements[20].p.v,effectElements[21].p.v);this.feFuncG.setAttribute('tableValues',val)}
765if(this.feFuncB&&(forceRender||effectElements[24].p._mdf||effectElements[25].p._mdf||effectElements[26].p._mdf||effectElements[27].p._mdf||effectElements[28].p._mdf)){val=this.getTableValue(effectElements[24].p.v,effectElements[25].p.v,effectElements[26].p.v,effectElements[27].p.v,effectElements[28].p.v);this.feFuncB.setAttribute('tableValues',val)}
766if(this.feFuncA&&(forceRender||effectElements[31].p._mdf||effectElements[32].p._mdf||effectElements[33].p._mdf||effectElements[34].p._mdf||effectElements[35].p._mdf)){val=this.getTableValue(effectElements[31].p.v,effectElements[32].p.v,effectElements[33].p.v,effectElements[34].p.v,effectElements[35].p.v);this.feFuncA.setAttribute('tableValues',val)}}};function SVGDropShadowEffect(filter,filterManager){filter.setAttribute('x','-100%');filter.setAttribute('y','-100%');filter.setAttribute('width','400%');filter.setAttribute('height','400%');this.filterManager=filterManager;var feGaussianBlur=createNS('feGaussianBlur');feGaussianBlur.setAttribute('in','SourceAlpha');feGaussianBlur.setAttribute('result','drop_shadow_1');feGaussianBlur.setAttribute('stdDeviation','0');this.feGaussianBlur=feGaussianBlur;filter.appendChild(feGaussianBlur);var feOffset=createNS('feOffset');feOffset.setAttribute('dx','25');feOffset.setAttribute('dy','0');feOffset.setAttribute('in','drop_shadow_1');feOffset.setAttribute('result','drop_shadow_2');
766this.feOffset=feOffset;filter.appendChild(feOffset);var feFlood=createNS('feFlood');feFlood.setAttribute('flood-color','#00ff00');feFlood.setAttribute('flood-opacity','1');feFlood.setAttribute('result','drop_shadow_3');this.feFlood=feFlood;filter.appendChild(feFlood);var feComposite=createNS('feComposite');feComposite.setAttribute('in','drop_shadow_3');feComposite.setAttribute('in2','drop_shadow_2');feComposite.setAttribute('operator','in');feComposite.setAttribute('result','drop_shadow_4');filter.appendChild(feComposite);var feMerge=createNS('feMerge');filter.appendChild(feMerge);var feMergeNode;feMergeNode=createNS('feMergeNode');feMerge.appendChild(feMergeNode);feMergeNode=createNS('feMergeNode');feMergeNode.setAttribute('in','SourceGraphic');this.feMergeNode=feMergeNode;this.feMerge=feMerge;this.originalNodeAdded=!1;feMerge.appendChild(feMergeNode)}
767SVGDropShadowEffect.prototype.renderFrame=function(forceRender){if(forceRender||this.filterManager._mdf){if(forceRender||this.filterManager.effectElements[4].p._mdf){this.feGaussianBlur.setAttribute('stdDeviation',this.filterManager.effectElements[4].p.v/4)}
768if(forceRender||this.filterManager.effectElements[0].p._mdf){var col=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute('flood-color',rgbToHex(Math.round(col[0]*255),Math.round(col[1]*255),Math.round(col[2]*255)))}
769if(forceRender||this.filterManager.effectElements[1].p._mdf){this.feFlood.setAttribute('flood-opacity',this.filterManager.effectElements[1].p.v/255)}
770if(forceRender||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var distance=this.filterManager.effectElements[3].p.v;var angle=(this.filterManager.effectElements[2].p.v-90)*degToRads;var x=distance*Math.cos(angle);var y=distance*Math.sin(angle);this.feOffset.setAttribute('dx',x);this.feOffset.setAttribute('dy',y)}}};var _svgMatteSymbols=[];var _svgMatteMaskCounter=0;function SVGMatte3Effect(filterElem,filterManager,elem){this.initialized=!1;this.filterManager=filterManager;this.filterElem=filterElem;this.elem=elem;elem.matteElement=createNS('g');elem.matteElement.appendChild(elem.layerElement);elem.matteElement.appendChild(elem.transformedElement);elem.baseElement=elem.matteElement}
771SVGMatte3Effect.prototype.findSymbol=function(mask){var i=0,len=_svgMatteSymbols.length;while(i<len){if(_svgMatteSymbols[i]===mask){return _svgMatteSymbols[i]}
772i+=1}
773return null};SVGMatte3Effect.prototype.replaceInParent=function(mask,symbolId){var parentNode=mask.layerElement.parentNode;if(!parentNode){return}
774var children=parentNode.children;var i=0,len=children.length;while(i<len){if(children[i]===mask.layerElement){break}
775i+=1}
776var nextChild;if(i<=len-2){nextChild=children[i+1]}
777var useElem=createNS('use');useElem.setAttribute('href','#'+symbolId);if(nextChild){parentNode.insertBefore(useElem,nextChild)}else{parentNode.appendChild(useElem)}};SVGMatte3Effect.prototype.setElementAsMask=function(elem,mask){if(!this.findSymbol(mask)){var symbolId='matte_'+randomString(5)+'_'+_svgMatteMaskCounter++;var masker=createNS('mask');masker.setAttribute('id',mask.layerId);masker.setAttribute('mask-type','alpha');_svgMatteSymbols.push(mask);var defs=elem.globalData.defs;defs.appendChild(masker);var symbol=createNS('symbol');symbol.setAttribute('id',symbolId);this.replaceInParent(mask,symbolId);symbol.appendChild(mask.layerElement);defs.appendChild(symbol);var useElem=createNS('use');useElem.setAttribute('href','#'+symbolId);masker.appendChild(useElem);mask.data.hd=!1;mask.show()}
778elem.setMatte(mask.layerId)};SVGMatte3Effect.prototype.initialize=function(){var ind=this.filterManager.effectElements[0].p.v;var i=0,len=this.elem.comp.elements.length;while(i<len){if(this.elem.comp.elements[i].data.ind===ind){this.setElementAsMask(this.elem,this.elem.comp.elements[i])}
779i+=1}
780this.initialized=!0};SVGMatte3Effect.prototype.renderFrame=function(){if(!this.initialized){this.initialize()}};function SVGEffects(elem){var i,len=elem.data.ef?elem.data.ef.length:0;var filId=randomString(10);var fil=filtersFactory.createFilter(filId);var count=0;this.filters=[];var filterManager;for(i=0;i<len;i+=1){filterManager=null;if(elem.data.ef[i].ty===20){count+=1;filterManager=new SVGTintFilter(fil,elem.effectsManager.effectElements[i])}else if(elem.data.ef[i].ty===21){count+=1;filterManager=new SVGFillFilter(fil,elem.effectsManager.effectElements[i])}else if(elem.data.ef[i].ty===22){filterManager=new SVGStrokeEffect(elem,elem.effectsManager.effectElements[i])}else if(elem.data.ef[i].ty===23){count+=1;filterManager=new SVGTritoneFilter(fil,elem.effectsManager.effectElements[i])}else if(elem.data.ef[i].ty===24){count+=1;filterManager=new SVGProLevelsFilter(fil,elem.effectsManager.effectElements[i])}else if(elem.data.ef[i].ty===25){count+=1;filterManager=new SVGDropShadowEffect(fil,elem.effectsManager.effectElements[i])}else if(elem.data.ef[i].ty===28){filterManager=new SVGMatte3Effect(fil,elem.effectsManager.effectElements[i],elem)}
781if(filterManager){this.filters.push(filterManager)}}
782if(count){elem.globalData.defs.appendChild(fil);elem.layerElement.setAttribute('filter','url('+locationHref+'#'+filId+')')}
783if(this.filters.length){elem.addRenderableComponent(this)}}
784SVGEffects.prototype.renderFrame=function(_isFirstFrame){var i,len=this.filters.length;for(i=0;i<len;i+=1){this.filters[i].renderFrame(_isFirstFrame)}};var animationManager=(function(){var moduleOb={};var registeredAnimations=[];var initTime=0;var len=0;var playingAnimationsNum=0;var _stopped=!0;var _isFrozen=!1;function removeElement(ev){var i=0;var animItem=ev.target;while(i<len){if(registeredAnimations[i].animation===animItem){registeredAnimations.splice(i,1);i-=1;len-=1;if(!animItem.isPaused){subtractPlayingCount()}}
785i+=1}}
786function registerAnimation(element,animationData){if(!element){return null}
787var i=0;while(i<len){if(registeredAnimations[i].elem==element&&registeredAnimations[i].elem!==null){return registeredAnimations[i].animation}
788i+=1}
789var animItem=new AnimationItem();setupAnimation(animItem,element);animItem.setData(element,animationData);return animItem}
790function getRegisteredAnimations(){var i,len=registeredAnimations.length;var animations=[];for(i=0;i<len;i+=1){animations.push(registeredAnimations[i].animation)}
791return animations}
792function addPlayingCount(){playingAnimationsNum+=1;activate()}
793function subtractPlayingCount(){playingAnimationsNum-=1}
794function setupAnimation(animItem,element){animItem.addEventListener('destroy',removeElement);animItem.addEventListener('_active',addPlayingCount);animItem.addEventListener('_idle',subtractPlayingCount);registeredAnimations.push({elem:element,animation:animItem});len+=1}
795function loadAnimation(params){var animItem=new AnimationItem();setupAnimation(animItem,null);animItem.setParams(params);return animItem}
796function setSpeed(val,animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.setSpeed(val,animation)}}
797function setDirection(val,animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.setDirection(val,animation)}}
798function play(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.play(animation)}}
799function resume(nowTime){var elapsedTime=nowTime-initTime;var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.advanceTime(elapsedTime)}
800initTime=nowTime;if(playingAnimationsNum&&!_isFrozen){window.requestAnimationFrame(resume)}else{_stopped=!0}}
801function first(nowTime){initTime=nowTime;window.requestAnimationFrame(resume)}
802function pause(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.pause(animation)}}
803function goToAndStop(value,isFrame,animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.goToAndStop(value,isFrame,animation)}}
804function stop(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.stop(animation)}}
805function togglePause(animation){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.togglePause(animation)}}
806function destroy(animation){var i;for(i=(len-1);i>=0;i-=1){registeredAnimations[i].animation.destroy(animation)}}
807function searchAnimations(animationData,standalone,renderer){var animElements=[].concat([].slice.call(document.getElementsByClassName('lottie')),[].slice.call(document.getElementsByClassName('bodymovin')));var i,len=animElements.length;for(i=0;i<len;i+=1){if(renderer){animElements[i].setAttribute('data-bm-type',renderer)}
808registerAnimation(animElements[i],animationData)}
809if(standalone&&len===0){if(!renderer){renderer='svg'}
810var body=document.getElementsByTagName('body')[0];body.innerHTML='';var div=createTag('div');div.style.width='100%';div.style.height='100%';div.setAttribute('data-bm-type',renderer);body.appendChild(div);registerAnimation(div,animationData)}}
811function resize(){var i;for(i=0;i<len;i+=1){registeredAnimations[i].animation.resize()}}
812function activate(){if(!_isFrozen&&playingAnimationsNum){if(_stopped){window.requestAnimationFrame(first);_stopped=!1}}}
813function freeze(){_isFrozen=!0}
814function unfreeze(){_isFrozen=!1;activate()}
815moduleOb.registerAnimation=registerAnimation;moduleOb.loadAnimation=loadAnimation;moduleOb.setSpeed=setSpeed;moduleOb.setDirection=setDirection;moduleOb.play=play;moduleOb.pause=pause;moduleOb.stop=stop;moduleOb.togglePause=togglePause;moduleOb.searchAnimations=searchAnimations;moduleOb.resize=resize;
815moduleOb.goToAndStop=goToAndStop;moduleOb.destroy=destroy;moduleOb.freeze=freeze;moduleOb.unfreeze=unfreeze;moduleOb.getRegisteredAnimations=getRegisteredAnimations;return moduleOb}());var AnimationItem=function(){this._cbs=[];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.animationData={};this.assets=[];this.isPaused=!0;this.autoplay=!1;this.loop=!0;this.renderer=null;this.animationID=randomString(10);this.assetsPath='';this.timeCompleted=0;this.segmentPos=0;this.subframeEnabled=subframeEnabled;this.segments=[];this._idle=!0;this._completedLoop=!1;this.projectInterface=ProjectInterface()};extendPrototype([BaseEvent],AnimationItem);AnimationItem.prototype.setParams=function(params){if(params.context){this.context=params.context}
816if(params.wrapper||params.container){this.wrapper=params.wrapper||params.container}
817var animType=params.animType?params.animType:params.renderer?params.renderer:'svg';switch(animType){case 'canvas':this.renderer=new CanvasRenderer(this,params.rendererSettings);break;case 'svg':this.renderer=new SVGRenderer(this,params.rendererSettings);break;default:this.renderer=new HybridRenderer(this,params.rendererSettings);break}
818this.renderer.setProjectInterface(this.projectInterface);this.animType=animType;if(params.loop===''||params.loop===null){}else if(params.loop===!1){this.loop=!1}else if(params.loop===!0){this.loop=!0}else{this.loop=parseInt(params.loop)}
819this.autoplay='autoplay' in params?params.autoplay:!0;this.name=params.name?params.name:'';this.autoloadSegments=params.hasOwnProperty('autoloadSegments')?params.autoloadSegments:!0;this.assetsPath=params.assetsPath;if(params.animationData){this.configAnimation(params.animationData)}else if(params.path){if(params.path.substr(-4)!='json'){if(params.path.substr(-1,1)!='/'){params.path+='/'}
820params.path+='data.json'}
821if(params.path.lastIndexOf('\\')!=-1){this.path=params.path.substr(0,params.path.lastIndexOf('\\')+1)}else{this.path=params.path.substr(0,params.path.lastIndexOf('/')+1)}
822this.fileName=params.path.substr(params.path.lastIndexOf('/')+1);this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf('.json'));assetLoader.load(params.path,this.configAnimation.bind(this),function(){this.trigger('data_failed')}.bind(this))}};AnimationItem.prototype.setData=function(wrapper,animationData){var params={wrapper:wrapper,animationData:animationData?(typeof animationData==="object")?animationData:JSON.parse(animationData):null};var wrapperAttributes=wrapper.attributes;params.path=wrapperAttributes.getNamedItem('data-animation-path')?wrapperAttributes.getNamedItem('data-animation-path').value:wrapperAttributes.getNamedItem('data-bm-path')?wrapperAttributes.getNamedItem('data-bm-path').value:wrapperAttributes.getNamedItem('bm-path')?wrapperAttributes.getNamedItem('bm-path').value:'';params.animType=wrapperAttributes.getNamedItem('data-anim-type')?wrapperAttributes.getNamedItem('data-anim-type').value:wrapperAttributes.getNamedItem('data-bm-type')?wrapperAttributes.getNamedItem('data-bm-type').value:wrapperAttributes.getNamedItem('bm-type')?wrapperAttributes.getNamedItem('bm-type').value:wrapperAttributes.getNamedItem('data-bm-renderer')?wrapperAttributes.getNamedItem('data-bm-renderer').value:wrapperAttributes.getNamedItem('bm-renderer')?wrapperAttributes.getNamedItem('bm-renderer').value:'canvas';var loop=wrapperAttributes.getNamedItem('data-anim-loop')?wrapperAttributes.getNamedItem('data-anim-loop').value:wrapperAttributes.getNamedItem('data-bm-loop')?wrapperAttributes.getNamedItem('data-bm-loop').value:wrapperAttributes.getNamedItem('bm-loop')?wrapperAttributes.getNamedItem('bm-loop').value:'';if(loop===''){}else if(loop==='false'){params.loop=!1}else if(loop==='true'){params.loop=!0}else{params.loop=parseInt(loop)}
823var autoplay=wrapperAttributes.getNamedItem('data-anim-autoplay')?wrapperAttributes.getNamedItem('data-anim-autoplay').value:wrapperAttributes.getNamedItem('data-bm-autoplay')?wrapperAttributes.getNamedItem('data-bm-autoplay').value:wrapperAttributes.getNamedItem('bm-autoplay')?wrapperAttributes.getNamedItem('bm-autoplay').value:!0;params.autoplay=autoplay!=="false";params.name=wrapperAttributes.getNamedItem('data-name')?wrapperAttributes.getNamedItem('data-name').value:wrapperAttributes.getNamedItem('data-bm-name')?wrapperAttributes.getNamedItem('data-bm-name').value:wrapperAttributes.getNamedItem('bm-name')?wrapperAttributes.getNamedItem('bm-name').value:'';var prerender=wrapperAttributes.getNamedItem('data-anim-prerender')?wrapperAttributes.getNamedItem('data-anim-prerender').value:wrapperAttributes.getNamedItem('data-bm-prerender')?wrapperAttributes.getNamedItem('data-bm-prerender').value:wrapperAttributes.getNamedItem('bm-prerender')?wrapperAttributes.getNamedItem('bm-prerender').value:'';if(prerender==='false'){params.prerender=!1}
824this.setParams(params)};AnimationItem.prototype.includeLayers=function(data){if(data.op>this.animationData.op){this.animationData.op=data.op;this.totalFrames=Math.floor(data.op-this.animationData.ip)}
825var layers=this.animationData.layers;var i,len=layers.length;var newLayers=data.layers;var j,jLen=newLayers.length;for(j=0;j<jLen;j+=1){i=0;while(i<len){if(layers[i].id==newLayers[j].id){layers[i]=newLayers[j];break}
826i+=1}}
827if(data.chars||data.fonts){this.renderer.globalData.fontManager.addChars(data.chars);this.renderer.globalData.fontManager.addFonts(data.fonts,this.renderer.globalData.defs)}
828if(data.assets){len=data.assets.length;for(i=0;i<len;i+=1){this.animationData.assets.push(data.assets[i])}}
829this.animationData.__complete=!1;dataManager.completeData(this.animationData,this.renderer.globalData.fontManager);this.renderer.includeLayers(data.layers);if(expressionsPlugin){expressionsPlugin.initExpressions(this)}
830this.loadNextSegment()};AnimationItem.prototype.loadNextSegment=function(){var segments=this.animationData.segments;if(!segments||segments.length===0||!this.autoloadSegments){this.trigger('data_ready');this.timeCompleted=this.totalFrames;return}
831var segment=segments.shift();this.timeCompleted=segment.time*this.frameRate;var segmentPath=this.path+this.fileName+'_'+this.segmentPos+'.json';this.segmentPos+=1;assetLoader.load(segmentPath,this.includeLayers.bind(this),function(){this.trigger('data_failed')}.bind(this))};AnimationItem.prototype.loadSegments=function(){var segments=this.animationData.segments;if(!segments){this.timeCompleted=this.totalFrames}
832this.loadNextSegment()};AnimationItem.prototype.preloadImages=function(){this.imagePreloader=new ImagePreloader();this.imagePreloader.setAssetsPath(this.assetsPath);this.imagePreloader.setPath(this.path);this.imagePreloader.loadAssets(this.animationData.assets,function(err){if(!err){this.trigger('loaded_images')}}.bind(this))}
833AnimationItem.prototype.configAnimation=function(animData){if(!this.renderer){return}
834this.animationData=animData;this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip);this.renderer.configAnimation(animData);if(!animData.assets){animData.assets=[]}
835this.renderer.searchExtraCompositions(animData.assets);this.assets=this.animationData.assets;this.frameRate=this.animationData.fr;this.firstFrame=Math.round(this.animationData.ip);this.frameMult=this.animationData.fr/1000;this.trigger('config_ready');this.preloadImages();this.loadSegments();this.updaFrameModifier();this.waitForFontsLoaded()};AnimationItem.prototype.completeData=function(){dataManager.completeData(this.animationData,this.renderer.globalData.fontManager);this.checkLoaded()}
836AnimationItem.prototype.waitForFontsLoaded=function(){if(!this.renderer){return}
837if(this.renderer.globalData.fontManager.loaded){this.completeData()}else{setTimeout(this.waitForFontsLoaded.bind(this),20)}}
838AnimationItem.prototype.addPendingElement=function(){this.pendingElements+=1};AnimationItem.prototype.elementLoaded=function(){this.pendingElements-=1;this.checkLoaded()};AnimationItem.prototype.checkLoaded=function(){if(this.pendingElements===0){if(expressionsPlugin){expressionsPlugin.initExpressions(this)}
839this.renderer.initItems();setTimeout(function(){this.trigger('DOMLoaded')}.bind(this),0);this.isLoaded=!0;this.gotoFrame();if(this.autoplay){this.play()}}};AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()};AnimationItem.prototype.setSubframe=function(flag){this.subframeEnabled=flag?!0:!1};AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.subframeEnabled?this.currentRawFrame:~~this.currentRawFrame;if(this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted){this.currentFrame=this.timeCompleted}
840this.trigger('enterFrame');this.renderFrame()};AnimationItem.prototype.renderFrame=function(){if(this.isLoaded===!1){return}
841this.renderer.renderFrame(this.currentFrame+this.firstFrame)};AnimationItem.prototype.play=function(name){if(name&&this.name!=name){return}
842if(this.isPaused===!0){this.isPaused=!1;if(this._idle){this._idle=!1;this.trigger('_active')}}};AnimationItem.prototype.pause=function(name){if(name&&this.name!=name){return}
843if(this.isPaused===!1){this.isPaused=!0;this._idle=!0;this.trigger('_idle')}};AnimationItem.prototype.togglePause=function(name){if(name&&this.name!=name){return}
844if(this.isPaused===!0){this.play()}else{this.pause()}};AnimationItem.prototype.stop=function(name){if(name&&this.name!=name){return}
845this.pause();this.playCount=0;this._completedLoop=!1;
845this.setCurrentRawFrameValue(0)};AnimationItem.prototype.goToAndStop=function(value,isFrame,name){if(name&&this.name!=name){return}
846if(isFrame){this.setCurrentRawFrameValue(value)}else{this.setCurrentRawFrameValue(value*this.frameModifier)}
847this.pause()};AnimationItem.prototype.goToAndPlay=function(value,isFrame,name){this.goToAndStop(value,isFrame,name);this.play()};AnimationItem.prototype.advanceTime=function(value){if(this.isPaused===!0||this.isLoaded===!1){return}
848var nextValue=this.currentRawFrame+value*this.frameModifier;var _isComplete=!1;if(nextValue>=this.totalFrames-1&&this.frameModifier>0){if(!this.loop||this.playCount===this.loop){if(!this.checkSegments(nextValue>this.totalFrames?nextValue%this.totalFrames:0)){_isComplete=!0;nextValue=this.totalFrames-1}}else if(nextValue>=this.totalFrames){this.playCount+=1;if(!this.checkSegments(nextValue%this.totalFrames)){this.setCurrentRawFrameValue(nextValue%this.totalFrames);this._completedLoop=!0;this.trigger('loopComplete')}}else{this.setCurrentRawFrameValue(nextValue)}}else if(nextValue<0){if(!this.checkSegments(nextValue%this.totalFrames)){if(this.loop&&!(this.playCount--<=0&&this.loop!==!0)){this.setCurrentRawFrameValue(this.totalFrames+(nextValue%this.totalFrames));if(!this._completedLoop){this._completedLoop=!0}else{this.trigger('loopComplete')}}else if(!this.loop&&this.playCount--===0){this.setCurrentRawFrameValue(this.totalFrames+(nextValue%this.totalFrames))}else{_isComplete=!0;nextValue=0}}}else{this.setCurrentRawFrameValue(nextValue)}
849if(_isComplete){this.setCurrentRawFrameValue(nextValue);this.pause();this.trigger('complete')}};AnimationItem.prototype.adjustSegment=function(arr,offset){this.playCount=0;if(arr[1]<arr[0]){if(this.frameModifier>0){if(this.playSpeed<0){this.setSpeed(-this.playSpeed)}else{this.setDirection(-1)}}
850this.timeCompleted=this.totalFrames=arr[0]-arr[1];this.firstFrame=arr[1];this.setCurrentRawFrameValue(this.totalFrames-0.001-offset)}else if(arr[1]>arr[0]){if(this.frameModifier<0){if(this.playSpeed<0){this.setSpeed(-this.playSpeed)}else{this.setDirection(1)}}
851this.timeCompleted=this.totalFrames=arr[1]-arr[0];this.firstFrame=arr[0];this.setCurrentRawFrameValue(0.001+offset)}
852this.trigger('segmentStart')};AnimationItem.prototype.setSegment=function(init,end){var pendingFrame=-1;if(this.isPaused){if(this.currentRawFrame+this.firstFrame<init){pendingFrame=init}else if(this.currentRawFrame+this.firstFrame>end){pendingFrame=end-init}}
853this.firstFrame=init;this.timeCompleted=this.totalFrames=end-init;if(pendingFrame!==-1){this.goToAndStop(pendingFrame,!0)}};AnimationItem.prototype.playSegments=function(arr,forceFlag){if(typeof arr[0]==='object'){var i,len=arr.length;for(i=0;i<len;i+=1){this.segments.push(arr[i])}}else{this.segments.push(arr)}
854if(forceFlag){this.checkSegments(0)}
855if(this.isPaused){this.play()}};AnimationItem.prototype.resetSegments=function(forceFlag){this.segments.length=0;this.segments.push([this.animationData.ip,this.animationData.op]);if(forceFlag){this.checkSegments(0)}};AnimationItem.prototype.checkSegments=function(offset){if(this.segments.length){this.adjustSegment(this.segments.shift(),offset);return!0}
856return!1};AnimationItem.prototype.destroy=function(name){if((name&&this.name!=name)||!this.renderer){return}
857this.renderer.destroy();this.trigger('destroy');this._cbs=null;this.onEnterFrame=this.onLoopComplete=this.onComplete=this.onSegmentStart=this.onDestroy=null;this.renderer=null};AnimationItem.prototype.setCurrentRawFrameValue=function(value){this.currentRawFrame=value;this.gotoFrame()};AnimationItem.prototype.setSpeed=function(val){this.playSpeed=val;this.updaFrameModifier()};AnimationItem.prototype.setDirection=function(val){this.playDirection=val<0?-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.getAssetsPath=function(assetData){var path='';if(assetData.e){path=assetData.p}else if(this.assetsPath){var imagePath=assetData.p;if(imagePath.indexOf('images/')!==-1){imagePath=imagePath.split('/')[1]}
858path=this.assetsPath+imagePath}else{path=this.path;path+=assetData.u?assetData.u:'';path+=assetData.p}
859return path};AnimationItem.prototype.getAssetData=function(id){var i=0,len=this.assets.length;while(i<len){if(id==this.assets[i].id){return this.assets[i]}
860i+=1}};AnimationItem.prototype.hide=function(){this.renderer.hide()};AnimationItem.prototype.show=function(){this.renderer.show()};AnimationItem.prototype.getDuration=function(isFrame){return isFrame?this.totalFrames:this.totalFrames/this.frameRate};AnimationItem.prototype.trigger=function(name){if(this._cbs&&this._cbs[name]){switch(name){case 'enterFrame':this.triggerEvent(name,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameMult));break;case 'loopComplete':this.triggerEvent(name,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult));break;case 'complete':this.triggerEvent(name,new BMCompleteEvent(name,this.frameMult));break;case 'segmentStart':this.triggerEvent(name,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames));break;case 'destroy':this.triggerEvent(name,new BMDestroyEvent(name,this));break;default:this.triggerEvent(name)}}
861if(name==='enterFrame'&&this.onEnterFrame){this.onEnterFrame.call(this,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameMult))}
862if(name==='loopComplete'&&this.onLoopComplete){this.onLoopComplete.call(this,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult))}
863if(name==='complete'&&this.onComplete){this.onComplete.call(this,new BMCompleteEvent(name,this.frameMult))}
864if(name==='segmentStart'&&this.onSegmentStart){this.onSegmentStart.call(this,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames))}
865if(name==='destroy'&&this.onDestroy){this.onDestroy.call(this,new BMDestroyEvent(name,this))}};function EffectsManager(){}
866function CanvasRenderer(animationItem,config){this.animationItem=animationItem;this.renderConfig={clearCanvas:(config&&config.clearCanvas!==undefined)?config.clearCanvas:!0,context:(config&&config.context)||null,progressiveLoad:(config&&config.progressiveLoad)||!1,preserveAspectRatio:(config&&config.preserveAspectRatio)||'xMidYMid meet',imagePreserveAspectRatio:(config&&config.imagePreserveAspectRatio)||'xMidYMid slice',className:(config&&config.className)||''};this.renderConfig.dpr=(config&&config.dpr)||1;if(this.animationItem.wrapper){this.renderConfig.dpr=(config&&config.dpr)||window.devicePixelRatio||1}
867this.renderedFrame=-1;this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1};this.contextData=new CVContextData();this.elements=[];this.pendingElements=[];
867this.transformMat=new Matrix();this.completeLayers=!1}
868extendPrototype([BaseRenderer],CanvasRenderer);CanvasRenderer.prototype.createShape=function(data){return new CVShapeElement(data,this.globalData,this)};CanvasRenderer.prototype.createText=function(data){return new CVTextElement(data,this.globalData,this)};CanvasRenderer.prototype.createImage=function(data){return new CVImageElement(data,this.globalData,this)};CanvasRenderer.prototype.createComp=function(data){return new CVCompElement(data,this.globalData,this)};CanvasRenderer.prototype.createSolid=function(data){return new CVSolidElement(data,this.globalData,this)};CanvasRenderer.prototype.createNull=SVGRenderer.prototype.createNull;CanvasRenderer.prototype.ctxTransform=function(props){if(props[0]===1&&props[1]===0&&props[4]===0&&props[5]===1&&props[12]===0&&props[13]===0){return}
869if(!this.renderConfig.clearCanvas){this.canvasContext.transform(props[0],props[1],props[4],props[5],props[12],props[13]);return}
870this.transformMat.cloneFromProps(props);var cProps=this.contextData.cTr.props;this.transformMat.transform(cProps[0],cProps[1],cProps[2],cProps[3],cProps[4],cProps[5],cProps[6],cProps[7],cProps[8],cProps[9],cProps[10],cProps[11],cProps[12],cProps[13],cProps[14],cProps[15]);this.contextData.cTr.cloneFromProps(this.transformMat.props);var trProps=this.contextData.cTr.props;this.canvasContext.setTransform(trProps[0],trProps[1],trProps[4],trProps[5],trProps[12],trProps[13])};CanvasRenderer.prototype.ctxOpacity=function(op){if(!this.renderConfig.clearCanvas){this.canvasContext.globalAlpha*=op<0?0:op;this.globalData.currentGlobalAlpha=this.contextData.cO;return}
871this.contextData.cO*=op<0?0:op;if(this.globalData.currentGlobalAlpha!==this.contextData.cO){this.canvasContext.globalAlpha=this.contextData.cO;this.globalData.currentGlobalAlpha=this.contextData.cO}};CanvasRenderer.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}
872this.contextData.reset()};CanvasRenderer.prototype.save=function(actionFlag){if(!this.renderConfig.clearCanvas){this.canvasContext.save();return}
873if(actionFlag){this.canvasContext.save()}
874var props=this.contextData.cTr.props;if(this.contextData._length<=this.contextData.cArrPos){this.contextData.duplicate()}
875var i,arr=this.contextData.saved[this.contextData.cArrPos];for(i=0;i<16;i+=1){arr[i]=props[i]}
876this.contextData.savedOp[this.contextData.cArrPos]=this.contextData.cO;this.contextData.cArrPos+=1};CanvasRenderer.prototype.restore=function(actionFlag){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}
877if(actionFlag){this.canvasContext.restore();this.globalData.blendMode='source-over'}
878this.contextData.cArrPos-=1;var popped=this.contextData.saved[this.contextData.cArrPos];var i,arr=this.contextData.cTr.props;for(i=0;i<16;i+=1){arr[i]=popped[i]}
879this.canvasContext.setTransform(popped[0],popped[1],popped[4],popped[5],popped[12],popped[13]);popped=this.contextData.savedOp[this.contextData.cArrPos];this.contextData.cO=popped;if(this.globalData.currentGlobalAlpha!==popped){this.canvasContext.globalAlpha=popped;this.globalData.currentGlobalAlpha=popped}};CanvasRenderer.prototype.configAnimation=function(animData){if(this.animationItem.wrapper){this.animationItem.container=createTag('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');if(this.renderConfig.className){this.animationItem.container.setAttribute('class',this.renderConfig.className)}}else{this.canvasContext=this.renderConfig.context}
880this.data=animData;this.layers=animData.layers;this.transformCanvas={w:animData.w,h:animData.h,sx:0,sy:0,tx:0,ty:0};this.setupGlobalData(animData,document.body);this.globalData.canvasContext=this.canvasContext;this.globalData.renderer=this;this.globalData.isDashed=!1;this.globalData.progressiveLoad=this.renderConfig.progressiveLoad;this.globalData.transformCanvas=this.transformCanvas;this.elements=createSizedArray(animData.layers.length);this.updateContainerSize()};CanvasRenderer.prototype.updateContainerSize=function(){this.reset();var elementWidth,elementHeight;if(this.animationItem.wrapper&&this.animationItem.container){elementWidth=this.animationItem.wrapper.offsetWidth;elementHeight=this.animationItem.wrapper.offsetHeight;this.animationItem.container.setAttribute('width',elementWidth*this.renderConfig.dpr);this.animationItem.container.setAttribute('height',elementHeight*this.renderConfig.dpr)}else{elementWidth=this.canvasContext.canvas.width*this.renderConfig.dpr;elementHeight=this.canvasContext.canvas.height*this.renderConfig.dpr}
881var elementRel,animationRel;if(this.renderConfig.preserveAspectRatio.indexOf('meet')!==-1||this.renderConfig.preserveAspectRatio.indexOf('slice')!==-1){var par=this.renderConfig.preserveAspectRatio.split(' ');var fillType=par[1]||'meet';var pos=par[0]||'xMidYMid';var xPos=pos.substr(0,4);var yPos=pos.substr(4);elementRel=elementWidth/elementHeight;animationRel=this.transformCanvas.w/this.transformCanvas.h;
881if(animationRel>elementRel&&fillType==='meet'||animationRel<elementRel&&fillType==='slice'){this.transformCanvas.sx=elementWidth/(this.transformCanvas.w/this.renderConfig.dpr);this.transformCanvas.sy=elementWidth/(this.transformCanvas.w/this.renderConfig.dpr)}else{this.transformCanvas.sx=elementHeight/(this.transformCanvas.h/this.renderConfig.dpr);this.transformCanvas.sy=elementHeight/(this.transformCanvas.h/this.renderConfig.dpr)}
882if(xPos==='xMid'&&((animationRel<elementRel&&fillType==='meet')||(animationRel>elementRel&&fillType==='slice'))){this.transformCanvas.tx=(elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))/2*this.renderConfig.dpr}else if(xPos==='xMax'&&((animationRel<elementRel&&fillType==='meet')||(animationRel>elementRel&&fillType==='slice'))){this.transformCanvas.tx=(elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))*this.renderConfig.dpr}else{this.transformCanvas.tx=0}
883if(yPos==='YMid'&&((animationRel>elementRel&&fillType==='meet')||(animationRel<elementRel&&fillType==='slice'))){this.transformCanvas.ty=((elementHeight-this.transformCanvas.h*(elementWidth/this.transformCanvas.w))/2)*this.renderConfig.dpr}else if(yPos==='YMax'&&((animationRel>elementRel&&fillType==='meet')||(animationRel<elementRel&&fillType==='slice'))){this.transformCanvas.ty=((elementHeight-this.transformCanvas.h*(elementWidth/this.transformCanvas.w)))*this.renderConfig.dpr}else{this.transformCanvas.ty=0}}else if(this.renderConfig.preserveAspectRatio=='none'){this.transformCanvas.sx=elementWidth/(this.transformCanvas.w/this.renderConfig.dpr);this.transformCanvas.sy=elementHeight/(this.transformCanvas.h/this.renderConfig.dpr);this.transformCanvas.tx=0;this.transformCanvas.ty=0}else{this.transformCanvas.sx=this.renderConfig.dpr;this.transformCanvas.sy=this.renderConfig.dpr;this.transformCanvas.tx=0;this.transformCanvas.ty=0}
884this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1];this.ctxTransform(this.transformCanvas.props);this.canvasContext.beginPath();this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h);this.canvasContext.closePath();this.canvasContext.clip()};CanvasRenderer.prototype.destroy=function(){if(this.renderConfig.clearCanvas){this.animationItem.wrapper.innerHTML=''}
885var i,len=this.layers?this.layers.length:0;for(i=len-1;i>=0;i-=1){if(this.elements[i]){this.elements[i].destroy()}}
886this.elements.length=0;this.globalData.canvasContext=null;this.animationItem.container=null;this.destroyed=!0};CanvasRenderer.prototype.renderFrame=function(num){if((this.renderedFrame==num&&this.renderConfig.clearCanvas===!0)||this.destroyed||num===-1){return}
887this.renderedFrame=num;this.globalData.frameNum=num-this.animationItem._isFirstFrame;this.globalData.frameId+=1;this.globalData._mdf=!this.renderConfig.clearCanvas;this.globalData.projectInterface.currentFrame=num;var i,len=this.layers.length;if(!this.completeLayers){this.checkLayers(num)}
888for(i=0;i<len;i++){if(this.completeLayers||this.elements[i]){this.elements[i].prepareFrame(num-this.layers[i].st)}}
889if(this.globalData._mdf){if(this.renderConfig.clearCanvas===!0){this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h)}else{this.save()}
890for(i=len-1;i>=0;i-=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame()}}
891if(this.renderConfig.clearCanvas!==!0){this.restore()}}};CanvasRenderer.prototype.buildItem=function(pos){var elements=this.elements;if(elements[pos]||this.layers[pos].ty==99){return}
892var element=this.createItem(this.layers[pos],this,this.globalData);elements[pos]=element;element.initExpressions()};CanvasRenderer.prototype.checkPendingElements=function(){while(this.pendingElements.length){var element=this.pendingElements.pop();element.checkParenting()}};CanvasRenderer.prototype.hide=function(){this.animationItem.container.style.display='none'};CanvasRenderer.prototype.show=function(){this.animationItem.container.style.display='block'};function HybridRenderer(animationItem,config){this.animationItem=animationItem;this.layers=null;this.renderedFrame=-1;this.renderConfig={className:(config&&config.className)||'',imagePreserveAspectRatio:(config&&config.imagePreserveAspectRatio)||'xMidYMid slice',hideOnTransparent:(config&&config.hideOnTransparent===!1)?!1:!0};this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig};this.pendingElements=[];this.elements=[];this.threeDElements=[];this.destroyed=!1;this.camera=null;this.supports3d=!0}
893extendPrototype([BaseRenderer],HybridRenderer);HybridRenderer.prototype.buildItem=SVGRenderer.prototype.buildItem;HybridRenderer.prototype.checkPendingElements=function(){while(this.pendingElements.length){var element=this.pendingElements.pop();element.checkParenting()}};HybridRenderer.prototype.appendElementInPos=function(element,pos){var newDOMElement=element.getBaseElement();if(!newDOMElement){return}
894var layer=this.layers[pos];if(!layer.ddd||!this.supports3d){if(this.threeDElements){this.addTo3dContainer(ne
894wDOMElement,pos)}else{var i=0;var nextDOMElement,nextLayer,tmpDOMElement;while(i<pos){if(this.elements[i]&&this.elements[i]!==!0&&this.elements[i].getBaseElement){nextLayer=this.elements[i];tmpDOMElement=this.layers[i].ddd?this.getThreeDContainerByPos(i):nextLayer.getBaseElement();nextDOMElement=tmpDOMElement||nextDOMElement}
895i+=1}
896if(nextDOMElement){if(!layer.ddd||!this.supports3d){this.layerElement.insertBefore(newDOMElement,nextDOMElement)}}else{if(!layer.ddd||!this.supports3d){this.layerElement.appendChild(newDOMElement)}}}}else{this.addTo3dContainer(newDOMElement,pos)}};HybridRenderer.prototype.createShape=function(data){if(!this.supports3d){return new SVGShapeElement(data,this.globalData,this)}
897return new HShapeElement(data,this.globalData,this)};HybridRenderer.prototype.createText=function(data){if(!this.supports3d){return new SVGTextElement(data,this.globalData,this)}
898return new HTextElement(data,this.globalData,this)};HybridRenderer.prototype.createCamera=function(data){this.camera=new HCameraElement(data,this.globalData,this);return this.camera};HybridRenderer.prototype.createImage=function(data){if(!this.supports3d){return new IImageElement(data,this.globalData,this)}
899return new HImageElement(data,this.globalData,this)};HybridRenderer.prototype.createComp=function(data){if(!this.supports3d){return new SVGCompElement(data,this.globalData,this)}
900return new HCompElement(data,this.globalData,this)};HybridRenderer.prototype.createSolid=function(data){if(!this.supports3d){return new ISolidElement(data,this.globalData,this)}
901return new HSolidElement(data,this.globalData,this)};HybridRenderer.prototype.createNull=SVGRenderer.prototype.createNull;HybridRenderer.prototype.getThreeDContainerByPos=function(pos){var i=0,len=this.threeDElements.length;while(i<len){if(this.threeDElements[i].startPos<=pos&&this.threeDElements[i].endPos>=pos){return this.threeDElements[i].perspectiveElem}
902i+=1}};HybridRenderer.prototype.createThreeDContainer=function(pos,type){var perspectiveElem=createTag('div');styleDiv(perspectiveElem);var container=createTag('div');styleDiv(container);if(type==='3d'){perspectiveElem.style.width=this.globalData.compSize.w+'px';perspectiveElem.style.height=this.globalData.compSize.h+'px';perspectiveElem.style.transformOrigin=perspectiveElem.style.mozTransformOrigin=perspectiveElem.style.webkitTransformOrigin="50% 50%";container.style.transform=container.style.webkitTransform='matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)'}
903perspectiveElem.appendChild(container);var threeDContainerData={container:container,perspectiveElem:perspectiveElem,startPos:pos,endPos:pos,type:type};this.threeDElements.push(threeDContainerData);return threeDContainerData};HybridRenderer.prototype.build3dContainers=function(){var i,len=this.layers.length;var lastThreeDContainerData;var currentContainer='';for(i=0;i<len;i+=1){if(this.layers[i].ddd&&this.layers[i].ty!==3){if(currentContainer!=='3d'){currentContainer='3d';lastThreeDContainerData=this.createThreeDContainer(i,'3d')}
904lastThreeDContainerData.endPos=Math.max(lastThreeDContainerData.endPos,i)}else{if(currentContainer!=='2d'){currentContainer='2d';lastThreeDContainerData=this.createThreeDContainer(i,'2d')}
905lastThreeDContainerData.endPos=Math.max(lastThreeDContainerData.endPos,i)}}
906len=this.threeDElements.length;for(i=len-1;i>=0;i --){this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem)}};HybridRenderer.prototype.addTo3dContainer=function(elem,pos){var i=0,len=this.threeDElements.length;while(i<len){if(pos<=this.threeDElements[i].endPos){var j=this.threeDElements[i].startPos;var nextElement;while(j<pos){if(this.elements[j]&&this.elements[j].getBaseElement){nextElement=this.elements[j].getBaseElement()}
907j+=1}
908if(nextElement){this.threeDElements[i].container.insertBefore(elem,nextElement)}else{this.threeDElements[i].container.appendChild(elem)}
909break}
910i+=1}};HybridRenderer.prototype.configAnimation=function(animData){var resizerElem=createTag('div');var wrapper=this.animationItem.wrapper;resizerElem.style.width=animData.w+'px';resizerElem.style.height=animData.h+'px';this.resizerElem=resizerElem;styleDiv(resizerElem);resizerElem.style.transformStyle=resizerElem.style.webkitTransformStyle=resizerElem.style.mozTransformStyle="flat";if(this.renderConfig.className){resizerElem.setAttribute('class',this.renderConfig.className)}
911wrapper.appendChild(resizerElem);resizerElem.style.overflow='hidden';var svg=createNS('svg');svg.setAttribute('width','1');svg.setAttribute('height','1');styleDiv(svg);this.resizerElem.appendChild(svg);var defs=createNS('defs');svg.appendChild(defs);this.data=animData;this.setupGlobalData(animData,svg);this.globalData.defs=defs;this.layers=animData.layers;this.layerElement=this.resizerElem;this.build3dContainers();this.updateContainerSize()};HybridRenderer.prototype.destroy=function(){this.animationItem.wrapper.innerHTML='';this.animationItem.container=null;this.globalData.defs=null;var i,len=this.layers?this.layers.length:0;for(i=0;i<len;i++){this.elements[i].destroy()}
912this.elements.length=0;this.destroyed=!0;this.animationItem=null};HybridRenderer.prototype.updateContainerSize=function(){var elementWidth=this.animationItem.wrapper.offsetWidth;var elementHeight=this.animationItem.wrapper.offsetHeight;var elementRel=elementWidth/elementHeight;var animationRel=this.globalData.compSize.w/this.globalData.compSize.h;var sx,sy,tx,ty;if(animationRel>elementRel){sx=elementWidth/(this.globalData.compSize.w);sy=elementWidth/(this.globalData.compSize.w);tx=0;ty=((elementHeight-this.globalData.compSize.h*(elementWidth/this.globalData.compSize.w))/2)}else{sx=elementHeight/(this.globalData.compSize.h);sy=elementHeight/(this.globalData.compSize.h);tx=(elementWidth-this.globalData.compSize.w*(elementHeight/this.globalData.compSize.h))/2;ty=0}
913this.resizerElem.style.transform=this.resizerElem.style.webkitTransform='matrix3d('+sx+',0,0,0,0,'+sy+',0,0,0,0,1,0,'+tx+','+ty+',0,1)'};HybridRenderer.prototype.renderFrame=SVGRenderer.prototype.renderFrame;HybridRenderer.prototype.hide=function(){this.resizerElem.style.display='none'};HybridRenderer.prototype.show=function(){this.resizerElem.style.display='block'};HybridRenderer.prototype.initItems=function(){this.buildAllItems();if(this.camera){this.camera.setup()}else{var cWidth=this.globalData.compSize.w;var cHeight=this.globalData.compSize.h;var i,len=this.threeDElements.length;for(i=0;i<len;i+=1){this.threeDElements[i].perspectiveElem.style.perspective=this.threeDElements[i].perspectiveElem.style.webkitPerspective=Math.sqrt(Math.pow(cWidth,2)+Math.pow(cHeight,2))+'px'}}};HybridRenderer.prototype.searchExtraCompositions=function(assets){var i,len=assets.length;var floatingContainer=createTag('div');for(i=0;i<len;i+=1){if(assets[i].xt){var comp=this.createComp(assets[i],floatingContainer,this.globalData.comp,null);comp.initExpressions();this.globalData.projectInterface.registerComposition(comp)}}};function CVShapeData(element,data){this.nodes=[];this.trNodes=[];this.tr=[0,0,0,0,0,0];var ty=4;if(data.ty=='rc'){ty=5}else if(data.ty=='el'){ty=6}else if(data.ty=='sr'){ty=7}
914this.sh=ShapePropertyFactory.getShapeProp(element,data,ty,element);this.st=!1;this.fl=!1}
915CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVContextData(){this.saved=[];this.cArrPos=0;this.cTr=new Matrix();this.cO=1;var i,len=15;this.savedOp=createTypedArray('float32',len);for(i=0;i<len;i+=1){this.saved[i]=createTypedArray('float32',16)}
916this._length=len}
917CVContextData.prototype.duplicate=function(){var newLength=this._length*2;var currentSavedOp=this.savedOp;this.savedOp=createTypedArray('float32',newLength);this.savedOp.set(currentSavedOp);var i=0;for(i=this._length;i<newLength;i+=1){this.saved[i]=createTypedArray('float32',16)}
918this._length=newLength};CVContextData.prototype.reset=function(){this.cArrPos=0;this.cTr.reset();this.cO=1};function CVBaseElement(){}
919CVBaseElement.prototype={createElements:function(){},initRendererElement:function(){},createContainerElements:function(){this.canvasContext=this.globalData.canvasContext;
919this.renderableEffectsManager=new CVEffects(this)},createContent:function(){},setBlendMode:function(){var globalData=this.globalData;if(globalData.blendMode!==this.data.bm){globalData.blendMode=this.data.bm;var blendModeValue=this.getBlendMode();globalData.canvasContext.globalCompositeOperation=blendModeValue}},addMasks:function(){this.maskManager=new CVMaskElement(this.data,this)},hideElement:function(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){this.hidden=!0}},showElement:function(){if(this.isInRange&&!this.isTransparent){this.hidden=!1;this._isFirstFrame=!0;this.maskManager._isFirstFrame=!0}},renderFrame:function(){if(this.hidden||this.data.hd){return}
920this.renderTransform();this.renderRenderable();this.setBlendMode();this.globalData.renderer.save();this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);this.renderInnerContent();this.globalData.renderer.restore();if(this.maskManager.hasMasks){this.globalData.renderer.restore(!0)}
921if(this._isFirstFrame){this._isFirstFrame=!1}},destroy:function(){this.canvasContext=null;this.data=null;this.globalData=null;this.maskManager.destroy()},mHelper:new Matrix()};CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement;CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVImageElement(data,globalData,comp){this.failed=!1;this.img=new Image();this.img.crossOrigin='anonymous';this.assetData=globalData.getAssetData(data.refId);this.initElement(data,globalData,comp);this.globalData.addPendingElement()}
922extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement);CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement;CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame;CVImageElement.prototype.imageLoaded=function(){this.globalData.elementLoaded();if(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height){var canvas=createTag('canvas');canvas.width=this.assetData.w;canvas.height=this.assetData.h;var ctx=canvas.getContext('2d');var imgW=this.img.width;var imgH=this.img.height;var imgRel=imgW/imgH;var canvasRel=this.assetData.w/this.assetData.h;var widthCrop,heightCrop;var par=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;if((imgRel>canvasRel&&par==='xMidYMid slice')||(imgRel<canvasRel&&par!=='xMidYMid slice')){heightCrop=imgH;widthCrop=heightCrop*canvasRel}else{widthCrop=imgW;heightCrop=widthCrop/canvasRel}
923ctx.drawImage(this.img,(imgW-widthCrop)/2,(imgH-heightCrop)/2,widthCrop,heightCrop,0,0,this.assetData.w,this.assetData.h);this.img=canvas}};CVImageElement.prototype.imageFailed=function(){this.failed=!0;this.globalData.elementLoaded()};CVImageElement.prototype.createContent=function(){var img=this.img;img.addEventListener('load',this.imageLoaded.bind(this),!1);img.addEventListener('error',this.imageFailed.bind(this),!1);var assetPath=this.globalData.getAssetsPath(this.assetData);img.src=assetPath};CVImageElement.prototype.renderInnerContent=function(parentMatrix){if(this.failed){return}
924this.canvasContext.drawImage(this.img,0,0)};CVImageElement.prototype.destroy=function(){this.img=null};function CVCompElement(data,globalData,comp){this.completeLayers=!1;this.layers=data.layers;this.pendingElements=[];this.elements=createSizedArray(this.layers.length);this.initElement(data,globalData,comp);this.tm=data.tm?PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this):{_placeholder:!0}}
925extendPrototype([CanvasRenderer,ICompElement,CVBaseElement],CVCompElement);CVCompElement.prototype.renderInnerContent=function(){var i,len=this.layers.length;for(i=len-1;i>=0;i-=1){if(this.completeLayers||this.elements[i]){this.elements[i].renderFrame()}}};CVCompElement.prototype.destroy=function(){var i,len=this.layers.length;for(i=len-1;i>=0;i-=1){if(this.elements[i]){this.elements[i].destroy()}}
926this.layers=null;this.elements=null};function CVMaskElement(data,element){this.data=data;this.element=element;this.masksProperties=this.data.masksProperties||[];this.viewData=createSizedArray(this.masksProperties.length);var i,len=this.masksProperties.length,hasMasks=!1;for(i=0;i<len;i++){if(this.masksProperties[i].mode!=='n'){hasMasks=!0}
927this.viewData[i]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3)}
928this.hasMasks=hasMasks;if(hasMasks){this.element.addRenderableComponent(this)}}
929CVMaskElement.prototype.renderFrame=function(){if(!this.hasMasks){return}
930var transform=this.element.finalTransform.mat;var ctx=this.element.canvasContext;var i,len=this.masksProperties.length;var pt,pts,data;ctx.beginPath();for(i=0;i<len;i++){if(this.masksProperties[i].mode!=='n'){if(this.masksProperties[i].inv){ctx.moveTo(0,0);ctx.lineTo(this.element.globalData.compSize.w,0);ctx.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h);ctx.lineTo(0,this.element.globalData.compSize.h);ctx.lineTo(0,0)}
931data=this.viewData[i].v;pt=transform.applyToPointArray(data.v[0][0],data.v[0][1],0);ctx.moveTo(pt[0],pt[1]);var j,jLen=data._length;for(j=1;j<jLen;j++){pts=transform.applyToTriplePoints(data.o[j-1],data.i[j],data.v[j]);ctx.bezierCurveTo(pts[0],pts[1],pts[2],pts[3],pts[4],pts[5])}
932pts=transform.applyToTriplePoints(data.o[j-1],data.i[0],data.v[0]);ctx.bezierCurveTo(pts[0],pts[1],pts[2],pts[3],pts[4],pts[5])}}
933this.element.globalData.renderer.save(!0);ctx.clip()};CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty;CVMaskElement.prototype.destroy=function(){this.element=null};function CVShapeElement(data,globalData,comp){this.shapes=[];this.shapesData=data.shapes;this.stylesList=[];this.itemsData=[];this.prevViewData=[];this.shapeModifiers=[];this.processedElements=[];this.initElement(data,globalData,comp)}
934extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement);CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement;CVShapeElement.prototype.transformHelper={opacity:1,mat:new Matrix(),_matMdf:!1,_opMdf:!1};CVShapeElement.prototype.dashResetter=[];CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0)};CVShapeElement.prototype.createStyleElement=function(data){var styleElem={data:data,type:data.ty,elements:[]};var elementData={};if(data.ty=='fl'||data.ty=='st'){elementData.c=PropertyFactory.getProp(this,data.c,1,255,this);if(!elementData.c.k){styleElem.co='rgb('+bm_floor(elementData.c.v[0])+','+bm_floor(elementData.c.v[1])+','+bm_floor(elementData.c.v[2])+')'}}
935elementData.o=PropertyFactory.getProp(this,data.o,0,0.01,this);if(data.ty=='st'){styleElem.lc=this.lcEnum[data.lc]||'round';styleElem.lj=this.ljEnum[data.lj]||'round';if(data.lj==1){styleElem.ml=data.ml}
936elementData.w=PropertyFactory.getProp(this,data.w,0,null,this);if(!elementData.w.k){styleElem.wi=elementData.w.v}
937if(data.d){var d=new DashProperty(this,data.d,'canvas');elementData.d=d;if(!elementData.d.k){styleElem.da=elementData.d.dashArray;styleElem.do=elementData.d.dashoffset[0]}}}else{styleElem.r=data.r===2?'evenodd':'nonzero'}
938this.stylesList.push(styleElem);elementData.style=styleElem;return elementData};CVShapeElement.prototype.createGroupElement=function(data){var elementData={it:[],prevViewData:[]};return elementData};CVShapeElement.prototype.createTransformElement=function(data){var elementData={transform:{mat:new Matrix(),opacity:1,_matMdf:!1,_opMdf:!1,op:PropertyFactory.getProp(this,data.o,0,0.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,data,this)},elements:[]};return elementData};CVShapeElement.prototype.createShapeElement=function(data){var elementData=new CVShapeData(this,data);this.shapes.push(elementData);this.addShapeToModifiers(elementData);var j,jLen=this.stylesList.length;var hasStrokes=!1,hasFills=!1;for(j=0;j<jLen;j+=1){if(!this.stylesList[j].closed){this.stylesList[j].elements.push(elementData);if(this.stylesList[j].type==='st'){hasStrokes=!0}else{hasFills=!0}}}
939elementData.st=hasStrokes;elementData.fl=hasFills;return elementData};CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var i,len=this.itemsData.length;for(i=0;i<len;i+=1){this.prevViewData[i]=this.itemsData[i]}
940this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0);len=this.dynamicProperties.length;for(i=0;i<len;i+=1){this.dynamicProperties[i].getValue()}
941this.renderModifiers()};CVShapeElement.prototype.searchShapes=function(arr,itemsData,prevViewData,render){var i,len=arr.length-1;var j,jLen;var ownArrays=[],ownModifiers=[],processedPos,modifier;for(i=len;i>=0;i-=1){processedPos=this.searchProcessedElement(arr[i]);if(!processedPos){arr[i]._render=render}else{itemsData[i]=prevViewData[processedPos-1]}
942if(arr[i].ty=='fl'||arr[i].ty=='st'){if(!processedPos){itemsData[i]=this.createStyleElement(arr[i])}else{itemsData[i].style.closed=!1}
942
943ownArrays.push(itemsData[i].style)}else if(arr[i].ty=='gr'){if(!processedPos){itemsData[i]=this.createGroupElement(arr[i])}else{jLen=itemsData[i].it.length;for(j=0;j<jLen;j+=1){itemsData[i].prevViewData[j]=itemsData[i].it[j]}}
944this.searchShapes(arr[i].it,itemsData[i].it,itemsData[i].prevViewData,render)}else if(arr[i].ty=='tr'){if(!processedPos){itemsData[i]=this.createTransformElement(arr[i])}}else if(arr[i].ty=='sh'||arr[i].ty=='rc'||arr[i].ty=='el'||arr[i].ty=='sr'){if(!processedPos){itemsData[i]=this.createShapeElement(arr[i])}}else if(arr[i].ty=='tm'||arr[i].ty=='rd'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);modifier.init(this,arr[i]);itemsData[i]=modifier;this.shapeModifiers.push(modifier)}else{modifier=itemsData[i];modifier.closed=!1}
945ownModifiers.push(modifier)}else if(arr[i].ty=='rp'){if(!processedPos){modifier=ShapeModifiers.getModifier(arr[i].ty);itemsData[i]=modifier;modifier.init(this,arr,i,itemsData);this.shapeModifiers.push(modifier);render=!1}else{modifier=itemsData[i];modifier.closed=!0}
946ownModifiers.push(modifier)}
947this.addProcessedElement(arr[i],i+1)}
948len=ownArrays.length;for(i=0;i<len;i+=1){ownArrays[i].closed=!0}
949len=ownModifiers.length;for(i=0;i<len;i+=1){ownModifiers[i].closed=!0}};CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.mat.reset();this.transformHelper.opacity=1;this.transformHelper._matMdf=!1;this.transformHelper._opMdf=!1;this.renderModifiers();this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)};CVShapeElement.prototype.renderShapeTransform=function(parentTransform,groupTransform){var props,groupMatrix;if(parentTransform._opMdf||groupTransform.op._mdf||this._isFirstFrame){groupTransform.opacity=parentTransform.opacity;groupTransform.opacity*=groupTransform.op.v;groupTransform._opMdf=!0}
950if(parentTransform._matMdf||groupTransform.mProps._mdf||this._isFirstFrame){groupMatrix=groupTransform.mat;groupMatrix.cloneFromProps(groupTransform.mProps.v.props);groupTransform._matMdf=!0;props=parentTransform.mat.props;groupMatrix.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15])}};CVShapeElement.prototype.drawLayer=function(){var i,len=this.stylesList.length;var j,jLen,k,kLen,elems,nodes,renderer=this.globalData.renderer,ctx=this.globalData.canvasContext,type,currentStyle;for(i=0;i<len;i+=1){currentStyle=this.stylesList[i];type=currentStyle.type;if((type==='st'&&currentStyle.wi===0)||!currentStyle.data._render||currentStyle.coOp===0){continue}
951renderer.save();elems=currentStyle.elements;if(type==='st'){ctx.strokeStyle=currentStyle.co;ctx.lineWidth=currentStyle.wi;ctx.lineCap=currentStyle.lc;ctx.lineJoin=currentStyle.lj;ctx.miterLimit=currentStyle.ml||0}else{ctx.fillStyle=currentStyle.co}
952renderer.ctxOpacity(currentStyle.coOp);if(this.globalData.currentGlobalAlpha!==0){if(type!=='st'){ctx.beginPath()}
953jLen=elems.length;for(j=0;j<jLen;j+=1){if(type==='st'){ctx.beginPath();if(currentStyle.da){ctx.setLineDash(currentStyle.da);ctx.lineDashOffset=currentStyle.do;this.globalData.isDashed=!0}else if(this.globalData.isDashed){ctx.setLineDash(this.dashResetter);this.globalData.isDashed=!1}}
954nodes=elems[j].trNodes;kLen=nodes.length;for(k=0;k<kLen;k+=1){if(nodes[k].t=='m'){ctx.moveTo(nodes[k].p[0],nodes[k].p[1])}else if(nodes[k].t=='c'){ctx.bezierCurveTo(nodes[k].pts[0],nodes[k].pts[1],nodes[k].pts[2],nodes[k].pts[3],nodes[k].pts[4],nodes[k].pts[5])}else{ctx.closePath()}}
955if(type==='st'){ctx.stroke()}}
956if(type!=='st'){ctx.fill(currentStyle.r)}}
957renderer.restore()}};CVShapeElement.prototype.renderShape=function(parentTransform,items,data,isMain){var i,len=items.length-1;var groupTransform;groupTransform=parentTransform;for(i=len;i>=0;i-=1){if(items[i].ty=='tr'){groupTransform=data[i].transform;this.renderShapeTransform(parentTransform,groupTransform)}else if(items[i].ty=='sh'||items[i].ty=='el'||items[i].ty=='rc'||items[i].ty=='sr'){this.renderPath(items[i],data[i],groupTransform)}else if(items[i].ty=='fl'){this.renderFill(items[i],data[i],groupTransform)}else if(items[i].ty=='st'){this.renderStroke(items[i],data[i],groupTransform)}else if(items[i].ty=='gr'){this.renderShape(groupTransform,items[i].it,data[i].it)}else if(items[i].ty=='tm'){}}
958if(isMain){this.drawLayer()}};CVShapeElement.prototype.renderPath=function(pathData,itemData,groupTransform){var len,i,j,jLen;var redraw=groupTransform._matMdf||itemData.sh._mdf||this._isFirstFrame;if(redraw){var paths=itemData.sh.paths,groupTransformMat=groupTransform.mat;jLen=pathData._render===!1?0:paths._length;var pathStringTransformed=itemData.trNodes;pathStringTransformed.length=0;for(j=0;j<jLen;
958j+=1){var pathNodes=paths.shapes[j];if(pathNodes&&pathNodes.v){len=pathNodes._length;for(i=1;i<len;i+=1){if(i==1){pathStringTransformed.push({t:'m',p:groupTransformMat.applyToPointArray(pathNodes.v[0][0],pathNodes.v[0][1],0)})}
959pathStringTransformed.push({t:'c',pts:groupTransformMat.applyToTriplePoints(pathNodes.o[i-1],pathNodes.i[i],pathNodes.v[i])})}
960if(len==1){pathStringTransformed.push({t:'m',p:groupTransformMat.applyToPointArray(pathNodes.v[0][0],pathNodes.v[0][1],0)})}
961if(pathNodes.c&&len){pathStringTransformed.push({t:'c',pts:groupTransformMat.applyToTriplePoints(pathNodes.o[i-1],pathNodes.i[0],pathNodes.v[0])});pathStringTransformed.push({t:'z'})}
962itemData.lStr=pathStringTransformed}}
963if(itemData.st){for(i=0;i<16;i+=1){itemData.tr[i]=groupTransform.mat.props[i]}}
964itemData.trNodes=pathStringTransformed}};CVShapeElement.prototype.renderFill=function(styleData,itemData,groupTransform){var styleElem=itemData.style;if(itemData.c._mdf||this._isFirstFrame){styleElem.co='rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')'}
965if(itemData.o._mdf||groupTransform._opMdf||this._isFirstFrame){styleElem.coOp=itemData.o.v*groupTransform.opacity}};CVShapeElement.prototype.renderStroke=function(styleData,itemData,groupTransform){var styleElem=itemData.style;var d=itemData.d;if(d&&(d._mdf||this._isFirstFrame)){styleElem.da=d.dashArray;styleElem.do=d.dashoffset[0]}
966if(itemData.c._mdf||this._isFirstFrame){styleElem.co='rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')'}
967if(itemData.o._mdf||groupTransform._opMdf||this._isFirstFrame){styleElem.coOp=itemData.o.v*groupTransform.opacity}
968if(itemData.w._mdf||this._isFirstFrame){styleElem.wi=itemData.w.v}};CVShapeElement.prototype.destroy=function(){this.shapesData=null;this.globalData=null;this.canvasContext=null;this.stylesList.length=0;this.itemsData.length=0};function CVSolidElement(data,globalData,comp){this.initElement(data,globalData,comp)}
969extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement);CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement;CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame;CVSolidElement.prototype.renderInnerContent=function(){var ctx=this.canvasContext;ctx.fillStyle=this.data.sc;ctx.fillRect(0,0,this.data.sw,this.data.sh)};function CVTextElement(data,globalData,comp){this.textSpans=[];this.yOffset=0;this.fillColorAnim=!1;this.strokeColorAnim=!1;this.strokeWidthAnim=!1;this.stroke=!1;this.fill=!1;this.justifyOffset=0;this.currentRender=null;this.renderType='canvas';this.values={fill:'rgba(0,0,0,0)',stroke:'rgba(0,0,0,0)',sWidth:0,fValue:''};this.initElement(data,globalData,comp)}
970extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement);CVTextElement.prototype.tHelper=createTag('canvas').getContext('2d');CVTextElement.prototype.buildNewText=function(){var documentData=this.textProperty.currentData;this.renderedLetters=createSizedArray(documentData.l?documentData.l.length:0);var hasFill=!1;if(documentData.fc){hasFill=!0;this.values.fill=this.buildColor(documentData.fc)}else{this.values.fill='rgba(0,0,0,0)'}
971this.fill=hasFill;var hasStroke=!1;if(documentData.sc){hasStroke=!0;this.values.stroke=this.buildColor(documentData.sc);this.values.sWidth=documentData.sw}
972var fontData=this.globalData.fontManager.getFontByName(documentData.f);var i,len;var letters=documentData.l;var matrixHelper=this.mHelper;this.stroke=hasStroke;this.values.fValue=documentData.finalSize+'px '+this.globalData.fontManager.getFontByName(documentData.f).fFamily;len=documentData.finalText.length;var charData,shapeData,k,kLen,shapes,j,jLen,pathNodes,commands,pathArr,singleShape=this.data.singleShape;var trackingOffset=documentData.tr/1000*documentData.finalSize;var xPos=0,yPos=0,firstLine=!0;var cnt=0;for(i=0;i<len;i+=1){charData=this.globalData.fontManager.getCharData(documentData.finalText[i],fontData.fStyle,this.globalData.fontManager.getFontByName(
972documentData.f).fFamily);shapeData=charData&&charData.data||{};matrixHelper.reset();if(singleShape&&letters[i].n){xPos=-trackingOffset;yPos+=documentData.yOffset;yPos+=firstLine?1:0;firstLine=!1}
973shapes=shapeData.shapes?shapeData.shapes[0].it:[];jLen=shapes.length;matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);if(singleShape){this.applyTextPropertiesToMatrix(documentData,matrixHelper,letters[i].line,xPos,yPos)}
974commands=createSizedArray(jLen);for(j=0;j<jLen;j+=1){kLen=shapes[j].ks.k.i.length;pathNodes=shapes[j].ks.k;pathArr=[];for(k=1;k<kLen;k+=1){if(k==1){pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0],pathNodes.v[0][1],0),matrixHelper.applyToY(pathNodes.v[0][0],pathNodes.v[0][1],0))}
975pathArr.push(matrixHelper.applyToX(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToY(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToX(pathNodes.i[k][0],pathNodes.i[k][1],0),matrixHelper.applyToY(pathNodes.i[k][0],pathNodes.i[k][1],0),matrixHelper.applyToX(pathNodes.v[k][0],pathNodes.v[k][1],0),matrixHelper.applyToY(pathNodes.v[k][0],pathNodes.v[k][1],0))}
976pathArr.push(matrixHelper.applyToX(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToY(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToX(pathNodes.i[0][0],pathNodes.i[0][1],0),matrixHelper.applyToY(pathNodes.i[0][0],pathNodes.i[0][1],0),matrixHelper.applyToX(pathNodes.v[0][0],pathNodes.v[0][1],0),matrixHelper.applyToY(pathNodes.v[0][0],pathNodes.v[0][1],0));commands[j]=pathArr}
977if(singleShape){xPos+=letters[i].l;xPos+=trackingOffset}
978if(this.textSpans[cnt]){this.textSpans[cnt].elem=commands}else{this.textSpans[cnt]={elem:commands}}
979cnt+=1}};CVTextElement.prototype.renderInnerContent=function(){var ctx=this.canvasContext;var finalMat=this.finalTransform.mat.props;ctx.font=this.values.fValue;ctx.lineCap='butt';ctx.lineJoin='miter';ctx.miterLimit=4;if(!this.data.singleShape){this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag)}
980var i,len,j,jLen,k,kLen;var renderedLetters=this.textAnimator.renderedLetters;var letters=this.textProperty.currentData.l;len=letters.length;var renderedLetter;var lastFill=null,lastStroke=null,lastStrokeW=null,commands,pathArr;for(i=0;i<len;i+=1){if(letters[i].n){continue}
981renderedLetter=renderedLetters[i];if(renderedLetter){this.globalData.renderer.save();this.globalData.renderer.ctxTransform(renderedLetter.p);this.globalData.renderer.ctxOpacity(renderedLetter.o)}
982if(this.fill){if(renderedLetter&&renderedLetter.fc){if(lastFill!==renderedLetter.fc){lastFill=renderedLetter.fc;ctx.fillStyle=renderedLetter.fc}}else if(lastFill!==this.values.fill){lastFill=this.values.fill;ctx.fillStyle=this.values.fill}
983commands=this.textSpans[i].elem;jLen=commands.length;this.globalData.canvasContext.beginPath();for(j=0;j<jLen;j+=1){pathArr=commands[j];kLen=pathArr.length;this.globalData.canvasContext.moveTo(pathArr[0],pathArr[1]);for(k=2;k<kLen;k+=6){this.globalData.canvasContext.bezierCurveTo(pathArr[k],pathArr[k+1],pathArr[k+2],pathArr[k+3],pathArr[k+4],pathArr[k+5])}}
984this.globalData.canvasContext.closePath();this.globalData.canvasContext.fill()}
985if(this.stroke){if(renderedLetter&&renderedLetter.sw){if(lastStrokeW!==renderedLetter.sw){lastStrokeW=renderedLetter.sw;ctx.lineWidth=renderedLetter.sw}}else if(lastStrokeW!==this.values.sWidth){lastStrokeW=this.values.sWidth;ctx.lineWidth=this.values.sWidth}
986if(renderedLetter&&renderedLetter.sc){if(lastStroke!==renderedLetter.sc){lastStroke=renderedLetter.sc;ctx.strokeStyle=renderedLetter.sc}}else if(lastStroke!==this.values.stroke){lastStroke=this.values.stroke;ctx.strokeStyle=this.values.stroke}
987commands=this.textSpans[i].elem;jLen=commands.length;this.globalData.canvasContext.beginPath();for(j=0;j<jLen;j+=1){pathArr=commands[j];kLen=pathArr.length;this.globalData.canvasContext.moveTo(pathArr[0],pathArr[1]);for(k=2;k<kLen;k+=6){this.globalData.canvasContext.bezierCurveTo(pathArr[k],pathArr[k+1],pathArr[k+2],pathArr[k+3],pathArr[k+4],pathArr[k+5])}}
988this.globalData.canvasContext.closePath();this.globalData.canvasContext.stroke()}
989if(renderedLetter){this.globalData.renderer.restore()}}};function CVEffects(){}
990CVEffects.prototype.renderFrame=function(){};function HBaseElement(data,globalData,comp){}
991HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||'div');if(this.data.hasMask){this.svgElement=createNS('svg');this.layerElement=createNS('g');this.maskedElement=this.layerElement;this.svgElement.appendChild(this.layerElement);this.baseElement.appendChild(this.svgElement)}else{this.layerElement=this.baseElement}
992styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this);this.transformedElement=this.baseElement;this.maskedElement=this.layerElement;if(this.data.ln){this.layerElement.setAttribute('id',this.data.ln)}
993if(this.data.cl){this.layerElement.setAttribute('class',this.data.cl)}
994if(this.data.bm!==0){this.setBlendMode()}},renderElement:function(){if(this.finalTransform._matMdf){this.transformedElement.style.transform=this.transformedElement.style.webkitTransform=this.finalTransform.mat.toCSS()}
995if(this.finalTransform._opMdf){this.transformedElement.style.opacity=this.finalTransform.mProp.o.v}},renderFrame:function(){if(this.data.hd||this.hidden){return}
996this.renderTransform();this.renderRenderable();this.renderElement();this.renderInnerContent();if(this._isFirstFrame){this._isFirstFrame=!1}},destroy:function(){this.layerElement=null;this.transformedElement=null;if(this.matteElement){this.matteElement=null}
997if(this.maskManager){this.maskManager.destroy();this.maskManager=null}},addMasks:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},setMatte:function(){}};HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement;HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy;HBaseElement.prototype.buildElementParenting=HybridRenderer.prototype.buildElementParenting;function HSolidElement(data,globalData,comp){this.initElement(data,globalData,comp)}
998extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement);HSolidElement.prototype.createContent=function(){var rect;if(this.data.hasMask){rect=createNS('rect');rect.setAttribute('width',this.data.sw);rect.setAttribute('height',this.data.sh);rect.setAttribute('fill',this.data.sc);this.svgElement.setAttribute('width',this.data.sw);this.svgElement.setAttribute('height',this.data.sh)}else{rect=createTag('div');rect.style.width=this.data.sw+'px';rect.style.height=this.data.sh+'px';rect.style.backgroundColor=this.data.sc}
999this.layerElement.appendChild(rect)};function HCompElement(data,globalData,comp){this.layers=data.layers;this.supports3d=!data.hasMask;this.completeLayers=!1;this.pendingElements=[];this.elements=this.layers?createSizedArray(this.layers.length):[];this.initElement(data,globalData,comp);this.tm=data.tm?PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this):{_placeholder:!0}}
1000extendPrototype([HybridRenderer,ICompElement,HBaseElement],HCompElement);HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements;HCompElement.prototype.createContainerElements=function(){this._createBaseContainerElements();if(this.data.hasMask){this.svgElement.setAttribute('width',this.data.w);this.svgElement.setAttribute('height',this.data.h);this.transformedElement=this.baseElement}else{this.transformedElement=this.layerElement}};HCompElement.prototype.addTo3dContainer=function(elem,pos){var j=0;var nextElement;while(j<pos){if(this.elements[j]&&this.elements[j].getBaseElement){nextElement=this.elements[j].getBaseElement()}
1001j+=1}
1002if(nextElement){this.layerElement.insertBefore(elem,nextElement)}else{this.layerElement.appendChild(elem)}}
1003function HShapeElement(data,globalData,comp){this.shapes=[];this.shapesData=data.shapes;this.stylesList=[];this.shapeModifiers=[];this.itemsData=[];this.processedElements=[];this.animatedContents=[];this.shapesContainer=createNS('g');this.initElement(data,globalData,comp);this.prevViewData=[];this.currentBBox={x:999999,y:-999999,h:0,w:0}}
1004extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement);HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent;HShapeElement.prototype.createContent=function(){var cont;this.baseElement.style.fontSize=0;if(this.data.hasMask){this.layerElement.appendChild(this.shapesContainer);cont=this.svgElement}else{cont=createNS('svg');var size=this.comp.data?this.comp.data:this.globalData.compSize;cont.setAttribute('width',size.w);cont.setAttribute('height',size.h);cont.appendChild(this.shapesContainer);this.layerElement.appendChild(cont)}
1005this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0);this.filterUniqueShapes();this.shapeCont=cont};HShapeElement.prototype.getTransformedPoint=function(transformers,point){var i,len=transformers.length;for(i=0;i<len;i+=1){point=transformers[i].mProps.v.applyToPointArray(point[0],point[1],0)}
1006return point}
1007HShapeElement.prototype.calculateShapeBoundingBox=function(item,boundingBox){var shape=item.sh.v;var transformers=item.transformers;var i,len=shape._length,vPoint,oPoint,nextIPoint,nextVPoint,bounds;if(len<=1){return}
1008for(i=0;i<len-1;i+=1){vPoint=this.getTransformedPoint(transformers,shape.v[i]);oPoint=this.getTransformedPoint(transformers,shape.o[i]);nextIPoint=this.getTransformedPoint(transformers,shape.i[i+1]);nextVPoint=this.getTransformedPoint(transformers,shape.v[i+1]);this.checkBounds(vPoint,oPoint,nextIPoint,nextVPoint,boundingBox)}
1009if(shape.c){vPoint=this.getTransformedPoint(transformers,shape.v[i]);oPoint=this.getTransformedPoint(transformers,shape.o[i]);nextIPoint=this.getTransformedPoint(transformers,shape.i[0]);nextVPoint=this.getTransformedPoint(transformers,shape.v[0]);this.checkBounds(vPoint,oPoint,nextIPoint,nextVPoint,boundingBox)}}
1010HShapeElement.prototype.checkBounds=function(vPoint,oPoint,nextIPoint,nextVPoint,boundingBox){this.getBoundsOfCurve(vPoint,oPoint,nextIPoint,nextVPoint);var bounds=this.shapeBoundingBox;boundingBox.x=bm_min(bounds.left,boundingBox.x);boundingBox.xMax=bm_max(bounds.right,boundingBox.xMax);boundingBox.y=bm_min(bounds.top,boundingBox.y);boundingBox.yMax=bm_max(bounds.bottom,boundingBox.yMax)}
1011HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0,}
1012HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0}
1013HShapeElement.prototype.getBoundsOfCurve=function(p0,p1,p2,p3){var bounds=[[p0[0],p3[0]],[p0[1],p3[1]]];for(var a,b,c,t,b2ac,t1,t2,i=0;i<2;++i){b=6*p0[i]-12*p1[i]+6*p2[i];a=-3*p0[i]+9*p1[i]-9*p2[i]+3*p3[i];c=3*p1[i]-3*p0[i];b=b|0;a=a|0;c=c|0;if(a===0){if(b===0){continue}
1014t=-c/b;if(0<t&&t<1){bounds[i].push(this.calculateF(t,p0,p1,p2,p3,i))}
1015continue}
1016b2ac=b*b-4*c*a;if(b2ac<0){continue}
1017t1=(-b+bm_sqrt(b2ac))/(2*a);if(0<t1&&t1<1)bounds[i].push(this.calculateF(t1,p0,p1,p2,p3,i));t2=(-b-bm_sqrt(b2ac))/(2*a);if(0<t2&&t2<1)bounds[i].push(this.calculateF(t2,p0,p1,p2,p3,i));}
1018this.shapeBoundingBox.left=bm_min.apply(null,bounds[0]);this.shapeBoundingBox.top=bm_min.apply(null,bounds[1]);this.shapeBoundingBox.right=bm_max.apply(null,bounds[0]);this.shapeBoundingBox.bottom=bm_max.apply(null,bounds[1])};HShapeElement.prototype.calculateF=function(t,p0,p1,p2,p3,i){return bm_pow(1-t,3)*p0[i]+3*bm_pow(1-t,2)*t*p1[i]+3*(1-t)*bm_pow(t,2)*p2[i]+bm_pow(t,3)*p3[i]}
1019HShapeElement.prototype.calculateBoundingBox=function(itemsData,boundingBox){var i,len=itemsData.length,path;for(i=0;i<len;i+=1){if(itemsData[i]&&itemsData[i].sh){this.calculateShapeBoundingBox(itemsData[i],boundingBox)}else if(itemsData[i]&&itemsData[i].it){this.calculateBoundingBox(itemsData[i].it,boundingBox)}}}
1020HShapeElement.prototype.currentBoxContains=function(box){return this.currentBBox.x<=box.x&&this.currentBBox.y<=box.y&&this.currentBBox.width+this.currentBBox.x>=box.x+box.width&&this.currentBBox.height+this.currentBBox.y>=box.y+box.height}
1021HShapeElement.prototype.renderInnerContent=function(){this._renderShapeFrame();if(!this.hidden&&(this._isFirstFrame||this._mdf)){var tempBoundingBox=this.tempBoundingBox;var max=999999;tempBoundingBox.x=max;tempBoundingBox.xMax=-max;tempBoundingBox.y=max;tempBoundingBox.yMax=-max;this.calculateBoundingBox(this.itemsData,tempBoundingBox);tempBoundingBox.width=tempBoundingBox.xMax<tempBoundingBox.x?0:tempBoundingBox.xMax-tempBoundingBox.x;tempBoundingBox.height=tempBoundingBox.yMax<tempBoundingBox.y?0:tempBoundingBox.yMax-tempBoundingBox.y;if(this.currentBoxContains(tempBoundingBox)){return}
1022var changed=!1;if(this.currentBBox.w!==tempBoundingBox.width){this.currentBBox.w=tempBoundingBox.width;this.shapeCont.setAttribute('width',tempBoundingBox.width);changed=!0}
1023if(this.currentBBox.h!==tempBoundingBox.height){this.currentBBox.h=tempBoundingBox.height;this.shapeCont.setAttribute('height',tempBoundingBox.height);changed=!0}
1024if(changed||this.currentBBox.x!==tempBoundingBox.x||this.currentBBox.y!==tempBoundingBox.y){this.currentBBox.w=tempBoundingBox.width;this.currentBBox.h=tempBoundingBox.height;this.currentBBox.x=tempBoundingBox.x;this.currentBBox.y=tempBoundingBox.y;this.shapeCont.setAttribute('viewBox',this.currentBBox.x+' '+this.currentBBox.y+' '+this.currentBBox.w+' '+this.currentBBox.h);this.shapeCont.style.transform=this.shapeCont.style.webkitTransform='translate('+this.currentBBox.x+'px,'+this.currentBBox.y+'px)'}}};function HTextElement(data,globalData,comp){this.textSpans=[];this.textPaths=[];this.currentBBox={x:999999,y:-999999,h:0,w:0};this.renderType='svg';this.isMasked=!1;this.initElement(data,globalData,comp)}
1025extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement);HTextElement.prototype.createContent=function(){this.isMasked=this.checkMasks();if(this.isMasked){this.renderType='svg';this.compW=this.comp.data.w;this.compH=this.comp.data.h;this.svgElement.setAttribute('width',this.compW);this.svgElement.setAttribute('height',this.compH);var g=createNS('g');this.maskedElement.appendChild(g);this.innerElem=g}else{this.renderType='html';this.innerElem=this.layerElement}
1026this.checkParenting()};HTextElement.prototype.buildNewText=function(){var documentData=this.textProperty.currentData;this.renderedLetters=createSizedArray(documentData.l?documentData.l.length:0);var innerElemStyle=this.innerElem.style;innerElemStyle.color=innerElemStyle.fill=documentData.fc?this.buildColor(documentData.fc):'rgba(0,0,0,0)';if(documentData.sc){innerElemStyle.stroke=this.buildColor(documentData.sc);innerElemStyle.strokeWidth=documentData.sw+'px'}
1027var fontData=this.globalData.fontManager.getFontByName(documentData.f);if(!this.globalData.fontManager.chars){innerElemStyle.fontSize=documentData.finalSize+'px';innerElemStyle.lineHeight=documentData.finalSize+'px';if(fontData.fClass){this.innerElem.className=fontData.fClass}else{innerElemStyle.fontFamily=fontData.fFamily;var fWeight=documentData.fWeight,fStyle=documentData.fStyle;innerElemStyle.fontStyle=fStyle;innerElemStyle.fontWeight=fWeight}}
1028var i,len;var letters=documentData.l;len=letters.length;var tSpan,tParent,tCont;var matrixHelper=this.mHelper;var shapes,shapeStr='';var cnt=0;for(i=0;i<len;i+=1){if(this.globalData.fontManager.chars){if(!this.textPaths[cnt]){tSpan=createNS('path');tSpan.setAttribute('stroke-linecap','butt');tSpan.setAttribute('stroke-linejoin','round');tSpan.setAttribute('stroke-miterlimit','4')}else{tSpan=this.textPaths[cnt]}
1029if(!this.isMasked){if(this.textSpans[cnt]){tParent=this.textSpans[cnt];tCont=tParent.children[0]}else{tParent=createTag('div');tCont=createNS('svg');tCont.appendChild(tSpan);styleDiv(tParent)}}}else{if(!this.isMasked){if(this.textSpans[cnt]){tParent=this.textSpans[cnt];tSpan=this.textPaths[cnt]}else{tParent=createTag('span');styleDiv(tParent);tSpan=createTag('span');styleDiv(tSpan);tParent.appendChild(tSpan)}}else{tSpan=this.textPaths[cnt]?this.textPaths[cnt]:createNS('text')}}
1030if(this.globalData.fontManager.chars){var charData=this.globalData.fontManager.getCharData(documentData.finalText[i],fontData.fStyle,this.globalData.fontManager.getFontByName(documentData.f).fFamily);var shapeData;if(charData){shapeData=charData.data}else{shapeData=null}
1031matrixHelper.reset();if(shapeData&&shapeData.shapes){shapes=shapeData.shapes[0].it;matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);shapeStr=this.createPathShape(matrixHelper,shapes);tSpan.setAttribute('d',shapeStr)}
1032if(!this.isMasked){this.innerElem.appendChild(tParent);if(shapeData&&shapeData.shapes){document.body.appendChild(tCont);var boundingBox=tCont.getBBox();tCont.setAttribute('width',boundingBox.width+2);tCont.setAttribute('height',boundingBox.height+2);tCont.setAttribute('viewBox',(boundingBox.x-1)+' '+(boundingBox.y-1)+' '+(boundingBox.width+2)+' '+(boundingBox.height+2));tCont.style.transform=tCont.style.webkitTransform='translate('+(boundingBox.x-1)+'px,'+(boundingBox.y-1)+'px)';letters[i].yOffset=boundingBox.y-1}else{tCont.setAttribute('width',1);tCont.setAttribute('height',1)}
1033tParent.appendChild(tCont)}else{this.innerElem.appendChild(tSpan)}}else{tSpan.textContent=letters[i].val;tSpan.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");if(!this.isMasked){this.innerElem.appendChild(tParent);tSpan.style.transform=tSpan.style.webkitTransform='translate3d(0,'+ -documentData.finalSize/1.2+'px,0)'}else{this.innerElem.appendChild(tSpan)}}
1034if(!this.isMasked){this.textSpans[cnt]=tParent}else{this.textSpans[cnt]=tSpan}
1035this.textSpans[cnt].style.display='block';this.textPaths[cnt]=tSpan;cnt+=1}
1036while(cnt<this.textSpans.length){this.textSpans[cnt].style.display='none';cnt+=1}};HTextElement.prototype.renderInnerContent=function(){if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag){return}else{if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute('viewBox',-this.finalTransform.mProp.p.v[0]+' '+ -this.finalTransform.mProp.p.v[1]+' '+this.compW+' '+this.compH);this.svgElement.style.transform=this.svgElement.style.webkitTransform='translate('+ -this.finalTransform.mProp.p.v[0]+'px,'+ -this.finalTransform.mProp.p.v[1]+'px)'}}}
1037this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);if(!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag){return}
1038var i,len,count=0;var renderedLetters=this.textAnimator.renderedLetters;var letters=this.textProperty.currentData.l;len=letters.length;var renderedLetter,textSpan,textPath;for(i=0;i<len;i+=1){if(letters[i].n){count+=1;continue}
1039textSpan=this.textSpans[i];textPath=this.textPaths[i];renderedLetter=renderedLetters[count];count+=1;if(renderedLetter._mdf.m){if(!this.isMasked){textSpan.style.transform=textSpan.style.webkitTransform=renderedLetter.m}else{textSpan.setAttribute('transform',renderedLetter.m)}}
1040textSpan.style.opacity=renderedLetter.o;if(renderedLetter.sw&&renderedLetter._mdf.sw){textPath.setAttribute('stroke-width',renderedLetter.sw)}
1041if(renderedLetter.sc&&renderedLetter._mdf.sc){textPath.setAttribute('stroke',renderedLetter.sc)}
1042if(renderedLetter.fc&&renderedLetter._mdf.fc){textPath.setAttribute('fill',renderedLetter.fc);textPath.style.color=renderedLetter.fc}}
1043if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var boundingBox=this.innerElem.getBBox();if(this.currentBBox.w!==boundingBox.width){this.currentBBox.w=boundingBox.width;this.svgElement.setAttribute('width',boundingBox.width)}
1044if(this.currentBBox.h!==boundingBox.height){this.currentBBox.h=boundingBox.height;this.svgElement.setAttribute('height',boundingBox.height)}
1045var margin=1;if(this.currentBBox.w!==(boundingBox.width+margin*2)||this.currentBBox.h!==(boundingBox.height+margin*2)||this.currentBBox.x!==(boundingBox.x-margin)||this.currentBBox.y!==(boundingBox.y-margin)){this.currentBBox.w=boundingBox.width+margin*2;this.currentBBox.h=boundingBox.height+margin*2;this.currentBBox.x=boundingBox.x-margin;this.currentBBox.y=boundingBox.y-margin;this.svgElement.setAttribute('viewBox',this.currentBBox.x+' '+this.currentBBox.y+' '+this.currentBBox.w+' '+this.currentBBox.h);this.svgElement.style.transform=this.svgElement.style.webkitTransform='translate('+this.currentBBox.x+'px,'+this.currentBBox.y+'px)'}}};function HImageElement(data,globalData,comp){this.assetData=globalData.getAssetData(data.refId);this.initElement(data,globalData,comp)}
1046extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement);HImageElement.prototype.createContent=function(){var assetPath=this.globalData.getAssetsPath(this.assetData);var img=new Image();if(this.data.hasMask){this.imageElem=createNS('image');this.imageElem.setAttribute('width',this.assetData.w+"px");this.imageElem.setAttribute('height',this.assetData.h+"px");this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);this.layerElement.appendChild(this.imageElem);this.baseElement.setAttribute('width',this.assetData.w);this.baseElement.setAttribute('height',this.assetData.h)}else{this.layerElement.appendChild(img)}
1047img.src=assetPath;if(this.data.ln){this.baseElement.setAttribute('id',this.data.ln)}};function HCameraElement(data,globalData,comp){this.initFrame();this.initBaseData(data,globalData,comp);this.initHierarchy();var getProp=PropertyFactory.getProp;this.pe=getProp(this,data.pe,0,0,this);if(data.ks.p.s){this.px=getProp(this,data.ks.p.x,1,0,this);this.py=getProp(this,data.ks.p.y,1,0,this);this.pz=getProp(this,data.ks.p.z,1,0,this)}else{this.p=getProp(this,data.ks.p,1,0,this)}
1048if(data.ks.a){this.a=getProp(this,data.ks.a,1,0,this)}
1049if(data.ks.or.k.length&&data.ks.or.k[0].to){var i,len=data.ks.or.k.length;for(i=0;i<len;i+=1){data.ks.or.k[i].to=null;data.ks.or.k[i].ti=null}}
1050this.or=getProp(this,data.ks.or,1,degToRads,this);this.or.sh=!0;this.rx=getProp(this,data.ks.rx,0,degToRads,this);this.ry=getProp(this,data.ks.ry,0,degToRads,this);this.rz=getProp(this,data.ks.rz,0,degToRads,this);this.mat=new Matrix();
1050this._prevMat=new Matrix();this._isFirstFrame=!0}
1051extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement);HCameraElement.prototype.setup=function(){var i,len=this.comp.threeDElements.length,comp;for(i=0;i<len;i+=1){comp=this.comp.threeDElements[i];if(comp.type==='3d'){comp.perspectiveElem.style.perspective=comp.perspectiveElem.style.webkitPerspective=this.pe.v+'px';comp.container.style.transformOrigin=comp.container.style.mozTransformOrigin=comp.container.style.webkitTransformOrigin="0px 0px 0px";comp.perspectiveElem.style.transform=comp.perspectiveElem.style.webkitTransform='matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)'}}};HCameraElement.prototype.createElements=function(){};HCameraElement.prototype.hide=function(){};HCameraElement.prototype.renderFrame=function(){var _mdf=this._isFirstFrame;var i,len;if(this.hierarchy){len=this.hierarchy.length;for(i=0;i<len;i+=1){_mdf=this.hierarchy[i].finalTransform.mProp._mdf||_mdf}}
1052if(_mdf||this.pe._mdf||(this.p&&this.p._mdf)||(this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf))||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||(this.a&&this.a._mdf)){this.mat.reset();if(this.hierarchy){var mat;len=this.hierarchy.length-1;for(i=len;i>=0;i-=1){var mTransf=this.hierarchy[i].finalTransform.mProp;this.mat.translate(-mTransf.p.v[0],-mTransf.p.v[1],mTransf.p.v[2]);this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);this.mat.scale(1/mTransf.s.v[0],1/mTransf.s.v[1],1/mTransf.s.v[2]);this.mat.translate(mTransf.a.v[0],mTransf.a.v[1],mTransf.a.v[2])}}
1053if(this.p){this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2])}else{this.mat.translate(-this.px.v,-this.py.v,this.pz.v)}
1054if(this.a){var diffVector=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]];var mag=Math.sqrt(Math.pow(diffVector[0],2)+Math.pow(diffVector[1],2)+Math.pow(diffVector[2],2));var lookDir=[diffVector[0]/mag,diffVector[1]/mag,diffVector[2]/mag];var lookLengthOnXZ=Math.sqrt(lookDir[2]*lookDir[2]+lookDir[0]*lookDir[0]);var m_rotationX=(Math.atan2(lookDir[1],lookLengthOnXZ));var m_rotationY=(Math.atan2(lookDir[0],-lookDir[2]));this.mat.rotateY(m_rotationY).rotateX(-m_rotationX)}
1055this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0);this.mat.translate(0,0,this.pe.v);var hasMatrixChanged=!this._prevMat.equals(this.mat);if((hasMatrixChanged||this.pe._mdf)&&this.comp.threeDElements){len=this.comp.threeDElements.length;var comp;for(i=0;i<len;i+=1){comp=this.comp.threeDElements[i];if(comp.type==='3d'){if(hasMatrixChanged){comp.container.style.transform=comp.container.style.webkitTransform=this.mat.toCSS()}
1056if(this.pe._mdf){comp.perspectiveElem.style.perspective=comp.perspectiveElem.style.webkitPerspective=this.pe.v+'px'}}}
1057this.mat.clone(this._prevMat)}}
1058this._isFirstFrame=!1};HCameraElement.prototype.prepareFrame=function(num){this.prepareProperties(num,!0)};HCameraElement.prototype.destroy=function(){};HCameraElement.prototype.initExpressions=function(){};HCameraElement.prototype.getBaseElement=function(){return null};function HEffects(){}
1059HEffects.prototype.renderFrame=function(){};var Expressions=(function(){var ob={};ob.initExpressions=initExpressions;function initExpressions(animation){animation.renderer.compInterface=CompExpressionInterface(animation.renderer);animation.renderer.globalData.projectInterface.registerComposition(animation.renderer)}
1060return ob}());expressionsPlugin=Expressions;var ExpressionManager=(function(){'use strict';var ob={};var Math=BMMath;var window=null;var document=null;function $bm_isInstanceOfArray(arr){return arr.constructor===Array||arr.constructor===Float32Array}
1061function isNumerable(tOfV,v){return tOfV==='number'||tOfV==='boolean'||tOfV==='string'||v instanceof Number}
1062function $bm_neg(a){var tOfA=typeof a;if(tOfA==='number'||tOfA==='boolean'||a instanceof Number){return-a}
1063if($bm_isInstanceOfArray(a)){var i,lenA=a.length;var retArr=[];for(i=0;i<lenA;i+=1){retArr[i]=-a[i]}
1064return retArr}}
1065function sum(a,b){var tOfA=typeof a;var tOfB=typeof b;if(tOfA==='string'||tOfB==='string'){return a+b}
1066if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){return a+b}
1067if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){a=a.slice(0);a[0]=a[0]+b;return a}
1068if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){b=b.slice(0);b[0]=a+b[0];return b}
1069if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(b)){var i=0,lenA=a.length,lenB=b.length;var retArr=[];while(i<lenA||i<lenB){if((typeof a[i]==='number'||a[i]instanceof Number)&&(typeof b[i]==='number'||b[i]instanceof Number)){retArr[i]=a[i]+b[i]}else{retArr[i]=b[i]===undefined?a[i]:a[i]||b[i]}
1070i+=1}
1071return retArr}
1072return 0}
1073var add=sum;function sub(a,b){var tOfA=typeof a;var tOfB=typeof b;if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){if(tOfA==='string'){a=parseInt(a)}
1074if(tOfB==='string'){b=parseInt(b)}
1075return a-b}
1076if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){a=a.slice(0);a[0]=a[0]-b;return a}
1077if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){b=b.slice(0);b[0]=a-b[0];return b}
1078if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(b)){var i=0,lenA=a.length,lenB=b.length;var retArr=[];while(i<lenA||i<lenB){if((typeof a[i]==='number'||a[i]instanceof Number)&&(typeof b[i]==='number'||b[i]instanceof Number)){retArr[i]=a[i]-b[i]}else{retArr[i]=b[i]===undefined?a[i]:a[i]||b[i]}
1079i+=1}
1080return retArr}
1081return 0}
1082function mul(a,b){var tOfA=typeof a;var tOfB=typeof b;var arr;if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){return a*b}
1083var i,len;if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){len=a.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a[i]*b}
1084return arr}
1085if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){len=b.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a*b[i]}
1086return arr}
1087return 0}
1088function div(a,b){var tOfA=typeof a;var tOfB=typeof b;var arr;if(isNumerable(tOfA,a)&&isNumerable(tOfB,b)){return a/b}
1089var i,len;if($bm_isInstanceOfArray(a)&&isNumerable(tOfB,b)){len=a.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a[i]/b}
1090return arr}
1091if(isNumerable(tOfA,a)&&$bm_isInstanceOfArray(b)){len=b.length;arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=a/b[i]}
1092return arr}
1093return 0}
1094function mod(a,b){if(typeof a==='string'){a=parseInt(a)}
1095if(typeof b==='string'){b=parseInt(b)}
1096return a%b}
1097function clamp(num,min,max){if(min>max){var mm=max;max=min;min=mm}
1098return Math.min(Math.max(num,min),max)}
1099function radiansToDegrees(val){return val/degToRads}
1099
1100var radians_to_degrees=radiansToDegrees;function degreesToRadians(val){return val*degToRads}
1101var degrees_to_radians=radiansToDegrees;var helperLengthArray=[0,0,0,0,0,0];function length(arr1,arr2){if(typeof arr1==='number'||arr1 instanceof Number){arr2=arr2||0;return Math.abs(arr1-arr2)}
1102if(!arr2){arr2=helperLengthArray}
1103var i,len=Math.min(arr1.length,arr2.length);var addedLength=0;for(i=0;i<len;i+=1){addedLength+=Math.pow(arr2[i]-arr1[i],2)}
1104return Math.sqrt(addedLength)}
1105function normalize(vec){return div(vec,length(vec))}
1106function rgbToHsl(val){var r=val[0];var g=val[1];var b=val[2];var max=Math.max(r,g,b),min=Math.min(r,g,b);var h,s,l=(max+min)/2;if(max==min){h=s=0}else{var d=max-min;s=l>0.5?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}
1107h/=6}
1108return[h,s,l,val[3]]}
1109function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p}
1110function hslToRgb(val){var h=val[0];var s=val[1];var l=val[2];var r,g,b;if(s===0){r=g=b=l}else{var q=l<0.5?l*(1+s):l+s-l*s;var p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3)}
1111return[r,g,b,val[3]]}
1112function linear(t,tMin,tMax,value1,value2){if(value1===undefined||value2===undefined){value1=tMin;value2=tMax;tMin=0;tMax=1}
1113if(tMax<tMin){var _tMin=tMax;tMax=tMin;tMin=_tMin}
1114if(t<=tMin){return value1}else if(t>=tMax){return value2}
1115var perc=tMax===tMin?0:(t-tMin)/(tMax-tMin);if(!value1.length){return value1+(value2-value1)*perc}
1116var i,len=value1.length;var arr=createTypedArray('float32',len);for(i=0;i<len;i+=1){arr[i]=value1[i]+(value2[i]-value1[i])*perc}
1117return arr}
1118function random(min,max){if(max===undefined){if(min===undefined){min=0;max=1}else{max=min;min=undefined}}
1119if(max.length){var i,len=max.length;if(!min){min=createTypedArray('float32',len)}
1120var arr=createTypedArray('float32',len);var rnd=BMMath.random();for(i=0;i<len;i+=1){arr[i]=min[i]+rnd*(max[i]-min[i])}
1121return arr}
1122if(min===undefined){min=0}
1123var rndm=BMMath.random();return min+rndm*(max-min)}
1124function createPath(points,inTangents,outTangents,closed){var i,len=points.length;var path=shape_pool.newElement();path.setPathData(!!closed,len);var arrPlaceholder=[0,0],inVertexPoint,outVertexPoint;for(i=0;i<len;i+=1){inVertexPoint=inTangents?inTangents[i]:arrPlaceholder;outVertexPoint=outTangents?outTangents[i]:arrPlaceholder;path.setTripleAt(points[i][0],points[i][1],outVertexPoint[0]+points[i][0],outVertexPoint[1]+points[i][1],inVertexPoint[0]+points[i][0],inVertexPoint[1]+points[i][1],i,!0)}
1125return path}
1126function initiateExpression(elem,data,property){var val=data.x;var needsVelocity=/velocity(?![\w\d])/.test(val);var _needsRandom=val.indexOf('random')!==-1;var elemType=elem.data.ty;var transform,content,effect;var thisProperty=property;elem.comp.frameDuration=1/elem.comp.globalData.frameRate;var inPoint=elem.data.ip/elem.comp.globalData.frameRate;var outPoint=elem.data.op/elem.comp.globalData.frameRate;var width=elem.data.sw?elem.data.sw:0;var height=elem.data.sh?elem.data.sh:0;var loopIn,loop_in,loopOut,loop_out;var toWorld,fromWorld,fromComp,toComp,fromCompToSurface,anchorPoint,thisLayer,thisComp,mask,valueAtTime,velocityAtTime;var __expression_functions=[];if(data.xf){var i,len=data.xf.length;for(i=0;i<len;i+=1){__expression_functions[i]=eval('(function(){ return '+data.xf[i]+'}())')}}
1127var scoped_bm_rt;var expression_function=eval('[function _expression_function(){'+val+';scoped_bm_rt=$bm_rt}'+']')[0];var numKeys=property.kf?data.k.length:0;var wiggle=function wiggle(freq,amp){var i,j,len=this.pv.length?this.pv.length:1;var addedAmps=createTypedArray('float32',len);freq=5;var iterations=Math.floor(time*freq);i=0;j=0;while(i<iterations){for(j=0;j<len;j+=1){addedAmps[j]+=-amp+amp*2*BMMath.random()}
1128i+=1}
1129var periods=time*freq;var perc=periods-Math.floor(periods);var arr=createTypedArray('float32',len);if(len>1){for(j=0;j<len;j+=1){arr[j]=this.pv[j]+addedAmps[j]+(-amp+amp*2*BMMath.random())*perc}
1130return arr}else{return this.pv+addedAmps[0]+(-amp+amp*2*BMMath.random())*perc}}.bind(this);if(thisProperty.loopIn){loopIn=thisProperty.loopIn.bind(thisProperty);loop_in=loopIn}
1131if(thisProperty.loopOut){loopOut=thisProperty.loopOut.bind(thisProperty);loop_out=loopOut}
1132function loopInDuration(type,duration){return loopIn(type,duration,!0)}
1133function loopOutDuration(type,duration){return loopOut(type,duration,!0)}
1134if(this.getValueAtTime){valueAtTime=this.getValueAtTime.bind(this)}
1135if(this.getVelocityAtTime){velocityAtTime=this.getVelocityAtTime.bind(this)}
1136var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(elem1,elem2){var fVec=[elem2[0]-elem1[0],elem2[1]-elem1[1],elem2[2]-elem1[2]];var pitch=Math.atan2(fVec[0],Math.sqrt(fVec[1]*fVec[1]+fVec[2]*fVec[2]))/degToRads;var yaw=-Math.atan2(fVec[1],fVec[2])/degToRads;return[yaw,pitch,0]}
1137function easeOut(t,tMin,tMax,val1,val2){if(val1===undefined){val1=tMin;val2=tMax}else{t=(t-tMin)/(tMax-tMin)}
1138return-(val2-val1)*t*(t-2)+val1}
1139function easeIn(t,tMin,tMax,val1,val2){if(val1===undefined){val1=tMin;val2=tMax}else{t=(t-tMin)/(tMax-tMin)}
1140return(val2-val1)*t*t+val1}
1141function nearestKey(time){var i,len=data.k.length,index,keyTime;if(!data.k.length||typeof(data.k[0])==='number'){index=0;keyTime=0}else{index=-1;time*=elem.comp.globalData.frameRate;if(time<data.k[0].t){index=1;keyTime=data.k[0].t}else{for(i=0;i<len-1;i+=1){if(time===data.k[i].t){index=i+1;keyTime=data.k[i].t;break}else if(time>data.k[i].t&&time<data.k[i+1].t){if(time-data.k[i].t>data.k[i+1].t-time){index=i+2;keyTime=data.k[i+1].t}else{index=i+1;keyTime=data.k[i].t}
1142break}}
1143if(index===-1){index=i+1;keyTime=data.k[i].t}}}
1144var ob={};ob.index=index;ob.time=keyTime/elem.comp.globalData.frameRate;return ob}
1145function key(ind){var ob,i,len;if(!data.k.length||typeof(data.k[0])==='number'){throw new Error('The property has no keyframe at index '+ind)}
1146ind-=1;ob={time:data.k[ind].t/elem.comp.globalData.frameRate};var arr;if(ind===data.k.length-1&&!data.k[ind].h){arr=data.k[ind-1].e}else{arr=data.k[ind].s}
1147len=arr.length;for(i=0;i<len;i+=1){ob[i]=arr[i]}
1148return ob}
1149function framesToTime(frames,fps){if(!fps){fps=elem.comp.globalData.frameRate}
1150return frames/fps}
1151function timeToFrames(t,fps){if(!t&&t!==0){t=time}
1152if(!fps){fps=elem.comp.globalData.frameRate}
1153return t*fps}
1154function seedRandom(seed){BMMath.seedrandom(randSeed+seed)}
1155function sourceRectAtTime(){return elem.sourceRectAtTime()}
1156function substring(init,end){if(typeof value==='string'){if(end===undefined){return value.substring(init)}
1157return value.substring(init,end)}
1158return''}
1159function substr(init,end){if(typeof value==='string'){if(end===undefined){return value.substr(init)}
1160return value.substr(init,end)}
1161return''}
1162var time,velocity,value,text,textIndex,textTotal,selectorValue;var index=elem.data.ind;var hasParent=!!(elem.hierarchy&&elem.hierarchy.length);var parent;var randSeed=Math.floor(Math.random()*1000000);function executeExpression(_value){value=_value;if(_needsRandom){seedRandom(randSeed)}
1163if(this.frameExpressionId===elem.globalData.frameId&&this.propType!=='textSelector'){return value}
1164if(this.propType==='textSelector'){textIndex=this.textIndex;textTotal=this.textTotal;selectorValue=this.selectorValue}
1165if(!thisLayer){text=elem.layerInterface.text;thisLayer=elem.layerInterface;thisComp=elem.comp.compInterface;toWorld=thisLayer.toWorld.bind(thisLayer);fromWorld=thisLayer.fromWorld.bind(thisLayer);fromComp=thisLayer.fromComp.bind(thisLayer);toComp=thisLayer.toComp.bind(thisLayer);mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null;fromCompToSurface=fromComp}
1166if(!transform){transform=elem.layerInterface("ADBE Transform Group");anchorPoint=transform.anchorPoint}
1167if(elemType===4&&!content){content=thisLayer("ADBE Root Vectors Group")}
1168if(!effect){effect=thisLayer(4)}
1169hasParent=!!(elem.hierarchy&&elem.hierarchy.length);if(hasParent&&!parent){parent=elem.hierarchy[0].layerInterface}
1170time=this.comp.renderedFrame/this.comp.globalData.frameRate;if(needsVelocity){velocity=velocityAtTime(time)}
1171expression_function();this.frameExpressionId=elem.globalData.frameId;if(scoped_bm_rt.propType==="shape"){scoped_bm_rt=shape_pool.clone(scoped_bm_rt.v)}
1172return scoped_bm_rt}
1173return executeExpression}
1174ob.initiateExpression=initiateExpression;return ob}());(function addPropertyDecorator(){function getStaticValueAtTime(){return this.pv}
1175function loopOut(type,duration,durationFlag){if(!this.k||!this.keyframes){return this.pv}
1176type=type?type.toLowerCase():'';var currentFrame=this.comp.renderedFrame;var keyframes=this.keyframes;var lastKeyFrame=keyframes[keyframes.length-1].t;if(currentFrame<=lastKeyFrame){return this.pv}else{var cycleDuration,firstKeyFrame;if(!durationFlag){if(!duration||duration>keyframes.length-1){duration=keyframes.length-1}
1177firstKeyFrame=keyframes[keyframes.length-1-duration].t;cycleDuration=lastKeyFrame-firstKeyFrame}else{if(!duration){cycleDuration=Math.max(0,lastKeyFrame-this.elem.data.ip)}else{cycleDuration=Math.abs(lastKeyFrame-elem.comp.globalData.frameRate*duration)}
1178firstKeyFrame=lastKeyFrame-cycleDuration}
1179var i,len,ret;if(type==='pingpong'){var iterations=Math.floor((currentFrame-firstKeyFrame)/cycleDuration);if(iterations%2!==0){return this.getValueAtTime(((cycleDuration-(currentFrame-firstKeyFrame)%cycleDuration+firstKeyFrame))/this.comp.globalData.frameRate,0)}}else if(type==='offset'){var initV=this.getValueAtTime(firstKeyFrame/this.comp.globalData.frameRate,0);var endV=this.getValueAtTime(lastKeyFrame/this.comp.globalData.frameRate,0);var current=this.getValueAtTime(((currentFrame-firstKeyFrame)%cycleDuration+firstKeyFrame)/this.comp.globalData.frameRate,0);var repeats=Math.floor((currentFrame-firstKeyFrame)/cycleDuration);if(this.pv.length){ret=new Array(initV.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=(endV[i]-initV[i])*repeats+current[i]}
1180return ret}
1181return(endV-initV)*repeats+current}else if(type==='continue'){var lastValue=this.getValueAtTime(lastKeyFrame/this.comp.globalData.frameRate,0);var nextLastValue=this.getValueAtTime((lastKeyFrame-0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){ret=new Array(lastValue.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=lastValue[i]+(lastValue[i]-nextLastValue[i])*((currentFrame-lastKeyFrame)/this.comp.globalData.frameRate)/0.0005}
1182return ret}
1183return lastValue+(lastValue-nextLastValue)*(((currentFrame-lastKeyFrame))/0.001)}
1184return this.getValueAtTime((((currentFrame-firstKeyFrame)%cycleDuration+firstKeyFrame))/this.comp.globalData.frameRate,0)}}
1185function loopIn(type,duration,durationFlag){if(!this.k){return this.pv}
1186type=type?type.toLowerCase():'';var currentFrame=this.comp.renderedFrame;var keyframes=this.keyframes;var firstKeyFrame=keyframes[0].t;if(currentFrame>=firstKeyFrame){return this.pv}else{var cycleDuration,lastKeyFrame;if(!durationFlag){if(!duration||duration>keyframes.length-1){duration=keyframes.length-1}
1187lastKeyFrame=keyframes[duration].t;cycleDuration=lastKeyFrame-firstKeyFrame}else{if(!duration){cycleDuration=Math.max(0,this.elem.data.op-firstKeyFrame)}else{cycleDuration=Math.abs(elem.comp.globalData.frameRate*duration)}
1188lastKeyFrame=firstKeyFrame+cycleDuration}
1189var i,len,ret;if(type==='pingpong'){var iterations=Math.floor((firstKeyFrame-currentFrame)/cycleDuration);if(iterations%2===0){return this.getValueAtTime((((firstKeyFrame-currentFrame)%cycleDuration+firstKeyFrame))/this.comp.globalData.frameRate,0)}}else if(type==='offset'){var initV=this.getValueAtTime(firstKeyFrame/this.comp.globalData.frameRate,0);var endV=this.getValueAtTime(lastKeyFrame/this.comp.globalData.frameRate,0);var current=this.getValueAtTime((cycleDuration-(firstKeyFrame-currentFrame)%cycleDuration+firstKeyFrame)/this.comp.globalData.frameRate,0);var repeats=Math.floor((firstKeyFrame-currentFrame)/cycleDuration)+1;if(this.pv.length){ret=new Array(initV.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=current[i]-(endV[i]-initV[i])*repeats}
1190return ret}
1191return current-(endV-initV)*repeats}else if(type==='continue'){var firstValue=this.getValueAtTime(firstKeyFrame/this.comp.globalData.frameRate,0);var nextFirstValue=this.getValueAtTime((firstKeyFrame+0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){ret=new Array(firstValue.length);len=ret.length;for(i=0;i<len;i+=1){ret[i]=firstValue[i]+(firstValue[i]-nextFirstValue[i])*(firstKeyFrame-currentFrame)/0.001}
1192return ret}
1193return firstValue+(firstValue-nextFirstValue)*(firstKeyFrame-currentFrame)/0.001}
1194return this.getValueAtTime(((cycleDuration-(firstKeyFrame-currentFrame)%cycleDuration+firstKeyFrame))/this.comp.globalData.frameRate,0)}}
1195function getValueAtTime(frameNum){if(frameNum!==this._cachingAtTime.lastFrame){frameNum*=this.elem.globalData.frameRate;frameNum-=this.offsetTime;this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<frameNum?this._cachingAtTime.lastIndex:0;this._cachingAtTime.value=this.interpolateValue(frameNum,this._cachingAtTime);this._cachingAtTime.lastFrame=frameNum}
1196return this._cachingAtTime.value}
1197function getSpeedAtTime(frameNum){var delta=-0.01;var v1=this.getValueAtTime(frameNum);var v2=this.getValueAtTime(frameNum+delta);var speed=0;if(v1.length){var i;for(i=0;i<v1.length;i+=1){speed+=Math.pow(v2[i]-v1[i],2)}
1198speed=Math.sqrt(speed)*100}
1198else{speed=0}
1199return speed}
1200function getVelocityAtTime(frameNum){if(this.vel!==undefined){return this.vel}
1201var delta=-0.001;var v1=this.getValueAtTime(frameNum);var v2=this.getValueAtTime(frameNum+delta);var velocity;if(v1.length){velocity=createTypedArray('float32',v1.length);var i;for(i=0;i<v1.length;i+=1){velocity[i]=(v2[i]-v1[i])/delta}}else{velocity=(v2-v1)/delta}
1202return velocity}
1203function setGroupProperty(propertyGroup){this.propertyGroup=propertyGroup}
1204function searchExpressions(elem,data,prop){if(data.x){prop.k=!0;prop.x=!0;prop.initiateExpression=ExpressionManager.initiateExpression;prop.effectsSequence.push(prop.initiateExpression(elem,data,prop).bind(prop))}}
1205function getTransformValueAtTime(time){console.warn('Transform at time not supported')}
1206function getTransformStaticValueAtTime(time){}
1207var TextExpressionSelectorProp=(function(){function getValueProxy(index,total){this.textIndex=index+1;this.textTotal=total;this.getValue();return this.v}
1208return function TextExpressionSelectorProp(elem,data){this.pv=1;this.comp=elem.comp;this.elem=elem;this.mult=0.01;this.propType='textSelector';this.textTotal=data.totalChars;this.selectorValue=100;this.lastValue=[1,1,1];searchExpressions.bind(this)(elem,data,this);this.getMult=getValueProxy;this.getVelocityAtTime=getVelocityAtTime;if(this.kf){this.getValueAtTime=getValueAtTime.bind(this)}else{this.getValueAtTime=getStaticValueAtTime.bind(this)}
1209this.setGroupProperty=setGroupProperty}}());var getTransformProperty=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(elem,data,container){var prop=getTransformProperty(elem,data,container);if(prop.dynamicProperties.length){prop.getValueAtTime=getTransformValueAtTime.bind(prop)}else{prop.getValueAtTime=getTransformStaticValueAtTime.bind(prop)}
1210prop.setGroupProperty=setGroupProperty;return prop};var propertyGetProp=PropertyFactory.getProp;PropertyFactory.getProp=function(elem,data,type,mult,container){var prop=propertyGetProp(elem,data,type,mult,container);if(prop.kf){prop.getValueAtTime=getValueAtTime.bind(prop)}else{prop.getValueAtTime=getStaticValueAtTime.bind(prop)}
1211prop.setGroupProperty=setGroupProperty;prop.loopOut=loopOut;prop.loopIn=loopIn;prop.getVelocityAtTime=getVelocityAtTime.bind(prop);prop.getSpeedAtTime=getSpeedAtTime.bind(prop);prop.numKeys=data.a===1?data.k.length:0;prop.propertyIndex=data.ix;var value=0;if(type!==0){value=createTypedArray('float32',data.a===1?data.k[0].s.length:data.k.length)}
1212prop._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:value};searchExpressions(elem,data,prop);if(prop.k){container.addDynamicProperty(prop)}
1213return prop};function getShapeValueAtTime(frameNum){if(!this._cachingAtTime){this._cachingAtTime={shapeValue:shape_pool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}}
1214if(frameNum!==this._cachingAtTime.lastTime){this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<frameNum?this._caching.lastIndex:0;this._cachingAtTime.lastTime=frameNum;frameNum*=this.elem.globalData.frameRate;this.interpolateShape(frameNum,this._cachingAtTime.shapeValue,this._cachingAtTime)}
1215return this._cachingAtTime.shapeValue}
1216var ShapePropertyConstructorFunction=ShapePropertyFactory.getConstructorFunction();var KeyframedShapePropertyConstructorFunction=ShapePropertyFactory.getKeyframedConstructorFunction();function ShapeExpressions(){}
1217ShapeExpressions.prototype={vertices:function(prop,time){var shapePath=this.v;if(time!==undefined){shapePath=this.getValueAtTime(time,0)}
1218var i,len=shapePath._length;var vertices=shapePath[prop];var points=shapePath.v;var arr=createSizedArray(len);for(i=0;i<len;i+=1){if(prop==='i'||prop==='o'){arr[i]=[vertices[i][0]-points[i][0],vertices[i][1]-points[i][1]]}else{arr[i]=[vertices[i][0],vertices[i][1]]}}
1219return arr},points:function(time){return this.vertices('v',time)},inTangents:function(time){return this.vertices('i',time)},outTangents:function(time){return this.vertices('o',time)},isClosed:function(){return this.v.c},pointOnPath:function(perc,time){var shapePath=this.v;if(time!==undefined){shapePath=this.getValueAtTime(time,0)}
1220if(!this._segmentsLength){this._segmentsLength=bez.getSegmentsLength(shapePath)}
1221var segmentsLength=this._segmentsLength;var lengths=segmentsLength.lengths;var lengthPos=segmentsLength.totalLength*perc;var i=0,len=lengths.length;var j=0,jLen;var accumulatedLength=0,pt;while(i<len){if(accumulatedLength+lengths[i].addedLength>lengthPos){var initIndex=i;var endIndex=(shapePath.c&&i===len-1)?0:i+1;var segmentPerc=(lengthPos-accumulatedLength)/lengths[i].addedLength;pt=bez.getPointInSegment(shapePath.v[initIndex],shapePath.v[endIndex],shapePath.o[initIndex],shapePath.i[endIndex],segmentPerc,lengths[i]);break}else{accumulatedLength+=lengths[i].addedLength}
1222i+=1}
1223if(!pt){pt=shapePath.c?[shapePath.v[0][0],shapePath.v[0][1]]:[shapePath.v[shapePath._length-1][0],shapePath.v[shapePath._length-1][1]]}
1224return pt},vectorOnPath:function(perc,time,vectorType){perc=perc==1?this.v.c?0:0.999:perc;var pt1=this.pointOnPath(perc,time);var pt2=this.pointOnPath(perc+0.001,time);var xLength=pt2[0]-pt1[0];var yLength=pt2[1]-pt1[1];var magnitude=Math.sqrt(Math.pow(xLength,2)+Math.pow(yLength,2));var unitVector=vectorType==='tangent'?[xLength/magnitude,yLength/magnitude]:[-yLength/magnitude,xLength/magnitude];return unitVector},tangentOnPath:function(perc,time){return this.vectorOnPath(perc,time,'tangent')},normalOnPath:function(perc,time){return this.vectorOnPath(perc,time,'normal')},setGroupProperty:setGroupProperty,getValueAtTime:getStaticValueAtTime};extendPrototype([ShapeExpressions],ShapePropertyConstructorFunction);extendPrototype([ShapeExpressions],KeyframedShapePropertyConstructorFunction);KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime=getShapeValueAtTime;KeyframedShapePropertyConstructorFunction.prototype.initiateExpression=ExpressionManager.initiateExpression;var propertyGetShapeProp=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(elem,data,type,arr,trims){var prop=propertyGetShapeProp(elem,data,type,arr,trims);prop.propertyIndex=data.ix;prop.lock=!1;if(type===3){searchExpressions(elem,data.pt,prop)}else if(type===4){searchExpressions(elem,data.ks,prop)}
1225if(prop.k){elem.addDynamicProperty(prop)}
1226return prop};var propertyGetTextProp=TextSelectorProp.getTextSelectorProp;TextSelectorProp.getTextSelectorProp=function(elem,data,arr){if(data.t===1){return new TextExpressionSelectorProp(elem,data,arr)}else{return propertyGetTextProp(elem,data,arr)}}}());(function addDecorator(){function searchExpressions(){if(this.data.d.x){this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this);this.addEffect(this.getExpressionValue.bind(this));return!0}}
1227TextProperty.prototype.getExpressionValue=function(currentValue,text){var newValue=this.calculateExpression(text);if(currentValue.t!==newValue){var newData={};this.copyData(newData,currentValue);newData.t=newValue.toString();newData.__complete=!1;return newData}
1228return currentValue}
1229TextProperty.prototype.searchProperty=function(){var isKeyframed=this.searchKeyframes();var hasExpressions=this.searchExpressions();this.kf=isKeyframed||hasExpressions;return this.kf};TextProperty.prototype.searchExpressions=searchExpressions}());var ShapeExpressionInterface=(function(){function iterateElements(shapes,view,propertyGroup){var arr=[];var i,len=shapes?shapes.length:0;for(i=0;i<len;i+=1){if(shapes[i].ty=='gr'){arr.push(groupInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='fl'){arr.push(fillInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='st'){arr.push(strokeInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='tm'){arr.push(trimInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='tr'){}else if(shapes[i].ty=='el'){arr.push(ellipseInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='sr'){arr.push(starInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='sh'){arr.push(pathInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='rc'){arr.push(rectInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='rd'){arr.push(roundedInterfaceFactory(shapes[i],view[i],propertyGroup))}else if(shapes[i].ty=='rp'){arr.push(repeaterInterfaceFactory(shapes[i],view[i],propertyGroup))}}
1230return arr}
1231function contentsInterfaceFactory(shape,view,propertyGroup){var interfaces;var interfaceFunction=function _interfaceFunction(value){var i=0,len=interfaces.length;while(i<len){if(interfaces[i]._name===value||interfaces[i].mn===value||interfaces[i].propertyIndex===value||interfaces[i].ix===value||interfaces[i].ind===value){return interfaces[i]}
1232i+=1}
1233if(typeof value==='number'){return interfaces[value-1]}};interfaceFunction.propertyGroup=function(val){if(val===1){return interfaceFunction}else{return propertyGroup(val-1)}};interfaces=iterateElements(shape.it,view.it,interfaceFunction.propertyGroup);interfaceFunction.numProperties=interfaces.length;interfaceFunction.propertyIndex=shape.cix;interfaceFunction._name=shape.nm;return interfaceFunction}
1234function groupInterfaceFactory(shape,view,propertyGroup){var interfaceFunction=function _interfaceFunction(value){switch(value){case 'ADBE Vectors Group':case 'Contents':case 2:return interfaceFunction.content;default:return interfaceFunction.transform}};interfaceFunction.propertyGroup=function(val){if(val===1){return interfaceFunction}else{return propertyGroup(val-1)}};var content=contentsInterfaceFactory(shape,view,interfaceFunction.propertyGroup);var transformInterface=transformInterfaceFactory(shape.it[shape.it.length-1],view.it[view.it.length-1],interfaceFunction.propertyGroup);interfaceFunction.content=content;interfaceFunction.transform=transformInterface;Object.defineProperty(interfaceFunction,'_name',{get:function(){return shape.nm}});interfaceFunction.numProperties=shape.np;interfaceFunction.propertyIndex=shape.ix;interfaceFunction.nm=shape.nm;interfaceFunction.mn=shape.mn;return interfaceFunction}
1235function fillInterfaceFactory(shape,view,propertyGroup){function interfaceFunction(val){if(val==='Color'||val==='color'){return interfaceFunction.color}else if(val==='Opacity'||val==='opacity'){return interfaceFunction.opacity}}
1236Object.defineProperties(interfaceFunction,{'color':{get:function(){return ExpressionValue(view.c,1/view.c.mult,'color')}},'opacity':{get:function(){return ExpressionValue(view.o,100)}},'_name':{value:shape.nm},'mn':{value:shape.mn}});view.c.setGroupProperty(propertyGroup);view.o.setGroupProperty(propertyGroup);return interfaceFunction}
1237function strokeInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val===1){return ob}else{return propertyGroup(val-1)}}
1238function _dashPropertyGroup(val){if(val===1){return dashOb}else{return _propertyGroup(val-1)}}
1239function addPropertyToDashOb(i){Object.defineProperty(dashOb,shape.d[i].nm,{get:function(){return ExpressionValue(view.d.dataProps[i].p)}})}
1240var i,len=shape.d?shape.d.length:0;var dashOb={};for(i=0;i<len;i+=1){addPropertyToDashOb(i);view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup)}
1241function interfaceFunction(val){if(val==='Color'||val==='color'){return interfaceFunction.color}else if(val==='Opacity'||val==='opacity'){return interfaceFunction.opacity}else if(val==='Stroke Width'||val==='stroke width'){return interfaceFunction.strokeWidth}}
1242Object.defineProperties(interfaceFunction,{'color':{get:function(){return ExpressionValue(view.c,1/view.c.mult,'color')}},'opacity':{get:function(){return ExpressionValue(view.o,100)}},'strokeWidth':{get:function(){return ExpressionValue(view.w)}},'dash':{get:function(){return dashOb}},'_name':{value:shape.nm},'mn':{value:shape.mn}});view.c.setGroupProperty(_propertyGroup);view.o.setGroupProperty(_propertyGroup);view.w.setGroupProperty(_propertyGroup);return interfaceFunction}
1243function trimInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1244interfaceFunction.propertyIndex=shape.ix;view.s.setGroupProperty(_propertyGroup);view.e.setGroupProperty(_propertyGroup);view.o.setGroupProperty(_propertyGroup);function interfaceFunction(val){if(val===shape.e.ix||val==='End'||val==='end'){return interfaceFunction.end}
1245if(val===shape.s.ix){return interfaceFunction.start}
1246if(val===shape.o.ix){return interfaceFunction.offset}}
1247interfaceFunction.propertyIndex=shape.ix;Object.defineProperties(interfaceFunction,{'start':{get:function(){return ExpressionValue(view.s,1/view.s.mult)}},'end':{get:function(){return ExpressionValue(view.e,1/view.e.mult)}},'offset':{get:function(){return ExpressionValue(view.o)}},'_name':{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction}
1248function transformInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1249view.transform.mProps.o.setGroupProperty(_propertyGroup);view.transform.mProps.p.setGroupProperty(_propertyGroup);view.transform.mProps.a.setGroupProperty(_propertyGroup);view.transform.mProps.s.setGroupProperty(_propertyGroup);view.transform.mProps.r.setGroupProperty(_propertyGroup);if(view.transform.mProps.sk){view.transform.mProps.sk.setGroupProperty(_propertyGroup);view.transform.mProps.sa.setGroupProperty(_propertyGroup)}
1250view.transform.op.setGroupProperty(_propertyGroup);function interfaceFunction(value){if(shape.a.ix===value||value==='Anchor Point'){return interfaceFunction.anchorPoint}
1251if(shape.o.ix===value||value==='Opacity'){return interfaceFunction.opacity}
1252if(shape.p.ix===value||value==='Position'){return interfaceFunction.position}
1253if(shape.r.ix===value||value==='Rotation'||value==='ADBE Vector Rotation'){return interfaceFunction.rotation}
1254if(shape.s.ix===value||value==='Scale'){return interfaceFunction.scale}
1255if(shape.sk&&shape.sk.ix===value||value==='Skew'){return interfaceFunction.skew}
1256if(shape.sa&&shape.sa.ix===value||value==='Skew Axis'){return interfaceFunction.skewAxis}}
1257Object.defineProperties(interfaceFunction,{'opacity':{get:function(){return ExpressionValue(view.transform.mProps.o,1/view.transform.mProps.o.mult)}},'position':{get:function(){return ExpressionValue(view.transform.mProps.p)}},'anchorPoint':{get:function(){return ExpressionValue(view.transform.mProps.a)}},'scale':{get:function(){return ExpressionValue(view.transform.mProps.s,1/view.transform.mProps.s.mult)}},'rotation':{get:function(){return ExpressionValue(view.transform.mProps.r,1/view.transform.mProps.r.mult)}},'skew':{get:function(){return ExpressionValue(view.transform.mProps.sk)}},'skewAxis':{get:function(){return ExpressionValue(view.transform.mProps.sa)}},'_name':{value:shape.nm}});interfaceFunction.ty='tr';interfaceFunction.mn=shape.mn;return interfaceFunction}
1258function ellipseInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1259interfaceFunction.propertyIndex=shape.ix;var prop=view.sh.ty==='tm'?view.sh.prop:view.sh;prop.s.setGroupProperty(_propertyGroup);prop.p.setGroupProperty(_propertyGroup);function interfaceFunction(value){if(shape.p.ix===value){return interfaceFunction.position}
1260if(shape.s.ix===value){return interfaceFunction.size}}
1261Object.defineProperties(interfaceFunction,{'size':{get:function(){return ExpressionValue(prop.s)}},'position':{get:function(){return ExpressionValue(prop.p)}},'_name':{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction}
1262function starInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1263var prop=view.sh.ty==='tm'?view.sh.prop:view.sh;interfaceFunction.propertyIndex=shape.ix;prop.or.setGroupProperty(_propertyGroup);prop.os.setGroupProperty(_propertyGroup);prop.pt.setGroupProperty(_propertyGroup);prop.p.setGroupProperty(_propertyGroup);prop.r.setGroupProperty(_propertyGroup);if(shape.ir){prop.ir.setGroupProperty(_propertyGroup);prop.is.setGroupProperty(_propertyGroup)}
1264function interfaceFunction(value){if(shape.p.ix===value){return interfaceFunction.position}
1265if(shape.r.ix===value){return interfaceFunction.rotation}
1266if(shape.pt.ix===value){return interfaceFunction.points}
1267if(shape.or.ix===value||'ADBE Vector Star Outer Radius'===value){return interfaceFunction.outerRadius}
1268if(shape.os.ix===value){return interfaceFunction.outerRoundness}
1269if(shape.ir&&(shape.ir.ix===value||'ADBE Vector Star Inner Radius'===value)){return interfaceFunction.innerRadius}
1270if(shape.is&&shape.is.ix===value){return interfaceFunction.innerRoundness}}
1271Object.defineProperties(interfaceFunction,{'position':{get:function(){return ExpressionValue(prop.p)}},'rotation':{get:function(){return ExpressionValue(prop.r,1/prop.r.mult)}},'points':{get:function(){return ExpressionValue(prop.pt)}},'outerRadius':{get:function(){return ExpressionValue(prop.or)}},'outerRoundness':{get:function(){return ExpressionValue(prop.os)}},'innerRadius':{get:function(){if(!prop.ir){return 0}
1272return ExpressionValue(prop.ir)}},'innerRoundness':{get:function(){if(!prop.is){return 0}
1273return ExpressionValue(prop.is,1/prop.is.mult)}},'_name':{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction}
1274function rectInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1275var prop=view.sh.ty==='tm'?view.sh.prop:view.sh;interfaceFunction.propertyIndex=shape.ix;prop.p.setGroupProperty(_propertyGroup);prop.s.setGroupProperty(_propertyGroup);prop.r.setGroupProperty(_propertyGroup);function interfaceFunction(value){if(shape.p.ix===value){return interfaceFunction.position}
1276if(shape.r.ix===value){return interfaceFunction.roundness}
1277if(shape.s.ix===value||value==='Size'||value==='ADBE Vector Rect Size'){return interfaceFunction.size}}
1278Object.defineProperties(interfaceFunction,{'position':{get:function(){return ExpressionValue(prop.p)}},'roundness':{get:function(){return ExpressionValue(prop.r)}},'size':{get:function(){return ExpressionValue(prop.s)}},'_name':{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction}
1279function roundedInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1280var prop=view;interfaceFunction.propertyIndex=shape.ix;prop.rd.setGroupProperty(_propertyGroup);function interfaceFunction(value){if(shape.r.ix===value||'Round Corners 1'===value){return interfaceFunction.radius}}
1281Object.defineProperties(interfaceFunction,{'radius':{get:function(){return ExpressionValue(prop.rd)}},'_name':{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction}
1282function repeaterInterfaceFactory(shape,view,propertyGroup){function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1283var prop=view;interfaceFunction.propertyIndex=shape.ix;prop.c.setGroupProperty(_propertyGroup);prop.o.setGroupProperty(_propertyGroup);function interfaceFunction(value){if(shape.c.ix===value||'Copies'===value){return interfaceFunction.copies}else if(shape.o.ix===value||'Offset'===value){return interfaceFunction.offset}}
1284Object.defineProperties(interfaceFunction,{'copies':{get:function(){return ExpressionValue(prop.c)}},'offset':{get:function(){return ExpressionValue(prop.o)}},'_name':{value:shape.nm}});interfaceFunction.mn=shape.mn;return interfaceFunction}
1285function pathInterfaceFactory(shape,view,propertyGroup){var prop=view.sh;function _propertyGroup(val){if(val==1){return interfaceFunction}else{return propertyGroup(--val)}}
1286prop.setGroupProperty(_propertyGroup);function interfaceFunction(val){if(val==='Shape'||val==='shape'||val==='Path'||val==='path'||val==='ADBE Vector Shape'||val===2){return interfaceFunction.path}}
1287Object.defineProperties(interfaceFunction,{'path':{get:function(){if(prop.k){prop.getValue()}
1288return prop}},'shape':{get:function(){if(prop.k){prop.getValue()}
1289return prop}},'_name':{value:shape.nm},'ix':{value:shape.ix},'mn':{value:shape.mn}});return interfaceFunction}
1290return function(shapes,view,propertyGroup){var interfaces;function _interfaceFunction(value){if(typeof value==='number'){return interfaces[value-1]}else{var i=0,len=interfaces.length;while(i<len){if(interfaces[i]._name===value){return interfaces[i]}
1291i+=1}}}
1292_interfaceFunction.propertyGroup=propertyGroup;interfaces=iterateElements(shapes,view,_interfaceFunction);return _interfaceFunction}}());var TextExpressionInterface=(function(){return function(elem){var _prevValue,_sourceText;function _thisLayerFunction(){}
1293Object.defineProperty(_thisLayerFunction,"sourceText",{get:function(){var stringValue=elem.textProperty.currentData.t;if(stringValue!==_prevValue){elem.textProperty.currentData.t=_prevValue;_sourceText=new String(stringValue);_sourceText.value=stringValue?stringValue:new String(stringValue)}
1294return _sourceText}});return _thisLayerFunction}}());var LayerExpressionInterface=(function(){function toWorld(arr,time){var toWorldMat=new Matrix();toWorldMat.reset();var transformMat;if(time){transformMat=this._elem.finalTransform.mProp}else{transformMat=this._elem.finalTransform.mProp}
1295transformMat.applyToMatrix(toWorldMat);if(this._elem.hierarchy&&this._elem.hierarchy.length){var i,len=this._elem.hierarchy.length;for(i=0;i<len;i+=1){this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat)}
1296return toWorldMat.applyToPointArray(arr[0],arr[1],arr[2]||0)}
1297return toWorldMat.applyToPointArray(arr[0],arr[1],arr[2]||0)}
1298function fromWorld(arr,time){var toWorldMat=new Matrix();toWorldMat.reset();var transformMat;if(time){transformMat=this._elem.finalTransform.mProp}else{transformMat=this._elem.finalTransform.mProp}
1299transformMat.applyToMatrix(toWorldMat);if(this._elem.hierarchy&&this._elem.hierarchy.length){var i,len=this._elem.hierarchy.length;for(i=0;i<len;i+=1){this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat)}
1300return toWorldMat.inversePoint(arr)}
1301return toWorldMat.inversePoint(arr)}
1302function fromComp(arr){var toWorldMat=new Matrix();toWorldMat.reset();this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);if(this._elem.hierarchy&&this._elem.hierarchy.length){var i,len=this._elem.hierarchy.length;for(i=0;i<len;i+=1){this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat)}
1303return toWorldMat.inversePoint(arr)}
1304return toWorldMat.inversePoint(arr)}
1305function sampleImage(){return[1,1,1,1]}
1306return function(elem){var transformInterface;function _registerMaskInterface(maskManager){_thisLayerFunction.mask=new MaskManagerInterface(maskManager,elem)}
1307function _registerEffectsInterface(effects){_thisLayerFunction.effect=effects}
1308function _thisLayerFunction(name){switch(name){case "ADBE Root Vectors Group":case "Contents":case 2:return _thisLayerFunction.shapeInterface;case 1:case 6:case "Transform":case "transform":case "ADBE Transform Group":return transformInterface;case 4:case "ADBE Effect Parade":return _thisLayerFunction.effect}}
1309_thisLayerFunction.toWorld=toWorld;_thisLayerFunction.fromWorld=fromWorld;_thisLayerFunction.toComp=toWorld;_thisLayerFunction.fromComp=fromComp;_thisLayerFunction.sampleImage=sampleImage;_thisLayerFunction.sourceRectAtTime=elem.sourceRectAtTime.bind(elem);_thisLayerFunction._elem=elem;transformInterface=TransformExpressionInterface(elem.finalTransform.mProp);var anchorPointDescriptor=getDescriptor(transformInterface,'anchorPoint');Object.defineProperties(_thisLayerFunction,{hasParent:{get:function(){return elem.hierarchy.length}},parent:{get:function(){return elem.hierarchy[0].layerInterface}},rotation:getDescriptor(transformInterface,'rotation'),scale:getDescriptor(transformInterface,'scale'),position:getDescriptor(transformInterface,'position'),opacity:getDescriptor(transformInterface,'opacity'),anchorPoint:anchorPointDescriptor,anchor_point:anchorPointDescriptor,transform:{get:function(){return transformInterface}},active:{get:function(){return elem.isInRange}}});_thisLayerFunction.startTime=elem.data.st;_thisLayerFunction.index=elem.data.ind;_thisLayerFunction.source=elem.data.refId;_thisLayerFunction.height=elem.data.ty===0?elem.data.h:100;_thisLayerFunction.width=elem.data.ty===0?elem.data.w:100;_thisLayerFunction.inPoint=elem.data.ip/elem.comp.globalData.frameRate;_thisLayerFunction.outPoint=elem.data.op/elem.comp.globalData.frameRate;_thisLayerFunction.registerMaskInterface=_registerMaskInterface;_thisLayerFunction.registerEffectsInterface=_registerEffectsInterface;return _thisLayerFunction}}());var CompExpressionInterface=(function(){return function(comp){function _thisLayerFunction(name){var i=0,len=comp.layers.length;while(i<len){if(comp.layers[i].nm===name||comp.layers[i].ind===name){return comp.elements[i].layerInterface}
1310i+=1}
1311return{active:!1}}
1312Object.defineProperty(_thisLayerFunction,"_name",{value:comp.data.nm});_thisLayerFunction.layer=_thisLayerFunction;_thisLayerFunction.pixelAspect=1;_thisLayerFunction.height=comp.globalData.compSize.h;_thisLayerFunction.width=comp.globalData.compSize.w;_thisLayerFunction.pixelAspect=1;_thisLayerFunction.frameDuration=1/comp.globalData.frameRate;return _thisLayerFunction}}());var TransformExpressionInterface=(function(){return function(transform){function _thisFunction(name){switch(name){case "scale":case "Scale":case "ADBE Scale":case 6:return _thisFunction.scale;case "rotation":case "Rotation":case "ADBE Rotation":case "ADBE Rotate Z":case 10:return _thisFunction.rotation;case "ADBE Rotate X":return _thisFunction.xRotation;case "ADBE Rotate Y":return _thisFunction.yRotation;case "position":case "Position":case "ADBE Position":case 2:return _thisFunction.position;case 'ADBE Position_0':return _thisFunction.xPosition;case 'ADBE Position_1':return _thisFunction.yPosition;case 'ADBE Position_2':return _thisFunction.zPosition;case "anchorPoint":case "AnchorPoint":case "Anchor Point":case "ADBE AnchorPoint":case 1:return _thisFunction.anchorPoint;case "opacity":case "Opacity":case 11:return _thisFunction.opacity}}
1313Object.defineProperty(_thisFunction,"rotation",{get:function(){if(transform.r){return ExpressionValue(transform.r,1/degToRads)}else{return ExpressionValue(transform.rz,1/degToRads)}}});Object.defineProperty(_thisFunction,"xRotation",{get:function(){return ExpressionValue(transform.rx,1/degToRads)}});Object.defineProperty(_thisFunction,"yRotation",{get:function(){return ExpressionValue(transform.ry,1/degToRads)}});Object.defineProperty(_thisFunction,"scale",{get:function(){return ExpressionValue(transform.s,100)}});Object.defineProperty(_thisFunction,"position",{get:function(){if(transform.p){return ExpressionValue(transform.p)}else{return[transform.px.v,transform.py.v,transform.pz?transform.pz.v:0]}}});Object.defineProperty(_thisFunction,"xPosition",{get:function(){return ExpressionValue(transform.px)}});Object.defineProperty(_thisFunction,"yPosition",{get:function(){return ExpressionValue(transform.py)}});Object.defineProperty(_thisFunction,"zPosition",{get:function(){return ExpressionValue(transform.pz)}});Object.defineProperty(_thisFunction,"anchorPoint",{get:function(){return ExpressionValue(transform.a)}});Object.defineProperty(_thisFunction,"opacity",{get:function(){return ExpressionValue(transform.o,100)}});Object.defineProperty(_thisFunction,"skew",{get:function(){return ExpressionValue(transform.sk)}});Object.defineProperty(_thisFunction,"skewAxis",{get:function(){return ExpressionValue(transform.sa)}});Object.defineProperty(_thisFunction,"orientation",{get:function(){return ExpressionValue(transform.or)}});return _thisFunction}}());var ProjectInterface=(function(){function registerComposition(comp){this.compositions.push(comp)}
1314return function(){function _thisProjectFunction(name){var i=0,len=this.compositions.length;while(i<len){if(this.compositions[i].data&&this.compositions[i].data.nm===name){if(this.compositions[i].prepareFrame&&this.compositions[i].data.xt){this.compositions[i].prepareFrame(this.currentFrame)}
1315return this.compositions[i].compInterface}
1316i+=1}}
1317_thisProjectFunction.compositions=[];_thisProjectFunction.currentFrame=0;_thisProjectFunction.registerComposition=registerComposition;return _thisProjectFunction}}());
1317var EffectsExpressionInterface=(function(){var ob={createEffectsInterface:createEffectsInterface};function createEffectsInterface(elem,propertyGroup){if(elem.effectsManager){var effectElements=[];var effectsData=elem.data.ef;var i,len=elem.effectsManager.effectElements.length;for(i=0;i<len;i+=1){effectElements.push(createGroupInterface(effectsData[i],elem.effectsManager.effectElements[i],propertyGroup,elem))}
1318return function(name){var effects=elem.data.ef||[],i=0,len=effects.length;while(i<len){if(name===effects[i].nm||name===effects[i].mn||name===effects[i].ix){return effectElements[i]}
1319i+=1}}}}
1320function createGroupInterface(data,elements,propertyGroup,elem){var effectElements=[];var i,len=data.ef.length;for(i=0;i<len;i+=1){if(data.ef[i].ty===5){effectElements.push(createGroupInterface(data.ef[i],elements.effectElements[i],elements.effectElements[i].propertyGroup,elem))}else{effectElements.push(createValueInterface(elements.effectElements[i],data.ef[i].ty,elem,_propertyGroup))}}
1321function _propertyGroup(val){if(val===1){return groupInterface}else{return propertyGroup(val-1)}}
1322var groupInterface=function(name){var effects=data.ef,i=0,len=effects.length;while(i<len){if(name===effects[i].nm||name===effects[i].mn||name===effects[i].ix){if(effects[i].ty===5){return effectElements[i]}else{return effectElements[i]()}}
1323i+=1}
1324return effectElements[0]()};groupInterface.propertyGroup=_propertyGroup;if(data.mn==='ADBE Color Control'){Object.defineProperty(groupInterface,'color',{get:function(){return effectElements[0]()}})}
1325Object.defineProperty(groupInterface,'numProperties',{get:function(){return data.np}});groupInterface.active=data.en!==0;return groupInterface}
1326function createValueInterface(element,type,elem,propertyGroup){function interfaceFunction(){if(type===10){return elem.comp.compInterface(element.p.v)}
1327return ExpressionValue(element.p)}
1328if(element.p.setGroupProperty){element.p.setGroupProperty(propertyGroup)}
1329return interfaceFunction}
1330return ob}());var MaskManagerInterface=(function(){function MaskInterface(mask,data){this._mask=mask;this._data=data}
1331Object.defineProperty(MaskInterface.prototype,'maskPath',{get:function(){if(this._mask.prop.k){this._mask.prop.getValue()}
1332return this._mask.prop}});var MaskManager=function(maskManager,elem){var _maskManager=maskManager;var _elem=elem;var _masksInterfaces=createSizedArray(maskManager.viewData.length);var i,len=maskManager.viewData.length;for(i=0;i<len;i+=1){_masksInterfaces[i]=new MaskInterface(maskManager.viewData[i],maskManager.masksProperties[i])}
1333var maskFunction=function(name){i=0;while(i<len){if(maskManager.masksProperties[i].nm===name){return _masksInterfaces[i]}
1334i+=1}};return maskFunction};return MaskManager}());var ExpressionValue=(function(){return function(elementProp,mult,type){mult=mult||1;var expressionValue,arrayValue;if(elementProp.k){elementProp.getValue()}
1335var i,len,arrValue,val;if(type){if(type==='color'){len=4;expressionValue=createTypedArray('float32',len);arrValue=createTypedArray('float32',len);for(i=0;i<len;i+=1){expressionValue[i]=arrValue[i]=(i<3)?elementProp.v[i]*mult:1}
1336expressionValue.value=arrValue}}else if(elementProp.propType==='unidimensional'){val=elementProp.v*mult;expressionValue=new Number(val);expressionValue.value=val}else{len=elementProp.pv.length;expressionValue=createTypedArray('float32',len);arrValue=createTypedArray('float32',len);for(i=0;i<len;i+=1){expressionValue[i]=arrValue[i]=elementProp.v[i]*mult}
1337expressionValue.value=arrValue}
1338expressionValue.numKeys=elementProp.keyframes?elementProp.keyframes.length:0;expressionValue.key=function(pos){if(!expressionValue.numKeys){return 0}else{return elementProp.keyframes[pos-1].t}};expressionValue.valueAtTime=elementProp.getValueAtTime;expressionValue.speedAtTime=elementProp.getSpeedAtTime;expressionValue.velocityAtTime=elementProp.getVelocityAtTime;expressionValue.propertyGroup=elementProp.propertyGroup;return expressionValue}}());function SliderEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container)}
1339function AngleEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,c
1339ontainer)}
1340function ColorEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,1,0,container)}
1341function PointEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,1,0,container)}
1342function LayerIndexEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container)}
1343function MaskIndexEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container)}
1344function CheckboxEffect(data,elem,container){this.p=PropertyFactory.getProp(elem,data.v,0,0,container)}
1345function NoValueEffect(){this.p={}}
1346function EffectsManager(data,element){var effects=data.ef||[];this.effectElements=[];var i,len=effects.length;var effectItem;for(i=0;i<len;i++){effectItem=new GroupEffect(effects[i],element);this.effectElements.push(effectItem)}}
1347function GroupEffect(data,element){this.init(data,element)}
1348extendPrototype([DynamicPropertyContainer],GroupEffect);GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties;GroupEffect.prototype.init=function(data,element){this.data=data;this.effectElements=[];this.initDynamicPropertyContainer(element);var i,len=this.data.ef.length;var eff,effects=this.data.ef;for(i=0;i<len;i+=1){eff=null;switch(effects[i].ty){case 0:eff=new SliderEffect(effects[i],element,this);break;case 1:eff=new AngleEffect(effects[i],element,this);break;case 2:eff=new ColorEffect(effects[i],element,this);break;case 3:eff=new PointEffect(effects[i],element,this);break;case 4:case 7:eff=new CheckboxEffect(effects[i],element,this);break;case 10:eff=new LayerIndexEffect(effects[i],element,this);break;case 11:eff=new MaskIndexEffect(effects[i],element,this);break;case 5:eff=new EffectsManager(effects[i],element,this);break;default:eff=new NoValueEffect(effects[i],element,this);break}
1349if(eff){this.effectElements.push(eff)}}};var lottiejs={};var _isFrozen=!1;function setLocationHref(href){locationHref=href}
1350function searchAnimations(){if(standalone===!0){animationManager.searchAnimations(animationData,standalone,renderer)}else{animationManager.searchAnimations()}}
1351function setSubframeRendering(flag){subframeEnabled=flag}
1352function loadAnimation(params){if(standalone===!0){params.animationData=JSON.parse(animationData)}
1353return animationManager.loadAnimation(params)}
1354function setQuality(value){if(typeof value==='string'){switch(value){case 'high':defaultCurveSegments=200;break;case 'medium':defaultCurveSegments=50;break;case 'low':defaultCurveSegments=10;break}}else if(!isNaN(value)&&value>1){defaultCurveSegments=value}
1355if(defaultCurveSegments>=50){roundValues(!1)}else{roundValues(!0)}}
1356function inBrowser(){return typeof navigator!=='undefined'}
1357function installPlugin(type,plugin){if(type==='expressions'){expressionsPlugin=plugin}}
1358function getFactory(name){switch(name){case "propertyFactory":return PropertyFactory;case "shapePropertyFactory":return ShapePropertyFactory;case "matrix":return Matrix}}
1359lottiejs.play=animationManager.play;lottiejs.pause=animationManager.pause;lottiejs.setLocationHref=setLocationHref;lottiejs.togglePause=animationManager.togglePause;lottiejs.setSpeed=animationManager.setSpeed;lottiejs.setDirection=animationManager.setDirection;lottiejs.stop=animationManager.stop;lottiejs.searchAnimations=searchAnimations;lottiejs.registerAnimation=animationManager.registerAnimation;lottiejs.loadAnimation=loadAnimation;lottiejs.setSubframeRendering=setSubframeRendering;lottiejs.resize=animationManager.resize;lottiejs.goToAndStop=animationManager.goToAndStop;lottiejs.destroy=animationManager.destroy;lottiejs.setQuality=setQuality;lottiejs.inBrowser=inBrowser;lottiejs.installPlugin=installPlugin;lottiejs.freeze=animationManager.freeze;lottiejs.unfreeze=animationManager.unfreeze;lottiejs.getRegisteredAnimations=animationManager.getRegisteredAnimations;lottiejs.__getFactory=getFactory;lottiejs.version='5.1.20';function checkReady(){if(document.readyState==="complete"){clearInterval(readyStateCheckInterval);searchAnimations()}}
1360function getQueryVariable(variable){var vars=queryString.split('&');for(var i=0;i<vars.length;i++){var pair=vars[i].split('=');if(decodeURIComponent(pair[0])==variable){return decodeURIComponent(pair[1])}}}
1361var standalone='__[STANDALONE]__';var animationData='__[ANIMATIONDATA]__';var renderer='';if(standalone){var scripts=document.getElementsByTagName('script');var index=scripts.length-1;var myScript=scripts[index]||{src:''};var queryString=myScript.src.replace(/^[^\?]+\??/,'');renderer=getQueryVariable('renderer')}
1362var readyStateCheckInterval=setInterval(checkReady,100);return lottiejs}))

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.