{"version":3,"file":"shared.D-U_tegU.mjs","names":["fonts","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","fonts","css","className","useState","HomeFactory","React","defaultEvents","addPropertyOverrides","Feather","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","Component","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","css","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","__FramerMetadata__","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","Component","useRef","React.useId","sharedStyle.className","css","sharedStyle.css","sharedStyle.fonts","fonts","css","className","useRef","useMemo","useMemo","useMemo","getProps","useRef","useCallback","useState","SrcType","isMotionValue","useMemo","useReducer","useState","_Fragment","useRef","useCallback","useRef","useCallback","lottie","React.useState","React.useRef","React.useMemo","fonts","css","className","fonts","css","className","fonts","css","className","css","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","Image1","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","Component","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","css","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","addPropertyOverrides","Badge","AmplifierIcons","ButtonFonts","Button","Image1","YouTube","GhCard01","ButtonControls","cycleOrder","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","humanReadableEnumMap","useStateVariable","React.useState","getProps","createLayoutDependency","Component","useRef","React.useId","props","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle4.className","sharedStyle5.className","sharedStyle6.className","sharedStyle7.className","sharedStyle8.className","sharedStyle9.className","sharedStyle10.className","sharedStyle11.className","sharedStyle12.className","sharedStyle13.className","sharedStyle14.className","sharedStyle15.className","sharedStyle16.className","sharedStyle17.className","className","\"tZoi8j77L\"","\"VHP8RLhSd\"","css","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle4.css","sharedStyle5.css","sharedStyle6.css","sharedStyle7.css","sharedStyle8.css","sharedStyle9.css","sharedStyle10.css","sharedStyle11.css","sharedStyle12.css","sharedStyle13.css","sharedStyle14.css","sharedStyle15.css","sharedStyle16.css","sharedStyle17.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","sharedStyle4.fonts","sharedStyle5.fonts","sharedStyle6.fonts","sharedStyle7.fonts","sharedStyle8.fonts","sharedStyle9.fonts","sharedStyle10.fonts","sharedStyle11.fonts","sharedStyle12.fonts","sharedStyle13.fonts","sharedStyle14.fonts","sharedStyle15.fonts","sharedStyle16.fonts","sharedStyle17.fonts","Button","React.useContext","React.useMemo","React.Fragment","React.useState","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","props","iconKey","selectByList","iconSearch","iconSelection","SelectedIcon","setSelectedIcon","importModule","active","module","e","emptyState","mirrored","name","key","res","variants","nextOverrides","variant","overrides","config","transition","value","contextValue","iconVisible","link","txt","fallbackRef","refBinding","ref","defaultLayoutId","restProps","layoutDependency","scopingClassNames","layoutId","bQ_0TxDfY","gestureHandlers","className","classNames","style","baseVariant","gestureVariant","CkKunZf5l","bnzIwr4Yu","\"exports\"","\"Props\"","\"type\"","\"annotations\"","\"framerContractVersion\"","\"default\"","\"name\"","\"slots\"","\"framerDisplayContentsDiv\"","\"framerComponentViewportWidth\"","\"framerAutoSizeImages\"","\"framerColorSyntax\"","\"framerVariables\"","\"framerIntrinsicWidth\"","\"framerImmutableVariables\"","\"framerCanvasComponentVariantDetails\"","\"framerIntrinsicHeight\"","\"__FramerMetadata__\"","text","nwDKgX8cD","onEnter","enabled","onExit","isInTarget","goal","callback","init","userAgent","isMixedBorderRadius","topLeftRadius","topRightRadius","bottomRightRadius","bottomLeftRadius","borderRadius","rest","newProps","isInCurrentNavigationTarget","requestingPlay","isPlayingRef","setProgress","videoRef","newProgress","rawProgress","isAlreadySet","video","initialPlayingProp","playingProp","hasPlayingPropChanged","setHasPlayingPropChanged","behavesAsGif","muted","loop","playsinline","controls","autoplay","\"Fill\"","\"Contain\"","\"Cover\"","\"None\"","\"ScaleDown\"","\"Video\"","\"Url\"","startTimeProp","isSafari","wasPausedOnLeave","wasEndedOnLeave","isOnCanvas","renderTarget","isStaticRenderer","autoplayBehavior","isInViewport","isCloseToViewport","startTime","play","pause","poster","posterEnabled","isMountedAndReadyForProgressChanges","rawProgressValue","progress","srcFile","srcUrl","src","fragment","srcType","volume","onSeeked","onPause","onPlay","onEnd","isPlaying","onClick","onCanvas","isAutoplay","showThumbnail","thumbnail","isPreloading","preloadVideo","showVideo","startVideo","isHovered","setHovered","hasBorderRadius","url","parsedURL","videoId","embedURL","originalSearchParams","searchParams","param","shouldMute","isRed","iframeProps","title","border","urlString","pathSegments","page","pre","ext","message","\"Normal\"","\"Auto\"","\"Loop\"","\"High\"","\"Medium\"","\"Low\"","\"Off\"","\"Youtube\"","\"framerSupportedLayoutHeight\"","\"framerComponentPresetProps\"","\"framerSupportedLayoutWidth\"","v","optionsRef","options","animation","didInitialMount","onChangeDeps","onChange","transformer","value1","inputValue","ref1","newValue","ref2","factory","root","propertyNames","i","len","val","absArr","type","currentTime","totalTime","frameMultiplier","currentLoop","totalLoops","firstFrame","totalFrames","target","nativeError","_count","g","b","h","f","p","s","q","t","max","r","min","d","hsv","color","offset","colorMap","hex","eventName","args","createRegularArray","arr","createTypedArrayFactory","prop","container","blendModeEnums","mode","_cos","_sin","_tan","_rnd","reset","rotate","angle","mCos","mSin","rotateX","rotateY","rotateZ","shear","sy","sx","skew","ax","ay","skewFromAxis","scale","sz","setTransform","a","c","j","k","l","m","n","o","translate","tx","ty","tz","transform","_p","a2","b2","c2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","a1","b1","c1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","p1","isIdentity","equals","matr","clone","cloneFromProps","applyToPoint","x","y","z","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","pt","inversePoints","pts","retPts","applyToTriplePoints","pt1","pt2","pt3","p0","p4","p5","p12","p13","applyToPointArray","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_a","_b","_c","_d","_e","_f","global","width","chunks","digits","rngname","startdenom","math","significance","overflow","mask","nodecrypto","seedrandom","shortseed","mixkey","flatten","seed","tostring","pool","autoseed","arc4","ARC4","prng","state","copy","is_math_call","keylen","me","result","typ","obj","depth","stringseed","smear","out","browser","plugins","ob","getBezierEasing","beziers","str","nm","bezEasing","BezierEasing","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","float32ArraySupported","A","aA2","aA1","B","C","calcBezier","aT","getSlope","binarySubdivide","currentX","currentT","aA","aB","mX1","mX2","aX","newtonRaphsonIterate","currentSlope","aGuessT","points","mY1","mY2","mSampleValues","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","lastTime","vendors","currTime","timeToCall","id","sources","sourcePrototype","attr","object","ProxyFunction","prototype","pointOnLine2D","det1","x1","y2","y1","x3","x2","y3","pointOnLine3D","z1","z2","z3","dist1","dist2","dist3","diffDist","getBezierLength","curveSegments","ptCoord","perc","addedLength","ptDistance","point","lastPoint","lengthData","pt4","getSegmentsLength","segmentsLength","closed","shapeData","pathV","pathO","pathI","lengths","totalLength","BezierData","length","PointData","partial","buildBezierData","storedData","bezierName","bezierData","getDistancePerc","percents","initPos","lengthPos","lPerc","dir","flag","getPointInSegment","t1","percent","u1","bezierSegmentPoints","getNewSegment","startPerc","t0","endPerc","u0","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","completeLayers","layerData","layers","jLen","kLen","maskProps","convertPathsToAbsoluteValues","findCompLayers","comps","fontManager","completeShapes","completeText","path","checkVersion","animVersion","animVersionString","minimum","checkText","minimumVersion","updateTextLayer","documentData","textLayer","iterateLayers","animationData","checkChars","pathData","paths","checkColors","iterateShapes","shapes","checkShapes","completeClosingShapes","completeData","data","moduleOb","styles","fontData","fWeight","fStyle","styleName","maxWaitingTime","emptyChar","combinedCharacters","trimFontOptions","familyArray","font","enabledFamilies","setUpNode","parentNode","family","node","checkLoadedFonts","w","loadedCount","createHelper","tHelper","fontProps","def","tCanvasHelper","addFonts","fontArr","_pendingFonts","shouldLoadFont","loadedSelector","defs","sc","addChars","chars","found","getCharData","char","measureText","fontName","index","doubleSize","singleSize","size","getFontByName","getCombinedCharacterCodes","setIsLoaded","Font","initFrame","mathAbs","interpolateValue","offsetTime","iterationIndex","caching","keyData","nextKeyData","frameNum","fnc","nextKeyTime","keyTime","endValue","ind","distanceInLine","segmentPerc","outX","outY","inX","inY","keyValue","quatStart","createQuaternion","quatEnd","time","quaternionToEuler","slerp","az","aw","bx","by","bz","bw","omega","cosom","sinom","scale0","scale1","qx","quat","qy","qz","qw","heading","attitude","bank","values","c3","s1","s2","s3","getValueAtCurrentTime","initTime","endTime","renderResult","setVValue","multipliedValue","processEffectsSequence","finalValue","addEffect","effectFunction","ValueProperty","mult","elem","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","to","ti","arrLen","getProp","defaultVector","applyToMatrix","_mdf","mat","processKeys","forceRender","frameRate","v1","v2","px","py","precalculateMatrix","autoOrient","addDynamicProperty","TransformProperty","getTransformProperty","pos","replace","vX","vY","oX","oY","iX","iY","newPath","vertices","outPoints","inPoints","cnt","interpolateShape","keyPropS","keyPropE","isHold","vertexValue","kf","previousValue","interpolateShapeCurrentTime","lastFrame","resetShape","shapesEqual","shape1","shape2","ShapeProperty","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","rad","roundness","perimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","v0","round","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","modifiers","registerModifier","getModifier","segments","shapeSegments","segmentOb","totalModifierLength","shapeLength","shapeS","shapeE","pathsData","_isFirstFrame","_s","shapePaths","totalShapeLength","localShapeCollection","edges","newShapesData","lastShape","newPaths","shapePath","newShape","currentLengthData","segmentCount","segment","shapeSegment","segmentLength","clonedPath","currentV","currentI","currentO","closerV","distance","newPosPerc","rd","amount","centerPoint","pathLength","inv","scaleX","scaleY","pMatrix","rMatrix","sMatrix","elemsData","elements","newElements","renderFlag","items","itemsTransform","cont","hasReloaded","copies","group","elems","transformData","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","renderer","cLength","diff","_o","pathNodes","_i","shapeString","AudioController","audioFactory","audio","rateValue","assetPath","proxyImage","canvas","ctx","imageLoaded","footageLoaded","getAssetsPath","assetData","assetsPath","imagePath","originalPath","testImageLoaded","intervalId","img","createImageData","createImgData","createFootageData","footageData","loadAssets","cb","assets","setPath","setAssetsPath","getAsset","destroy","loadedImages","loadedFootages","setCacheType","elementHelper","ImagePreloaderFactory","createFilter","createAlphaToLuminanceFilter","fil","filId","skipCoordinates","feColorMatrix","formatResponse","xhr","loadAsset","response","err","errorCallback","textData","renderType","animatorProps","lettersChangedFlag","alignment","animators","matrixHelper","renderedLettersCount","xPos","yPos","letters","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","partialLength","tanAngle","yOff","firstLine","animatorSelector","letterValue","offf","xPathPos","yPathPos","initPathPos","initSegmentInd","initPointInd","currentLine","elemOpacity","sw","fc","letterSw","letterSc","letterFc","letterM","letterP","letterO","animatorJustifyOffset","animatorFirstCharOffset","justifyOffsetMult","lastIndex","isNewLine","animatorOffset","rot","defaultData","textAnimatorAnimatables","updated","_finalValue","currentValue","currentIndex","textKeys","charactersArray","charCode","newLineFlag","anchorGrouping","currentSize","currentPos","lineWidths","lineWidth","maxLineWidth","charData","trackingOffset","boxWidth","boxHeight","currentHeight","finalText","lastSpaceIndex","uncollapsedSpaces","currentChar","animatorData","letterData","based","indexes","currentInd","newInd","dData","newData","_canResize","_fontValue","floor","TextSelectorPropFactory","easer","tot","newCharsFlag","divisor","getTextSelectorProp","_length","_maxLength","initialLength","newElement","element","_create","release","_release","double","create","cloned","shape","newShapeCollection","shapeCollection","parsePayloadLines","lines","payload","keys","line","keysCount","markers","_markers","_marker","markerData","num","layer","newLayers","pInterface","parentName","hierarchy","comp","animData","fontsContainer","animationItem","ariaLabel","titleElement","titleId","descElement","descId","maskElement","rect","maskId","nextElement","cProps","trProps","op","actionFlag","popped","containerStyle","origin","elementWidth","elementHeight","elementRel","animationRel","par","fillType","newDOMElement","nextDOMElement","nextLayer","tmpDOMElement","perspectiveElem","center","matrix","threeDContainerData","lastThreeDContainerData","currentContainer","resizerElem","wrapper","svg","cWidth","cHeight","floatingContainer","globalData","properties","count","currentMasks","layerId","expansor","feMorph","maskType","maskRef","filterID","finalMat","isFirstFrame","pathString","viewData","pathShapeValue","isVisible","transforms","ptNew","component","position","level","transformers","styleOb","gradientId","gfill","stops","stop","pathElement","opacityId","opFill","_identityMatrix","_matrixHelper","createRenderFunction","renderFill","renderGradient","renderGradientStroke","renderStroke","renderPath","renderContentTransform","itemData","pathStringTransformed","redraw","lLen","lvl","iterations","styleData","styleElem","hasOpacity","attr1","attr2","cValues","oValues","ang","sequence","styledShape","transformsManager","effectsInterface","blendModeValue","layerElementParent","gg","masker","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","cp","clipId","cpGroup","shouldBreakProcess","shapeStr","_fontSize","lineNumber","colorData","timeRemapped","volumeValue","textArray","textContents","currentTextContent","usesGlyphs","tSpan","singleShape","tElement","justify","textContent","cachedSpansLength","textBox","renderedLetters","renderedLetter","textSpan","tempShapes","areAnimated","elementData","transformProperty","ownTransformers","ownStyles","ownModifiers","currentTransform","modifier","processedPos","prevViewData","render","itemsData","animatedContent","filterManager","filter","feMerge","feMergeNode","colorBlack","colorWhite","opacity","feGaussianBlur","sigma","dimensions","sigmaX","sigmaY","edgeMode","elemChildren","groupPath","dasharrayValue","lineLength","units","feComponentTransfer","feFuncR","feFuncG","feFuncB","color1","color2","color3","tableR","tableG","tableB","effectElements","inputBlack","inputWhite","table","colorValue","outputDelta","outputWhite","outputBlack","inputDelta","gamma","filterSize","feOffset","feFlood","feComposite","col","filterElem","children","nextChild","useElem","symbolId","symbol","newLength","currentSavedOp","forceRealStack","imgW","imgH","imgRel","canvasRel","widthCrop","heightCrop","hasMasks","ownTransforms","shouldRender","parentTransform","groupTransform","nodes","currentStyle","isMain","shapeNodes","groupTransformMat","grd","hasFill","hasStroke","commands","pathArr","lastFill","lastStroke","lastStrokeW","transformedElementStyle","matrixValue","item","vPoint","oPoint","nextIPoint","nextVPoint","boundingBox","bounds","p3","b2ac","t2","box","tempBoundingBox","changed","shapeStyle","shapeTransform","innerElemStyle","textColor","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","margin","svgTransform","perspectiveStyle","perspective","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","animItem","ev","subtractPlayingCount","registerAnimation","setupAnimation","getRegisteredAnimations","lenAnims","animations","addPlayingCount","activate","loadAnimation","params","setSpeed","setDirection","resume","elapsedTime","nowTime","first","goToAndStop","isFrame","togglePause","searchAnimations","animElements","standalone","body","div","resize","freeze","unfreeze","setVolume","mute","unmute","animType","wrapperAttributes","segmentPath","error","marker","markerName","numValue","nextValue","_isComplete","pendingFrame","end","forceFlag","initExpressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","tOfV","tOfA","lenA","retArr","tOfB","lenB","mm","arr1","arr2","vec","value2","tMin","tMax","_tMin","rnd","rndm","arrPlaceholder","inVertexPoint","outVertexPoint","inTangents","outTangents","iWiggle","lenWiggle","addedAmps","freq","amp","periods","duration","fVec","elem2","elem1","pitch","val1","val2","fn","iKey","lenKey","obKey","fps","frames","framesPerSecond","_value","searchExpressions","getValueAtTime","getSpeedAtTime","delta","speed","getVelocityAtTime","velocity","getStaticValueAtTime","setGroupProperty","propertyGroup","loopOut","currentFrame","keyframes","lastKeyFrame","cycleDuration","firstKeyFrame","durationFlag","ret","initV","endV","current","repeats","lastValue","nextLastValue","loopIn","firstValue","nextFirstValue","smooth","samples","endFrame","sampleFrequency","sampleValue","getTransformValueAtTime","anchor","skewAxis","rotation","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","getShapeValueAtTime","ShapePropertyConstructorFunction","KeyframedShapePropertyConstructorFunction","ShapeExpressions","accumulatedLength","initIndex","endIndex","xLength","yLength","magnitude","vectorType","propertyGetShapeProp","trims","isKeyframed","hasExpressions","view","interfaceFunction","_propertyGroup","parentPropertyGroup","propertyName","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","contentsInterfaceFactory","interfaces","transformInterfaceFactory","content","transformInterface","_dashPropertyGroup","dashOb","addPropertyToDashOb","_interfaceFunction","parentGroupWrapper","_prevValue","_sourceText","_thisLayerFunction","stringValue","getMatrix","toWorldMat","toWorldVec","toWorld","fromWorldVec","fromWorld","applyPoint","invertPoint","fromComp","sampleImage","_registerMaskInterface","maskManager","_registerEffectsInterface","effects","anchorPointDescriptor","outlineInterfaceFactory","currentPropertyName","currentProperty","searchProperty","propertyNameIndex","dataInterfaceFactory","_thisFunction","_px","_py","_pz","_transformFactory","registerComposition","_thisProjectFunction","createEffectsInterface","effectsData","createGroupInterface","groupInterface","createValueInterface","expressionProperty","MaskInterface","_masksInterfaces","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","property","valueProp","UnidimensionalPropertyInterface","MultidimensionalPropertyInterface","arrValue","defaultGetter","TextExpressionSelectorProp","getValueProxy","total","propertyGetTextProp","effectItem","eff","href","plugin","vars","pair","variable","progressRaw","shouldPlay","pauseOnCanvas","playing","direction","isForwardsDirection","isCustomPoster","el","animationInfo","_animationInfo_current_animation","_animationInfo_current","scrubTo","frameNumberTarget","normalizedProgress","shouldPlayAfter","fetchLottieData","dataUrl","setup","anim","posterProgress","cleanup","normalizedPosterProgress","\"File\"","\"Custom\"","setIndex","startIndex","revealed","setRevealed","setPlaying","startedRef","echoAfterIndex","setEchoAfterIndex","echoLabel","setEchoLabel","simClickDone","setSimClickDone","firstActionRef","setFirstActionRef","scrollRef","cursor","setCursor","rootRef","chipRowRef","narrow","setNarrow","compact","layoutMode","autoPlay","io","entry","ro","compactBelow","row","chip","messageDelaySec","seqUpTo","upTo","windowedSeq","start","maxVisible","handleActionClick","label","baseIndex","simulateClick","simulateClickLabel","parent","match","btnRect","containerRect","targetX","targetY","moveTimer","clickTimer","idxAttr","explainer","accentColor","minWidth","compactHeight","sidebarRatio","selected","isEcho","msg","isAmpy","avatarUrl","showTimestamp","registerFirstAction","onAction","componentViewport","cardTitle","bodyLg","bodyXl","bodySm","HvYTWSsqa","JcsylJBWb","jAkL7xWKA","RQXH9g81t","arg","internalState","setInternalState","externalState","previousExternalState","setPreviousExternalState","setExternalState","button01Text","badgeVisible","button01Link","bullettsVisible","bullet01Icon","heroSupportVisible","card02Bodylg","bullet01Visible","button02Link","bodyLglFormatted","heroSupportText","youtubeVisible","bullet04Icon","bullet03Subtitle","backgroundColor","bullet02Link","image","bullet03Title","buttonsVisible","cardTitle01","cardsVisible","bullet04Subtitle","videoBackground","bodyMdTxt","button01","card01BodyXl","videoVisible","bullet02Icon","bullet03Icon","card02BodySm","lottiVisible","bullet03Visible","imgVidContentVisible","bullet04Visible","sectionTitle","button02Visible","bodyMdVisible","imageBackgroundVisible","bullet04Link","customCodeVisible","bullet01Link","bullet01Title","bullet02Title","bodyLgFormatedVisible","card02BodyXl","imageVisible","card01BodySm","cardTitle02","button02Text","bullet03Link","button01Visible","button02","youtubeUrl","lotti","bullet02Visible","titleIsH1","sectionPadding","bullet02Subtitle","card01BodyLg","badgeText","imageBackground","bullet01Subtitle","videoBackgroundVisible","bullet04Title","className$21","\"xjhnHPQMV\"","externalxjhnHPQMV","\"onxjhnHPQMVChange\"","setExternalxjhnHPQMV","\"A7Wr69vWM\"","externalA7Wr69vWM","\"onA7Wr69vWMChange\"","setExternalA7Wr69vWM","\"TnzPcPJfV\"","externalTnzPcPJfV","\"onTnzPcPJfVChange\"","setExternalTnzPcPJfV","\"hCtpOD1xj\"","externalhCtpOD1xj","\"onhCtpOD1xjChange\"","setExternalhCtpOD1xj","\"IuWqFOi_u\"","externalIuWqFOi_u","\"onIuWqFOi_uChange\"","setExternalIuWqFOi_u","\"WQ_p_TEuK\"","externalWQ_p_TEuK","\"onWQ_p_TEuKChange\"","setExternalWQ_p_TEuK","\"sMkxIFGED\"","externalsMkxIFGED","\"onsMkxIFGEDChange\"","setExternalsMkxIFGED","\"TkBlsCqjZ\"","externalTkBlsCqjZ","\"onTkBlsCqjZChange\"","setExternalTkBlsCqjZ","\"Rl5t8OdaJ\"","externalRl5t8OdaJ","\"onRl5t8OdaJChange\"","setExternalRl5t8OdaJ","\"BQtzri6Na\"","externalBQtzri6Na","\"onBQtzri6NaChange\"","setExternalBQtzri6Na","\"K4cXLEasa\"","externalK4cXLEasa","\"onK4cXLEasaChange\"","setExternalK4cXLEasa","props$1","xjhnHPQMV","setxjhnHPQMV","A7Wr69vWM","setA7Wr69vWM","TnzPcPJfV","setTnzPcPJfV","hCtpOD1xj","sethCtpOD1xj","IuWqFOi_u","setIuWqFOi_u","WQ_p_TEuK","setWQ_p_TEuK","sMkxIFGED","setsMkxIFGED","TkBlsCqjZ","setTkBlsCqjZ","Rl5t8OdaJ","setRl5t8OdaJ","BQtzri6Na","setBQtzri6Na","K4cXLEasa","setK4cXLEasa","visible","VksC_ABRO","visible1","yVAz54mBh","visible2","wK0lV95l2","visible3","eHTQIaLeW","visible4","hsLkQrR_g","parsedPadding","W44speNZ6","eNzeZ5Kv9","AKfxcOm6J","mSCQUrqd8","qkO8JGMe_","d6Y2eJ4bu","bJkgOuE_C","CdbG7scPf","bnL4P1L3J","o2XN3Amyz","qbCMR_sp9","UZZC8vKLE","k1QcA_pS9","eOjL05c0F","qCHZ2y9vN","Lpwb32qwM","k2Q46E4Xt","tS4pw3eUb","gIev239jf","M7w_yxw7g","Efm4sIK7S","nAtkx7m73","ZmE00SgJB","n_XdGoax9","IJTUjJ_bW","GuzTtNRS2","ubzxvbfFB","B9Hm396Jz","iKhQAIxer","MswCjnkg2","cmiNBcx3x","UD4qfpvlr","bPkLeET8t","ds_2yg2TO","LxNNOLxs3","RQ53eHqUA","G7QnJde1m","JhUuTGDe7","CQDWdueY0","ecWyORxvF","uUlULHWmv","non2AbuLp","ho8juLo33","ZKzPd7elm","hvBqpGbyN","NAsiXfJCd","YF2TSFjBT","KIZtDf5Hp","uZL7407DL","\"variant\"","\"srcFile\"","context","button03Visible","button03Txt","button01Txt","button03","button03Link","ctaBody","button02Txt","ctaTitle","\"CNePr9tWz\"","externalCNePr9tWz","\"onCNePr9tWzChange\"","setExternalCNePr9tWz","\"umUU__k40\"","externalumUU__k40","\"onumUU__k40Change\"","setExternalumUU__k40","\"aMmpLErPw\"","externalaMmpLErPw","\"onaMmpLErPwChange\"","setExternalaMmpLErPw","CNePr9tWz","setCNePr9tWz","umUU__k40","setumUU__k40","aMmpLErPw","setaMmpLErPw","xEYTw9k4E","r0LFesc5H","D6UY8oGsx","pv_bdl0jb","GWkKjEoGo","JpPnbKBra","WVSvUPwQq","gFEYpnrip","A_faMO20_","Od5cm45Cq","CSmZHCCOo"],"sources":["https:/framerusercontent.com/modules/alJJHYtCQn1mxHI6OIuC/KGQqVC129cxRSZeCbi1x/componentPresets.js","https:/framerusercontent.com/modules/e9aJmqwhdIimxcXkTVIB/uu2i6qcvcYaLI8vXddfj/eeuthCixO.js","https:/framerusercontent.com/modules/bo5LfgqfhsFk5K0BVZDZ/jOSi67LVD6EPeC3FrfLo/EH0PRLV7L.js","https:/framerusercontent.com/modules/7A0KO6hVLF6MyzdSYlOh/8F0gGKWOG7W9Ic46toid/f4Avcmmox.js","https:/framerusercontent.com/modules/fcYZwYH6duPCcEV3dLZs/QWiKIFKJf3Z8zrDkx5wu/hFFu6d6D3.js","https:/framerusercontent.com/modules/62dHzbyEVcWCJm4KjJYQ/Pmrpa41VbtXNA46dFIKJ/ih7Vy5Vcx.js","https:/framerusercontent.com/modules/ha37KS9uLYavEDV2H6Jv/J16UBZgw5YaFOsktpXuQ/re20t5Nfq.js","https:/framerusercontent.com/modules/txTfEgVzj24GhlhkrExk/UunfPt8Z8JyAlkvv842m/rzzO1bsnf.js","https:/framerusercontent.com/modules/8S8iVbzHPcyQEg6O2NzQ/hoSMW1xVcuY1IRgnzNlR/S11Xr8MbT.js","https:/framerusercontent.com/modules/5c2lQxvRBlm5ZvapSY7q/tpxEof5U4yrwIiZt8kWY/steh9X0vC.js","https:/framerusercontent.com/modules/ygfyZaamcGIRCSz40iAh/rWWebZNN51JXxTORD3JP/uYKwKyo2A.js","https:/framerusercontent.com/modules/IvJnTUvVGp9wqgJtZqqq/oTl3a6A1MQKVChQmqrNh/Feather.js","https:/framerusercontent.com/modules/uyU9bPOnmg56FPgqqqHP/pn0Bkk1tFRQH5Hh6v8lO/MuJjAXk6G.js","https:/framerusercontent.com/modules/c9uwWZ7Ap7OzBhHJZ2uZ/09rppX1bbap148Szb8ln/tLUb2Hjj2.js","https:/framerusercontent.com/modules/e4Gbs6BinSGsoh0x8tEk/wVCcCrxKfslzgm6bA91p/nbMnWu4Sl.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/pRRgk0dcN3gDaE0WpAE7/YouTube.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js","https:/framer.com/m/framer/useAutoMotionValue.js@0.3.0","https:/jspm.dev/npm:lottie-web@5.7.8!cjs","https:/jspm.dev/lottie-web@5.7.8","https:/framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js","https:/framerusercontent.com/modules/8RLNlZpZShawq2P2v3Ws/QHcmZnjjZTdE2Q79FJUN/AmplifierTracksChatPlayer_1.js","https:/framerusercontent.com/modules/oF3ZvL8vrgFIczGt3oao/3Je11hETZ3RFiZacT1nd/iu3hypIuI.js","https:/framerusercontent.com/modules/6wRDmWpq6SjRMzRYH7SB/IUoCtxBxpXpqlYTYptRh/kHgiG_1C6.js","https:/framerusercontent.com/modules/t6pLWowsJ7vt6jP1jsON/aQ3pkDUNQAfKCpklr1nr/MpSyKtc9v.js","https:/framerusercontent.com/modules/gcNiwobFisRAzAItdCgD/KJJUxwJR9GA2WF7KgL6G/rt5mzBdh6.js","https:/framerusercontent.com/modules/ljGNdV6FVdhIlIJNvhWF/byJm2EvtHURX2z7nqMa1/AVDN5kMuI.js","https:/framerusercontent.com/modules/Y0ok8TKCCfgFHUhSM2nG/SuKF1MGDFuBgdqWMiB3Z/HQ6Y6zkNF.js","https:/framerusercontent.com/modules/91x4e5l4vtzw9zKubcYu/Cu4fFDrh1x7ahEU3mRSl/DZ7pk_cf9.js","https:/framerusercontent.com/modules/WCDNUlPKZAOyF8PuurtC/dlHb3jnUcuyh0MtSFOv0/i65ojZYmX.js"],"sourcesContent":["// Generated by Framer (e0e363b)\nexport const props={tZoi8j77L:{borderRadius:20,bottomLeftRadius:20,bottomRightRadius:20,boxShadow:\"\",isMixedBorderRadius:false,isRed:true,topLeftRadius:20,topRightRadius:20},VHP8RLhSd:{borderRadius:15,bottomLeftRadius:15,bottomRightRadius:15,darkTheme:\"framerDark\",font:{fontFamily:'\"Fragment Mono\", monospace',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1.5em\"},isMixedBorderRadius:false,lightTheme:\"framerLight\",padding:30,paddingBottom:30,paddingLeft:30,paddingPerSide:false,paddingRight:30,paddingTop:30,theme:\"framerDark\",themeMode:\"Static\",topLeftRadius:15,topRightRadius:15}};export const fonts={VHP8RLhSd:[{explicitInter:true,fonts:[{cssFamilyName:\"Fragment Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"Fragment Mono\",url:\"https://fonts.gstatic.com/s/fragmentmono/v6/4iCr6K5wfMRRjxp0DA6-2CLnN4FNh4UI_1U.woff2\",weight:\"400\"}]}]};\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"props\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ddc5e5f)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-medium\",\"FS;Work Sans-bold\",\"FS;Work Sans-bold italic\",\"FS;Work Sans-medium italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/MBOJEUZXMXZXHAW3KKWUFI6R7OIPIRYU/FBJ6H6I7LKZ2WGOVP25FDJOOUIMXMY2Z/THXRGVPNH45VMHCGWEEJATJ2RCOHTNBI.woff2\",weight:\"500\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/FE5DMCVO7676XBZO76R6BBLVYNJTAGNN/ZSUXML62VYR72Y4ABFYVQUJXTHDK7YJ2/LIFXYPK76URT3NB4B4JNO3Y23DJLOWJ3.woff2\",weight:\"700\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/4IOO6HE2KP5VJDPCI2J2DVDL6ZKR7GOP/UTF7AFH75PMBFZU74BYTKFURR2UL3DCD/LXEOV3VUZC34RH6VVI7IJSPR3H2TTV7E.woff2\",weight:\"700\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/L2RFI5NTELDLWWGFIXXRCJFRMUAU4BD6/P3JDB7I7L2IP3N3IUAWFHSV5PXQQYUXX/NYV4ZQMHP7NXL6VB4VFS7ZGRB4HZ263N.woff2\",weight:\"500\"}]}];export const css=['.framer-2WZdM .framer-styles-preset-h9me8o:not(.rich-text-wrapper), .framer-2WZdM .framer-styles-preset-h9me8o.rich-text-wrapper h3 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 28px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-2WZdM .framer-styles-preset-h9me8o:not(.rich-text-wrapper), .framer-2WZdM .framer-styles-preset-h9me8o.rich-text-wrapper h3 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-2WZdM .framer-styles-preset-h9me8o:not(.rich-text-wrapper), .framer-2WZdM .framer-styles-preset-h9me8o.rich-text-wrapper h3 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-2WZdM\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Fragment Mono-regular\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Fragment Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"Fragment Mono\",url:\"https://fonts.gstatic.com/s/fragmentmono/v6/4iCr6K5wfMRRjxp0DA6-2CLnN4FNh4UI_1U.woff2\",weight:\"400\"}]}];export const css=['.framer-hSU1r .framer-styles-preset-17l7ulz:not(.rich-text-wrapper), .framer-hSU1r .framer-styles-preset-17l7ulz.rich-text-wrapper code { --framer-code-font-family: \"Fragment Mono\", monospace; --framer-code-font-style: normal; --framer-code-font-weight: 400; --framer-code-text-color: #333; --framer-font-size-scale: 1; background-color: rgba(0, 0, 0, 0.1); border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; padding-bottom: 0.1em; padding-left: 0.2em; padding-right: 0.2em; padding-top: 0.1em; }'];export const className=\"framer-hSU1r\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-semibold\",\"FS;Work Sans-black\",\"FS;Work Sans-black italic\",\"FS;Work Sans-semibold italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VA23FCGWQ2ZGKFEM75LQVBDIR5XCXJI3/V5QYJZB23L2PDOZTWQY5F3I5R2B3UGCD/XUL6BSI7XTIWXDHGTQPLNOWHZU5CTO77.woff2\",weight:\"600\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/QML5C5XZEBR7I3AU3AFZMQXA2F5MRDVL/S3LQ3HBF2JP53OFYRMM4JBQ3YHVPOE62/T34RJ6HRTKSRNRRMEDEU7ZH2PX5BUQ4U.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZDQYY7WQE6J2LQJEMABD2KCKOU7QQF3/LQCJAHZ2REXSPMWQWMEWUSVCXAUZT7XV/DPGL44GATXXQ37NTDPNF64CE2DG4K37M.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LOSIAZYULSGVYN662X5BYDOIHB7YE3OZ/4PSWTKPQRGX6G433ELN63AETIFV6VOM3/RWELXUBTSLYBVNROIVMFOTTVBJP2QYJC.woff2\",weight:\"600\"}]}];export const css=['.framer-Z1jQ7 .framer-styles-preset-16nefmm:not(.rich-text-wrapper), .framer-Z1jQ7 .framer-styles-preset-16nefmm.rich-text-wrapper h5 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.02em; --framer-line-height: 1.3333333em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-Z1jQ7 .framer-styles-preset-16nefmm:not(.rich-text-wrapper), .framer-Z1jQ7 .framer-styles-preset-16nefmm.rich-text-wrapper h5 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.02em; --framer-line-height: 1.3333333em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-Z1jQ7 .framer-styles-preset-16nefmm:not(.rich-text-wrapper), .framer-Z1jQ7 .framer-styles-preset-16nefmm.rich-text-wrapper h5 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.02em; --framer-line-height: 1.3333333em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-Z1jQ7\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-semibold\",\"FS;Work Sans-black\",\"FS;Work Sans-black italic\",\"FS;Work Sans-semibold italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VA23FCGWQ2ZGKFEM75LQVBDIR5XCXJI3/V5QYJZB23L2PDOZTWQY5F3I5R2B3UGCD/XUL6BSI7XTIWXDHGTQPLNOWHZU5CTO77.woff2\",weight:\"600\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/QML5C5XZEBR7I3AU3AFZMQXA2F5MRDVL/S3LQ3HBF2JP53OFYRMM4JBQ3YHVPOE62/T34RJ6HRTKSRNRRMEDEU7ZH2PX5BUQ4U.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZDQYY7WQE6J2LQJEMABD2KCKOU7QQF3/LQCJAHZ2REXSPMWQWMEWUSVCXAUZT7XV/DPGL44GATXXQ37NTDPNF64CE2DG4K37M.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LOSIAZYULSGVYN662X5BYDOIHB7YE3OZ/4PSWTKPQRGX6G433ELN63AETIFV6VOM3/RWELXUBTSLYBVNROIVMFOTTVBJP2QYJC.woff2\",weight:\"600\"}]}];export const css=['.framer-eKHpm .framer-styles-preset-tzrded:not(.rich-text-wrapper), .framer-eKHpm .framer-styles-preset-tzrded.rich-text-wrapper h4 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 32px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.02em; --framer-line-height: 1.25em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-eKHpm .framer-styles-preset-tzrded:not(.rich-text-wrapper), .framer-eKHpm .framer-styles-preset-tzrded.rich-text-wrapper h4 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 28px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.02em; --framer-line-height: 1.25em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-eKHpm .framer-styles-preset-tzrded:not(.rich-text-wrapper), .framer-eKHpm .framer-styles-preset-tzrded.rich-text-wrapper h4 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.02em; --framer-line-height: 1.25em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-eKHpm\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c9b3949)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-regular\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/G463L6WWJWSX4R6VTEVFCTIXPE3AUDEF/V4JHHUSZMHBPK3DFEHLGTZVXVBHVLZ7P/ND3FIMQYFEQ2VM2WWNXCGGBFYRPR7FMH.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/mkY5Sgyq51ik0AMrSBwhm9DJg.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/X5hj6qzcHUYv7h1390c8Rhm6550.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/gQhNpS3tN86g8RcVKYUUaKt2oMQ.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cugnVhSraaRyANCaUtI5FV17wk.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/5HcVoGak8k5agFJSaKa4floXVu0.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/rZ5DdENNqIdFTIyQQiP5isO7M.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/P2Bw01CtL0b9wqygO0sSVogWbo.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/05KsVHGDmqXSBXM4yRZ65P8i0s.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/ky8ovPukK4dJ1Pxq74qGhOqCYI.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/vvNSqIj42qeQ2bvCRBIWKHscrc.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/3ZmXbBKToJifDV9gwcifVd1tEY.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/FNfhX3dt4ChuLJq2PwdlxHO7PU.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/gcnfba68tfm7qAyrWRCf9r34jg.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/efTfQcBJ53kM2pB1hezSZ3RDUFs.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"}]}];export const css=['.framer-9xShK .framer-styles-preset-azpqf2:not(.rich-text-wrapper), .framer-9xShK .framer-styles-preset-azpqf2.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-9xShK .framer-styles-preset-azpqf2:not(.rich-text-wrapper), .framer-9xShK .framer-styles-preset-azpqf2.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 34px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-9xShK .framer-styles-preset-azpqf2:not(.rich-text-wrapper), .framer-9xShK .framer-styles-preset-azpqf2.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 27px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-9xShK\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (4f63079)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-semibold\",\"FS;Work Sans-black\",\"FS;Work Sans-black italic\",\"FS;Work Sans-semibold italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VA23FCGWQ2ZGKFEM75LQVBDIR5XCXJI3/V5QYJZB23L2PDOZTWQY5F3I5R2B3UGCD/XUL6BSI7XTIWXDHGTQPLNOWHZU5CTO77.woff2\",weight:\"600\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/QML5C5XZEBR7I3AU3AFZMQXA2F5MRDVL/S3LQ3HBF2JP53OFYRMM4JBQ3YHVPOE62/T34RJ6HRTKSRNRRMEDEU7ZH2PX5BUQ4U.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZDQYY7WQE6J2LQJEMABD2KCKOU7QQF3/LQCJAHZ2REXSPMWQWMEWUSVCXAUZT7XV/DPGL44GATXXQ37NTDPNF64CE2DG4K37M.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LOSIAZYULSGVYN662X5BYDOIHB7YE3OZ/4PSWTKPQRGX6G433ELN63AETIFV6VOM3/RWELXUBTSLYBVNROIVMFOTTVBJP2QYJC.woff2\",weight:\"600\"}]}];export const css=['.framer-ZGHHB .framer-styles-preset-m1gcsd:not(.rich-text-wrapper), .framer-ZGHHB .framer-styles-preset-m1gcsd.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.03em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-ZGHHB .framer-styles-preset-m1gcsd:not(.rich-text-wrapper), .framer-ZGHHB .framer-styles-preset-m1gcsd.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 42px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.03em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-ZGHHB .framer-styles-preset-m1gcsd:not(.rich-text-wrapper), .framer-ZGHHB .framer-styles-preset-m1gcsd.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.03em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-ZGHHB\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c9b3949)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-semibold\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VA23FCGWQ2ZGKFEM75LQVBDIR5XCXJI3/V5QYJZB23L2PDOZTWQY5F3I5R2B3UGCD/XUL6BSI7XTIWXDHGTQPLNOWHZU5CTO77.woff2\",weight:\"600\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/mkY5Sgyq51ik0AMrSBwhm9DJg.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/X5hj6qzcHUYv7h1390c8Rhm6550.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/gQhNpS3tN86g8RcVKYUUaKt2oMQ.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cugnVhSraaRyANCaUtI5FV17wk.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/5HcVoGak8k5agFJSaKa4floXVu0.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/rZ5DdENNqIdFTIyQQiP5isO7M.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/P2Bw01CtL0b9wqygO0sSVogWbo.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/05KsVHGDmqXSBXM4yRZ65P8i0s.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/ky8ovPukK4dJ1Pxq74qGhOqCYI.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/vvNSqIj42qeQ2bvCRBIWKHscrc.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/3ZmXbBKToJifDV9gwcifVd1tEY.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/FNfhX3dt4ChuLJq2PwdlxHO7PU.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/gcnfba68tfm7qAyrWRCf9r34jg.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/efTfQcBJ53kM2pB1hezSZ3RDUFs.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"}]}];export const css=['.framer-QDONH .framer-styles-preset-15ruj48:not(.rich-text-wrapper), .framer-QDONH .framer-styles-preset-15ruj48.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 58px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: left; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-QDONH .framer-styles-preset-15ruj48:not(.rich-text-wrapper), .framer-QDONH .framer-styles-preset-15ruj48.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 48px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: left; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-QDONH .framer-styles-preset-15ruj48:not(.rich-text-wrapper), .framer-QDONH .framer-styles-preset-15ruj48.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 40px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: left; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-QDONH\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper), .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; border-color: rgba(153, 153, 153, 0.25); border-style: solid; border-top-left-radius: 8px; border-top-right-radius: 8px; border-width: 1px; overflow: hidden; }\",\".framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) th, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table th, .framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) td, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table td { padding: 10px; }\",\".framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) th, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table th { background-color: rgba(153, 153, 153, 0.1); }\",\".framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) tr + tr td, .framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) tr + tr th, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table tr + tr td, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table tr + tr th { border-top-color: rgba(153, 153, 153, 0.25); border-top-style: solid; border-top-width: 1px; }\",\".framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) td + td, .framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) th + th, .framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) td + th, .framer-UaFry .framer-styles-preset-15uxu15:not(.rich-text-wrapper) th + td, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table td + td, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table th + th, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table td + th, .framer-UaFry .framer-styles-preset-15uxu15.rich-text-wrapper table th + td { border-left-color: rgba(153, 153, 153, 0.25); border-left-style: solid; border-left-width: 1px; }\"];export const className=\"framer-UaFry\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-italic\",\"FS;Work Sans-bold italic\",\"FS;Work Sans-bold italic\",\"FS;Work Sans-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VFWWGUTNL437C3QWVLC54JOVJ24GGKIH/6OQK23X3DSJXVGNYTE36QFJ6LWMS7Y5F/3OAWBZES3QMLRBWJMVYZ2WT7DYVPWLYG.woff2\",weight:\"400\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/4IOO6HE2KP5VJDPCI2J2DVDL6ZKR7GOP/UTF7AFH75PMBFZU74BYTKFURR2UL3DCD/LXEOV3VUZC34RH6VVI7IJSPR3H2TTV7E.woff2\",weight:\"700\"}]}];export const css=['.framer-ktIUE .framer-styles-preset-1pglauc:not(.rich-text-wrapper), .framer-ktIUE .framer-styles-preset-1pglauc.rich-text-wrapper blockquote { --framer-blockquote-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-blockquote-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-blockquote-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-blockquote-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-blockquote-font-size: 16px; --framer-blockquote-font-style: italic; --framer-blockquote-font-style-bold: italic; --framer-blockquote-font-style-bold-italic: italic; --framer-blockquote-font-style-italic: italic; --framer-blockquote-font-variation-axes: normal; --framer-blockquote-font-weight: 400; --framer-blockquote-font-weight-bold: 700; --framer-blockquote-font-weight-bold-italic: 700; --framer-blockquote-font-weight-italic: 400; --framer-blockquote-letter-spacing: 0em; --framer-blockquote-line-height: 1.8em; --framer-blockquote-paragraph-spacing: 20px; --framer-blockquote-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-blockquote-text-stroke-color: initial; --framer-blockquote-text-stroke-width: initial; --framer-font-open-type-features: normal; padding: 0px 0px 0px 22px; position: relative; }','.framer-ktIUE .framer-styles-preset-1pglauc:not(.rich-text-wrapper)::before, .framer-ktIUE .framer-styles-preset-1pglauc.rich-text-wrapper blockquote::before { background-color: #dddddd; border-radius: 1px; content: \" \"; display: block; height: 100%; left: 0px; position: absolute; top: 0px; width: 2px; }'];export const className=\"framer-ktIUE\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-k6gOn .framer-styles-preset-8xtffs { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; }\"];export const className=\"framer-k6gOn\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HomeFactory from\"https://framer.com/m/feather-icons/home.js@0.0.29\";import{defaultEvents,useIconSelection}from\"https://framer.com/m/utils-MaUy.js@OSpwWF91FHPVFyQJjMHt\";export const iconKeys=[\"activity\",\"airplay\",\"alert-circle\",\"alert-octagon\",\"alert-triangle\",\"align-center\",\"align-justify\",\"align-left\",\"align-right\",\"anchor\",\"aperture\",\"archive\",\"arrow-down\",\"arrow-down-circle\",\"arrow-down-left\",\"arrow-down-right\",\"arrow-left\",\"arrow-left-circle\",\"arrow-right\",\"arrow-right-circle\",\"arrow-up\",\"arrow-up-circle\",\"arrow-up-left\",\"arrow-up-right\",\"at-sign\",\"award\",\"bar-chart\",\"bar-chart-2\",\"battery\",\"battery-charging\",\"bell\",\"bell-off\",\"bluetooth\",\"bold\",\"book\",\"book-open\",\"bookmark\",\"box\",\"briefcase\",\"calendar\",\"camera\",\"camera-off\",\"cast\",\"check\",\"check-circle\",\"check-square\",\"chevron-down\",\"chevron-left\",\"chevron-right\",\"chevron-up\",\"chevrons-down\",\"chevrons-left\",\"chevrons-right\",\"chevrons-up\",\"chrome\",\"circle\",\"clipboard\",\"clock\",\"cloud\",\"cloud-drizzle\",\"cloud-lightning\",\"cloud-off\",\"cloud-rain\",\"cloud-snow\",\"code\",\"codepen\",\"codesandbox\",\"coffee\",\"columns\",\"command\",\"compass\",\"copy\",\"corner-down-left\",\"corner-down-right\",\"corner-left-down\",\"corner-left-up\",\"corner-right-down\",\"corner-right-up\",\"corner-up-left\",\"corner-up-right\",\"cpu\",\"credit-card\",\"crop\",\"crosshair\",\"database\",\"delete\",\"disc\",\"divide\",\"divide-circle\",\"divide-square\",\"dollar-sign\",\"download\",\"download-cloud\",\"dribbble\",\"droplet\",\"edit\",\"edit-2\",\"edit-3\",\"external-link\",\"eye\",\"eye-off\",\"facebook\",\"fast-forward\",\"feather\",\"figma\",\"file\",\"file-minus\",\"file-plus\",\"file-text\",\"film\",\"filter\",\"flag\",\"folder\",\"folder-minus\",\"folder-plus\",\"framer\",\"frown\",\"gift\",\"git-branch\",\"git-commit\",\"git-merge\",\"git-pull-request\",\"github\",\"gitlab\",\"globe\",\"grid\",\"hard-drive\",\"hash\",\"headphones\",\"heart\",\"help-circle\",\"hexagon\",\"home\",\"image\",\"inbox\",\"info\",\"instagram\",\"italic\",\"key\",\"layers\",\"layout\",\"life-buoy\",\"link\",\"link-2\",\"linkedin\",\"list\",\"loader\",\"lock\",\"log-in\",\"log-out\",\"mail\",\"map\",\"map-pin\",\"maximize\",\"maximize-2\",\"meh\",\"menu\",\"message-circle\",\"message-square\",\"mic\",\"mic-off\",\"minimize\",\"minimize-2\",\"minus\",\"minus-circle\",\"minus-square\",\"monitor\",\"moon\",\"more-horizontal\",\"more-vertical\",\"mouse-pointer\",\"move\",\"music\",\"navigation\",\"navigation-2\",\"octagon\",\"package\",\"paperclip\",\"pause\",\"pause-circle\",\"pen-tool\",\"percent\",\"phone\",\"phone-call\",\"phone-forwarded\",\"phone-incoming\",\"phone-missed\",\"phone-off\",\"phone-outgoing\",\"pie-chart\",\"play\",\"play-circle\",\"plus\",\"plus-circle\",\"plus-square\",\"pocket\",\"power\",\"printer\",\"radio\",\"refresh-ccw\",\"refresh-cw\",\"repeat\",\"rewind\",\"rotate-ccw\",\"rotate-cw\",\"rss\",\"save\",\"scissors\",\"search\",\"send\",\"server\",\"settings\",\"share\",\"share-2\",\"shield\",\"shield-off\",\"shopping-bag\",\"shopping-cart\",\"shuffle\",\"sidebar\",\"skip-back\",\"skip-forward\",\"slack\",\"slash\",\"sliders\",\"smartphone\",\"smile\",\"speaker\",\"square\",\"star\",\"stop-circle\",\"sun\",\"sunrise\",\"sunset\",\"tablet\",\"tag\",\"target\",\"terminal\",\"thermometer\",\"thumbs-down\",\"thumbs-up\",\"toggle-left\",\"toggle-right\",\"tool\",\"trash\",\"trash-2\",\"trello\",\"trending-down\",\"trending-up\",\"triangle\",\"truck\",\"tv\",\"twitch\",\"twitter\",\"type\",\"umbrella\",\"underline\",\"unlock\",\"upload\",\"upload-cloud\",\"user\",\"user-check\",\"user-minus\",\"user-plus\",\"user-x\",\"users\",\"video\",\"video-off\",\"voicemail\",\"volume\",\"volume-1\",\"volume-2\",\"volume-x\",\"watch\",\"wifi\",\"wifi-off\",\"wind\",\"x\",\"x-circle\",\"x-octagon\",\"x-square\",\"youtube\",\"zap\",\"zap-off\",\"zoom-in\",\"zoom-out\"];const moduleBaseUrl=\"https://framer.com/m/feather-icons/\";const uppercaseIconKeys=iconKeys.map(name=>name.charAt(0).toUpperCase()+name.slice(1));const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * FEATHER\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);// Selected Icon Module\nconst[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HomeFactory(React):null);// Import the selected module or reset so null state\nasync function importModule(){let active=true;// Get the selected module\ntry{const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@0.0.29`;const module=await import(/* webpackIgnore: true */iconModuleUrl);// console.log(module.default)\nif(active)setSelectedIcon(module.default(React));}catch(e){console.log(e);if(active)setSelectedIcon(null);}return()=>{active=false;};}// Import module when new style or icon is selected\nuseEffect(()=>{importModule();},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/_jsx(NullState,{}):null;return /*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/_jsx(SelectedIcon,{style:{width:\"100%\",height:\"100%\",transform:mirrored?\"scale(-1, 1)\":undefined},color:color}):emptyState});}Icon.displayName=\"Feather\";Icon.defaultProps={width:24,height:24,iconSelection:\"home\",iconSearch:\"Home\",color:\"#66F\",selectByList:true,mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,optionTitles:uppercaseIconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Feather site](https://feathericons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"iconKeys\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"24\"}},\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Feather.map","// Generated by Framer (ddc5e5f)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Icon as Feather}from\"https://framerusercontent.com/modules/IvJnTUvVGp9wqgJtZqqq/oTl3a6A1MQKVChQmqrNh/Feather.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/igFYomZPgRtaLUkZiJSg/4RW1D1tMlaWfMgJv97MC/ANv8J5ofT.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/fN0mSxBEYVKBifeU0DJA/qYvesB6OCuAlSdjx2CSU/bZjvY4Jyh.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/41jG91mIP0iWlFgC44cF/PQ37jgCuK2E5fTmyDA0x/nigEjwox9.js\";const FeatherFonts=getFonts(Feather);const enabledGestures={A_GnN5RS0:{hover:true},Ax0H7NMVo:{hover:true},CchkYinf_:{hover:true},HHne1NXMg:{hover:true},jJPJlUipP:{hover:true},ks2j1jBYj:{hover:true},M27YAa8PN:{hover:true},UgAsszj1u:{hover:true},YziQdl2v1:{hover:true}};const cycleOrder=[\"ks2j1jBYj\",\"jJPJlUipP\",\"HHne1NXMg\",\"CchkYinf_\",\"UgAsszj1u\",\"Ax0H7NMVo\",\"YziQdl2v1\",\"A_GnN5RS0\",\"M27YAa8PN\"];const serializationHash=\"framer-uz2bD\";const variantClassNames={A_GnN5RS0:\"framer-v-1onnweb\",Ax0H7NMVo:\"framer-v-1krc6qq\",CchkYinf_:\"framer-v-bi7hf0\",HHne1NXMg:\"framer-v-13o2dez\",jJPJlUipP:\"framer-v-xm06os\",ks2j1jBYj:\"framer-v-pvwx1m\",M27YAa8PN:\"framer-v-of1akb\",UgAsszj1u:\"framer-v-194yjwl\",YziQdl2v1:\"framer-v-1oeam20\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const bQ_0TxDfY=undefined;const CkKunZf5l=undefined;const bnzIwr4Yu=undefined;const transition1={bounce:0,delay:0,duration:.3,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"primary-lg\":\"ks2j1jBYj\",\"primary-md\":\"jJPJlUipP\",\"primary-sm\":\"HHne1NXMg\",\"secondary-lg\":\"CchkYinf_\",\"secondary-md\":\"UgAsszj1u\",\"secondary-sm\":\"Ax0H7NMVo\",\"tertiary-lg\":\"YziQdl2v1\",\"tertiary-md\":\"A_GnN5RS0\",\"tertiary-sm\":\"M27YAa8PN\"};const Variants=motion.create(React.Fragment);const getProps=({height,iconVisible,id,link,txt,width,...props})=>{return{...props,bnzIwr4Yu:iconVisible??props.bnzIwr4Yu??true,bQ_0TxDfY:link??props.bQ_0TxDfY,CkKunZf5l:txt??props.CkKunZf5l??\"Book Demo\",variant:humanReadableVariantMap[props.variant]??props.variant??\"ks2j1jBYj\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,CkKunZf5l,bQ_0TxDfY,bnzIwr4Yu,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ks2j1jBYj\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:bQ_0TxDfY,motionChild:true,nodeId:\"ks2j1jBYj\",scopeId:\"MuJjAXk6G\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-pvwx1m\",className,classNames)} framer-kwloqy`,\"data-framer-name\":\"primary-lg\",layoutDependency:layoutDependency,layoutId:\"ks2j1jBYj\",ref:refBinding,style:{backgroundColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(51, 151, 246))\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20,...style},variants:{\"A_GnN5RS0-hover\":{backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\"},\"Ax0H7NMVo-hover\":{backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\"},\"CchkYinf_-hover\":{backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\"},\"HHne1NXMg-hover\":{backgroundColor:\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"},\"jJPJlUipP-hover\":{backgroundColor:\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"},\"ks2j1jBYj-hover\":{backgroundColor:\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"},\"M27YAa8PN-hover\":{backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\"},\"UgAsszj1u-hover\":{backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\"},\"YziQdl2v1-hover\":{backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\"},A_GnN5RS0:{backgroundColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},Ax0H7NMVo:{backgroundColor:\"var(--token-c6a1aaf7-e0e9-4925-a1df-a1c3c465ef00, rgb(45, 40, 50))\"},CchkYinf_:{backgroundColor:\"var(--token-c6a1aaf7-e0e9-4925-a1df-a1c3c465ef00, rgb(45, 40, 50))\"},HHne1NXMg:{backgroundColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},jJPJlUipP:{backgroundColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},M27YAa8PN:{backgroundColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},UgAsszj1u:{backgroundColor:\"var(--token-c6a1aaf7-e0e9-4925-a1df-a1c3c465ef00, rgb(45, 40, 50))\"}},...addPropertyOverrides({A_GnN5RS0:{\"data-framer-name\":\"tertiary-md\"},Ax0H7NMVo:{\"data-framer-name\":\"secondary-sm\"},CchkYinf_:{\"data-framer-name\":\"secondary-lg\"},HHne1NXMg:{\"data-framer-name\":\"primary-sm\"},jJPJlUipP:{\"data-framer-name\":\"primary-md\"},M27YAa8PN:{\"data-framer-name\":\"tertiary-sm\"},UgAsszj1u:{\"data-framer-name\":\"secondary-md\"},YziQdl2v1:{\"data-framer-name\":\"tertiary-lg\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",children:\"Book Demo\"})}),className:\"framer-omwdjv\",\"data-framer-name\":\"Text\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"xb6u1z6IT\",style:{\"--framer-paragraph-spacing\":\"0px\"},text:CkKunZf5l,variants:{\"A_GnN5RS0-hover\":{\"--extracted-r6o4lv\":\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"},\"Ax0H7NMVo-hover\":{\"--extracted-r6o4lv\":\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},\"CchkYinf_-hover\":{\"--extracted-r6o4lv\":\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},\"M27YAa8PN-hover\":{\"--extracted-r6o4lv\":\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"},\"UgAsszj1u-hover\":{\"--extracted-r6o4lv\":\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},\"YziQdl2v1-hover\":{\"--extracted-r6o4lv\":\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"A_GnN5RS0-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30)))\"},children:\"Book Demo\"})})},\"Ax0H7NMVo-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-12rogoz\",\"data-styles-preset\":\"bZjvY4Jyh\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255)))\"},children:\"Book Demo\"})})},\"CchkYinf_-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255)))\"},children:\"Book Demo\"})})},\"M27YAa8PN-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-12rogoz\",\"data-styles-preset\":\"bZjvY4Jyh\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30)))\"},children:\"Book Demo\"})})},\"UgAsszj1u-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255)))\"},children:\"Book Demo\"})})},\"YziQdl2v1-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30)))\"},children:\"Book Demo\"})})},A_GnN5RS0:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",children:\"Book Demo\"})})},Ax0H7NMVo:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-12rogoz\",\"data-styles-preset\":\"bZjvY4Jyh\",dir:\"auto\",children:\"Book Demo\"})})},HHne1NXMg:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-12rogoz\",\"data-styles-preset\":\"bZjvY4Jyh\",dir:\"auto\",children:\"Book Demo\"})})},jJPJlUipP:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",children:\"Book Demo\"})})},M27YAa8PN:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-12rogoz\",\"data-styles-preset\":\"bZjvY4Jyh\",dir:\"auto\",children:\"Book Demo\"})})},UgAsszj1u:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",children:\"Book Demo\"})})}},baseVariant,gestureVariant)}),bnzIwr4Yu!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-hobyz4-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"PGw_gtXqz-container\",nodeId:\"PGw_gtXqz\",rendersWithMotion:true,scopeId:\"MuJjAXk6G\",style:{rotate:-45},variants:{\"ks2j1jBYj-hover\":{rotate:0}},children:/*#__PURE__*/_jsx(Feather,{color:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",height:\"100%\",iconSearch:\"Home\",iconSelection:\"arrow-right\",id:\"PGw_gtXqz\",layoutId:\"PGw_gtXqz\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({\"A_GnN5RS0-hover\":{color:\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"},\"Ax0H7NMVo-hover\":{color:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},\"CchkYinf_-hover\":{color:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},\"M27YAa8PN-hover\":{color:\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"},\"UgAsszj1u-hover\":{color:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},\"YziQdl2v1-hover\":{color:\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\"}},baseVariant,gestureVariant)})})})]})})})})});});const css=[\".framer-uz2bD.framer-kwloqy, .framer-uz2bD .framer-kwloqy { display: block; }\",\".framer-uz2bD.framer-pvwx1m { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: visible; padding: 16px 24px 16px 24px; position: relative; text-decoration: none; width: min-content; }\",\".framer-uz2bD .framer-omwdjv { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-uz2bD .framer-hobyz4-container { flex: none; height: 21px; position: relative; width: 20px; }\",\".framer-uz2bD.framer-v-xm06os.framer-pvwx1m, .framer-uz2bD.framer-v-194yjwl.framer-pvwx1m, .framer-uz2bD.framer-v-1onnweb.framer-pvwx1m { padding: 12px 16px 12px 16px; }\",\".framer-uz2bD.framer-v-13o2dez.framer-pvwx1m, .framer-uz2bD.framer-v-of1akb.framer-pvwx1m { padding: 10px 12px 10px 12px; }\",\".framer-uz2bD.framer-v-1krc6qq.framer-pvwx1m { padding: 10px 14px 10px 14px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 62\n * @framerIntrinsicWidth 184\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"jJPJlUipP\":{\"layout\":[\"auto\",\"auto\"]},\"HHne1NXMg\":{\"layout\":[\"auto\",\"auto\"]},\"CchkYinf_\":{\"layout\":[\"auto\",\"auto\"]},\"UgAsszj1u\":{\"layout\":[\"auto\",\"auto\"]},\"Ax0H7NMVo\":{\"layout\":[\"auto\",\"auto\"]},\"YziQdl2v1\":{\"layout\":[\"auto\",\"auto\"]},\"A_GnN5RS0\":{\"layout\":[\"auto\",\"auto\"]},\"M27YAa8PN\":{\"layout\":[\"auto\",\"auto\"]},\"wlnjwrdtW\":{\"layout\":[\"auto\",\"auto\"]},\"fWm73Ec0x\":{\"layout\":[\"auto\",\"auto\"]},\"zZTvVeEe1\":{\"layout\":[\"auto\",\"auto\"]},\"OWucOt2Tp\":{\"layout\":[\"auto\",\"auto\"]},\"su3QS1TYN\":{\"layout\":[\"auto\",\"auto\"]},\"Cbja3kCjL\":{\"layout\":[\"auto\",\"auto\"]},\"ksmmAY18U\":{\"layout\":[\"auto\",\"auto\"]},\"jK2q_Op_n\":{\"layout\":[\"auto\",\"auto\"]},\"wGoQ601o7\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"CkKunZf5l\":\"txt\",\"bQ_0TxDfY\":\"link\",\"bnzIwr4Yu\":\"iconVisible\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerMuJjAXk6G=withCSS(Component,css,\"framer-uz2bD\");export default FramerMuJjAXk6G;FramerMuJjAXk6G.displayName=\"button\";FramerMuJjAXk6G.defaultProps={height:62,width:184};addPropertyControls(FramerMuJjAXk6G,{variant:{options:[\"ks2j1jBYj\",\"jJPJlUipP\",\"HHne1NXMg\",\"CchkYinf_\",\"UgAsszj1u\",\"Ax0H7NMVo\",\"YziQdl2v1\",\"A_GnN5RS0\",\"M27YAa8PN\"],optionTitles:[\"primary-lg\",\"primary-md\",\"primary-sm\",\"secondary-lg\",\"secondary-md\",\"secondary-sm\",\"tertiary-lg\",\"tertiary-md\",\"tertiary-sm\"],title:\"Variant\",type:ControlType.Enum},CkKunZf5l:{defaultValue:\"Book Demo\",displayTextArea:false,title:\"txt\",type:ControlType.String},onCkKunZf5lChange:{changes:\"CkKunZf5l\",type:ControlType.ChangeHandler},bQ_0TxDfY:{title:\"link\",type:ControlType.Link},bnzIwr4Yu:{defaultValue:true,title:\"icon_visible\",type:ControlType.Boolean},onbnzIwr4YuChange:{changes:\"bnzIwr4Yu\",type:ControlType.ChangeHandler}});addFonts(FramerMuJjAXk6G,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...FeatherFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerMuJjAXk6G\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"CkKunZf5l\\\":\\\"txt\\\",\\\"bQ_0TxDfY\\\":\\\"link\\\",\\\"bnzIwr4Yu\\\":\\\"iconVisible\\\"}\",\"framerIntrinsicWidth\":\"184\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"jJPJlUipP\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"HHne1NXMg\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"CchkYinf_\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"UgAsszj1u\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Ax0H7NMVo\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"YziQdl2v1\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"A_GnN5RS0\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"M27YAa8PN\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"wlnjwrdtW\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"fWm73Ec0x\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"zZTvVeEe1\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"OWucOt2Tp\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"su3QS1TYN\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Cbja3kCjL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ksmmAY18U\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"jK2q_Op_n\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"wGoQ601o7\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"62\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MuJjAXk6G.map","// Generated by Framer (e0e363b)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/k5SyOoCSNkZHvlyx5QTY/FOPz3o1cYo0jJHQc5YGC/eY3OZXJ1D.js\";const cycleOrder=[\"bQR0h78j0\",\"rdGq9aA12\",\"uTlpUQ_O6\",\"FSD1dTSly\",\"hm3CQbRy1\",\"hhyIVDFLl\"];const serializationHash=\"framer-qKIKV\";const variantClassNames={bQR0h78j0:\"framer-v-1iu1rea\",FSD1dTSly:\"framer-v-1rrk3nz\",hhyIVDFLl:\"framer-v-1mw1i04\",hm3CQbRy1:\"framer-v-e8a6fz\",rdGq9aA12:\"framer-v-5piu4o\",uTlpUQ_O6:\"framer-v-ix3dct\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const nwDKgX8cD=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"primary-lg\":\"bQR0h78j0\",\"primary-sm\":\"rdGq9aA12\",\"secondary-lg\":\"uTlpUQ_O6\",\"secondary-sm\":\"FSD1dTSly\",\"tertiar-sm\":\"hhyIVDFLl\",\"tertiary-lg\":\"hm3CQbRy1\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,text,width,...props})=>{return{...props,nwDKgX8cD:text??props.nwDKgX8cD??\"Badge\",variant:humanReadableVariantMap[props.variant]??props.variant??\"bQR0h78j0\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,nwDKgX8cD,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"bQR0h78j0\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1iu1rea\",className,classNames),\"data-framer-name\":\"primary-lg\",layoutDependency:layoutDependency,layoutId:\"bQR0h78j0\",ref:refBinding,style:{backdropFilter:\"none\",backgroundColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20,WebkitBackdropFilter:\"none\",...style},variants:{FSD1dTSly:{backdropFilter:\"none\",backgroundColor:\"var(--token-d0afcedc-fb6b-4804-be74-95d70ecc5723, rgb(80, 71, 91))\",WebkitBackdropFilter:\"none\"},hhyIVDFLl:{backdropFilter:\"none\",backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",WebkitBackdropFilter:\"none\"},hm3CQbRy1:{backdropFilter:\"none\",backgroundColor:\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",WebkitBackdropFilter:\"none\"},uTlpUQ_O6:{backdropFilter:\"blur(10px)\",backgroundColor:\"var(--token-d0afcedc-fb6b-4804-be74-95d70ecc5723, rgb(80, 71, 91))\",WebkitBackdropFilter:\"blur(10px)\"}},...addPropertyOverrides({FSD1dTSly:{\"data-framer-name\":\"secondary-sm\"},hhyIVDFLl:{\"data-framer-name\":\"tertiar-sm\"},hm3CQbRy1:{\"data-framer-name\":\"tertiary-lg\"},rdGq9aA12:{\"data-framer-name\":\"primary-sm\"},uTlpUQ_O6:{\"data-framer-name\":\"secondary-lg\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-kud0c2\",\"data-styles-preset\":\"eY3OZXJ1D\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:\"Badge\"})}),className:\"framer-1argd2e\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"QmCb7XIMo\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:nwDKgX8cD,variants:{hhyIVDFLl:{\"--extracted-r6o4lv\":\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"},hm3CQbRy1:{\"--extracted-r6o4lv\":\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hhyIVDFLl:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-kud0c2\",\"data-styles-preset\":\"eY3OZXJ1D\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255)))\"},children:\"Badge\"})})},hm3CQbRy1:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-kud0c2\",\"data-styles-preset\":\"eY3OZXJ1D\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255)))\"},children:\"Badge\"})})}},baseVariant,gestureVariant)})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-qKIKV.framer-43o2w, .framer-qKIKV .framer-43o2w { display: block; }\",\".framer-qKIKV.framer-1iu1rea { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; height: min-content; justify-content: center; overflow: visible; padding: 10px 20px 10px 20px; position: relative; width: min-content; }\",\".framer-qKIKV .framer-1argd2e { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-qKIKV.framer-v-5piu4o.framer-1iu1rea, .framer-qKIKV.framer-v-1rrk3nz.framer-1iu1rea { gap: 5px; padding: 6px 13px 6px 13px; }\",\".framer-qKIKV.framer-v-1mw1i04.framer-1iu1rea { gap: 6px; padding: 6px 13px 6px 13px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 39\n * @framerIntrinsicWidth 81\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"rdGq9aA12\":{\"layout\":[\"auto\",\"auto\"]},\"uTlpUQ_O6\":{\"layout\":[\"auto\",\"auto\"]},\"FSD1dTSly\":{\"layout\":[\"auto\",\"auto\"]},\"hm3CQbRy1\":{\"layout\":[\"auto\",\"auto\"]},\"hhyIVDFLl\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"nwDKgX8cD\":\"text\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramertLUb2Hjj2=withCSS(Component,css,\"framer-qKIKV\");export default FramertLUb2Hjj2;FramertLUb2Hjj2.displayName=\"badge\";FramertLUb2Hjj2.defaultProps={height:39,width:81};addPropertyControls(FramertLUb2Hjj2,{variant:{options:[\"bQR0h78j0\",\"rdGq9aA12\",\"uTlpUQ_O6\",\"FSD1dTSly\",\"hm3CQbRy1\",\"hhyIVDFLl\"],optionTitles:[\"primary-lg\",\"primary-sm\",\"secondary-lg\",\"secondary-sm\",\"tertiary-lg\",\"tertiar-sm\"],title:\"Variant\",type:ControlType.Enum},nwDKgX8cD:{defaultValue:\"Badge\",displayTextArea:false,placeholder:\"\",title:\"text\",type:ControlType.String},onnwDKgX8cDChange:{changes:\"nwDKgX8cD\",type:ControlType.ChangeHandler}});addFonts(FramertLUb2Hjj2,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertLUb2Hjj2\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"rdGq9aA12\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"uTlpUQ_O6\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"FSD1dTSly\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"hm3CQbRy1\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"hhyIVDFLl\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"81\",\"framerIntrinsicHeight\":\"39\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"nwDKgX8cD\\\":\\\"text\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tLUb2Hjj2.map","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-medium\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/MBOJEUZXMXZXHAW3KKWUFI6R7OIPIRYU/FBJ6H6I7LKZ2WGOVP25FDJOOUIMXMY2Z/THXRGVPNH45VMHCGWEEJATJ2RCOHTNBI.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/mkY5Sgyq51ik0AMrSBwhm9DJg.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/X5hj6qzcHUYv7h1390c8Rhm6550.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/gQhNpS3tN86g8RcVKYUUaKt2oMQ.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cugnVhSraaRyANCaUtI5FV17wk.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/5HcVoGak8k5agFJSaKa4floXVu0.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/rZ5DdENNqIdFTIyQQiP5isO7M.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/P2Bw01CtL0b9wqygO0sSVogWbo.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/05KsVHGDmqXSBXM4yRZ65P8i0s.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/ky8ovPukK4dJ1Pxq74qGhOqCYI.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/vvNSqIj42qeQ2bvCRBIWKHscrc.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/3ZmXbBKToJifDV9gwcifVd1tEY.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/FNfhX3dt4ChuLJq2PwdlxHO7PU.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/gcnfba68tfm7qAyrWRCf9r34jg.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/efTfQcBJ53kM2pB1hezSZ3RDUFs.woff2\",weight:\"900\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"}]}];export const css=['.framer-eCymX .framer-styles-preset-1hvfxxg:not(.rich-text-wrapper), .framer-eCymX .framer-styles-preset-1hvfxxg.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 44px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-eCymX .framer-styles-preset-1hvfxxg:not(.rich-text-wrapper), .framer-eCymX .framer-styles-preset-1hvfxxg.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 42px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-eCymX .framer-styles-preset-1hvfxxg:not(.rich-text-wrapper), .framer-eCymX .framer-styles-preset-1hvfxxg.rich-text-wrapper h2 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: start; --framer-text-color: #001726; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-eCymX\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome – if we’re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useReducer,useState}from\"react\";import{ControlType,addPropertyControls}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles,defaultEvents,useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";var PlayOptions;(function(PlayOptions){PlayOptions[\"Normal\"]=\"Off\";PlayOptions[\"Auto\"]=\"On\";PlayOptions[\"Loop\"]=\"Loop\";})(PlayOptions||(PlayOptions={}));var ThumbnailOptions;(function(ThumbnailOptions){ThumbnailOptions[\"High\"]=\"High Quality\";ThumbnailOptions[\"Medium\"]=\"Medium Quality\";ThumbnailOptions[\"Low\"]=\"Low Quality\";ThumbnailOptions[\"Off\"]=\"Off\";})(ThumbnailOptions||(ThumbnailOptions={}));/**\n * @framerIntrinsicWidth 560\n * @framerIntrinsicHeight 315\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerComponentPresetProps isRed, borderRadius, border, boxShadow\n */export function Youtube({url,play,shouldMute,thumbnail,isRed,onClick,border,boxShadow,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,title,...props}){const onCanvas=useIsOnCanvas();const isAutoplay=play!==\"Off\";const showThumbnail=onCanvas||thumbnail!==\"Off\"&&!isAutoplay;const[isPreloading,preloadVideo]=useReducer(()=>true,false);const[showVideo,startVideo]=useReducer(()=>true,!showThumbnail);const[isHovered,setHovered]=useState(false);const borderRadius=useRadius(props);const hasBorderRadius=borderRadius!==\"0px 0px 0px 0px\"&&borderRadius!==\"0px\";if(url===\"\"){return /*#__PURE__*/_jsx(Instructions,{});}const parsedURL=parseVideoURL(url);if(parsedURL===undefined){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Invalid Youtube URL.\"});}const[videoId,embedURL,originalSearchParams]=parsedURL;const searchParams=embedURL.searchParams;if(originalSearchParams){for(const[param,value]of originalSearchParams){searchParams.set(param,value);if(param===\"t\")searchParams.set(\"start\",value)// embeds have to use `start`, but copying via right-click usually gives you `t=`\n;}}// https://developers.google.com/youtube/player_parameters\nsearchParams.set(\"iv_load_policy\",\"3\");searchParams.set(\"rel\",\"0\");searchParams.set(\"modestbranding\",\"1\");searchParams.set(\"playsinline\",\"1\");if(!showVideo){// if a browser does not support `loading=lazy`, make sure the video doesn't start playing in the background\nsearchParams.set(\"autoplay\",\"0\");}else if(isAutoplay||// when there is no thumbnail, we don't want to autoplay, unless video is started\nshowThumbnail&&showVideo){searchParams.set(\"autoplay\",\"1\");}if(isAutoplay&&shouldMute){searchParams.set(\"mute\",\"1\");}if(play===\"Loop\"){searchParams.set(\"loop\",\"1\");searchParams.set(\"playlist\",videoId);}if(!isRed){searchParams.set(\"color\",\"white\");}const iframeProps={title:title||\"Youtube Video\",allow:\"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",src:embedURL.href,frameBorder:\"0\",onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp};return /*#__PURE__*/_jsxs(\"article\",{onPointerEnter:()=>setHovered(true),onPointerLeave:()=>setHovered(false),onPointerOver:preloadVideo,onKeyDown:startVideo,onClick:startVideo,style:{...wrapperStyle,// We do NOT spread the border here anymore.\n// If we did, it would clip the video content inside.\nborderRadius,boxShadow,transform:// Safari sometimes struggles to render border-radius:\n// - on the canvas when changing from 0 to any other value\n// - or when rendering an iframe\nhasBorderRadius&&(showVideo||onCanvas)?\"translateZ(0.000001px)\":\"unset\",cursor:\"pointer\",overflow:\"hidden\"},role:\"presentation\",children:[showThumbnail&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{rel:\"preconnect\",href:\"https://i.ytimg.com\"}),/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",src:getThumbnailURL(videoId,thumbnail),style:{...videoStyle,objectFit:\"cover\"}})]}),isPreloading&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{rel:\"dns-prefetch\",href:\"https://i.ytimg.com\"}),/*#__PURE__*/_jsx(\"link\",{rel:\"preconnect\",href:\"https://www.youtube.com\"}),/*#__PURE__*/_jsx(\"link\",{rel:\"dns-prefetch\",href:\"https://www.google.com\"})]}),!onCanvas?/*#__PURE__*/_jsx(\"iframe\",{loading:!showVideo?\"lazy\":undefined,style:!showVideo?{...videoStyle,display:\"none\"}:videoStyle,...iframeProps}):null,border&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\",boxSizing:\"border-box\",borderRadius,...border}}),showVideo?null:/*#__PURE__*/_jsx(PlayButton,{onClick:startVideo,isHovered:isHovered,isRed:isRed})]});}Youtube.displayName=\"YouTube\";addPropertyControls(Youtube,{url:{type:ControlType.String,title:\"Video\"},play:{type:ControlType.Enum,title:\"Autoplay\",options:Object.values(PlayOptions)},shouldMute:{title:\"Mute\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden(props){return props.play===\"Off\";}},thumbnail:{title:\"Thumbnail\",description:\"Showing a thumbnail improves performance.\",type:ControlType.Enum,options:Object.values(ThumbnailOptions),hidden(props){return props.play!==\"Off\";}},isRed:{title:\"Color\",type:ControlType.Boolean,enabledTitle:\"Red\",disabledTitle:\"White\"},...borderRadiusControl,border:{type:ControlType.Border,optional:true},boxShadow:{type:ControlType.BoxShadow,optional:true,title:\"Shadows\"},...defaultEvents});const defaultProps={url:\"https://youtu.be/8AHPXm9Y6mI\",play:\"Off\",shouldMute:true,thumbnail:\"Medium Quality\",isRed:true,boxShadow:null,border:null};Youtube.defaultProps=defaultProps;function parseVideoURL(urlString){let url;try{url=new URL(urlString);}catch{const embedURL=getEmbedURL(urlString);return[urlString,embedURL,null];}const searchParams=url.searchParams;if(url.hostname===\"youtube.com\"||url.hostname===\"www.youtube.com\"||url.hostname===\"youtube-nocookie.com\"||url.hostname===\"www.youtube-nocookie.com\"){const pathSegments=url.pathname.slice(1).split(\"/\");const page=pathSegments[0];// https://www.youtube.com/watch?v=Fop2oskTug8\nif(page===\"watch\"){const videoId=url.searchParams.get(\"v\");const embedURL=getEmbedURL(videoId);return[videoId,embedURL,searchParams];}// https://www.youtube.com/embed/Fop2oskTug8\nif(page===\"embed\"){const videoId=pathSegments[1];return[videoId,url,searchParams];}// https://www.youtube.com/shorts/zwMEhBq4kYM / https://www.youtube.com/live/XlWSzaluBKk\nif(page===\"shorts\"||page===\"live\"){const videoId=pathSegments[1];const embedURL=getEmbedURL(videoId);return[videoId,embedURL,searchParams];}}// https://youtu.be/Fop2oskTug8\nif(url.hostname===\"youtu.be\"){const videoId=url.pathname.slice(1);const embedURL=getEmbedURL(videoId);return[videoId,embedURL,searchParams];}}function getEmbedURL(videoId){return new URL(`https://www.youtube.com/embed/${videoId}`);}function getThumbnailURL(videoId,res){// https://gist.github.com/a1ip/be4514c1fd392a8c13b05e082c4da363\nconst pre=\"https://i.ytimg.com/vi_webp/\";const ext=\"webp\";switch(res){case\"Low Quality\":return`${pre}${videoId}/hqdefault.${ext}`;case\"Medium Quality\":return`${pre}${videoId}/sddefault.${ext}`;case\"High Quality\":return`${pre}${videoId}/maxresdefault.${ext}`;default:return`${pre}${videoId}/0.${ext}`;}}// Helper components\nfunction Instructions(){return /*#__PURE__*/_jsx(\"div\",{style:{...emptyStateStyle,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a Youtube video, add the URL to the properties\\xa0panel.\"})});}function ErrorMessage({message}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{style:centerTextStyle,children:[\"Error: \",message]})});}function PlayButton({onClick,isHovered,isRed}){return /*#__PURE__*/_jsx(\"button\",{onClick:onClick,\"aria-label\":\"Play\",style:buttonStyle,children:/*#__PURE__*/_jsxs(\"svg\",{height:\"100%\",version:\"1.1\",viewBox:\"0 0 68 48\",width:\"100%\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z\",fill:isHovered?isRed?\"#f00\":\"#000\":\"#212121\",fillOpacity:isHovered?isRed?1:.8:.8,style:{transition:\"fill .1s cubic-bezier(0.4, 0, 1, 1), fill-opacity .1s cubic-bezier(0.4, 0, 1, 1)\"}}),/*#__PURE__*/_jsx(\"path\",{d:\"M 45,24 27,14 27,34\",fill:\"#fff\"})]})});}const buttonStyle={position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:68,height:48,padding:0,border:\"none\",background:\"transparent\",cursor:\"pointer\"};const wrapperStyle={position:\"relative\",width:\"100%\",height:\"100%\"};const centerTextStyle={textAlign:\"center\",minWidth:140};const videoStyle={position:\"absolute\",top:0,left:0,height:\"100%\",width:\"100%\"};\nexport const __FramerMetadata__ = {\"exports\":{\"Youtube\":{\"type\":\"reactComponent\",\"name\":\"Youtube\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"560\",\"framerComponentPresetProps\":\"isRed, borderRadius, border, boxShadow\",\"framerIntrinsicHeight\":\"315\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YouTube.map","import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map","import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map","/*\n * useAutoMotionValue (framer/useAutoMotionValue@0.3.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js\"\n","var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      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); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      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) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      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;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          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])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      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;\n      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;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 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]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          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])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        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]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).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, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).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, true);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            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]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            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]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.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);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).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]);\n\n          (this || _global).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]);\n\n          (this || _global).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]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      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]);\n    }\n\n    if (closed && length) {\n      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]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    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)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          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]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== \"\" || based == 2 && letterData.val !== \"\" && letterData.val !== \" \" || based == 3 && (letterData.n || letterData.val == \" \" || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        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);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).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.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]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // 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];\n      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];\n    } // 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];\n\n\n    if (pathNodes.c && len > 1) {\n      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];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\n            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]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\n              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]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\n          sequence.finalTransform.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]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n          /* var feColorMatrix = createNS('feColorMatrix');\r\n                  feColorMatrix.setAttribute('type', 'matrix');\r\n                  feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n                  feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n                  fil.appendChild(feColorMatrix); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    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\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).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\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).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\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    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\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n      // 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');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    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) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (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) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (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) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (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) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (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) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\n      /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n              if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n                  this.feMerge.removeChild(this.feMergeNode);\r\n                  this.originalNodeAdded = false;\r\n              } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n                  this.feMerge.appendChild(this.feMergeNode);\r\n                  this.originalNodeAdded = true;\r\n              }\r\n          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              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]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.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));\n        }\n\n        pathArr.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));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        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, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map","export { default } from \"/npm:lottie-web@5.7.8!cjs\";\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://misc.framerstatic.com/lottie/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===\"Custom\";const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.play();};const pause=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.pause();};const destroy=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===\"URL\")dataUrl=srcUrl;if(srcType===\"Upload\")dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/_jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:\"URL\",pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:\"Auto\",posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.json\",hidden:props=>props.srcType===\"Upload\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===\"URL\"},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\npauseOnCanvas:{type:ControlType.Boolean,title:\"Canvas\",disabledTitle:\"Play\",enabledTitle:\"Pause\",hidden:props=>props.playing===false},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[\"Auto\",\"Custom\"],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===\"Auto\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,AnimatePresence}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";/* -------------------------------------------------------------------------- *//*  AmplifierTracksChatPlayer – Slack-style demo (sidebar 40%, readable top)  *//* -------------------------------------------------------------------------- */const AMP_Y_AVATAR=\"https://framerusercontent.com/images/4sN7KFgKZdc1xVNQAVaxIfolpU.png?scale-down-to=512&width=1080&height=835\";const DEFAULT_ACCENT=\"#6A5AE0\";const ampy=(text,actions)=>({sender:\"ampy\",text,actions});const user=text=>({sender:\"user\",text});const TRACKS=[{id:\"agent-owner-intent\",name:\"Confirm Agent Owner and Intent\",tag:\"Manage full agent lifecycle \",chat:[ampy(\"Hey there! It looks like an agent you created has write access to production services and PagerDuty incidents. Are you the owner of this agent and accountable for what it does?\",[{label:\"Yes, I'm the owner\",variant:\"primary\"},{label:\"I don't own this\",variant:\"ghost\"}]),ampy(\"Got it, thanks! You're on record as the owner. Can you describe what this agent does?\"),user(\"It monitors impossible travel alerts in our identity tool and flags anomalies as incidents for security team.\"),ampy(\"Thank you for attesting details about your agent. I'll reach back out in 90 days to check in again.\")]},{id:\"overscoped-agent-remediation\",name:\"Remediate Overscoped Agent\",tag:\"Close critical exposure detection\",chat:[ampy(\"Your agent has overscoped permissions. It can read your entire Google Drive but only seems to use one folder.\",[{label:\"Scope down\",variant:\"primary\"},{label:\"Revoke access\",variant:\"ghost\"},{label:\"Keep it and request an exception\",variant:\"ghost\"}]),user(\"Let me know when everything is fixed.\"),ampy(\"Adjusted agent scope and permissions in Google Workspace, re-consent issued at folder level.\"),user(\"Do I need to do anything else to keep the agent running?\"),ampy(\"Nope. The agent will continue to work exactly as before. Thanks for locking it down and staying safe!\")]},{id:\"shadow-ai\",name:\"Govern Shadow AI\",tag:\"Shut down unauthorized AI tools\",chat:[ampy(\"We detected an unapproved AI app linked to your account: OpenClaw.\"),user(\"What is our preferred AI app for building sales outreach campaigns?\"),ampy(\"Our company allows Claude to do this job\"),user(\"Got it.\"),ampy(\"Remove OpenClaw or do you want to request an exception?\",[{label:\"Uninstall Now\",variant:\"primary\"},{label:\"Request Exception\",variant:\"danger\"}]),ampy(\"Unsinstalled. Post-check confirms it’s gone.\")]},{id:\"vuln-drop\",name:\"Patch Endpoint Vulnerabilities\",tag:\"Patch critical CVEs days faster\",chat:[ampy(\"Critical vulnerabilities found on your Mac.\"),ampy(\"Resolve now to apply patches via Automox?\",[{label:\"Resolve now\",variant:\"primary\"},{label:\"Schedule a time\",variant:\"ghost\"}]),user(\"Let me know when its all done\"),ampy(\"Patch complete — closing out the finding.\")]},{id:\"zero-beat\",name:\"Fix Tooling Gaps\",tag:\"Reconnect offline endpoint security tools instantly\",chat:[ampy(\"Your CrowdStrike sensor stopped reporting.\"),ampy(\"I am going to run a quick Automox remediation script\",[{label:\"Resolve now\",variant:\"primary\"},{label:\"Schedule a time\",variant:\"ghost\"}]),user(\"Let me know when its all sorted out.\"),ampy(\"We confirmed that the sensor is back online. Great job!\")]},{id:\"over-sharing\",name:\"Reduce File Oversharing\",tag:\"Eliminate oversharing of company files\",chat:[ampy(\"Looks like a file payroll.xls was shared with everyone.\"),ampy(\"Do you really want to share the file with everyone?\",[{label:\"No, unshare the file\",variant:\"primary\"},{label:\"Yes, ask for exception\",variant:\"danger\"}]),user(\"I will now reshare the file with only the users that need access.\"),ampy(\"Great job reducing the amount of data shared publicly. It is a big step towards reducing company risk.\")]},{id:\"out-of-tune\",name:\"Upgrade Device OS\",tag:\"Upgrade macOS fleet on time\",chat:[ampy(\"macOS update pending — you’re behind on our company policy.\"),ampy(\"Upgrade now to stay compliant?\",[{label:\"Upgrade now\",variant:\"primary\"},{label:\"Schedule a time\",variant:\"ghost\"}]),ampy(\"Great — update started. I’ll record completion automatically.\"),user(\"Thank you Ampy!\"),ampy(\"My pleasure.  Stay safe out there 😊\")]},{id:\"silent-auth\",name:\"Drive MFA Adoption\",tag:\"Boost MFA adoption to 100%\",chat:[ampy(\"Heads up — your Okta account shows a weak MFA setup.\"),ampy(\"Turn on a stronger factor now (like Okta Verify)?\",[{label:\"Instructions\",variant:\"primary\"},{label:\"Reschedule for later\",variant:\"ghost\"}]),user(\"Wow, those instructions were easy.\"),ampy(\"Nice — MFA verified and logged. Thanks for locking it down.\")]},{id:\"bad-remix\",name:\"Remove Risky Software\",tag:\"Remove risky legacy software\",chat:[ampy(\"Legacy app detected: FlashPlayer 32.\"),ampy(\"Uninstall now?\",[{label:\"Remove\",variant:\"primary\"},{label:\"Keep (request exception)\",variant:\"ghost\"}]),user(\"This is an old app that I do not use anymore.\"),ampy(\"Unsinstalled. Post-check confirms it’s gone.\")]},{id:\"micro-nudge\",name:\"Guide Safe Behavior\",tag:\"Micro nudge, train in-flow\",chat:[ampy(\"That looked phishy — marked by KnowBe4 signals.\"),ampy(\"30-sec refresher on safe links?\",[{label:\"30-sec lesson\",variant:\"primary\"}]),user(\"That lesson was a good refresher!\"),ampy(\"Nice — lesson done and risk acknowledged.\")]}];/* ------------------------------- Explainers ------------------------------- *//*\nconst EXPLAIN: Record<string, { title: string; body: string }> = {\n    \"silent-auth\": {\n        title: \"Okta MFA posture gap → guided user fix\",\n        body: \"✨ Okta posture check flags weak factor gap. Ampy guides the user through setup, and proof of remediation is logged automatically.\",\n    },\n    \"shadow-ai\": {\n        title: \"Unapproved AI app → revoke without disruption\",\n        body: \"✨ Endpoint telemetry signals risky AI app with data leak potential. Ampy walks the user through disconnecting the app or filing an exception.\",\n    },\n    \"over-sharing\": {\n        title: \"Sensitive file exposure → fix with users that need access\",\n        body: \"✨ Google alerts when files are shared publicly. Ampy confirms need and unshares files to prevent data leakage.\",\n    },\n    \"out-of-tune\": {\n        title: \"Multiple non-compliant OS versions → Resolve outdated devices in days\",\n        body: \"✨ Device posture from Jamf/Intune/Kandji + identity context. Ampy nudges to standardize OS on all endpoints without tickets.\",\n    },\n    \"zero-beat\": {\n        title: \"CrowdStrike Falcon sensor down → Automox remediation script\",\n        body: \"✨ Endpoint telemetry shows a sensor drop. Ampy triggers a safe self-fix and validates the sensor is healthy again.\",\n    },\n    \"overscoped-agent-remediation\": {\n        title: \"Claude Compliance alert for Google Workspace connector → Confirm intent and remediate with user input\",\n        body: \"✨ Detections show agent was created with full Drive read/write, but recent activity is in a single folder. Only the owner could have made that call to scope it down vs revoke it\",\n    },\n    \"agent-owner-intent\": {\n        title: \"Newly discovered agent → Attribute agent to human owner and attest intent \",\n        body: \"✨ Agent platforms / endpoint inventory flags new agent. Connects discovered agents to employee owners, documents each agent’s stated purpose\",\n    },\n    \"bad-remix\": {\n        title: \"Jamf smart group flags risky apps  → removal without blocking productivity\",\n        body: \"✨ Unused or risky legacy software that don't meet Jamf policies. Ampy removes them with user awareness and verifies cleanup.\",\n    },\n    \"vuln-drop\": {\n        title: \"Tenable/Crowdstrike/Rapid7 findings → Automox fixes\",\n        body: \"✨ Vuln findings are matched to the endpoint and user. Ampy schedules patches and confirms resolution to clear the CVE.\",\n    },\n    \"micro-nudge\": {\n        title: \"Risky user behavior → loop in user with in-moment training\",\n        body: \"✨ KnowBe4/Proofpoint phishing signals anomalous activity. Ampy trains in-flow and tracks acknowledgement.\",\n    },\n}\n*/const EXPLAIN={\"silent-auth\":{title:\"Okta MFA posture gap → guided user fix\",body:\"\"},\"shadow-ai\":{title:\"Unapproved AI app → revoke without disruption\",body:\"\"},\"over-sharing\":{title:\"Sensitive file exposure → fix with users that need access\",body:\"\"},\"out-of-tune\":{title:\"Multiple non-compliant OS versions → Resolve outdated devices in days\",body:\"\"},\"zero-beat\":{title:\"CrowdStrike Falcon sensor down → Automox remediation script\",body:\"\"},\"overscoped-agent-remediation\":{title:\"Claude Compliance alert for Google Workspace connector → Confirm intent and remediate with user input\",body:\"\"},\"agent-owner-intent\":{title:\"Newly discovered agent → Attribute agent to human owner and attest intent \",body:\"\"},\"bad-remix\":{title:\"Jamf smart group flags risky apps  → removal without blocking productivity\",body:\"\"},\"vuln-drop\":{title:\"Tenable/Crowdstrike/Rapid7 findings → Automox fixes\",body:\"\"},\"micro-nudge\":{title:\"Risky user behavior → loop in user with in-moment training\",body:\"\"}};export default function AmplifierTracksChatPlayer({accentColor=DEFAULT_ACCENT,avatarUrl=AMP_Y_AVATAR,autoPlay=true,messageDelaySec=3.6,loop=false,startIndex=0,showTimestamp=true,maxVisible=8,simulateClick=true,simulateClickLabel,sidebarRatio=.2,minWidth=800,compactBelow=760,compactHeight=560,layoutMode=\"auto\"}){const[index,setIndex]=React.useState(Math.min(Math.max(0,startIndex),TRACKS.length-1));const[revealed,setRevealed]=React.useState(0);// Autoplay waits until the player scrolls into view\nconst[playing,setPlaying]=React.useState(false);const startedRef=React.useRef(false);const[echoAfterIndex,setEchoAfterIndex]=React.useState(null);const[echoLabel,setEchoLabel]=React.useState(null);const[simClickDone,setSimClickDone]=React.useState(false);const[firstActionRef,setFirstActionRef]=React.useState(null);const scrollRef=React.useRef(null);const[cursor,setCursor]=React.useState({x:24,y:24,visible:false,clicking:false});const current=TRACKS[index];// Compact layout: below compactBelow px of available width, the sidebar becomes a chip row.\nconst rootRef=React.useRef(null);const chipRowRef=React.useRef(null);const[narrow,setNarrow]=React.useState(false);const compact=layoutMode===\"compact\"||layoutMode===\"auto\"&&narrow;React.useEffect(()=>{const el=rootRef.current;if(!el||typeof IntersectionObserver===\"undefined\"){startedRef.current=true;setPlaying(autoPlay);return;}const io=new IntersectionObserver(([entry])=>{if(entry.isIntersecting&&!startedRef.current){startedRef.current=true;setPlaying(autoPlay);io.disconnect();}},{threshold:.66});io.observe(el);return()=>io.disconnect();},[autoPlay]);React.useEffect(()=>{const el=rootRef.current?.parentElement;if(!el||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(([entry])=>setNarrow(entry.contentRect.width<compactBelow));ro.observe(el);return()=>ro.disconnect();},[compactBelow]);React.useEffect(()=>{const row=chipRowRef.current;const chip=row?.children[index];if(!row||!chip)return;row.scrollTo({left:chip.offsetLeft-row.clientWidth/2+chip.clientWidth/2,behavior:\"smooth\"});},[index,compact]);React.useEffect(()=>{setRevealed(0);setPlaying(autoPlay&&startedRef.current);setEchoAfterIndex(null);setEchoLabel(null);setSimClickDone(false);setFirstActionRef(null);},[index,autoPlay]);React.useEffect(()=>{if(!playing)return;const total=current.chat.length+(echoAfterIndex!==null?1:0);if(revealed>=total){setPlaying(false);return;}const t=setTimeout(()=>setRevealed(r=>r+1),Math.max(.2,messageDelaySec)*1e3);return()=>clearTimeout(t);},[playing,revealed,current.chat.length,messageDelaySec,echoAfterIndex]);const seqUpTo=React.useMemo(()=>{const upTo=Math.min(revealed,current.chat.length);const out=[];for(let i=0;i<upTo;i++){out.push({msg:current.chat[i],baseIndex:i});if(echoAfterIndex===i&&echoLabel){out.push({msg:{sender:\"user\",text:echoLabel},baseIndex:i,isEcho:true});}}return out;},[current.chat,revealed,echoAfterIndex,echoLabel]);const windowedSeq=React.useMemo(()=>{const start=Math.max(0,seqUpTo.length-maxVisible);return seqUpTo.slice(start);},[seqUpTo,maxVisible]);const handleActionClick=(label,baseIndex)=>{if(echoAfterIndex!==null)return;setEchoLabel(label);setEchoAfterIndex(baseIndex);setRevealed(r=>Math.max(r,baseIndex+1)+1);};React.useEffect(()=>{if(!simulateClick||simClickDone||!scrollRef.current)return;if(!firstActionRef)return;if(simulateClickLabel&&firstActionRef.innerText.trim()!==simulateClickLabel.trim()){const parent=firstActionRef.parentElement;const match=Array.from(parent?.querySelectorAll(\"button\")||[]).find(b=>b.textContent?.trim()===simulateClickLabel.trim());if(match)setFirstActionRef(match);}const btnRect=firstActionRef.getBoundingClientRect();const containerRect=scrollRef.current.getBoundingClientRect();const targetX=btnRect.left-containerRect.left+btnRect.width*.65;const targetY=btnRect.top-containerRect.top+btnRect.height*.55;setCursor(c=>({...c,visible:true}));const moveTimer=setTimeout(()=>{setCursor(c=>({...c,x:targetX,y:targetY}));},250);const clickTimer=setTimeout(()=>{setCursor(c=>({...c,clicking:true}));try{firstActionRef.focus?.({preventScroll:true});}catch{}const idxAttr=firstActionRef.getAttribute(\"data-base-index\");const baseIndex=idxAttr?Number(idxAttr):0;handleActionClick(firstActionRef.innerText.trim(),baseIndex);setTimeout(()=>{setCursor(c=>({...c,clicking:false,visible:false}));setSimClickDone(true);},280);},1100);return()=>{clearTimeout(moveTimer);clearTimeout(clickTimer);};},[firstActionRef,simulateClick,simulateClickLabel,simClickDone]);const explainer=EXPLAIN[current.id];return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{...styles.root,[\"--accent\"]:accentColor,minWidth:compact?0:minWidth,minHeight:compact?compactHeight:undefined,gridTemplateColumns:`${Math.max(.25,Math.min(.6,sidebarRatio))}fr ${1-Math.max(.25,Math.min(.6,sidebarRatio))}fr`,...compact?{gridTemplateColumns:\"1fr\"}:{}},children:[compact?null:/*#__PURE__*/_jsxs(\"aside\",{style:styles.sidebar,children:[/*#__PURE__*/_jsx(\"div\",{style:styles.sidebarHeader,children:\"🎵 AMPLIFIER AI AGENTS\"}),/*#__PURE__*/_jsx(\"ul\",{style:styles.list,role:\"listbox\",\"aria-label\":\"Available tracks\",children:TRACKS.map((t,i)=>{const selected=i===index;const num=`${String(i+1).padStart(2,\"0\")}.`;return /*#__PURE__*/_jsx(\"li\",{role:\"option\",\"aria-selected\":selected,tabIndex:0,onClick:()=>setIndex(i),onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \")setIndex(i);},style:{...styles.item,background:selected?\"#1b1e39\":\"transparent\",borderColor:selected?\"#2e3362\":\"transparent\",color:selected?\"#fff\":\"#c8cdea\"},children:/*#__PURE__*/_jsxs(\"div\",{style:styles.itemRow,children:[/*#__PURE__*/_jsx(\"span\",{style:styles.itemIndex,children:num}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:styles.itemTitle,children:t.name}),/*#__PURE__*/_jsx(\"div\",{style:styles.itemTag,children:t.tag})]})]})},t.id);})})]}),/*#__PURE__*/_jsxs(\"section\",{style:compact?{...styles.chatPane,gridTemplateRows:\"auto auto auto 1fr auto\"}:styles.chatPane,children:[compact?/*#__PURE__*/_jsx(\"div\",{ref:chipRowRef,role:\"listbox\",\"aria-label\":\"Available tracks\",style:{display:\"flex\",gap:8,overflowX:\"auto\",padding:\"10px 12px\",background:\"#11132a\",borderBottom:\"1px solid #222741\",scrollbarWidth:\"none\"},children:TRACKS.map((t,i)=>{const selected=i===index;return /*#__PURE__*/_jsxs(\"button\",{role:\"option\",\"aria-selected\":selected,onClick:()=>setIndex(i),style:{flex:\"0 0 auto\",border:\"1px solid \"+(selected?\"var(--accent)\":\"#2e3362\"),background:selected?\"var(--accent)\":\"#1b1e39\",color:\"#fff\",borderRadius:999,padding:\"7px 12px\",fontSize:13,fontWeight:700,fontFamily:\"Inter, ui-sans-serif, system-ui\",cursor:\"pointer\",whiteSpace:\"nowrap\"},children:[String(i+1).padStart(2,\"0\"),\". \",t.name]},t.id);})}):null,/*#__PURE__*/_jsxs(\"header\",{style:styles.chatHeader,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.roomTitle,children:[/*#__PURE__*/_jsx(\"span\",{style:styles.roomHash,children:\"#\"}),/*#__PURE__*/_jsx(\"span\",{style:compact?{...styles.roomName,fontSize:15,lineHeight:1.2}:styles.roomName,children:current.name}),compact?null:/*#__PURE__*/_jsx(\"span\",{style:styles.roomTag,children:current.tag})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginLeft:\"auto\",display:\"flex\",gap:10},children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":playing?\"Pause autoplay\":\"Play autoplay\",onClick:()=>setPlaying(p=>!p),style:styles.headerBtn,children:playing?\"Pause\":\"Play\"}),/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Replay track\",onClick:()=>{setRevealed(0);setEchoAfterIndex(null);setEchoLabel(null);setSimClickDone(false);setPlaying(true);},style:styles.headerBtn,children:\"Replay\"})]})]}),explainer&&/*#__PURE__*/_jsxs(\"div\",{style:styles.explainer,children:[/*#__PURE__*/_jsx(\"div\",{style:styles.explainerTitle,children:explainer.title}),/*#__PURE__*/_jsx(\"div\",{style:styles.explainerBody,children:explainer.body})]}),/*#__PURE__*/_jsxs(\"div\",{style:styles.chatScroll,ref:scrollRef,children:[/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:windowedSeq.map(({msg,baseIndex,isEcho},i)=>/*#__PURE__*/_jsx(ChatRow,{msg:msg,delay:i*.22,avatarUrl:avatarUrl,showTimestamp:showTimestamp,baseIndex:baseIndex,onAction:handleActionClick,registerFirstAction:el=>{if(!firstActionRef&&el)setFirstActionRef(el);}},`${isEcho?\"echo\":msg.sender}-${baseIndex}-${i}`))}),simulateClick&&/*#__PURE__*/_jsx(motion.div,{animate:{x:cursor.x,y:cursor.y,opacity:cursor.visible?1:0,scale:cursor.clicking?.9:1},transition:{type:\"tween\",duration:.55},style:styles.cursor,\"aria-hidden\":true})]}),/*#__PURE__*/_jsxs(\"footer\",{style:styles.inputBar,children:[/*#__PURE__*/_jsx(\"div\",{style:styles.input,children:/*#__PURE__*/_jsx(\"span\",{style:{color:\"#6b7280\"},children:\"Message\"})}),/*#__PURE__*/_jsx(\"button\",{style:styles.sendBtn,\"aria-label\":\"Send message\",children:\"➤\"})]})]})]});}/* -------------------------------- Chat row -------------------------------- */function ChatRow({msg,delay,avatarUrl,showTimestamp,baseIndex,onAction,registerFirstAction}){const isAmpy=msg.sender===\"ampy\";const time=new Intl.DateTimeFormat(undefined,{hour:\"numeric\",minute:\"2-digit\"}).format(new Date);return /*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:.35,delay},style:styles.row,children:[isAmpy?/*#__PURE__*/_jsx(\"img\",{src:avatarUrl,alt:\"Ampy\",style:styles.avatarSlack}):/*#__PURE__*/_jsx(\"div\",{style:styles.avatarUser,\"aria-hidden\":true,children:\"U\"}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1},children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.metaLineSlack,children:[/*#__PURE__*/_jsx(\"span\",{style:styles.displayName,children:isAmpy?\"Ampy\":\"You\"}),isAmpy&&/*#__PURE__*/_jsx(\"span\",{style:styles.appPillSlack,children:\"APP\"}),showTimestamp&&/*#__PURE__*/_jsx(\"span\",{style:styles.timeSlack,children:time})]}),/*#__PURE__*/_jsx(\"div\",{style:styles.messageText,children:msg.text}),isAmpy&&msg.actions&&/*#__PURE__*/_jsx(\"div\",{style:styles.actions,children:msg.actions.map((a,i)=>{const variant=a.variant===\"primary\"?styles.btnPrimarySlack:a.variant===\"danger\"?styles.btnDangerSlack:styles.btnGhostSlack;return /*#__PURE__*/_jsx(\"button\",{\"data-base-index\":baseIndex,ref:i===0?registerFirstAction:undefined,onClick:()=>onAction(a.label,baseIndex),style:{...styles.actionBtnSlack,...variant},children:a.label},`${a.label}-${i}`);})})]})]});}/* --------------------------------- Styles --------------------------------- */const clampOneLine={overflow:\"hidden\",textOverflow:\"ellipsis\",display:\"-webkit-box\",WebkitLineClamp:1,WebkitBoxOrient:\"vertical\"};const styles={root:{width:\"100%\",height:\"100%\",display:\"grid\",background:\"#0d0f1e\",color:\"#0b1f3b\",borderRadius:12,overflow:\"hidden\",border:\"1px solid #222741\",fontFamily:\"Inter, ui-sans-serif, system-ui\"},/* --------------------------- Sidebar (40% width) ------------------------ */sidebar:{background:\"#11132a\",borderRight:\"1px solid #222741\",padding:12,display:\"grid\",gridTemplateRows:\"auto 1fr\",gap:8,color:\"#e6e9ff\",fontSize:14},sidebarHeader:{textTransform:\"uppercase\",fontSize:12,letterSpacing:\".08em\",opacity:.78},list:{listStyle:\"none\",padding:0,margin:0,display:\"grid\",gap:6},item:{border:\"1px solid transparent\",borderRadius:10,padding:\"9px 10px\",cursor:\"pointer\",transition:\"background .15s ease\",outline:\"none\"},itemRow:{display:\"grid\",gridTemplateColumns:\"40px 1fr\",gap:8,alignItems:\"center\"},itemIndex:{fontWeight:800,opacity:.8,fontSize:15},// (2) one size smaller + clamp\nitemTitle:{fontWeight:800,fontSize:15,lineHeight:1.1,...clampOneLine},itemTag:{opacity:.92,fontSize:13,...clampOneLine},/* --------------------------- Right (Slack-like) -------------------------- */chatPane:{display:\"grid\",gridTemplateRows:\"auto auto 1fr auto\",background:\"#ffffff\",color:\"#1d1c1d\",fontFamily:'\"Lato\", ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial'},/* (3) Larger, more legible header */chatHeader:{height:60,display:\"flex\",alignItems:\"center\",padding:\"0 18px\",borderBottom:\"1px solid #E8E8E8\",background:\"#ffffff\",gap:12,fontFamily:\"inherit\"},roomTitle:{fontWeight:800,display:\"flex\",alignItems:\"center\",gap:8},roomHash:{opacity:.6,fontSize:18},roomName:{fontWeight:800,fontSize:18},roomTag:{fontSize:13,opacity:.8,background:\"#f6f6f6\",padding:\"5px 10px\",borderRadius:999,border:\"1px solid #E8E8E8\"},headerBtn:{background:\"#fff\",border:\"1px solid #E2E2E3\",color:\"#1d1c1d\",borderRadius:8,padding:\"8px 12px\",fontWeight:700,fontSize:13,cursor:\"pointer\",fontFamily:\"inherit\"},/* (3) Bigger explainer for readability */explainer:{background:\"#f9fafb\",borderBottom:\"1px solid #E8E8E8\",padding:\"14px 18px\",display:\"grid\",gap:6},explainerTitle:{fontWeight:700,fontSize:16,color:\"#0f172a\"},explainerBody:{fontSize:16,color:\"#374151\",lineHeight:1.5,maxWidth:72*8},/* Messages viewport */chatScroll:{position:\"relative\",padding:\"12px 18px\",display:\"grid\",gap:12,overflow:\"hidden\",alignContent:\"end\",background:\"#ffffff\",height:\"100%\"},row:{display:\"grid\",gridTemplateColumns:\"36px 1fr\",gap:10},avatarSlack:{width:36,height:36,borderRadius:4,objectFit:\"cover\",padding:2,background:\"#7C4DFF\",display:\"block\"},avatarUser:{width:36,height:36,borderRadius:4,background:\"#E8E8E8\",display:\"grid\",placeItems:\"center\",fontWeight:800,color:\"#1d1c1d\",fontFamily:\"inherit\"},metaLineSlack:{display:\"flex\",alignItems:\"baseline\",gap:8,fontSize:16,lineHeight:1.2,fontFamily:\"inherit\"},displayName:{fontWeight:700,color:\"#1d1c1d\",fontFamily:\"inherit\"},appPillSlack:{background:\"#F4F4F5\",border:\"1px solid #E8E8E8\",color:\"#5e5e63\",fontSize:10,borderRadius:4,padding:\"2px 6px\",fontFamily:\"inherit\"},timeSlack:{color:\"#6b6f76\",fontSize:12,fontFamily:\"inherit\"},messageText:{marginTop:2,marginBottom:6,fontSize:15,lineHeight:1.4,color:\"#1d1c1d\",whiteSpace:\"pre-wrap\",fontFamily:\"inherit\"},actions:{display:\"flex\",gap:8,marginTop:4,flexWrap:\"wrap\"},actionBtnSlack:{padding:\"6px 10px\",borderRadius:6,border:\"1px solid #E2E2E3\",cursor:\"pointer\",fontWeight:700,fontSize:12,background:\"#fff\",color:\"#1d1c1d\",fontFamily:\"inherit\"},btnPrimarySlack:{background:\"var(--accent)\",borderColor:\"var(--accent)\",color:\"#fff\"},btnDangerSlack:{background:\"#fff\",borderColor:\"#E2E2E3\",color:\"#d22d2d\"},btnGhostSlack:{background:\"#fff\",borderColor:\"#E2E2E3\",color:\"#1d1c1d\"},inputBar:{display:\"flex\",gap:8,alignItems:\"center\",padding:12,borderTop:\"1px solid #E8E8E8\",background:\"#ffffff\",fontFamily:\"inherit\"},input:{flex:1,borderRadius:8,border:\"1px solid #E2E2E3\",background:\"#ffffff\",padding:\"10px 12px\",color:\"#1d1c1d\",fontFamily:\"inherit\"},sendBtn:{background:\"var(--accent)\",color:\"#fff\",border:0,borderRadius:8,padding:\"10px 12px\",fontWeight:800,cursor:\"pointer\",fontFamily:\"inherit\"},cursor:{position:\"absolute\",top:0,left:0,width:16,height:16,borderRadius:999,border:\"2px solid rgba(0,0,0,0.6)\",background:\"rgba(255,255,255,0.9)\",boxShadow:\"0 2px 8px rgba(0,0,0,0.25)\",pointerEvents:\"none\",zIndex:5}};/* ----------------------------- Framer controls ---------------------------- */addPropertyControls(AmplifierTracksChatPlayer,{accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:DEFAULT_ACCENT},avatarUrl:{type:ControlType.String,title:\"Ampy Avatar\",defaultValue:AMP_Y_AVATAR},autoPlay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true},messageDelaySec:{type:ControlType.Number,title:\"Msg Delay (s)\",defaultValue:3.6,min:.2,max:12,step:.1},loop:{type:ControlType.Boolean,title:\"Loop Tracks\",defaultValue:false},startIndex:{type:ControlType.Number,title:\"Start Track\",defaultValue:0,min:0,max:Math.max(0,TRACKS.length-1),step:1,displayStepper:true},showTimestamp:{type:ControlType.Boolean,title:\"Timestamps\",defaultValue:true},maxVisible:{type:ControlType.Number,title:\"Max Visible\",defaultValue:8,min:3,max:14,step:1},simulateClick:{type:ControlType.Boolean,title:\"Simulate Click\",defaultValue:true},simulateClickLabel:{type:ControlType.String,title:\"Click Label (opt.)\"},sidebarRatio:{type:ControlType.Number,title:\"Sidebar %\",defaultValue:.4,min:.25,max:.6,step:.01},layoutMode:{type:ControlType.Enum,title:\"Layout\",options:[\"auto\",\"full\",\"compact\"],optionTitles:[\"Auto\",\"Full\",\"Compact\"],displaySegmentedControl:true,defaultValue:\"auto\",description:\"Full shows the sidebar. Compact swaps it for track chips. Auto picks by width. Set Compact on tablet and phone.\"},compactBelow:{type:ControlType.Number,title:\"Compact Below\",hidden:p=>p.layoutMode!==\"auto\",defaultValue:760,min:320,max:1200,step:10,unit:\"px\",description:\"Below this width the sidebar becomes a row of track chips, so the player fits tablets and phones.\"},compactHeight:{type:ControlType.Number,title:\"Compact Height\",defaultValue:560,min:360,max:900,step:10,unit:\"px\",description:\"Minimum height of the compact layout.\"},minWidth:{type:ControlType.Number,title:\"Min Width\",defaultValue:1160,min:960,max:1600,step:10}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AmplifierTracksChatPlayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Track\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ChatMsg\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AmplifierTracksChatPlayer_1.map","// Generated by Framer (ddc5e5f)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-semibold\",\"FS;Work Sans-black\",\"FS;Work Sans-black italic\",\"FS;Work Sans-semibold italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VA23FCGWQ2ZGKFEM75LQVBDIR5XCXJI3/V5QYJZB23L2PDOZTWQY5F3I5R2B3UGCD/XUL6BSI7XTIWXDHGTQPLNOWHZU5CTO77.woff2\",weight:\"600\"},{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/QML5C5XZEBR7I3AU3AFZMQXA2F5MRDVL/S3LQ3HBF2JP53OFYRMM4JBQ3YHVPOE62/T34RJ6HRTKSRNRRMEDEU7ZH2PX5BUQ4U.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZDQYY7WQE6J2LQJEMABD2KCKOU7QQF3/LQCJAHZ2REXSPMWQWMEWUSVCXAUZT7XV/DPGL44GATXXQ37NTDPNF64CE2DG4K37M.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LOSIAZYULSGVYN662X5BYDOIHB7YE3OZ/4PSWTKPQRGX6G433ELN63AETIFV6VOM3/RWELXUBTSLYBVNROIVMFOTTVBJP2QYJC.woff2\",weight:\"600\"}]}];export const css=['.framer-YXbKE .framer-styles-preset-16hxntu:not(.rich-text-wrapper), .framer-YXbKE .framer-styles-preset-16hxntu.rich-text-wrapper h1 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 40px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.03em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-YXbKE .framer-styles-preset-16hxntu:not(.rich-text-wrapper), .framer-YXbKE .framer-styles-preset-16hxntu.rich-text-wrapper h1 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 30px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.03em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-YXbKE .framer-styles-preset-16hxntu:not(.rich-text-wrapper), .framer-YXbKE .framer-styles-preset-16hxntu.rich-text-wrapper h1 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.03em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-YXbKE\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-lOEqS .framer-styles-preset-c4sfg6:not(.rich-text-wrapper), .framer-lOEqS .framer-styles-preset-c4sfg6.rich-text-wrapper a { --framer-link-current-text-decoration: none; --framer-link-hover-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, #ffffff); --framer-link-text-color: var(--token-ee9f173e-ba2f-44d3-84b9-d2250b860eeb, #5c88f6); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: color; transition-timing-function: cubic-bezier(0.44, 0, 0.56, 1); }\"];export const className=\"framer-lOEqS\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ddc5e5f)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-semibold\",\"FS;Work Sans-black\",\"FS;Work Sans-black italic\",\"FS;Work Sans-semibold italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VA23FCGWQ2ZGKFEM75LQVBDIR5XCXJI3/V5QYJZB23L2PDOZTWQY5F3I5R2B3UGCD/XUL6BSI7XTIWXDHGTQPLNOWHZU5CTO77.woff2\",weight:\"600\"},{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/QML5C5XZEBR7I3AU3AFZMQXA2F5MRDVL/S3LQ3HBF2JP53OFYRMM4JBQ3YHVPOE62/T34RJ6HRTKSRNRRMEDEU7ZH2PX5BUQ4U.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZDQYY7WQE6J2LQJEMABD2KCKOU7QQF3/LQCJAHZ2REXSPMWQWMEWUSVCXAUZT7XV/DPGL44GATXXQ37NTDPNF64CE2DG4K37M.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",openType:true,source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LOSIAZYULSGVYN662X5BYDOIHB7YE3OZ/4PSWTKPQRGX6G433ELN63AETIFV6VOM3/RWELXUBTSLYBVNROIVMFOTTVBJP2QYJC.woff2\",weight:\"600\"}]}];export const css=['.framer-EMUrd .framer-styles-preset-10ds29k:not(.rich-text-wrapper), .framer-EMUrd .framer-styles-preset-10ds29k.rich-text-wrapper h1 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 45px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: left; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-EMUrd .framer-styles-preset-10ds29k:not(.rich-text-wrapper), .framer-EMUrd .framer-styles-preset-10ds29k.rich-text-wrapper h1 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 26px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: left; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-EMUrd .framer-styles-preset-10ds29k:not(.rich-text-wrapper), .framer-EMUrd .framer-styles-preset-10ds29k.rich-text-wrapper h1 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 32px; --framer-text-alignment: left; --framer-text-color: var(--token-44a08502-d08f-4b11-a001-4a8dad370e73); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-EMUrd\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Work Sans-semibold\",\"FS;Work Sans-black\",\"FS;Work Sans-black italic\",\"FS;Work Sans-semibold italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/VA23FCGWQ2ZGKFEM75LQVBDIR5XCXJI3/V5QYJZB23L2PDOZTWQY5F3I5R2B3UGCD/XUL6BSI7XTIWXDHGTQPLNOWHZU5CTO77.woff2\",weight:\"600\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/QML5C5XZEBR7I3AU3AFZMQXA2F5MRDVL/S3LQ3HBF2JP53OFYRMM4JBQ3YHVPOE62/T34RJ6HRTKSRNRRMEDEU7ZH2PX5BUQ4U.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZDQYY7WQE6J2LQJEMABD2KCKOU7QQF3/LQCJAHZ2REXSPMWQWMEWUSVCXAUZT7XV/DPGL44GATXXQ37NTDPNF64CE2DG4K37M.woff2\",weight:\"900\"},{cssFamilyName:\"Work Sans\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Work Sans\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LOSIAZYULSGVYN662X5BYDOIHB7YE3OZ/4PSWTKPQRGX6G433ELN63AETIFV6VOM3/RWELXUBTSLYBVNROIVMFOTTVBJP2QYJC.woff2\",weight:\"600\"}]}];export const css=['.framer-qg60l .framer-styles-preset-1ww1u09:not(.rich-text-wrapper), .framer-qg60l .framer-styles-preset-1ww1u09.rich-text-wrapper h6 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.02em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #1e2024; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-qg60l .framer-styles-preset-1ww1u09:not(.rich-text-wrapper), .framer-qg60l .framer-styles-preset-1ww1u09.rich-text-wrapper h6 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #1e2024; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-qg60l .framer-styles-preset-1ww1u09:not(.rich-text-wrapper), .framer-qg60l .framer-styles-preset-1ww1u09.rich-text-wrapper h6 { --framer-font-family: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Work Sans\", \"Work Sans Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #1e2024; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-qg60l\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image as Image1,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"NlCHksGwa\",\"Bgk_1Et0l\",\"XfbXZJmGL\",\"GaTCOfSaM\",\"q5WMl_u08\",\"uJInrNy52\",\"D_85powWT\",\"SHOGNkLNg\",\"L6s2hhjLM\",\"CBjr4au9g\",\"vhsB79oSP\",\"aWaBp7o1u\",\"Pyc15CG0n\",\"G7ckxwCao\",\"BbyzEwDgf\",\"tpD2sBK_q\",\"mf2SS7nNw\",\"MHqUCRNQJ\",\"cqGQizTuY\",\"BrlnA1oYT\",\"ui0CpycKO\",\"qPmCwfVbt\",\"aRdn28rfF\",\"PIrB43B06\",\"oU7U3_1Ff\",\"e_6s3orhl\",\"UH5oS_q95\",\"E4P18Os9O\",\"jbOBYqdwd\",\"GvDqnMzVF\",\"hsvYZkwfN\",\"RNgruQAKw\",\"WmgdFq1kf\"];const serializationHash=\"framer-49HvH\";const variantClassNames={aRdn28rfF:\"framer-v-wsrri2\",aWaBp7o1u:\"framer-v-5hl3t2\",BbyzEwDgf:\"framer-v-baq1fj\",Bgk_1Et0l:\"framer-v-19bk8b5\",BrlnA1oYT:\"framer-v-xlbr3f\",CBjr4au9g:\"framer-v-1m64468\",cqGQizTuY:\"framer-v-27ygq4\",D_85powWT:\"framer-v-1383xsn\",e_6s3orhl:\"framer-v-16efqy\",E4P18Os9O:\"framer-v-1lgslop\",G7ckxwCao:\"framer-v-14nh3s3\",GaTCOfSaM:\"framer-v-d0ha8g\",GvDqnMzVF:\"framer-v-1hmykly\",hsvYZkwfN:\"framer-v-wc0d21\",jbOBYqdwd:\"framer-v-1uc1f3j\",L6s2hhjLM:\"framer-v-aon0oi\",mf2SS7nNw:\"framer-v-12gsm22\",MHqUCRNQJ:\"framer-v-be6s2p\",NlCHksGwa:\"framer-v-1dphjny\",oU7U3_1Ff:\"framer-v-a5weib\",PIrB43B06:\"framer-v-q5785x\",Pyc15CG0n:\"framer-v-sku41i\",q5WMl_u08:\"framer-v-1ahe51g\",qPmCwfVbt:\"framer-v-26al1c\",RNgruQAKw:\"framer-v-15by8g8\",SHOGNkLNg:\"framer-v-1xavbre\",tpD2sBK_q:\"framer-v-1bo54km\",UH5oS_q95:\"framer-v-153emzc\",ui0CpycKO:\"framer-v-hq0dno\",uJInrNy52:\"framer-v-7e24yq\",vhsB79oSP:\"framer-v-trbllx\",WmgdFq1kf:\"framer-v-q07nvo\",XfbXZJmGL:\"framer-v-xgi1lo\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"icon_+_purple\":\"E4P18Os9O\",\"icon_+_surface\":\"jbOBYqdwd\",\"icon_+_white\":\"GvDqnMzVF\",ai_purple:\"NlCHksGwa\",ai_surface:\"Bgk_1Et0l\",ai_white:\"XfbXZJmGL\",chat_purple:\"tpD2sBK_q\",chat_surface:\"mf2SS7nNw\",chat_white:\"MHqUCRNQJ\",check_purple:\"cqGQizTuY\",check_surface:\"BrlnA1oYT\",check_white:\"ui0CpycKO\",compliance_purple:\"qPmCwfVbt\",compliance_surface:\"aRdn28rfF\",compliance_white:\"PIrB43B06\",icon_arrow_down__purple:\"Pyc15CG0n\",icon_arrow_down_surface:\"G7ckxwCao\",icon_arrow_down_white:\"BbyzEwDgf\",icon_arrow_left__purple:\"D_85powWT\",icon_arrow_left_surface:\"SHOGNkLNg\",icon_arrow_left_white:\"L6s2hhjLM\",icon_arrow_right__purple:\"GaTCOfSaM\",icon_arrow_right_surface:\"q5WMl_u08\",icon_arrow_right_white:\"uJInrNy52\",icon_arrow_up__purple:\"CBjr4au9g\",icon_arrow_up_surface:\"vhsB79oSP\",icon_arrow_up_white:\"aWaBp7o1u\",icon_plug_purple:\"hsvYZkwfN\",icon_plug_surface:\"RNgruQAKw\",icon_plug_white:\"WmgdFq1kf\",icon_x_purple:\"oU7U3_1Ff\",icon_x_surface:\"e_6s3orhl\",icon_x_white:\"UH5oS_q95\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"NlCHksGwa\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"NlCHksGwa\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Image1,{...restProps,...gestureHandlers,background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/RDMrlewQOOwsyAjNxqg3nIbI0.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/RDMrlewQOOwsyAjNxqg3nIbI0.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/RDMrlewQOOwsyAjNxqg3nIbI0.svg?width=540&height=540 540w\"},className:cx(scopingClassNames,\"framer-1dphjny\",className,classNames),\"data-framer-name\":\"ai_purple\",layoutDependency:layoutDependency,layoutId:\"NlCHksGwa\",ref:refBinding,style:{...style},...addPropertyOverrides({aRdn28rfF:{\"data-framer-name\":\"compliance_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/eWoRODEsYfTPIQ0zF6wDjW4mtHo.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/eWoRODEsYfTPIQ0zF6wDjW4mtHo.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/eWoRODEsYfTPIQ0zF6wDjW4mtHo.svg?width=540&height=540 540w\"}},aWaBp7o1u:{\"data-framer-name\":\"icon_arrow_up_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/INOhOKDKqPZUQNJzoaCArZAGY.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/INOhOKDKqPZUQNJzoaCArZAGY.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/INOhOKDKqPZUQNJzoaCArZAGY.svg?width=540&height=540 540w\"}},BbyzEwDgf:{\"data-framer-name\":\"icon_arrow_down_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/2HpPaw0gA82OYgDgvmEwxcv4bY.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/2HpPaw0gA82OYgDgvmEwxcv4bY.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/2HpPaw0gA82OYgDgvmEwxcv4bY.svg?width=540&height=540 540w\"}},Bgk_1Et0l:{\"data-framer-name\":\"ai_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/LNrFEhoK9wYinhoGLWUTSPp05uo.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/LNrFEhoK9wYinhoGLWUTSPp05uo.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/LNrFEhoK9wYinhoGLWUTSPp05uo.svg?width=540&height=540 540w\"}},BrlnA1oYT:{\"data-framer-name\":\"check_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/dOB9D1zI7TD7F3s4YUjob2VZpXo.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/dOB9D1zI7TD7F3s4YUjob2VZpXo.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/dOB9D1zI7TD7F3s4YUjob2VZpXo.svg?width=540&height=540 540w\"}},CBjr4au9g:{\"data-framer-name\":\"icon_arrow_up__purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/z34VHYKfDiEluLhruZWeEbrh3c.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/z34VHYKfDiEluLhruZWeEbrh3c.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/z34VHYKfDiEluLhruZWeEbrh3c.svg?width=540&height=540 540w\"}},cqGQizTuY:{\"data-framer-name\":\"check_purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/EwJLAoE1zUk1oYeIS9LGDuJ0Do.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/EwJLAoE1zUk1oYeIS9LGDuJ0Do.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/EwJLAoE1zUk1oYeIS9LGDuJ0Do.svg?width=540&height=540 540w\"}},D_85powWT:{\"data-framer-name\":\"icon_arrow_left__purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/DdOn5D8GGbwJQDoDIBx2jGrBO6M.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/DdOn5D8GGbwJQDoDIBx2jGrBO6M.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/DdOn5D8GGbwJQDoDIBx2jGrBO6M.svg?width=540&height=540 540w\"}},e_6s3orhl:{\"data-framer-name\":\"icon_x_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/g6f5qMitLGrjUhg9pYpFz3CnBM.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/g6f5qMitLGrjUhg9pYpFz3CnBM.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/g6f5qMitLGrjUhg9pYpFz3CnBM.svg?width=540&height=540 540w\"}},E4P18Os9O:{\"data-framer-name\":\"icon_+_purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/QUFtegaCLrRvPhp5prlhk30fs.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/QUFtegaCLrRvPhp5prlhk30fs.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/QUFtegaCLrRvPhp5prlhk30fs.svg?width=540&height=540 540w\"}},G7ckxwCao:{\"data-framer-name\":\"icon_arrow_down_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/Oevl7dZhJQdPoF1kpHB97Hedw.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/Oevl7dZhJQdPoF1kpHB97Hedw.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/Oevl7dZhJQdPoF1kpHB97Hedw.svg?width=540&height=540 540w\"}},GaTCOfSaM:{\"data-framer-name\":\"icon_arrow_right__purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/vEBYv5liAC9mYpiG52vIe5tQQ.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/vEBYv5liAC9mYpiG52vIe5tQQ.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/vEBYv5liAC9mYpiG52vIe5tQQ.svg?width=540&height=540 540w\"}},GvDqnMzVF:{\"data-framer-name\":\"icon_+_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/XDd4TDTTKEVeWzpFNbV68WVWxM.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/XDd4TDTTKEVeWzpFNbV68WVWxM.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/XDd4TDTTKEVeWzpFNbV68WVWxM.svg?width=540&height=540 540w\"}},hsvYZkwfN:{\"data-framer-name\":\"icon_plug_purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/u77e8i5eF2JF5ibKbRZE5EvRY.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/u77e8i5eF2JF5ibKbRZE5EvRY.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/u77e8i5eF2JF5ibKbRZE5EvRY.svg?width=540&height=540 540w\"}},jbOBYqdwd:{\"data-framer-name\":\"icon_+_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/kmn52JpcEmDxgCkJ4JyoHmRr9A.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/kmn52JpcEmDxgCkJ4JyoHmRr9A.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/kmn52JpcEmDxgCkJ4JyoHmRr9A.svg?width=540&height=540 540w\"}},L6s2hhjLM:{\"data-framer-name\":\"icon_arrow_left_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/09tw6uVJ6uopQrR8SuFXgAiCz0.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/09tw6uVJ6uopQrR8SuFXgAiCz0.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/09tw6uVJ6uopQrR8SuFXgAiCz0.svg?width=540&height=540 540w\"}},mf2SS7nNw:{\"data-framer-name\":\"chat_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/BqUhpLRs4gCb0ewsOQbzjctEBw.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/BqUhpLRs4gCb0ewsOQbzjctEBw.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/BqUhpLRs4gCb0ewsOQbzjctEBw.svg?width=540&height=540 540w\"}},MHqUCRNQJ:{\"data-framer-name\":\"chat_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/g7ynA1Y73B2PuGwpLh6GP00clfg.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/g7ynA1Y73B2PuGwpLh6GP00clfg.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/g7ynA1Y73B2PuGwpLh6GP00clfg.svg?width=540&height=540 540w\"}},oU7U3_1Ff:{\"data-framer-name\":\"icon_x_purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/ipZNIJsn7jC6ENRNQKii0IGI54.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/ipZNIJsn7jC6ENRNQKii0IGI54.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/ipZNIJsn7jC6ENRNQKii0IGI54.svg?width=540&height=540 540w\"}},PIrB43B06:{\"data-framer-name\":\"compliance_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/TQ87SjnYk4rWObjbznHQscc4.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/TQ87SjnYk4rWObjbznHQscc4.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/TQ87SjnYk4rWObjbznHQscc4.svg?width=540&height=540 540w\"}},Pyc15CG0n:{\"data-framer-name\":\"icon_arrow_down__purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/yDvwkTYMOqsrKflxY9miJrQvwDE.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/yDvwkTYMOqsrKflxY9miJrQvwDE.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/yDvwkTYMOqsrKflxY9miJrQvwDE.svg?width=540&height=540 540w\"}},q5WMl_u08:{\"data-framer-name\":\"icon_arrow_right_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/ERA03IHSKaW1tZmDgtQM7UPGtPc.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/ERA03IHSKaW1tZmDgtQM7UPGtPc.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/ERA03IHSKaW1tZmDgtQM7UPGtPc.svg?width=540&height=540 540w\"}},qPmCwfVbt:{\"data-framer-name\":\"compliance_purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/ZKrRLBAp7b6UJgb42YpjOu9bit0.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/ZKrRLBAp7b6UJgb42YpjOu9bit0.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/ZKrRLBAp7b6UJgb42YpjOu9bit0.svg?width=540&height=540 540w\"}},RNgruQAKw:{\"data-framer-name\":\"icon_plug_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/4sAomav6G9FUVvX1ZVcD3CyMA.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/4sAomav6G9FUVvX1ZVcD3CyMA.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/4sAomav6G9FUVvX1ZVcD3CyMA.svg?width=540&height=540 540w\"}},SHOGNkLNg:{\"data-framer-name\":\"icon_arrow_left_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/aAFi15A5p625TFMB52kQE5DsQo.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/aAFi15A5p625TFMB52kQE5DsQo.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/aAFi15A5p625TFMB52kQE5DsQo.svg?width=540&height=540 540w\"}},tpD2sBK_q:{\"data-framer-name\":\"chat_purple\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/B8HmVrOQuwRD7pGk0eGyppnKuI.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/B8HmVrOQuwRD7pGk0eGyppnKuI.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/B8HmVrOQuwRD7pGk0eGyppnKuI.svg?width=540&height=540 540w\"}},UH5oS_q95:{\"data-framer-name\":\"icon_x_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/lYCjcQvxponLltAjQWcbb4dZuGk.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/lYCjcQvxponLltAjQWcbb4dZuGk.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/lYCjcQvxponLltAjQWcbb4dZuGk.svg?width=540&height=540 540w\"}},ui0CpycKO:{\"data-framer-name\":\"check_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/weac165vTkNxKc7mdjhtENgz9zw.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/weac165vTkNxKc7mdjhtENgz9zw.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/weac165vTkNxKc7mdjhtENgz9zw.svg?width=540&height=540 540w\"}},uJInrNy52:{\"data-framer-name\":\"icon_arrow_right_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/Y0KgaIftCPHMcq8Em96JaM7Hs.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/Y0KgaIftCPHMcq8Em96JaM7Hs.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/Y0KgaIftCPHMcq8Em96JaM7Hs.svg?width=540&height=540 540w\"}},vhsB79oSP:{\"data-framer-name\":\"icon_arrow_up_surface\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/58o2q12OVp4s6YwF6Mn74siXJM.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/58o2q12OVp4s6YwF6Mn74siXJM.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/58o2q12OVp4s6YwF6Mn74siXJM.svg?width=540&height=540 540w\"}},WmgdFq1kf:{\"data-framer-name\":\"icon_plug_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/3NMpYXwDNP8XVUxLVk61YnlfAk.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/3NMpYXwDNP8XVUxLVk61YnlfAk.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/3NMpYXwDNP8XVUxLVk61YnlfAk.svg?width=540&height=540 540w\"}},XfbXZJmGL:{\"data-framer-name\":\"ai_white\",background:{alt:\"amplifier - icon ai purple\",fit:\"fill\",intrinsicHeight:540,intrinsicWidth:540,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:540,pixelWidth:540,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/JBVuMstLjrwzT0hOHxG23z4FWY.svg?width=540&height=540\",srcSet:\"https://framerusercontent.com/images/JBVuMstLjrwzT0hOHxG23z4FWY.svg?scale-down-to=512&width=540&height=540 512w,https://framerusercontent.com/images/JBVuMstLjrwzT0hOHxG23z4FWY.svg?width=540&height=540 540w\"}}},baseVariant,gestureVariant)})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-49HvH.framer-1ip2m9r, .framer-49HvH .framer-1ip2m9r { display: block; }\",\".framer-49HvH.framer-1dphjny { height: 540px; position: relative; width: 540px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 540\n * @framerIntrinsicWidth 540\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Bgk_1Et0l\":{\"layout\":[\"fixed\",\"fixed\"]},\"XfbXZJmGL\":{\"layout\":[\"fixed\",\"fixed\"]},\"GaTCOfSaM\":{\"layout\":[\"fixed\",\"fixed\"]},\"q5WMl_u08\":{\"layout\":[\"fixed\",\"fixed\"]},\"uJInrNy52\":{\"layout\":[\"fixed\",\"fixed\"]},\"D_85powWT\":{\"layout\":[\"fixed\",\"fixed\"]},\"SHOGNkLNg\":{\"layout\":[\"fixed\",\"fixed\"]},\"L6s2hhjLM\":{\"layout\":[\"fixed\",\"fixed\"]},\"CBjr4au9g\":{\"layout\":[\"fixed\",\"fixed\"]},\"vhsB79oSP\":{\"layout\":[\"fixed\",\"fixed\"]},\"aWaBp7o1u\":{\"layout\":[\"fixed\",\"fixed\"]},\"Pyc15CG0n\":{\"layout\":[\"fixed\",\"fixed\"]},\"G7ckxwCao\":{\"layout\":[\"fixed\",\"fixed\"]},\"BbyzEwDgf\":{\"layout\":[\"fixed\",\"fixed\"]},\"tpD2sBK_q\":{\"layout\":[\"fixed\",\"fixed\"]},\"mf2SS7nNw\":{\"layout\":[\"fixed\",\"fixed\"]},\"MHqUCRNQJ\":{\"layout\":[\"fixed\",\"fixed\"]},\"cqGQizTuY\":{\"layout\":[\"fixed\",\"fixed\"]},\"BrlnA1oYT\":{\"layout\":[\"fixed\",\"fixed\"]},\"ui0CpycKO\":{\"layout\":[\"fixed\",\"fixed\"]},\"qPmCwfVbt\":{\"layout\":[\"fixed\",\"fixed\"]},\"aRdn28rfF\":{\"layout\":[\"fixed\",\"fixed\"]},\"PIrB43B06\":{\"layout\":[\"fixed\",\"fixed\"]},\"oU7U3_1Ff\":{\"layout\":[\"fixed\",\"fixed\"]},\"e_6s3orhl\":{\"layout\":[\"fixed\",\"fixed\"]},\"UH5oS_q95\":{\"layout\":[\"fixed\",\"fixed\"]},\"E4P18Os9O\":{\"layout\":[\"fixed\",\"fixed\"]},\"jbOBYqdwd\":{\"layout\":[\"fixed\",\"fixed\"]},\"GvDqnMzVF\":{\"layout\":[\"fixed\",\"fixed\"]},\"hsvYZkwfN\":{\"layout\":[\"fixed\",\"fixed\"]},\"RNgruQAKw\":{\"layout\":[\"fixed\",\"fixed\"]},\"WmgdFq1kf\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerAVDN5kMuI=withCSS(Component,css,\"framer-49HvH\");export default FramerAVDN5kMuI;FramerAVDN5kMuI.displayName=\"amplifier-icons\";FramerAVDN5kMuI.defaultProps={height:540,width:540};addPropertyControls(FramerAVDN5kMuI,{variant:{options:[\"NlCHksGwa\",\"Bgk_1Et0l\",\"XfbXZJmGL\",\"GaTCOfSaM\",\"q5WMl_u08\",\"uJInrNy52\",\"D_85powWT\",\"SHOGNkLNg\",\"L6s2hhjLM\",\"CBjr4au9g\",\"vhsB79oSP\",\"aWaBp7o1u\",\"Pyc15CG0n\",\"G7ckxwCao\",\"BbyzEwDgf\",\"tpD2sBK_q\",\"mf2SS7nNw\",\"MHqUCRNQJ\",\"cqGQizTuY\",\"BrlnA1oYT\",\"ui0CpycKO\",\"qPmCwfVbt\",\"aRdn28rfF\",\"PIrB43B06\",\"oU7U3_1Ff\",\"e_6s3orhl\",\"UH5oS_q95\",\"E4P18Os9O\",\"jbOBYqdwd\",\"GvDqnMzVF\",\"hsvYZkwfN\",\"RNgruQAKw\",\"WmgdFq1kf\"],optionTitles:[\"ai_purple\",\"ai_surface\",\"ai_white\",\"icon_arrow_right__purple\",\"icon_arrow_right_surface\",\"icon_arrow_right_white\",\"icon_arrow_left__purple\",\"icon_arrow_left_surface\",\"icon_arrow_left_white\",\"icon_arrow_up__purple\",\"icon_arrow_up_surface\",\"icon_arrow_up_white\",\"icon_arrow_down__purple\",\"icon_arrow_down_surface\",\"icon_arrow_down_white\",\"chat_purple\",\"chat_surface\",\"chat_white\",\"check_purple\",\"check_surface\",\"check_white\",\"compliance_purple\",\"compliance_surface\",\"compliance_white\",\"icon_x_purple\",\"icon_x_surface\",\"icon_x_white\",\"icon_+_purple\",\"icon_+_surface\",\"icon_+_white\",\"icon_plug_purple\",\"icon_plug_surface\",\"icon_plug_white\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerAVDN5kMuI,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerAVDN5kMuI\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"540\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Bgk_1Et0l\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"XfbXZJmGL\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"GaTCOfSaM\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"q5WMl_u08\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"uJInrNy52\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"D_85powWT\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"SHOGNkLNg\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"L6s2hhjLM\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"CBjr4au9g\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"vhsB79oSP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"aWaBp7o1u\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Pyc15CG0n\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"G7ckxwCao\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"BbyzEwDgf\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"tpD2sBK_q\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"mf2SS7nNw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"MHqUCRNQJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"cqGQizTuY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"BrlnA1oYT\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ui0CpycKO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"qPmCwfVbt\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"aRdn28rfF\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PIrB43B06\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"oU7U3_1Ff\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"e_6s3orhl\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"UH5oS_q95\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"E4P18Os9O\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"jbOBYqdwd\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"GvDqnMzVF\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"hsvYZkwfN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"RNgruQAKw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"WmgdFq1kf\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"540\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AVDN5kMuI.map","// Generated by Framer (c9b3949)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/igFYomZPgRtaLUkZiJSg/4RW1D1tMlaWfMgJv97MC/ANv8J5ofT.js\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/41jG91mIP0iWlFgC44cF/PQ37jgCuK2E5fTmyDA0x/nigEjwox9.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/4uyRJR6GcbBgK2CBnSs0/h7S32zE4J3u7mgctWVG5/QWSgJZkUo.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/txTfEgVzj24GhlhkrExk/UunfPt8Z8JyAlkvv842m/rzzO1bsnf.js\";const cycleOrder=[\"ppSGacw5I\",\"QKh_i04T_\",\"OOqcP0DQx\"];const serializationHash=\"framer-H7jh9\";const variantClassNames={OOqcP0DQx:\"framer-v-yq64cv\",ppSGacw5I:\"framer-v-ickwue\",QKh_i04T_:\"framer-v-3a4xkk\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const HvYTWSsqa=undefined;const JcsylJBWb=undefined;const jAkL7xWKA=undefined;const RQXH9g81t=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={desktop:\"ppSGacw5I\",phone:\"OOqcP0DQx\",tablet:\"QKh_i04T_\"};const Variants=motion.create(React.Fragment);const getProps=({bodyLg,bodySm,bodyXl,cardTitle,height,id,width,...props})=>{return{...props,HvYTWSsqa:cardTitle??props.HvYTWSsqa??\"card-title\",jAkL7xWKA:bodyLg??props.jAkL7xWKA??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",JcsylJBWb:bodyXl??props.JcsylJBWb??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",RQXH9g81t:bodySm??props.RQXH9g81t??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",variant:humanReadableVariantMap[props.variant]??props.variant??\"ppSGacw5I\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,HvYTWSsqa,JcsylJBWb,jAkL7xWKA,RQXH9g81t,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ppSGacw5I\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-ickwue\",className,classNames),\"data-framer-name\":\"desktop\",layoutDependency:layoutDependency,layoutId:\"ppSGacw5I\",ref:refBinding,style:{backgroundColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20,...style},...addPropertyOverrides({OOqcP0DQx:{\"data-framer-name\":\"phone\"},QKh_i04T_:{\"data-framer-name\":\"tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-erzn9x\",\"data-framer-name\":\"stack\",layoutDependency:layoutDependency,layoutId:\"PcRF_NcRr\",children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1jx2iun\",\"data-framer-name\":\"stack\",layoutDependency:layoutDependency,layoutId:\"FF70wtD4n\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-pq549w\",\"data-framer-name\":\"txt\",layoutDependency:layoutDependency,layoutId:\"ukABaj4gE\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-15ruj48\",\"data-styles-preset\":\"rzzO1bsnf\",dir:\"auto\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-gdpscs, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:/*#__PURE__*/_jsx(motion.strong,{children:\"card-title\"})})}),className:\"framer-1c7prhm\",fonts:[\"Inter\",\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"K5ihWu_fa\",style:{\"--extracted-gdpscs\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:HvYTWSsqa,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1cn9i6j\",\"data-styles-preset\":\"QWSgJZkUo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\"})}),className:\"framer-10anq8s\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"PSUIP1oIu\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:JcsylJBWb,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({OOqcP0DQx:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\"})}),className:\"framer-1jvvh92\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"L2J16KOqw\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:jAkL7xWKA,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\"})}),className:\"framer-m24r2y\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"KQv65bdRz\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:RQXH9g81t,verticalAlignment:\"top\",withExternalLayout:true})]})})})})})})});});const css=[\".framer-H7jh9.framer-12147sv, .framer-H7jh9 .framer-12147sv { display: block; }\",\".framer-H7jh9.framer-ickwue { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; height: 760px; justify-content: space-between; overflow: hidden; padding: 20px; position: relative; width: 1000px; will-change: var(--framer-will-change-override, transform); }\",\".framer-H7jh9 .framer-erzn9x { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-H7jh9 .framer-1jx2iun { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-H7jh9 .framer-pq549w { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-H7jh9 .framer-1c7prhm, .framer-H7jh9 .framer-10anq8s, .framer-H7jh9 .framer-1jvvh92, .framer-H7jh9 .framer-m24r2y { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-H7jh9.framer-v-3a4xkk.framer-ickwue { width: 810px; }\",\".framer-H7jh9.framer-v-yq64cv.framer-ickwue { width: 390px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 760\n * @framerIntrinsicWidth 1000\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"QKh_i04T_\":{\"layout\":[\"fixed\",\"fixed\"]},\"OOqcP0DQx\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"HvYTWSsqa\":\"cardTitle\",\"JcsylJBWb\":\"bodyXl\",\"jAkL7xWKA\":\"bodyLg\",\"RQXH9g81t\":\"bodySm\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerHQ6Y6zkNF=withCSS(Component,css,\"framer-H7jh9\");export default FramerHQ6Y6zkNF;FramerHQ6Y6zkNF.displayName=\"gh-card-01\";FramerHQ6Y6zkNF.defaultProps={height:760,width:1e3};addPropertyControls(FramerHQ6Y6zkNF,{variant:{options:[\"ppSGacw5I\",\"QKh_i04T_\",\"OOqcP0DQx\"],optionTitles:[\"desktop\",\"tablet\",\"phone\"],title:\"Variant\",type:ControlType.Enum},HvYTWSsqa:{defaultValue:\"card-title\",displayTextArea:false,title:\"card-title\",type:ControlType.String},onHvYTWSsqaChange:{changes:\"HvYTWSsqa\",type:ControlType.ChangeHandler},JcsylJBWb:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"body-xl\",type:ControlType.String},onJcsylJBWbChange:{changes:\"JcsylJBWb\",type:ControlType.ChangeHandler},jAkL7xWKA:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"body-lg\",type:ControlType.String},onjAkL7xWKAChange:{changes:\"jAkL7xWKA\",type:ControlType.ChangeHandler},RQXH9g81t:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"body-sm\",type:ControlType.String},onRQXH9g81tChange:{changes:\"RQXH9g81t\",type:ControlType.ChangeHandler}});addFonts(FramerHQ6Y6zkNF,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"}]},...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerHQ6Y6zkNF\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"HvYTWSsqa\\\":\\\"cardTitle\\\",\\\"JcsylJBWb\\\":\\\"bodyXl\\\",\\\"jAkL7xWKA\\\":\\\"bodyLg\\\",\\\"RQXH9g81t\\\":\\\"bodySm\\\"}\",\"framerIntrinsicWidth\":\"1000\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"QKh_i04T_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"OOqcP0DQx\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"760\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (bc64f0a)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentPresetsProvider,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromComponentPreset,getFontsFromSharedStyle,getLoadingLazyAtYPosition,getPropertyControls,Image as Image1,Link,parsePaddingString,RichText,runTasksWithYield,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Video}from\"https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js\";import{Youtube as YouTube}from\"https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/pRRgk0dcN3gDaE0WpAE7/YouTube.js\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js\";import AmplifierTracksChatPlayer from\"https://framerusercontent.com/modules/8RLNlZpZShawq2P2v3Ws/QHcmZnjjZTdE2Q79FJUN/AmplifierTracksChatPlayer_1.js\";import*as componentPresets from\"https://framerusercontent.com/modules/alJJHYtCQn1mxHI6OIuC/KGQqVC129cxRSZeCbi1x/componentPresets.js\";import*as sharedStyle8 from\"https://framerusercontent.com/modules/igFYomZPgRtaLUkZiJSg/4RW1D1tMlaWfMgJv97MC/ANv8J5ofT.js\";import*as sharedStyle16 from\"https://framerusercontent.com/modules/fN0mSxBEYVKBifeU0DJA/qYvesB6OCuAlSdjx2CSU/bZjvY4Jyh.js\";import*as sharedStyle4 from\"https://framerusercontent.com/modules/e9aJmqwhdIimxcXkTVIB/uu2i6qcvcYaLI8vXddfj/eeuthCixO.js\";import*as sharedStyle12 from\"https://framerusercontent.com/modules/bo5LfgqfhsFk5K0BVZDZ/jOSi67LVD6EPeC3FrfLo/EH0PRLV7L.js\";import*as sharedStyle17 from\"https://framerusercontent.com/modules/k5SyOoCSNkZHvlyx5QTY/FOPz3o1cYo0jJHQc5YGC/eY3OZXJ1D.js\";import*as sharedStyle6 from\"https://framerusercontent.com/modules/7A0KO6hVLF6MyzdSYlOh/8F0gGKWOG7W9Ic46toid/f4Avcmmox.js\";import*as sharedStyle5 from\"https://framerusercontent.com/modules/fcYZwYH6duPCcEV3dLZs/QWiKIFKJf3Z8zrDkx5wu/hFFu6d6D3.js\";import*as sharedStyle15 from\"https://framerusercontent.com/modules/tMAH4z5eFilag1zyeKgp/VT7UYWqH7D9ZWlQbm9Z4/HlS_BtsC6.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/62dHzbyEVcWCJm4KjJYQ/Pmrpa41VbtXNA46dFIKJ/ih7Vy5Vcx.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/oF3ZvL8vrgFIczGt3oao/3Je11hETZ3RFiZacT1nd/iu3hypIuI.js\";import*as sharedStyle9 from\"https://framerusercontent.com/modules/6wRDmWpq6SjRMzRYH7SB/IUoCtxBxpXpqlYTYptRh/kHgiG_1C6.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/t6pLWowsJ7vt6jP1jsON/aQ3pkDUNQAfKCpklr1nr/MpSyKtc9v.js\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/e4Gbs6BinSGsoh0x8tEk/wVCcCrxKfslzgm6bA91p/nbMnWu4Sl.js\";import*as sharedStyle14 from\"https://framerusercontent.com/modules/41jG91mIP0iWlFgC44cF/PQ37jgCuK2E5fTmyDA0x/nigEjwox9.js\";import*as sharedStyle7 from\"https://framerusercontent.com/modules/gcNiwobFisRAzAItdCgD/KJJUxwJR9GA2WF7KgL6G/rt5mzBdh6.js\";import*as sharedStyle11 from\"https://framerusercontent.com/modules/8S8iVbzHPcyQEg6O2NzQ/hoSMW1xVcuY1IRgnzNlR/S11Xr8MbT.js\";import*as sharedStyle10 from\"https://framerusercontent.com/modules/5c2lQxvRBlm5ZvapSY7q/tpxEof5U4yrwIiZt8kWY/steh9X0vC.js\";import*as sharedStyle13 from\"https://framerusercontent.com/modules/ygfyZaamcGIRCSz40iAh/rWWebZNN51JXxTORD3JP/uYKwKyo2A.js\";import AmplifierIcons from\"https://framerusercontent.com/modules/ljGNdV6FVdhIlIJNvhWF/byJm2EvtHURX2z7nqMa1/AVDN5kMuI.js\";import GhCard01 from\"https://framerusercontent.com/modules/Y0ok8TKCCfgFHUhSM2nG/SuKF1MGDFuBgdqWMiB3Z/HQ6Y6zkNF.js\";import Button from\"https://framerusercontent.com/modules/uyU9bPOnmg56FPgqqqHP/pn0Bkk1tFRQH5Hh6v8lO/MuJjAXk6G.js\";import Badge from\"https://framerusercontent.com/modules/c9uwWZ7Ap7OzBhHJZ2uZ/09rppX1bbap148Szb8ln/tLUb2Hjj2.js\";const BadgeFonts=getFonts(Badge);const AmplifierIconsFonts=getFonts(AmplifierIcons);const ButtonFonts=getFonts(Button);const Image1WithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(Image1));const VideoFonts=getFonts(Video);const YouTubeFonts=getFonts(YouTube);const AmplifierTracksChatPlayerFonts=getFonts(AmplifierTracksChatPlayer);const GhCard01Fonts=getFonts(GhCard01);const LottieFonts=getFonts(Lottie);const ButtonControls=getPropertyControls(Button);const AmplifierIconsControls=getPropertyControls(AmplifierIcons);const VideoControls=getPropertyControls(Video);const LottieControls=getPropertyControls(Lottie);const cycleOrder=[\"xEVVJWqwy\",\"Vq5A73Q2x\",\"IR8Y7AhFt\",\"HNzce3mHX\",\"qBCWLpQXU\"];const serializationHash=\"framer-lKijC\";const variantClassNames={HNzce3mHX:\"framer-v-fy2kyu\",IR8Y7AhFt:\"framer-v-y4gufg\",qBCWLpQXU:\"framer-v-1ojkkzu\",Vq5A73Q2x:\"framer-v-1ives92\",xEVVJWqwy:\"framer-v-6csom0\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const W44speNZ6=undefined;const eNzeZ5Kv9=undefined;const AKfxcOm6J=undefined;const xjhnHPQMV=undefined;const VksC_ABRO=undefined;const mSCQUrqd8=undefined;const qkO8JGMe_=undefined;const d6Y2eJ4bu=undefined;const bJkgOuE_C=undefined;const CdbG7scPf=undefined;const bnL4P1L3J=undefined;const o2XN3Amyz=undefined;const qbCMR_sp9=undefined;const yVAz54mBh=undefined;const UZZC8vKLE=undefined;const k1QcA_pS9=undefined;const eOjL05c0F=undefined;const qCHZ2y9vN=undefined;const wK0lV95l2=undefined;const Lpwb32qwM=undefined;const k2Q46E4Xt=undefined;const tS4pw3eUb=undefined;const gIev239jf=undefined;const eHTQIaLeW=undefined;const M7w_yxw7g=undefined;const Efm4sIK7S=undefined;const nAtkx7m73=undefined;const ZmE00SgJB=undefined;const hsLkQrR_g=undefined;const n_XdGoax9=undefined;const IJTUjJ_bW=undefined;const GuzTtNRS2=undefined;const ubzxvbfFB=undefined;const iKhQAIxer=undefined;const A7Wr69vWM=undefined;const B9Hm396Jz=undefined;const MswCjnkg2=undefined;const UD4qfpvlr=undefined;const TnzPcPJfV=undefined;const cmiNBcx3x=undefined;const bPkLeET8t=undefined;const ds_2yg2TO=undefined;const LxNNOLxs3=undefined;const RQ53eHqUA=undefined;const G7QnJde1m=undefined;const JhUuTGDe7=undefined;const CQDWdueY0=undefined;const ecWyORxvF=undefined;const uUlULHWmv=undefined;const non2AbuLp=undefined;const ho8juLo33=undefined;const hCtpOD1xj=undefined;const IuWqFOi_u=undefined;const WQ_p_TEuK=undefined;const sMkxIFGED=undefined;const TkBlsCqjZ=undefined;const Rl5t8OdaJ=undefined;const BQtzri6Na=undefined;const K4cXLEasa=undefined;const ZKzPd7elm=undefined;const hvBqpGbyN=undefined;const NAsiXfJCd=undefined;const YF2TSFjBT=undefined;const KIZtDf5Hp=undefined;const uZL7407DL=undefined;const setxjhnHPQMV=undefined;const setA7Wr69vWM=undefined;const setTnzPcPJfV=undefined;const sethCtpOD1xj=undefined;const setIuWqFOi_u=undefined;const setWQ_p_TEuK=undefined;const setsMkxIFGED=undefined;const setTkBlsCqjZ=undefined;const setRl5t8OdaJ=undefined;const setBQtzri6Na=undefined;const setK4cXLEasa=undefined;const numberToPixelString=value=>{if(typeof value!==\"number\")return value;if(!Number.isFinite(value))return undefined;return Math.max(0,value)+\"px\";};const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const negate=value=>{return!value;};const isSet=value=>{if(Array.isArray(value))return value.length>0;return value!==undefined&&value!==null&&value!==\"\";};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const transition2={delay:.2,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1.05,skewX:0,skewY:0,x:0,y:0};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"desktop-dark_bullets-center\":\"HNzce3mHX\",\"desktop-dark\":\"xEVVJWqwy\",\"phone-dark\":\"IR8Y7AhFt\",\"tablet-dark_bullets-center\":\"qBCWLpQXU\",\"tablet-dark\":\"Vq5A73Q2x\"};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={\"primary-lg\":\"ks2j1jBYj\",\"primary-md\":\"jJPJlUipP\",\"primary-sm\":\"HHne1NXMg\",\"secondary-lg\":\"CchkYinf_\",\"secondary-md\":\"UgAsszj1u\",\"secondary-sm\":\"Ax0H7NMVo\",\"tertiary-lg\":\"YziQdl2v1\",\"tertiary-md\":\"A_GnN5RS0\",\"tertiary-sm\":\"M27YAa8PN\"};const humanReadableEnumMap1={\"icon_+_purple\":\"E4P18Os9O\",\"icon_+_surface\":\"jbOBYqdwd\",\"icon_+_white\":\"GvDqnMzVF\",ai_purple:\"NlCHksGwa\",ai_surface:\"Bgk_1Et0l\",ai_white:\"XfbXZJmGL\",chat_purple:\"tpD2sBK_q\",chat_surface:\"mf2SS7nNw\",chat_white:\"MHqUCRNQJ\",check_purple:\"cqGQizTuY\",check_surface:\"BrlnA1oYT\",check_white:\"ui0CpycKO\",compliance_purple:\"qPmCwfVbt\",compliance_surface:\"aRdn28rfF\",compliance_white:\"PIrB43B06\",icon_arrow_down__purple:\"Pyc15CG0n\",icon_arrow_down_surface:\"G7ckxwCao\",icon_arrow_down_white:\"BbyzEwDgf\",icon_arrow_left__purple:\"D_85powWT\",icon_arrow_left_surface:\"SHOGNkLNg\",icon_arrow_left_white:\"L6s2hhjLM\",icon_arrow_right__purple:\"GaTCOfSaM\",icon_arrow_right_surface:\"q5WMl_u08\",icon_arrow_right_white:\"uJInrNy52\",icon_arrow_up__purple:\"CBjr4au9g\",icon_arrow_up_surface:\"vhsB79oSP\",icon_arrow_up_white:\"aWaBp7o1u\",icon_plug_purple:\"hsvYZkwfN\",icon_plug_surface:\"RNgruQAKw\",icon_plug_white:\"WmgdFq1kf\",icon_x_purple:\"oU7U3_1Ff\",icon_x_surface:\"e_6s3orhl\",icon_x_white:\"UH5oS_q95\"};const useStateVariable=(externalState,setExternalState)=>{const[internalState,setInternalState]=React.useState(externalState);const[previousExternalState,setPreviousExternalState]=React.useState(externalState);if(setExternalState){return[externalState,setExternalState];}if(externalState!==previousExternalState){setInternalState(externalState);setPreviousExternalState(externalState);}return[internalState,setInternalState];};const getProps=({backgroundColor,badgeText,badgeVisible,bodyLgFormatedVisible,bodyLglFormatted,bodyMdTxt,bodyMdVisible,bullet01Icon,bullet01Link,bullet01Subtitle,bullet01Title,bullet01Visible,bullet02Icon,bullet02Link,bullet02Subtitle,bullet02Title,bullet02Visible,bullet03Icon,bullet03Link,bullet03Subtitle,bullet03Title,bullet03Visible,bullet04Icon,bullet04Link,bullet04Subtitle,bullet04Title,bullet04Visible,bullettsVisible,button01,button01Link,button01Text,button01Visible,button02,button02Link,button02Text,button02Visible,buttonsVisible,card01BodyLg,card01BodySm,card01BodyXl,card02Bodylg,card02BodySm,card02BodyXl,cardsVisible,cardTitle01,cardTitle02,customCodeVisible,height,heroSupportText,heroSupportVisible,id,image,imageBackground,imageBackgroundVisible,imageVisible,imgVidContentVisible,lotti,lottiVisible,sectionPadding,sectionTitle,titleIsH1,video,videoBackground,videoBackgroundVisible,videoVisible,width,youtubeUrl,youtubeVisible,...props})=>{return{...props,A7Wr69vWM:button01Text??props.A7Wr69vWM??\"button-01\",AKfxcOm6J:badgeVisible??props.AKfxcOm6J??true,B9Hm396Jz:button01Link??props.B9Hm396Jz,bJkgOuE_C:bullettsVisible??props.bJkgOuE_C??true,bnL4P1L3J:humanReadableEnumMap1[bullet01Icon]??bullet01Icon??props.bnL4P1L3J??\"uJInrNy52\",bPkLeET8t:heroSupportVisible??props.bPkLeET8t??true,BQtzri6Na:card02Bodylg??props.BQtzri6Na??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",CdbG7scPf:bullet01Visible??props.CdbG7scPf??true,cmiNBcx3x:button02Link??props.cmiNBcx3x,CQDWdueY0:video??props.CQDWdueY0??\"https://framerusercontent.com/assets/a3ZSY2fOWD3ZF3sZ3bOebs4E.mp4\",d6Y2eJ4bu:bodyLglFormatted??props.d6Y2eJ4bu??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{children:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. Phasellus non pulvinar lorem, maximus sollicitudin sapien. Donec in ante pretium, gravida neque quis, fringilla justo.\"})}),ds_2yg2TO:heroSupportText??props.ds_2yg2TO??\"Security that respects the employee experience.\",ecWyORxvF:youtubeVisible??props.ecWyORxvF??false,Efm4sIK7S:humanReadableEnumMap1[bullet04Icon]??bullet04Icon??props.Efm4sIK7S??\"MHqUCRNQJ\",eHTQIaLeW:bullet03Subtitle??props.eHTQIaLeW??\"bullet-03_subtitle\",eNzeZ5Kv9:backgroundColor??props.eNzeZ5Kv9??\"var(--token-c6a1aaf7-e0e9-4925-a1df-a1c3c465ef00, rgb(45, 40, 50))\",eOjL05c0F:bullet02Link??props.eOjL05c0F,G7QnJde1m:image??props.G7QnJde1m??{alt:\"Image\",pixelHeight:720,pixelWidth:1280,src:\"https://framerusercontent.com/images/ijlEnUA1lIZDEEm3YCnD29BB9v4.png?width=1280&height=720\"},gIev239jf:bullet03Title??props.gIev239jf??\"bullet-03_title\",GuzTtNRS2:buttonsVisible??props.GuzTtNRS2??true,hCtpOD1xj:cardTitle01??props.hCtpOD1xj??\"card-title\",ho8juLo33:cardsVisible??props.ho8juLo33??false,hsLkQrR_g:bullet04Subtitle??props.hsLkQrR_g??\"bullet-04_subtitle\",hvBqpGbyN:videoBackground??props.hvBqpGbyN??\"https://framerusercontent.com/assets/iBwV4LxQz0ibntwU1PLqV6zQdc.webm\",IJTUjJ_bW:bodyMdTxt??props.IJTUjJ_bW??\"smaller subtitle copy can live here.\",iKhQAIxer:humanReadableEnumMap[button01]??button01??props.iKhQAIxer??\"ks2j1jBYj\",IuWqFOi_u:card01BodyXl??props.IuWqFOi_u??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",JhUuTGDe7:videoVisible??props.JhUuTGDe7??true,k1QcA_pS9:humanReadableEnumMap1[bullet02Icon]??bullet02Icon??props.k1QcA_pS9??\"XfbXZJmGL\",k2Q46E4Xt:humanReadableEnumMap1[bullet03Icon]??bullet03Icon??props.k2Q46E4Xt??\"MHqUCRNQJ\",K4cXLEasa:card02BodySm??props.K4cXLEasa??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",KIZtDf5Hp:lottiVisible??props.KIZtDf5Hp??false,Lpwb32qwM:bullet03Visible??props.Lpwb32qwM??true,LxNNOLxs3:imgVidContentVisible??props.LxNNOLxs3??true,M7w_yxw7g:bullet04Visible??props.M7w_yxw7g??true,mSCQUrqd8:sectionTitle??props.mSCQUrqd8??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{dir:\"auto\",children:\"Etiam ullamcorper fermentum tellus, et tristique ex condimentum at.\"})}),MswCjnkg2:button02Visible??props.MswCjnkg2??true,n_XdGoax9:bodyMdVisible??props.n_XdGoax9??false,NAsiXfJCd:imageBackgroundVisible??props.NAsiXfJCd??true,nAtkx7m73:bullet04Link??props.nAtkx7m73,non2AbuLp:customCodeVisible??props.non2AbuLp??false,o2XN3Amyz:bullet01Link??props.o2XN3Amyz,qbCMR_sp9:bullet01Title??props.qbCMR_sp9??\"card-01_title\",qCHZ2y9vN:bullet02Title??props.qCHZ2y9vN??\"bullet-02_title\",qkO8JGMe_:bodyLgFormatedVisible??props.qkO8JGMe_??true,Rl5t8OdaJ:card02BodyXl??props.Rl5t8OdaJ??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",RQ53eHqUA:imageVisible??props.RQ53eHqUA??true,sMkxIFGED:card01BodySm??props.sMkxIFGED??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",TkBlsCqjZ:cardTitle02??props.TkBlsCqjZ??\"card-title\",TnzPcPJfV:button02Text??props.TnzPcPJfV??\"button-02\",tS4pw3eUb:bullet03Link??props.tS4pw3eUb,ubzxvbfFB:button01Visible??props.ubzxvbfFB??true,UD4qfpvlr:humanReadableEnumMap[button02]??button02??props.UD4qfpvlr??\"CchkYinf_\",uUlULHWmv:youtubeUrl??props.uUlULHWmv??\"https://youtu.be/GT0cq6BQnIo\",uZL7407DL:lotti??props.uZL7407DL??\"https://framerusercontent.com/assets/tRe0PYf1EJoQnnb3jbu4a8uu1gw.json\",UZZC8vKLE:bullet02Visible??props.UZZC8vKLE??true,variant:humanReadableVariantMap[props.variant]??props.variant??\"xEVVJWqwy\",VksC_ABRO:titleIsH1??props.VksC_ABRO??true,W44speNZ6:sectionPadding??props.W44speNZ6??\"80px 100px 80px 100px\",wK0lV95l2:bullet02Subtitle??props.wK0lV95l2??\"bullet-02_subtitle\",WQ_p_TEuK:card01BodyLg??props.WQ_p_TEuK??\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",xjhnHPQMV:badgeText??props.xjhnHPQMV??\"Badge\",YF2TSFjBT:imageBackground??props.YF2TSFjBT??{alt:\"\",pixelHeight:720,pixelWidth:1280,src:\"https://framerusercontent.com/images/ddnXWDtjNwtT6FNpfJ6gB1fZZ24.png?width=1280&height=720\",srcSet:\"https://framerusercontent.com/images/ddnXWDtjNwtT6FNpfJ6gB1fZZ24.png?scale-down-to=512&width=1280&height=720 512w,https://framerusercontent.com/images/ddnXWDtjNwtT6FNpfJ6gB1fZZ24.png?scale-down-to=1024&width=1280&height=720 1024w,https://framerusercontent.com/images/ddnXWDtjNwtT6FNpfJ6gB1fZZ24.png?width=1280&height=720 1280w\"},yVAz54mBh:bullet01Subtitle??props.yVAz54mBh??\"bullet-01_subtitle\",ZKzPd7elm:videoBackgroundVisible??props.ZKzPd7elm??true,ZmE00SgJB:bullet04Title??props.ZmE00SgJB??\"bullet-04_title\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,\"xjhnHPQMV\":externalxjhnHPQMV,\"onxjhnHPQMVChange\":setExternalxjhnHPQMV,AKfxcOm6J,VksC_ABRO,mSCQUrqd8,qkO8JGMe_,d6Y2eJ4bu,GuzTtNRS2,ubzxvbfFB,iKhQAIxer,\"A7Wr69vWM\":externalA7Wr69vWM,\"onA7Wr69vWMChange\":setExternalA7Wr69vWM,B9Hm396Jz,MswCjnkg2,UD4qfpvlr,\"TnzPcPJfV\":externalTnzPcPJfV,\"onTnzPcPJfVChange\":setExternalTnzPcPJfV,cmiNBcx3x,bJkgOuE_C,CdbG7scPf,bnL4P1L3J,qbCMR_sp9,yVAz54mBh,UZZC8vKLE,k1QcA_pS9,qCHZ2y9vN,wK0lV95l2,Lpwb32qwM,k2Q46E4Xt,gIev239jf,eHTQIaLeW,M7w_yxw7g,Efm4sIK7S,ZmE00SgJB,hsLkQrR_g,n_XdGoax9,IJTUjJ_bW,LxNNOLxs3,RQ53eHqUA,G7QnJde1m,JhUuTGDe7,CQDWdueY0,ecWyORxvF,uUlULHWmv,non2AbuLp,eNzeZ5Kv9,NAsiXfJCd,YF2TSFjBT,ZKzPd7elm,hvBqpGbyN,KIZtDf5Hp,uZL7407DL,ho8juLo33,\"hCtpOD1xj\":externalhCtpOD1xj,\"onhCtpOD1xjChange\":setExternalhCtpOD1xj,\"IuWqFOi_u\":externalIuWqFOi_u,\"onIuWqFOi_uChange\":setExternalIuWqFOi_u,\"WQ_p_TEuK\":externalWQ_p_TEuK,\"onWQ_p_TEuKChange\":setExternalWQ_p_TEuK,\"sMkxIFGED\":externalsMkxIFGED,\"onsMkxIFGEDChange\":setExternalsMkxIFGED,\"TkBlsCqjZ\":externalTkBlsCqjZ,\"onTkBlsCqjZChange\":setExternalTkBlsCqjZ,\"Rl5t8OdaJ\":externalRl5t8OdaJ,\"onRl5t8OdaJChange\":setExternalRl5t8OdaJ,\"BQtzri6Na\":externalBQtzri6Na,\"onBQtzri6NaChange\":setExternalBQtzri6Na,\"K4cXLEasa\":externalK4cXLEasa,\"onK4cXLEasaChange\":setExternalK4cXLEasa,W44speNZ6,bPkLeET8t,ds_2yg2TO,o2XN3Amyz,tS4pw3eUb,eOjL05c0F,nAtkx7m73,...restProps}=getProps(props);const[xjhnHPQMV,setxjhnHPQMV]=useStateVariable(externalxjhnHPQMV,setExternalxjhnHPQMV);const[A7Wr69vWM,setA7Wr69vWM]=useStateVariable(externalA7Wr69vWM,setExternalA7Wr69vWM);const[TnzPcPJfV,setTnzPcPJfV]=useStateVariable(externalTnzPcPJfV,setExternalTnzPcPJfV);const[hCtpOD1xj,sethCtpOD1xj]=useStateVariable(externalhCtpOD1xj,setExternalhCtpOD1xj);const[IuWqFOi_u,setIuWqFOi_u]=useStateVariable(externalIuWqFOi_u,setExternalIuWqFOi_u);const[WQ_p_TEuK,setWQ_p_TEuK]=useStateVariable(externalWQ_p_TEuK,setExternalWQ_p_TEuK);const[sMkxIFGED,setsMkxIFGED]=useStateVariable(externalsMkxIFGED,setExternalsMkxIFGED);const[TkBlsCqjZ,setTkBlsCqjZ]=useStateVariable(externalTkBlsCqjZ,setExternalTkBlsCqjZ);const[Rl5t8OdaJ,setRl5t8OdaJ]=useStateVariable(externalRl5t8OdaJ,setExternalRl5t8OdaJ);const[BQtzri6Na,setBQtzri6Na]=useStateVariable(externalBQtzri6Na,setExternalBQtzri6Na);const[K4cXLEasa,setK4cXLEasa]=useStateVariable(externalK4cXLEasa,setExternalK4cXLEasa);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"xEVVJWqwy\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.className,sharedStyle5.className,sharedStyle6.className,sharedStyle7.className,sharedStyle8.className,sharedStyle9.className,sharedStyle10.className,sharedStyle11.className,sharedStyle12.className,sharedStyle13.className,sharedStyle14.className,sharedStyle15.className,sharedStyle16.className,sharedStyle17.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const visible=negate(VksC_ABRO);const visible1=isSet(yVAz54mBh);const visible2=isSet(wK0lV95l2);const visible3=isSet(eHTQIaLeW);const visible4=isSet(hsLkQrR_g);const parsedPadding=typeof W44speNZ6===\"string\"?parsePaddingString(W44speNZ6):{top:W44speNZ6,right:W44speNZ6,bottom:W44speNZ6,left:W44speNZ6};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-6csom0\",className,classNames),\"data-framer-name\":\"desktop-dark\",layoutDependency:layoutDependency,layoutId:\"xEVVJWqwy\",ref:refBinding,style:{\"--ih39lq\":numberToPixelString(W44speNZ6),backgroundColor:eNzeZ5Kv9,...style},...addPropertyOverrides({HNzce3mHX:{\"data-framer-name\":\"desktop-dark_bullets-center\"},IR8Y7AhFt:{\"data-framer-name\":\"phone-dark\"},qBCWLpQXU:{\"data-framer-name\":\"tablet-dark_bullets-center\"},Vq5A73Q2x:{\"data-framer-name\":\"tablet-dark\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-oikiye\",\"data-framer-name\":\"wrap-inner\",layoutDependency:layoutDependency,layoutId:\"mmkWFlHu8\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-14uh3gr\",\"data-framer-name\":\"block-vert\",layoutDependency:layoutDependency,layoutId:\"QGSjiMoWV\",children:[AKfxcOm6J!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:39,...addPropertyOverrides({IR8Y7AhFt:{y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+387.25+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1p8h2ga-container\",layoutDependency:layoutDependency,layoutId:\"fbPBN4yvs-container\",nodeId:\"fbPBN4yvs\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(Badge,{height:\"100%\",id:\"fbPBN4yvs\",layoutId:\"fbPBN4yvs\",nwDKgX8cD:xjhnHPQMV,onnwDKgX8cDChange:setxjhnHPQMV,variant:matchVariant(\"bQR0h78j0\"),width:\"100%\",...addPropertyOverrides({IR8Y7AhFt:{variant:matchVariant(\"rdGq9aA12\")}},baseVariant,gestureVariant)})})}),VksC_ABRO!==false&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:mSCQUrqd8,className:\"framer-sacwhm\",\"data-framer-name\":\"section-title (h1)\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"I2DTRIV2d\",style:{\"--extracted-gdpscs\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},stylesPresetsClassNames:{h1:\"framer-styles-preset-10ds29k\",h2:\"framer-styles-preset-blzh5v\",h3:\"framer-styles-preset-11l8z3x\",h4:\"framer-styles-preset-qf7brn\",h5:\"framer-styles-preset-lh1iho\",h6:\"framer-styles-preset-havtb7\",p:\"framer-styles-preset-5ex2gn\"},verticalAlignment:\"top\",withExternalLayout:true})}),visible!==false&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:mSCQUrqd8,className:\"framer-1uio3cn\",\"data-framer-name\":\"section-title\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"uld3amUTZ\",style:{\"--extracted-gdpscs\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},stylesPresetsClassNames:{h1:\"framer-styles-preset-16hxntu\",h2:\"framer-styles-preset-blzh5v\",h3:\"framer-styles-preset-11l8z3x\",h4:\"framer-styles-preset-qf7brn\",h5:\"framer-styles-preset-lh1iho\",h6:\"framer-styles-preset-havtb7\",p:\"framer-styles-preset-5ex2gn\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-19dnzhc\",\"data-framer-name\":\"block-horz\",layoutDependency:layoutDependency,layoutId:\"Vx9u4HMeg\",children:[qkO8JGMe_!==false&&/*#__PURE__*/_jsx(ComponentPresetsProvider,{presets:{\"module:NEd4VmDdsxM3StIUbddO/pRRgk0dcN3gDaE0WpAE7/YouTube.js:Youtube\":componentPresets.props[\"tZoi8j77L\"],\"module:pVk4QsoHxASnVtUBp6jr/ttReBBOK4JjO79S16uu9/CodeBlock.js:default\":componentPresets.props[\"VHP8RLhSd\"]},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:d6Y2eJ4bu,className:\"framer-1wak91e\",\"data-framer-name\":\"body-xl\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"UTV5rDn8a\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\"},stylesPresetsClassNames:{a:\"framer-styles-preset-c4sfg6\",blockquote:\"framer-styles-preset-1pglauc\",code:\"framer-styles-preset-17l7ulz\",h1:\"framer-styles-preset-azpqf2\",h2:\"framer-styles-preset-1hvfxxg\",h3:\"framer-styles-preset-h9me8o\",h4:\"framer-styles-preset-tzrded\",h5:\"framer-styles-preset-16nefmm\",h6:\"framer-styles-preset-1ww1u09\",img:\"framer-styles-preset-8xtffs\",p:\"framer-styles-preset-1nody6m\",table:\"framer-styles-preset-15uxu15\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({IR8Y7AhFt:{stylesPresetsClassNames:{a:\"framer-styles-preset-c4sfg6\",blockquote:\"framer-styles-preset-1pglauc\",code:\"framer-styles-preset-17l7ulz\",h1:\"framer-styles-preset-azpqf2\",h2:\"framer-styles-preset-1hvfxxg\",h3:\"framer-styles-preset-h9me8o\",h4:\"framer-styles-preset-tzrded\",h5:\"framer-styles-preset-16nefmm\",h6:\"framer-styles-preset-1ww1u09\",img:\"framer-styles-preset-8xtffs\",p:\"framer-styles-preset-whblcr\",table:\"framer-styles-preset-15uxu15\"}}},baseVariant,gestureVariant)})}),bJkgOuE_C!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1woimsc\",\"data-framer-name\":\"bullets\",layoutDependency:layoutDependency,layoutId:\"JDAZXebWm\",children:[CdbG7scPf!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1uv2fi6\",\"data-framer-name\":\"card-01\",layoutDependency:layoutDependency,layoutId:\"EPi2ZMUAD\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,width:\"40px\",...addPropertyOverrides({IR8Y7AhFt:{y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+387.25+0+0+0+0+0+0+128}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1bzdd1q-container\",layoutDependency:layoutDependency,layoutId:\"JXY0mrgJa-container\",nodeId:\"JXY0mrgJa\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(AmplifierIcons,{height:\"100%\",id:\"JXY0mrgJa\",layoutId:\"JXY0mrgJa\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(bnL4P1L3J),width:\"100%\"})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-me0drw\",\"data-framer-name\":\"test\",layoutDependency:layoutDependency,layoutId:\"Lr1NMgBGk\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:o2XN3Amyz,motionChild:true,nodeId:\"TU7O494Br\",openInNewTab:false,relValues:[],scopeId:\"DZ7pk_cf9\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-tkpcda\",\"data-styles-preset\":\"HlS_BtsC6\",children:\"card-01_title\"})})})}),className:\"framer-1qbpf7q\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"TU7O494Br\",text:qbCMR_sp9,verticalAlignment:\"top\",withExternalLayout:true}),visible1!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-12rogoz\",\"data-styles-preset\":\"bZjvY4Jyh\",dir:\"auto\",children:\"Detection tools surface the issue\"})}),className:\"framer-5zi3fb\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"VzYM7E8g0\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:yVAz54mBh,verticalAlignment:\"top\",withExternalLayout:true})]})]}),UZZC8vKLE!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1s6mwgn\",\"data-framer-name\":\"card-02\",layoutDependency:layoutDependency,layoutId:\"doTLBzPdw\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,width:\"40px\",...addPropertyOverrides({IR8Y7AhFt:{y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+387.25+0+0+0+0+0+0+114}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-b3htdm-container\",layoutDependency:layoutDependency,layoutId:\"OJcvBkTOk-container\",nodeId:\"OJcvBkTOk\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(AmplifierIcons,{height:\"100%\",id:\"OJcvBkTOk\",layoutId:\"OJcvBkTOk\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(k1QcA_pS9),width:\"100%\"})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-k9youz\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"zt_yqaT_L\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:eOjL05c0F,motionChild:true,nodeId:\"Q7YkEcuBx\",openInNewTab:false,relValues:[],scopeId:\"DZ7pk_cf9\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-tkpcda\",\"data-styles-preset\":\"HlS_BtsC6\",children:\"bullet-02_title\"})})})}),className:\"framer-1d3j3j1\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Q7YkEcuBx\",text:qCHZ2y9vN,verticalAlignment:\"top\",withExternalLayout:true}),visible2!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-kud0c2\",\"data-styles-preset\":\"eY3OZXJ1D\",dir:\"auto\",children:\"A ticket gets thrown over the fence\"})}),className:\"framer-1l9kmm4\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"YSAbdEyZW\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:wK0lV95l2,verticalAlignment:\"top\",withExternalLayout:true})]})]}),Lpwb32qwM!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1fg3kpk\",\"data-framer-name\":\"card-03\",layoutDependency:layoutDependency,layoutId:\"cMR9V4WMi\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,width:\"40px\",...addPropertyOverrides({IR8Y7AhFt:{y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+387.25+0+0+0+0+0+0+114}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-jl5xnx-container\",layoutDependency:layoutDependency,layoutId:\"s6oEDsnid-container\",nodeId:\"s6oEDsnid\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(AmplifierIcons,{height:\"100%\",id:\"s6oEDsnid\",layoutId:\"s6oEDsnid\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(k2Q46E4Xt),width:\"100%\"})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ie8mlv\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"vMUAYCIWZ\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:tS4pw3eUb,motionChild:true,nodeId:\"suPqqpeOz\",openInNewTab:false,relValues:[],scopeId:\"DZ7pk_cf9\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-tkpcda\",\"data-styles-preset\":\"HlS_BtsC6\",children:\"bullet-03_title\"})})})}),className:\"framer-1p87f5g\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"suPqqpeOz\",text:gIev239jf,verticalAlignment:\"top\",withExternalLayout:true}),visible3!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-kud0c2\",\"data-styles-preset\":\"eY3OZXJ1D\",dir:\"auto\",children:\"It sits in a queue, owner unknown\"})}),className:\"framer-qdl75r\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"PO643x_D4\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:eHTQIaLeW,verticalAlignment:\"top\",withExternalLayout:true})]})]}),M7w_yxw7g!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-mi8iu2\",\"data-framer-name\":\"card-04\",layoutDependency:layoutDependency,layoutId:\"tHvOyi7HT\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,width:\"40px\",...addPropertyOverrides({IR8Y7AhFt:{y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+387.25+0+0+0+0+0+0+128}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-113ut0c-container\",layoutDependency:layoutDependency,layoutId:\"NhA10BA2D-container\",nodeId:\"NhA10BA2D\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(AmplifierIcons,{height:\"100%\",id:\"NhA10BA2D\",layoutId:\"NhA10BA2D\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(Efm4sIK7S),width:\"100%\"})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-osflwp\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"cCpaP3xNF\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1nody6m\",\"data-styles-preset\":\"ANv8J5ofT\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:nAtkx7m73,motionChild:true,nodeId:\"kXerK7Phy\",openInNewTab:false,relValues:[],scopeId:\"DZ7pk_cf9\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-tkpcda\",\"data-styles-preset\":\"HlS_BtsC6\",children:\"bullet-04_title\"})})})}),className:\"framer-1i27pha\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"kXerK7Phy\",text:ZmE00SgJB,verticalAlignment:\"top\",withExternalLayout:true}),visible4!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-12rogoz\",\"data-styles-preset\":\"bZjvY4Jyh\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:\"SLAs slip. The next scan finds the same thing.\"})}),className:\"framer-1km0vad\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"pvBPrnxWd\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:hsLkQrR_g,verticalAlignment:\"top\",withExternalLayout:true})]})]})]}),n_XdGoax9!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255)))\"},children:\"smaller subtitle copy can live here.\"})}),className:\"framer-1bwmf90\",\"data-framer-name\":\"body-md\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"WJ08LYh1K\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73, rgb(255, 255, 255))\",\"--framer-paragraph-spacing\":\"0px\"},text:IJTUjJ_bW,verticalAlignment:\"top\",withExternalLayout:true})]}),GuzTtNRS2!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-y7yuxj\",\"data-framer-name\":\"buttons\",layoutDependency:layoutDependency,layoutId:\"LRtv4_i3m\",children:[ubzxvbfFB!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:62,...addPropertyOverrides({IR8Y7AhFt:{y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+387.25+0+1269+0+102}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-11m63zt-container\",layoutDependency:layoutDependency,layoutId:\"K9uoKVFWz-container\",nodeId:\"K9uoKVFWz\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(Button,{bnzIwr4Yu:false,bQ_0TxDfY:B9Hm396Jz,CkKunZf5l:A7Wr69vWM,height:\"100%\",id:\"K9uoKVFWz\",layoutId:\"K9uoKVFWz\",onCkKunZf5lChange:setA7Wr69vWM,variant:matchVariant(iKhQAIxer),width:\"100%\"})})}),MswCjnkg2!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:62,...addPropertyOverrides({IR8Y7AhFt:{y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+387.25+0+1269+0+102}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-95m659-container\",layoutDependency:layoutDependency,layoutId:\"ATzyPbviQ-container\",nodeId:\"ATzyPbviQ\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(Button,{bnzIwr4Yu:false,bQ_0TxDfY:cmiNBcx3x,CkKunZf5l:TnzPcPJfV,height:\"100%\",id:\"ATzyPbviQ\",layoutId:\"ATzyPbviQ\",onCkKunZf5lChange:setTnzPcPJfV,variant:matchVariant(UD4qfpvlr),width:\"100%\"})})})]}),bPkLeET8t!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44a08502-d08f-4b11-a001-4a8dad370e73))\"},children:\"Hero Support Text\"})}),className:\"framer-p4upfm\",\"data-framer-name\":\"hero support text\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"heZY90FzG\",style:{\"--extracted-r6o4lv\":\"var(--token-44a08502-d08f-4b11-a001-4a8dad370e73)\"},text:ds_2yg2TO,verticalAlignment:\"top\",withExternalLayout:true})]}),LxNNOLxs3!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1kjt7st\",\"data-framer-name\":\"cell\",layoutDependency:layoutDependency,layoutId:\"SuepFqsc4\",children:[RQ53eHqUA!==false&&/*#__PURE__*/_jsx(Image1WithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation,background:{alt:\"Image\",fit:\"fill\",intrinsicHeight:2160,intrinsicWidth:3840,pixelHeight:720,pixelWidth:1280,sizes:`min(${componentViewport?.width||\"100vw\"} - ${(parsedPadding?.left??0)+(parsedPadding?.right??0)}px, 1200px)`,...toResponsiveImage(G7QnJde1m)},className:\"framer-1u5d65h\",\"data-framer-appear-id\":\"1u5d65h\",\"data-framer-name\":\"image\",fitImageDimension:\"height\",initial:animation1,layoutDependency:layoutDependency,layoutId:\"mHmtwpBxA\",optimized:true,style:{borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20},...addPropertyOverrides({IR8Y7AhFt:{background:{alt:\"Image\",fit:\"fill\",intrinsicHeight:2160,intrinsicWidth:3840,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+2133.45+0+0),pixelHeight:720,pixelWidth:1280,sizes:`min(${componentViewport?.width||\"100vw\"} - 40px, 1200px)`,...toResponsiveImage(G7QnJde1m)}}},baseVariant,gestureVariant)}),JhUuTGDe7!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-koagmm-container\",\"data-framer-name\":\"video\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"OWnkIqpMs-container\",name:\"video\",nodeId:\"OWnkIqpMs\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(Video,{backgroundColor:\"rgba(0, 0, 0, 0)\",borderRadius:20,bottomLeftRadius:20,bottomRightRadius:20,controls:false,height:\"100%\",id:\"OWnkIqpMs\",isMixedBorderRadius:false,layoutId:\"OWnkIqpMs\",loop:true,muted:true,name:\"video\",objectFit:\"cover\",playing:true,posterEnabled:false,srcFile:CQDWdueY0,srcType:\"Upload\",srcUrl:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",startTime:0,style:{width:\"100%\"},topLeftRadius:20,topRightRadius:20,volume:25,width:\"100%\"})})}),ecWyORxvF!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-zbgi13-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"LAbbhmB1N-container\",nodeId:\"LAbbhmB1N\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(YouTube,{borderRadius:20,bottomLeftRadius:20,bottomRightRadius:20,boxShadow:\"\",height:\"100%\",id:\"LAbbhmB1N\",isMixedBorderRadius:false,isRed:true,layoutId:\"LAbbhmB1N\",play:\"Off\",shouldMute:true,style:{height:\"100%\",width:\"100%\"},thumbnail:\"Medium Quality\",topLeftRadius:20,topRightRadius:20,url:uUlULHWmv,width:\"100%\"})})}),non2AbuLp!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-3mkdcp-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"DIWM0IPOG-container\",nodeId:\"DIWM0IPOG\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(AmplifierTracksChatPlayer,{accentColor:\"var(--token-962b7910-5122-423e-b55c-3a123eb1efb2, rgb(124, 77, 255))\",autoPlay:true,avatarUrl:\"https://framerusercontent.com/images/4sN7KFgKZdc1xVNQAVaxIfolpU.png?scale-down-to=512&width=1080&height=835\",height:\"100%\",id:\"DIWM0IPOG\",layoutId:\"DIWM0IPOG\",loop:false,maxVisible:8,messageDelaySec:1.8,minWidth:960,showTimestamp:true,sidebarRatio:.29,simulateClick:true,simulateClickLabel:\"\",startIndex:0,style:{width:\"100%\"},width:\"100%\"})})})]}),ho8juLo33!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-18vufdv\",\"data-framer-name\":\"grid-02\",layoutDependency:layoutDependency,layoutId:\"YBFDu618h\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:760,width:`max((min(${componentViewport?.width||\"100vw\"} - ${(parsedPadding?.left??0)+(parsedPadding?.right??0)}px, 1200px) - 40px) / 2, 50px)`,...addPropertyOverrides({IR8Y7AhFt:{width:`max(min(${componentViewport?.width||\"100vw\"} - 40px, 1200px), 50px)`,y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+2133.45+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-lf3xtz-container\",layoutDependency:layoutDependency,layoutId:\"bjbeeC_gI-container\",nodeId:\"bjbeeC_gI\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(GhCard01,{height:\"100%\",HvYTWSsqa:hCtpOD1xj,id:\"bjbeeC_gI\",jAkL7xWKA:WQ_p_TEuK,JcsylJBWb:IuWqFOi_u,layoutId:\"bjbeeC_gI\",onHvYTWSsqaChange:sethCtpOD1xj,onjAkL7xWKAChange:setWQ_p_TEuK,onJcsylJBWbChange:setIuWqFOi_u,onRQXH9g81tChange:setsMkxIFGED,RQXH9g81t:sMkxIFGED,style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"ppSGacw5I\"),width:\"100%\",...addPropertyOverrides({IR8Y7AhFt:{variant:matchVariant(\"OOqcP0DQx\")},qBCWLpQXU:{variant:matchVariant(\"OOqcP0DQx\")},Vq5A73Q2x:{variant:matchVariant(\"OOqcP0DQx\")}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:760,width:`max((min(${componentViewport?.width||\"100vw\"} - ${(parsedPadding?.left??0)+(parsedPadding?.right??0)}px, 1200px) - 40px) / 2, 50px)`,...addPropertyOverrides({IR8Y7AhFt:{width:`max(min(${componentViewport?.width||\"100vw\"} - 40px, 1200px), 50px)`,y:(componentViewport?.y||0)+40+(((componentViewport?.height||200)-80-2460.7)/2+0+0)+0+2133.45+0+800}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1esz6k9-container\",layoutDependency:layoutDependency,layoutId:\"O9IIF4VgP-container\",nodeId:\"O9IIF4VgP\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",children:/*#__PURE__*/_jsx(GhCard01,{height:\"100%\",HvYTWSsqa:TkBlsCqjZ,id:\"O9IIF4VgP\",jAkL7xWKA:BQtzri6Na,JcsylJBWb:Rl5t8OdaJ,layoutId:\"O9IIF4VgP\",onHvYTWSsqaChange:setTkBlsCqjZ,onjAkL7xWKAChange:setBQtzri6Na,onJcsylJBWbChange:setRl5t8OdaJ,onRQXH9g81tChange:setK4cXLEasa,RQXH9g81t:K4cXLEasa,style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"ppSGacw5I\"),width:\"100%\",...addPropertyOverrides({IR8Y7AhFt:{variant:matchVariant(\"OOqcP0DQx\")},qBCWLpQXU:{variant:matchVariant(\"OOqcP0DQx\")},Vq5A73Q2x:{variant:matchVariant(\"OOqcP0DQx\")}},baseVariant,gestureVariant)})})})]})]}),ZKzPd7elm!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1uapth4-container\",\"data-framer-name\":\"video\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"zpcJbcfcH-container\",name:\"video\",nodeId:\"zpcJbcfcH\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",style:{mask:\"linear-gradient(0deg, rgba(0,0,0,0) 3%, rgba(0,0,0,1) 85.74042792792793%) add\",WebkitMask:\"linear-gradient(0deg, rgba(0,0,0,0) 3%, rgba(0,0,0,1) 85.74042792792793%) add\"},children:/*#__PURE__*/_jsx(Video,{backgroundColor:\"rgba(0, 0, 0, 0)\",borderRadius:0,bottomLeftRadius:0,bottomRightRadius:0,controls:false,height:\"100%\",id:\"zpcJbcfcH\",isMixedBorderRadius:false,layoutId:\"zpcJbcfcH\",loop:true,muted:true,name:\"video\",objectFit:\"cover\",playing:true,posterEnabled:true,srcFile:hvBqpGbyN,srcType:\"Upload\",srcUrl:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",startTime:0,style:{height:\"100%\",width:\"100%\"},topLeftRadius:0,topRightRadius:0,volume:25,width:\"100%\"})})}),NAsiXfJCd!==false&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:720,intrinsicWidth:1280,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:720,pixelWidth:1280,sizes:componentViewport?.width||\"100vw\",...toResponsiveImage(YF2TSFjBT)},className:\"framer-1bdkt8b\",\"data-framer-name\":\"hero-image\",layoutDependency:layoutDependency,layoutId:\"VMv8wH3Mo\",style:{mask:\"linear-gradient(0deg, rgba(0,0,0,0) 3%, rgba(0,0,0,1) 93%) add\",WebkitMask:\"linear-gradient(0deg, rgba(0,0,0,0) 3%, rgba(0,0,0,1) 93%) add\"}}),KIZtDf5Hp!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1gnwrgx-container\",\"data-framer-name\":\"lottie\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"QsXFsRdq8-container\",name:\"lottie\",nodeId:\"QsXFsRdq8\",rendersWithMotion:true,scopeId:\"DZ7pk_cf9\",style:{opacity:.3},children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"QsXFsRdq8\",isForwardsDirection:true,layoutId:\"QsXFsRdq8\",loop:true,name:\"lottie\",pauseOnCanvas:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:uZL7407DL,srcType:\"Upload\",srcUrl:\"\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\".framer-lKijC.framer-gahxay, .framer-lKijC .framer-gahxay { display: block; }\",\".framer-lKijC.framer-6csom0 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 80px; height: min-content; justify-content: center; overflow: visible; padding: var(--ih39lq); position: relative; width: 1200px; }\",\".framer-lKijC .framer-oikiye { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; max-width: 1200px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-lKijC .framer-14uh3gr { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 25px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-lKijC .framer-1p8h2ga-container, .framer-lKijC .framer-11m63zt-container, .framer-lKijC .framer-95m659-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-lKijC .framer-sacwhm, .framer-lKijC .framer-1uio3cn, .framer-lKijC .framer-1qbpf7q, .framer-lKijC .framer-5zi3fb, .framer-lKijC .framer-1d3j3j1, .framer-lKijC .framer-1l9kmm4, .framer-lKijC .framer-1p87f5g, .framer-lKijC .framer-qdl75r, .framer-lKijC .framer-1i27pha, .framer-lKijC .framer-1km0vad { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-lKijC .framer-19dnzhc { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-lKijC .framer-1wak91e { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-lKijC .framer-1woimsc { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-lKijC .framer-1uv2fi6, .framer-lKijC .framer-1s6mwgn, .framer-lKijC .framer-1fg3kpk, .framer-lKijC .framer-mi8iu2 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-lKijC .framer-1bzdd1q-container, .framer-lKijC .framer-b3htdm-container, .framer-lKijC .framer-jl5xnx-container, .framer-lKijC .framer-113ut0c-container { aspect-ratio: 1 / 1; flex: none; height: auto; position: relative; width: 40px; }\",\".framer-lKijC .framer-me0drw, .framer-lKijC .framer-k9youz, .framer-lKijC .framer-1ie8mlv, .framer-lKijC .framer-osflwp { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1px; }\",\".framer-lKijC .framer-1bwmf90 { flex: 1 0 0px; height: auto; max-width: 600px; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-lKijC .framer-y7yuxj { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-lKijC .framer-p4upfm { flex: none; height: auto; max-width: 600px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-lKijC .framer-1kjt7st { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: flex-start; max-width: 1200px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-lKijC .framer-1u5d65h { flex: none; height: auto; overflow: visible; position: relative; width: 100%; }\",\".framer-lKijC .framer-koagmm-container, .framer-lKijC .framer-3mkdcp-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-lKijC .framer-zbgi13-container { aspect-ratio: 1.9857142857142858 / 1; flex: none; height: auto; position: relative; width: 100%; }\",\".framer-lKijC .framer-18vufdv { display: grid; flex: none; gap: 40px 40px; grid-auto-rows: min-content; grid-template-columns: repeat(2, minmax(50px, 1fr)); grid-template-rows: repeat(1, min-content); height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-lKijC .framer-lf3xtz-container, .framer-lKijC .framer-1esz6k9-container { align-self: start; flex: none; height: 100%; justify-self: start; position: relative; width: 100%; }\",\".framer-lKijC .framer-1uapth4-container, .framer-lKijC .framer-1bdkt8b { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); position: absolute; top: 0px; width: 100%; z-index: 0; }\",\".framer-lKijC .framer-1gnwrgx-container { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); left: calc(50.00000000000002% - 100% / 2); position: absolute; top: calc(86.56550703182829% - 100vh / 2); width: 100%; z-index: 0; }\",\".framer-lKijC.framer-v-1ives92.framer-6csom0, .framer-lKijC.framer-v-1ojkkzu.framer-6csom0 { gap: 0px; width: 810px; }\",\".framer-lKijC.framer-v-y4gufg.framer-6csom0 { padding: 40px 20px 40px 20px; width: 390px; }\",\".framer-lKijC.framer-v-y4gufg .framer-oikiye { gap: 60px; }\",\".framer-lKijC.framer-v-y4gufg .framer-19dnzhc { flex-direction: column; }\",\".framer-lKijC.framer-v-y4gufg .framer-1wak91e, .framer-lKijC.framer-v-y4gufg .framer-1woimsc { flex: none; width: 100%; }\",\".framer-lKijC.framer-v-y4gufg .framer-1bwmf90 { flex: none; max-width: unset; width: 100%; }\",\".framer-lKijC.framer-v-y4gufg .framer-y7yuxj { flex-direction: column; justify-content: center; width: 100%; }\",\".framer-lKijC.framer-v-y4gufg .framer-18vufdv { grid-template-columns: repeat(1, minmax(50px, 1fr)); }\",\".framer-lKijC.framer-v-1ojkkzu .framer-19dnzhc { align-content: center; align-items: center; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css,...sharedStyle5.css,...sharedStyle6.css,...sharedStyle7.css,...sharedStyle8.css,...sharedStyle9.css,...sharedStyle10.css,...sharedStyle11.css,...sharedStyle12.css,...sharedStyle13.css,...sharedStyle14.css,...sharedStyle15.css,...sharedStyle16.css,...sharedStyle17.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1968\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"Vq5A73Q2x\":{\"layout\":[\"fixed\",\"auto\"]},\"IR8Y7AhFt\":{\"layout\":[\"fixed\",\"auto\"]},\"HNzce3mHX\":{\"layout\":[\"fixed\",\"auto\"]},\"qBCWLpQXU\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"xjhnHPQMV\":\"badgeText\",\"AKfxcOm6J\":\"badgeVisible\",\"VksC_ABRO\":\"titleIsH1\",\"mSCQUrqd8\":\"sectionTitle\",\"qkO8JGMe_\":\"bodyLgFormatedVisible\",\"d6Y2eJ4bu\":\"bodyLglFormatted\",\"GuzTtNRS2\":\"buttonsVisible\",\"ubzxvbfFB\":\"button01Visible\",\"iKhQAIxer\":\"button01\",\"A7Wr69vWM\":\"button01Text\",\"B9Hm396Jz\":\"button01Link\",\"MswCjnkg2\":\"button02Visible\",\"UD4qfpvlr\":\"button02\",\"TnzPcPJfV\":\"button02Text\",\"cmiNBcx3x\":\"button02Link\",\"bJkgOuE_C\":\"bullettsVisible\",\"CdbG7scPf\":\"bullet01Visible\",\"bnL4P1L3J\":\"bullet01Icon\",\"qbCMR_sp9\":\"bullet01Title\",\"yVAz54mBh\":\"bullet01Subtitle\",\"UZZC8vKLE\":\"bullet02Visible\",\"k1QcA_pS9\":\"bullet02Icon\",\"qCHZ2y9vN\":\"bullet02Title\",\"wK0lV95l2\":\"bullet02Subtitle\",\"Lpwb32qwM\":\"bullet03Visible\",\"k2Q46E4Xt\":\"bullet03Icon\",\"gIev239jf\":\"bullet03Title\",\"eHTQIaLeW\":\"bullet03Subtitle\",\"M7w_yxw7g\":\"bullet04Visible\",\"Efm4sIK7S\":\"bullet04Icon\",\"ZmE00SgJB\":\"bullet04Title\",\"hsLkQrR_g\":\"bullet04Subtitle\",\"n_XdGoax9\":\"bodyMdVisible\",\"IJTUjJ_bW\":\"bodyMdTxt\",\"LxNNOLxs3\":\"imgVidContentVisible\",\"RQ53eHqUA\":\"imageVisible\",\"G7QnJde1m\":\"image\",\"JhUuTGDe7\":\"videoVisible\",\"CQDWdueY0\":\"video\",\"ecWyORxvF\":\"youtubeVisible\",\"uUlULHWmv\":\"youtubeUrl\",\"non2AbuLp\":\"customCodeVisible\",\"eNzeZ5Kv9\":\"backgroundColor\",\"NAsiXfJCd\":\"imageBackgroundVisible\",\"YF2TSFjBT\":\"imageBackground\",\"ZKzPd7elm\":\"videoBackgroundVisible\",\"hvBqpGbyN\":\"videoBackground\",\"KIZtDf5Hp\":\"lottiVisible\",\"uZL7407DL\":\"lotti\",\"ho8juLo33\":\"cardsVisible\",\"hCtpOD1xj\":\"cardTitle01\",\"IuWqFOi_u\":\"card01BodyXl\",\"WQ_p_TEuK\":\"card01BodyLg\",\"sMkxIFGED\":\"card01BodySm\",\"TkBlsCqjZ\":\"cardTitle02\",\"Rl5t8OdaJ\":\"card02BodyXl\",\"BQtzri6Na\":\"card02Bodylg\",\"K4cXLEasa\":\"card02BodySm\",\"W44speNZ6\":\"sectionPadding\",\"bPkLeET8t\":\"heroSupportVisible\",\"ds_2yg2TO\":\"heroSupportText\",\"o2XN3Amyz\":\"bullet01Link\",\"tS4pw3eUb\":\"bullet03Link\",\"eOjL05c0F\":\"bullet02Link\",\"nAtkx7m73\":\"bullet04Link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerDZ7pk_cf9=withCSS(Component,css,\"framer-lKijC\");export default FramerDZ7pk_cf9;FramerDZ7pk_cf9.displayName=\"section-04\";FramerDZ7pk_cf9.defaultProps={height:1968,width:1200};addPropertyControls(FramerDZ7pk_cf9,{variant:{options:[\"xEVVJWqwy\",\"Vq5A73Q2x\",\"IR8Y7AhFt\",\"HNzce3mHX\",\"qBCWLpQXU\"],optionTitles:[\"desktop-dark\",\"tablet-dark\",\"phone-dark\",\"desktop-dark_bullets-center\",\"tablet-dark_bullets-center\"],title:\"Variant\",type:ControlType.Enum},xjhnHPQMV:{defaultValue:\"Badge\",displayTextArea:false,placeholder:\"\",title:\"badge-text\",type:ControlType.String},onxjhnHPQMVChange:{changes:\"xjhnHPQMV\",type:ControlType.ChangeHandler},AKfxcOm6J:{defaultValue:true,title:\"badge_visible\",type:ControlType.Boolean},onAKfxcOm6JChange:{changes:\"AKfxcOm6J\",type:ControlType.ChangeHandler},VksC_ABRO:{defaultValue:true,title:\"Title Is H1\",type:ControlType.Boolean},onVksC_ABROChange:{changes:\"VksC_ABRO\",type:ControlType.ChangeHandler},mSCQUrqd8:{defaultValue:'<h1 dir=\"auto\">Etiam ullamcorper fermentum tellus, et tristique ex condimentum at.</h1>',title:\"section-title\",type:ControlType.RichText},qkO8JGMe_:{defaultValue:true,title:\"body-lg_formated_visible\",type:ControlType.Boolean},onqkO8JGMe_Change:{changes:\"qkO8JGMe_\",type:ControlType.ChangeHandler},d6Y2eJ4bu:{defaultValue:\"<p>Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. Phasellus non pulvinar lorem, maximus sollicitudin sapien. Donec in ante pretium, gravida neque quis, fringilla justo.</p>\",title:\"body-lgl_formatted\",type:ControlType.RichText},GuzTtNRS2:{defaultValue:true,title:\"buttons_visible\",type:ControlType.Boolean},onGuzTtNRS2Change:{changes:\"GuzTtNRS2\",type:ControlType.ChangeHandler},ubzxvbfFB:{defaultValue:true,title:\"button-01_visible\",type:ControlType.Boolean},onubzxvbfFBChange:{changes:\"ubzxvbfFB\",type:ControlType.ChangeHandler},iKhQAIxer:ButtonControls?.[\"variant\"]&&{...ButtonControls[\"variant\"],defaultValue:\"ks2j1jBYj\",description:undefined,hidden:undefined,optional:undefined,title:\"button-01\"},oniKhQAIxerChange:{changes:\"iKhQAIxer\",type:ControlType.ChangeHandler},A7Wr69vWM:{defaultValue:\"button-01\",displayTextArea:false,title:\"button-01_text\",type:ControlType.String},onA7Wr69vWMChange:{changes:\"A7Wr69vWM\",type:ControlType.ChangeHandler},B9Hm396Jz:{title:\"button-01_link\",type:ControlType.Link},MswCjnkg2:{defaultValue:true,title:\"button-02_visible\",type:ControlType.Boolean},onMswCjnkg2Change:{changes:\"MswCjnkg2\",type:ControlType.ChangeHandler},UD4qfpvlr:ButtonControls?.[\"variant\"]&&{...ButtonControls[\"variant\"],defaultValue:\"CchkYinf_\",description:undefined,hidden:undefined,optional:undefined,title:\"button-02\"},onUD4qfpvlrChange:{changes:\"UD4qfpvlr\",type:ControlType.ChangeHandler},TnzPcPJfV:{defaultValue:\"button-02\",displayTextArea:false,title:\"button-02_text\",type:ControlType.String},onTnzPcPJfVChange:{changes:\"TnzPcPJfV\",type:ControlType.ChangeHandler},cmiNBcx3x:{title:\"button-02_link\",type:ControlType.Link},bJkgOuE_C:{defaultValue:true,description:\"|||||||||||||||||||||||||||||||||||||||||\\nBULLETS\\n|||||||||||||||||||||||||||||||||||||||||\",title:\"bulletts_visible\",type:ControlType.Boolean},onbJkgOuE_CChange:{changes:\"bJkgOuE_C\",type:ControlType.ChangeHandler},CdbG7scPf:{defaultValue:true,title:\"bullet-01_visible\",type:ControlType.Boolean},onCdbG7scPfChange:{changes:\"CdbG7scPf\",type:ControlType.ChangeHandler},bnL4P1L3J:AmplifierIconsControls?.[\"variant\"]&&{...AmplifierIconsControls[\"variant\"],defaultValue:\"uJInrNy52\",description:undefined,hidden:undefined,optional:undefined,title:\"bullet-01_icon\"},onbnL4P1L3JChange:{changes:\"bnL4P1L3J\",type:ControlType.ChangeHandler},qbCMR_sp9:{defaultValue:\"card-01_title\",displayTextArea:false,title:\"bullet-01_title\",type:ControlType.String},onqbCMR_sp9Change:{changes:\"qbCMR_sp9\",type:ControlType.ChangeHandler},yVAz54mBh:{defaultValue:\"bullet-01_subtitle\",displayTextArea:false,title:\"bullet-01_subtitle\",type:ControlType.String},onyVAz54mBhChange:{changes:\"yVAz54mBh\",type:ControlType.ChangeHandler},UZZC8vKLE:{defaultValue:true,title:\"bullet-02_visible\",type:ControlType.Boolean},onUZZC8vKLEChange:{changes:\"UZZC8vKLE\",type:ControlType.ChangeHandler},k1QcA_pS9:AmplifierIconsControls?.[\"variant\"]&&{...AmplifierIconsControls[\"variant\"],defaultValue:\"XfbXZJmGL\",description:undefined,hidden:undefined,optional:undefined,title:\"bullet-02_icon\"},onk1QcA_pS9Change:{changes:\"k1QcA_pS9\",type:ControlType.ChangeHandler},qCHZ2y9vN:{defaultValue:\"bullet-02_title\",displayTextArea:false,title:\"bullet-02_title\",type:ControlType.String},onqCHZ2y9vNChange:{changes:\"qCHZ2y9vN\",type:ControlType.ChangeHandler},wK0lV95l2:{defaultValue:\"bullet-02_subtitle\",displayTextArea:false,title:\"bullet-02_subtitle\",type:ControlType.String},onwK0lV95l2Change:{changes:\"wK0lV95l2\",type:ControlType.ChangeHandler},Lpwb32qwM:{defaultValue:true,title:\"bullet-03_visible\",type:ControlType.Boolean},onLpwb32qwMChange:{changes:\"Lpwb32qwM\",type:ControlType.ChangeHandler},k2Q46E4Xt:AmplifierIconsControls?.[\"variant\"]&&{...AmplifierIconsControls[\"variant\"],defaultValue:\"MHqUCRNQJ\",description:undefined,hidden:undefined,optional:undefined,title:\"bullet-03_icon\"},onk2Q46E4XtChange:{changes:\"k2Q46E4Xt\",type:ControlType.ChangeHandler},gIev239jf:{defaultValue:\"bullet-03_title\",displayTextArea:false,title:\"bullet-03_title\",type:ControlType.String},ongIev239jfChange:{changes:\"gIev239jf\",type:ControlType.ChangeHandler},eHTQIaLeW:{defaultValue:\"bullet-03_subtitle\",displayTextArea:false,title:\"bullet-03_subtitle\",type:ControlType.String},oneHTQIaLeWChange:{changes:\"eHTQIaLeW\",type:ControlType.ChangeHandler},M7w_yxw7g:{defaultValue:true,title:\"bullet-04_visible\",type:ControlType.Boolean},onM7w_yxw7gChange:{changes:\"M7w_yxw7g\",type:ControlType.ChangeHandler},Efm4sIK7S:AmplifierIconsControls?.[\"variant\"]&&{...AmplifierIconsControls[\"variant\"],defaultValue:\"MHqUCRNQJ\",description:undefined,hidden:undefined,optional:undefined,title:\"bullet-04_icon\"},onEfm4sIK7SChange:{changes:\"Efm4sIK7S\",type:ControlType.ChangeHandler},ZmE00SgJB:{defaultValue:\"bullet-04_title\",displayTextArea:false,title:\"bullet-04_title\",type:ControlType.String},onZmE00SgJBChange:{changes:\"ZmE00SgJB\",type:ControlType.ChangeHandler},hsLkQrR_g:{defaultValue:\"bullet-04_subtitle\",displayTextArea:false,title:\"bullet-04_subtitle\",type:ControlType.String},onhsLkQrR_gChange:{changes:\"hsLkQrR_g\",type:ControlType.ChangeHandler},n_XdGoax9:{defaultValue:false,title:\"body-md_visible\",type:ControlType.Boolean},onn_XdGoax9Change:{changes:\"n_XdGoax9\",type:ControlType.ChangeHandler},IJTUjJ_bW:{defaultValue:\"smaller subtitle copy can live here.\",displayTextArea:false,title:\"body-md_txt\",type:ControlType.String},onIJTUjJ_bWChange:{changes:\"IJTUjJ_bW\",type:ControlType.ChangeHandler},LxNNOLxs3:{defaultValue:true,description:\"|||||||||||||||||||||||||||||||||||||||||\\nIMAGERY\\n|||||||||||||||||||||||||||||||||||||||||\",title:\"img-vid-content_visible\",type:ControlType.Boolean},onLxNNOLxs3Change:{changes:\"LxNNOLxs3\",type:ControlType.ChangeHandler},RQ53eHqUA:{defaultValue:true,description:\"\",title:\"image_visible\",type:ControlType.Boolean},onRQ53eHqUAChange:{changes:\"RQ53eHqUA\",type:ControlType.ChangeHandler},G7QnJde1m:{__defaultAssetReference:\"data:framer/asset-reference,ijlEnUA1lIZDEEm3YCnD29BB9v4.png?originalFilename=fpo_purple_1280x720px.png&preferredSize=full&width=1280&height=720\",__vekterDefault:{alt:\"Image\",assetReference:\"data:framer/asset-reference,ijlEnUA1lIZDEEm3YCnD29BB9v4.png?originalFilename=fpo_purple_1280x720px.png&preferredSize=full&width=1280&height=720\"},title:\"image\",type:ControlType.ResponsiveImage},JhUuTGDe7:{defaultValue:true,description:\"\",title:\"video_visible\",type:ControlType.Boolean},onJhUuTGDe7Change:{changes:\"JhUuTGDe7\",type:ControlType.ChangeHandler},CQDWdueY0:VideoControls?.[\"srcFile\"]&&{...VideoControls[\"srcFile\"],__defaultAssetReference:\"data:framer/asset-reference,a3ZSY2fOWD3ZF3sZ3bOebs4E.mp4?originalFilename=risk-advisor_demo_20meg.mp4\",description:undefined,hidden:undefined,title:\"video\"},onCQDWdueY0Change:{changes:\"CQDWdueY0\",type:ControlType.ChangeHandler},ecWyORxvF:{defaultValue:false,title:\"youtube_visible\",type:ControlType.Boolean},onecWyORxvFChange:{changes:\"ecWyORxvF\",type:ControlType.ChangeHandler},uUlULHWmv:{defaultValue:\"https://youtu.be/GT0cq6BQnIo\",title:\"youtube_url\",type:ControlType.String},onuUlULHWmvChange:{changes:\"uUlULHWmv\",type:ControlType.ChangeHandler},non2AbuLp:{defaultValue:false,description:\"|||||||||||||||||||||||||||||||||||||||||\\nCHAT CUSTOM CODE\\n|||||||||||||||||||||||||||||||||||||||||\",title:\"custom-code_visible\",type:ControlType.Boolean},onnon2AbuLpChange:{changes:\"non2AbuLp\",type:ControlType.ChangeHandler},eNzeZ5Kv9:{defaultValue:'var(--token-c6a1aaf7-e0e9-4925-a1df-a1c3c465ef00, rgb(45, 40, 50)) /* {\"name\":\"surface\"} */',title:\"background-color\",type:ControlType.Color},NAsiXfJCd:{defaultValue:true,title:\"image-background_visible\",type:ControlType.Boolean},onNAsiXfJCdChange:{changes:\"NAsiXfJCd\",type:ControlType.ChangeHandler},YF2TSFjBT:{__defaultAssetReference:\"data:framer/asset-reference,ddnXWDtjNwtT6FNpfJ6gB1fZZ24.png?originalFilename=FPO_1280x720px.png&width=1280&height=720\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,ddnXWDtjNwtT6FNpfJ6gB1fZZ24.png?originalFilename=FPO_1280x720px.png&width=1280&height=720\"},title:\"image-background\",type:ControlType.ResponsiveImage},ZKzPd7elm:{defaultValue:true,title:\"video-background_visible\",type:ControlType.Boolean},onZKzPd7elmChange:{changes:\"ZKzPd7elm\",type:ControlType.ChangeHandler},hvBqpGbyN:VideoControls?.[\"srcFile\"]&&{...VideoControls[\"srcFile\"],__defaultAssetReference:\"data:framer/asset-reference,iBwV4LxQz0ibntwU1PLqV6zQdc.webm?originalFilename=texture_001.webm\",description:undefined,hidden:undefined,title:\"video-background\"},onhvBqpGbyNChange:{changes:\"hvBqpGbyN\",type:ControlType.ChangeHandler},KIZtDf5Hp:{defaultValue:false,title:\"lotti_visible\",type:ControlType.Boolean},onKIZtDf5HpChange:{changes:\"KIZtDf5Hp\",type:ControlType.ChangeHandler},uZL7407DL:LottieControls?.[\"srcFile\"]&&{...LottieControls[\"srcFile\"],__defaultAssetReference:\"data:framer/asset-reference,tRe0PYf1EJoQnnb3jbu4a8uu1gw.json?originalFilename=25_hero-new.json\",description:undefined,hidden:undefined,title:\"lotti\"},onuZL7407DLChange:{changes:\"uZL7407DL\",type:ControlType.ChangeHandler},ho8juLo33:{defaultValue:false,description:\"|||||||||||||||||||||||||||||||||||||||||\\nCARDS\\n|||||||||||||||||||||||||||||||||||||||||\",title:\"cards_visible\",type:ControlType.Boolean},onho8juLo33Change:{changes:\"ho8juLo33\",type:ControlType.ChangeHandler},hCtpOD1xj:{defaultValue:\"card-title\",displayTextArea:false,title:\"card-title-01\",type:ControlType.String},onhCtpOD1xjChange:{changes:\"hCtpOD1xj\",type:ControlType.ChangeHandler},IuWqFOi_u:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"card-01_body-xl\",type:ControlType.String},onIuWqFOi_uChange:{changes:\"IuWqFOi_u\",type:ControlType.ChangeHandler},WQ_p_TEuK:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"card-01_body-lg\",type:ControlType.String},onWQ_p_TEuKChange:{changes:\"WQ_p_TEuK\",type:ControlType.ChangeHandler},sMkxIFGED:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"card-01_body-sm\",type:ControlType.String},onsMkxIFGEDChange:{changes:\"sMkxIFGED\",type:ControlType.ChangeHandler},TkBlsCqjZ:{defaultValue:\"card-title\",displayTextArea:false,title:\"card-title-02\",type:ControlType.String},onTkBlsCqjZChange:{changes:\"TkBlsCqjZ\",type:ControlType.ChangeHandler},Rl5t8OdaJ:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"card-02_body-xl\",type:ControlType.String},onRl5t8OdaJChange:{changes:\"Rl5t8OdaJ\",type:ControlType.ChangeHandler},BQtzri6Na:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"card-02_bodylg\",type:ControlType.String},onBQtzri6NaChange:{changes:\"BQtzri6Na\",type:ControlType.ChangeHandler},K4cXLEasa:{defaultValue:\"Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin. Aenean sodales iaculis risus imperdiet molestie. In eget ultrices massa. This is what a text link looks like in this context, maximus sollicitudin.\",displayTextArea:false,title:\"card-02_body-sm\",type:ControlType.String},onK4cXLEasaChange:{changes:\"K4cXLEasa\",type:ControlType.ChangeHandler},W44speNZ6:{defaultValue:\"80px 100px 80px 100px\",title:\"Section Padding\",type:ControlType.String},onW44speNZ6Change:{changes:\"W44speNZ6\",type:ControlType.ChangeHandler},bPkLeET8t:{defaultValue:true,title:\"Hero Support Visible\",type:ControlType.Boolean},onbPkLeET8tChange:{changes:\"bPkLeET8t\",type:ControlType.ChangeHandler},ds_2yg2TO:{defaultValue:\"Security that respects the employee experience.\",title:\"Hero Support Text\",type:ControlType.String},onds_2yg2TOChange:{changes:\"ds_2yg2TO\",type:ControlType.ChangeHandler},o2XN3Amyz:{title:\"Bullet 01 Link\",type:ControlType.Link},tS4pw3eUb:{title:\"Bullet 03 Link\",type:ControlType.Link},eOjL05c0F:{title:\"Bullet 02 Link\",type:ControlType.Link},nAtkx7m73:{title:\"Bullet 04 Link\",type:ControlType.Link}});addFonts(FramerDZ7pk_cf9,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...BadgeFonts,...AmplifierIconsFonts,...ButtonFonts,...VideoFonts,...YouTubeFonts,...AmplifierTracksChatPlayerFonts,...GhCard01Fonts,...LottieFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts),...getFontsFromSharedStyle(sharedStyle5.fonts),...getFontsFromSharedStyle(sharedStyle6.fonts),...getFontsFromSharedStyle(sharedStyle7.fonts),...getFontsFromSharedStyle(sharedStyle8.fonts),...getFontsFromSharedStyle(sharedStyle9.fonts),...getFontsFromSharedStyle(sharedStyle10.fonts),...getFontsFromSharedStyle(sharedStyle11.fonts),...getFontsFromSharedStyle(sharedStyle12.fonts),...getFontsFromSharedStyle(sharedStyle13.fonts),...getFontsFromSharedStyle(sharedStyle14.fonts),...getFontsFromSharedStyle(sharedStyle15.fonts),...getFontsFromSharedStyle(sharedStyle16.fonts),...getFontsFromSharedStyle(sharedStyle17.fonts),...componentPresets.fonts?.[\"tZoi8j77L\"]?getFontsFromComponentPreset(componentPresets.fonts?.[\"tZoi8j77L\"]):[],...componentPresets.fonts?.[\"VHP8RLhSd\"]?getFontsFromComponentPreset(componentPresets.fonts?.[\"VHP8RLhSd\"]):[]],{supportsExplicitInterCodegen:true});FramerDZ7pk_cf9.loader={load:(props,context)=>{return runTasksWithYield([()=>forwardLoader(Badge,{},context),()=>forwardLoader(AmplifierIcons,{},context),()=>forwardLoader(Button,{},context),()=>forwardLoader(GhCard01,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerDZ7pk_cf9\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"1968\",\"framerIntrinsicWidth\":\"1200\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Vq5A73Q2x\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"IR8Y7AhFt\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"HNzce3mHX\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"qBCWLpQXU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"xjhnHPQMV\\\":\\\"badgeText\\\",\\\"AKfxcOm6J\\\":\\\"badgeVisible\\\",\\\"VksC_ABRO\\\":\\\"titleIsH1\\\",\\\"mSCQUrqd8\\\":\\\"sectionTitle\\\",\\\"qkO8JGMe_\\\":\\\"bodyLgFormatedVisible\\\",\\\"d6Y2eJ4bu\\\":\\\"bodyLglFormatted\\\",\\\"GuzTtNRS2\\\":\\\"buttonsVisible\\\",\\\"ubzxvbfFB\\\":\\\"button01Visible\\\",\\\"iKhQAIxer\\\":\\\"button01\\\",\\\"A7Wr69vWM\\\":\\\"button01Text\\\",\\\"B9Hm396Jz\\\":\\\"button01Link\\\",\\\"MswCjnkg2\\\":\\\"button02Visible\\\",\\\"UD4qfpvlr\\\":\\\"button02\\\",\\\"TnzPcPJfV\\\":\\\"button02Text\\\",\\\"cmiNBcx3x\\\":\\\"button02Link\\\",\\\"bJkgOuE_C\\\":\\\"bullettsVisible\\\",\\\"CdbG7scPf\\\":\\\"bullet01Visible\\\",\\\"bnL4P1L3J\\\":\\\"bullet01Icon\\\",\\\"qbCMR_sp9\\\":\\\"bullet01Title\\\",\\\"yVAz54mBh\\\":\\\"bullet01Subtitle\\\",\\\"UZZC8vKLE\\\":\\\"bullet02Visible\\\",\\\"k1QcA_pS9\\\":\\\"bullet02Icon\\\",\\\"qCHZ2y9vN\\\":\\\"bullet02Title\\\",\\\"wK0lV95l2\\\":\\\"bullet02Subtitle\\\",\\\"Lpwb32qwM\\\":\\\"bullet03Visible\\\",\\\"k2Q46E4Xt\\\":\\\"bullet03Icon\\\",\\\"gIev239jf\\\":\\\"bullet03Title\\\",\\\"eHTQIaLeW\\\":\\\"bullet03Subtitle\\\",\\\"M7w_yxw7g\\\":\\\"bullet04Visible\\\",\\\"Efm4sIK7S\\\":\\\"bullet04Icon\\\",\\\"ZmE00SgJB\\\":\\\"bullet04Title\\\",\\\"hsLkQrR_g\\\":\\\"bullet04Subtitle\\\",\\\"n_XdGoax9\\\":\\\"bodyMdVisible\\\",\\\"IJTUjJ_bW\\\":\\\"bodyMdTxt\\\",\\\"LxNNOLxs3\\\":\\\"imgVidContentVisible\\\",\\\"RQ53eHqUA\\\":\\\"imageVisible\\\",\\\"G7QnJde1m\\\":\\\"image\\\",\\\"JhUuTGDe7\\\":\\\"videoVisible\\\",\\\"CQDWdueY0\\\":\\\"video\\\",\\\"ecWyORxvF\\\":\\\"youtubeVisible\\\",\\\"uUlULHWmv\\\":\\\"youtubeUrl\\\",\\\"non2AbuLp\\\":\\\"customCodeVisible\\\",\\\"eNzeZ5Kv9\\\":\\\"backgroundColor\\\",\\\"NAsiXfJCd\\\":\\\"imageBackgroundVisible\\\",\\\"YF2TSFjBT\\\":\\\"imageBackground\\\",\\\"ZKzPd7elm\\\":\\\"videoBackgroundVisible\\\",\\\"hvBqpGbyN\\\":\\\"videoBackground\\\",\\\"KIZtDf5Hp\\\":\\\"lottiVisible\\\",\\\"uZL7407DL\\\":\\\"lotti\\\",\\\"ho8juLo33\\\":\\\"cardsVisible\\\",\\\"hCtpOD1xj\\\":\\\"cardTitle01\\\",\\\"IuWqFOi_u\\\":\\\"card01BodyXl\\\",\\\"WQ_p_TEuK\\\":\\\"card01BodyLg\\\",\\\"sMkxIFGED\\\":\\\"card01BodySm\\\",\\\"TkBlsCqjZ\\\":\\\"cardTitle02\\\",\\\"Rl5t8OdaJ\\\":\\\"card02BodyXl\\\",\\\"BQtzri6Na\\\":\\\"card02Bodylg\\\",\\\"K4cXLEasa\\\":\\\"card02BodySm\\\",\\\"W44speNZ6\\\":\\\"sectionPadding\\\",\\\"bPkLeET8t\\\":\\\"heroSupportVisible\\\",\\\"ds_2yg2TO\\\":\\\"heroSupportText\\\",\\\"o2XN3Amyz\\\":\\\"bullet01Link\\\",\\\"tS4pw3eUb\\\":\\\"bullet03Link\\\",\\\"eOjL05c0F\\\":\\\"bullet02Link\\\",\\\"nAtkx7m73\\\":\\\"bullet04Link\\\"}\",\"framerContractVersion\":\"1\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0e363b)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,getPropertyControls,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/41jG91mIP0iWlFgC44cF/PQ37jgCuK2E5fTmyDA0x/nigEjwox9.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/4uyRJR6GcbBgK2CBnSs0/h7S32zE4J3u7mgctWVG5/QWSgJZkUo.js\";import Button from\"https://framerusercontent.com/modules/uyU9bPOnmg56FPgqqqHP/pn0Bkk1tFRQH5Hh6v8lO/MuJjAXk6G.js\";const ButtonFonts=getFonts(Button);const ButtonControls=getPropertyControls(Button);const cycleOrder=[\"ELiRQc36C\",\"v38qdD8dl\",\"fkVg7A61o\"];const serializationHash=\"framer-jyA4O\";const variantClassNames={ELiRQc36C:\"framer-v-1m440ky\",fkVg7A61o:\"framer-v-1pd5v8y\",v38qdD8dl:\"framer-v-oxcknp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const xEYTw9k4E=undefined;const r0LFesc5H=undefined;const D6UY8oGsx=undefined;const GWkKjEoGo=undefined;const CNePr9tWz=undefined;const pv_bdl0jb=undefined;const JpPnbKBra=undefined;const gFEYpnrip=undefined;const umUU__k40=undefined;const WVSvUPwQq=undefined;const A_faMO20_=undefined;const CSmZHCCOo=undefined;const aMmpLErPw=undefined;const Od5cm45Cq=undefined;const setCNePr9tWz=undefined;const setumUU__k40=undefined;const setaMmpLErPw=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={desktop:\"ELiRQc36C\",phone:\"fkVg7A61o\",tablet:\"v38qdD8dl\"};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={\"primary-lg\":\"ks2j1jBYj\",\"primary-md\":\"jJPJlUipP\",\"primary-sm\":\"HHne1NXMg\",\"secondary-lg\":\"CchkYinf_\",\"secondary-md\":\"UgAsszj1u\",\"secondary-sm\":\"Ax0H7NMVo\",\"tertiary-lg\":\"YziQdl2v1\",\"tertiary-md\":\"A_GnN5RS0\",\"tertiary-sm\":\"M27YAa8PN\"};const useStateVariable=(externalState,setExternalState)=>{const[internalState,setInternalState]=React.useState(externalState);const[previousExternalState,setPreviousExternalState]=React.useState(externalState);if(setExternalState){return[externalState,setExternalState];}if(externalState!==previousExternalState){setInternalState(externalState);setPreviousExternalState(externalState);}return[internalState,setInternalState];};const getProps=({button01,button01Link,button01Txt,button02,button02Link,button02Txt,button02Visible,button03,button03Link,button03Txt,button03Visible,buttonsVisible,ctaBody,ctaTitle,height,id,width,...props})=>{return{...props,A_faMO20_:button03Visible??props.A_faMO20_,aMmpLErPw:button03Txt??props.aMmpLErPw??\"button-03_txt\",CNePr9tWz:button01Txt??props.CNePr9tWz??\"button-01_txt\",CSmZHCCOo:humanReadableEnumMap[button03]??button03??props.CSmZHCCOo??\"ks2j1jBYj\",D6UY8oGsx:buttonsVisible??props.D6UY8oGsx??true,gFEYpnrip:humanReadableEnumMap[button02]??button02??props.gFEYpnrip??\"ks2j1jBYj\",GWkKjEoGo:humanReadableEnumMap[button01]??button01??props.GWkKjEoGo??\"ks2j1jBYj\",JpPnbKBra:button02Visible??props.JpPnbKBra,Od5cm45Cq:button03Link??props.Od5cm45Cq,pv_bdl0jb:button01Link??props.pv_bdl0jb,r0LFesc5H:ctaBody??props.r0LFesc5H??\"Lorem ipsum dolor sit amet consectetur adipiscing elit.\",umUU__k40:button02Txt??props.umUU__k40??\"button-02_txt\",variant:humanReadableVariantMap[props.variant]??props.variant??\"ELiRQc36C\",WVSvUPwQq:button02Link??props.WVSvUPwQq,xEYTw9k4E:ctaTitle??props.xEYTw9k4E??\"Lorem ipsum dolor sit amet consectetur adipiscing elit.\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,xEYTw9k4E,r0LFesc5H,D6UY8oGsx,GWkKjEoGo,\"CNePr9tWz\":externalCNePr9tWz,\"onCNePr9tWzChange\":setExternalCNePr9tWz,pv_bdl0jb,JpPnbKBra,gFEYpnrip,\"umUU__k40\":externalumUU__k40,\"onumUU__k40Change\":setExternalumUU__k40,WVSvUPwQq,A_faMO20_,CSmZHCCOo,\"aMmpLErPw\":externalaMmpLErPw,\"onaMmpLErPwChange\":setExternalaMmpLErPw,Od5cm45Cq,...restProps}=getProps(props);const[CNePr9tWz,setCNePr9tWz]=useStateVariable(externalCNePr9tWz,setExternalCNePr9tWz);const[umUU__k40,setumUU__k40]=useStateVariable(externalumUU__k40,setExternalumUU__k40);const[aMmpLErPw,setaMmpLErPw]=useStateVariable(externalaMmpLErPw,setExternalaMmpLErPw);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ELiRQc36C\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.section,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1m440ky\",className,classNames),\"data-framer-name\":\"desktop\",layoutDependency:layoutDependency,layoutId:\"ELiRQc36C\",ref:refBinding,style:{...style},...addPropertyOverrides({fkVg7A61o:{\"data-framer-name\":\"phone\"},v38qdD8dl:{\"data-framer-name\":\"tablet\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ltlr57\",\"data-framer-name\":\"cta\",layoutDependency:layoutDependency,layoutId:\"K7I6RJ2Sl\",style:{backgroundColor:\"var(--token-c0afbf79-249d-4eb6-a686-d565a387e00f, rgb(26, 22, 30))\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1nkpeuc\",\"data-framer-name\":\"txt\",layoutDependency:layoutDependency,layoutId:\"X8_jYHQMv\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1cn9i6j\",\"data-styles-preset\":\"QWSgJZkUo\",dir:\"auto\",style:{\"--framer-text-alignment\":\"center\"},children:\"Lorem ipsum dolor sit amet consectetur adipiscing elit.\"})}),className:\"framer-esmkbj\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"U_zWqtPNf\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:xEYTw9k4E,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-whblcr\",\"data-styles-preset\":\"nigEjwox9\",dir:\"auto\",style:{\"--framer-text-alignment\":\"center\"},children:\"Lorem ipsum dolor sit amet consectetur adipiscing elit.\"})}),className:\"framer-10syact\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"FQZrVDQbw\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:r0LFesc5H,verticalAlignment:\"top\",withExternalLayout:true})]}),D6UY8oGsx!==false&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-4s8wck\",\"data-framer-name\":\"buttons\",layoutDependency:layoutDependency,layoutId:\"xCkFc81cL\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:62,y:(componentViewport?.y||0)+40+0+40+471+0,...addPropertyOverrides({fkVg7A61o:{y:(componentViewport?.y||0)+0+0+40+471+0+0},v38qdD8dl:{y:undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ky3822-container\",layoutDependency:layoutDependency,layoutId:\"awnobbCXr-container\",nodeId:\"awnobbCXr\",rendersWithMotion:true,scopeId:\"i65ojZYmX\",children:/*#__PURE__*/_jsx(Button,{bnzIwr4Yu:false,bQ_0TxDfY:pv_bdl0jb,CkKunZf5l:CNePr9tWz,height:\"100%\",id:\"awnobbCXr\",layoutId:\"awnobbCXr\",onCkKunZf5lChange:setCNePr9tWz,variant:matchVariant(GWkKjEoGo),width:\"100%\"})})}),JpPnbKBra!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:62,y:(componentViewport?.y||0)+40+0+40+471+0,...addPropertyOverrides({fkVg7A61o:{y:(componentViewport?.y||0)+0+0+40+471+0+102},v38qdD8dl:{y:undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1svrqvg-container\",layoutDependency:layoutDependency,layoutId:\"FtXhmLeCx-container\",nodeId:\"FtXhmLeCx\",rendersWithMotion:true,scopeId:\"i65ojZYmX\",children:/*#__PURE__*/_jsx(Button,{bnzIwr4Yu:false,bQ_0TxDfY:WVSvUPwQq,CkKunZf5l:umUU__k40,height:\"100%\",id:\"FtXhmLeCx\",layoutId:\"FtXhmLeCx\",onCkKunZf5lChange:setumUU__k40,variant:matchVariant(gFEYpnrip),width:\"100%\"})})}),A_faMO20_!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:62,y:(componentViewport?.y||0)+40+0+40+471+0,...addPropertyOverrides({fkVg7A61o:{y:(componentViewport?.y||0)+0+0+40+471+0+102},v38qdD8dl:{y:undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ehepcm-container\",layoutDependency:layoutDependency,layoutId:\"Vrb_JXzwA-container\",nodeId:\"Vrb_JXzwA\",rendersWithMotion:true,scopeId:\"i65ojZYmX\",children:/*#__PURE__*/_jsx(Button,{bnzIwr4Yu:false,bQ_0TxDfY:Od5cm45Cq,CkKunZf5l:aMmpLErPw,height:\"100%\",id:\"Vrb_JXzwA\",layoutId:\"Vrb_JXzwA\",onCkKunZf5lChange:setaMmpLErPw,variant:matchVariant(CSmZHCCOo),width:\"100%\"})})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-jyA4O.framer-1kn2pde, .framer-jyA4O .framer-1kn2pde { display: block; }\",\".framer-jyA4O.framer-1m440ky { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 40px 100px 80px 100px; position: relative; width: 1200px; }\",\".framer-jyA4O .framer-1ltlr57 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; max-width: 1200px; overflow: hidden; padding: 40px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-jyA4O .framer-1nkpeuc { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-jyA4O .framer-esmkbj, .framer-jyA4O .framer-10syact { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-jyA4O .framer-4s8wck { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-jyA4O .framer-ky3822-container, .framer-jyA4O .framer-1svrqvg-container, .framer-jyA4O .framer-1ehepcm-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-jyA4O.framer-v-oxcknp.framer-1m440ky { padding: 0px 100px 80px 100px; width: 810px; }\",\".framer-jyA4O.framer-v-oxcknp .framer-4s8wck { flex-wrap: wrap; }\",\".framer-jyA4O.framer-v-1pd5v8y.framer-1m440ky { padding: 0px 20px 40px 20px; width: 390px; }\",\".framer-jyA4O.framer-v-1pd5v8y .framer-4s8wck { flex-direction: column; flex-wrap: wrap; }\",...sharedStyle.css,...sharedStyle1.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 394\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"v38qdD8dl\":{\"layout\":[\"fixed\",\"auto\"]},\"fkVg7A61o\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"xEYTw9k4E\":\"ctaTitle\",\"r0LFesc5H\":\"ctaBody\",\"D6UY8oGsx\":\"buttonsVisible\",\"GWkKjEoGo\":\"button01\",\"CNePr9tWz\":\"button01Txt\",\"pv_bdl0jb\":\"button01Link\",\"JpPnbKBra\":\"button02Visible\",\"gFEYpnrip\":\"button02\",\"umUU__k40\":\"button02Txt\",\"WVSvUPwQq\":\"button02Link\",\"A_faMO20_\":\"button03Visible\",\"CSmZHCCOo\":\"button03\",\"aMmpLErPw\":\"button03Txt\",\"Od5cm45Cq\":\"button03Link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Frameri65ojZYmX=withCSS(Component,css,\"framer-jyA4O\");export default Frameri65ojZYmX;Frameri65ojZYmX.displayName=\"section_cta-02\";Frameri65ojZYmX.defaultProps={height:394,width:1200};addPropertyControls(Frameri65ojZYmX,{variant:{options:[\"ELiRQc36C\",\"v38qdD8dl\",\"fkVg7A61o\"],optionTitles:[\"desktop\",\"tablet\",\"phone\"],title:\"Variant\",type:ControlType.Enum},xEYTw9k4E:{defaultValue:\"Lorem ipsum dolor sit amet consectetur adipiscing elit.\",displayTextArea:false,title:\"cta_title\",type:ControlType.String},onxEYTw9k4EChange:{changes:\"xEYTw9k4E\",type:ControlType.ChangeHandler},r0LFesc5H:{defaultValue:\"Lorem ipsum dolor sit amet consectetur adipiscing elit.\",displayTextArea:false,title:\"cta_body\",type:ControlType.String},onr0LFesc5HChange:{changes:\"r0LFesc5H\",type:ControlType.ChangeHandler},D6UY8oGsx:{defaultValue:true,title:\"buttons_visible\",type:ControlType.Boolean},onD6UY8oGsxChange:{changes:\"D6UY8oGsx\",type:ControlType.ChangeHandler},GWkKjEoGo:ButtonControls?.[\"variant\"]&&{...ButtonControls[\"variant\"],defaultValue:\"ks2j1jBYj\",description:undefined,hidden:undefined,optional:undefined,title:\"button-01\"},onGWkKjEoGoChange:{changes:\"GWkKjEoGo\",type:ControlType.ChangeHandler},CNePr9tWz:{defaultValue:\"button-01_txt\",displayTextArea:false,title:\"button-01_txt\",type:ControlType.String},onCNePr9tWzChange:{changes:\"CNePr9tWz\",type:ControlType.ChangeHandler},pv_bdl0jb:{title:\"button-01_link\",type:ControlType.Link},JpPnbKBra:{defaultValue:false,title:\"button-02_visible\",type:ControlType.Boolean},onJpPnbKBraChange:{changes:\"JpPnbKBra\",type:ControlType.ChangeHandler},gFEYpnrip:ButtonControls?.[\"variant\"]&&{...ButtonControls[\"variant\"],defaultValue:\"ks2j1jBYj\",description:undefined,hidden:undefined,optional:undefined,title:\"button-02\"},ongFEYpnripChange:{changes:\"gFEYpnrip\",type:ControlType.ChangeHandler},umUU__k40:{defaultValue:\"button-02_txt\",displayTextArea:false,title:\"button-02_txt\",type:ControlType.String},onumUU__k40Change:{changes:\"umUU__k40\",type:ControlType.ChangeHandler},WVSvUPwQq:{title:\"button-02_link\",type:ControlType.Link},A_faMO20_:{defaultValue:false,title:\"button-03_visible\",type:ControlType.Boolean},onA_faMO20_Change:{changes:\"A_faMO20_\",type:ControlType.ChangeHandler},CSmZHCCOo:ButtonControls?.[\"variant\"]&&{...ButtonControls[\"variant\"],defaultValue:\"ks2j1jBYj\",description:undefined,hidden:undefined,optional:undefined,title:\"button-03\"},onCSmZHCCOoChange:{changes:\"CSmZHCCOo\",type:ControlType.ChangeHandler},aMmpLErPw:{defaultValue:\"button-03_txt\",displayTextArea:false,title:\"button-03_txt\",type:ControlType.String},onaMmpLErPwChange:{changes:\"aMmpLErPw\",type:ControlType.ChangeHandler},Od5cm45Cq:{title:\"button-03_link\",type:ControlType.Link}});addFonts(Frameri65ojZYmX,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...ButtonFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});Frameri65ojZYmX.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Button,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Frameri65ojZYmX\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"xEYTw9k4E\\\":\\\"ctaTitle\\\",\\\"r0LFesc5H\\\":\\\"ctaBody\\\",\\\"D6UY8oGsx\\\":\\\"buttonsVisible\\\",\\\"GWkKjEoGo\\\":\\\"button01\\\",\\\"CNePr9tWz\\\":\\\"button01Txt\\\",\\\"pv_bdl0jb\\\":\\\"button01Link\\\",\\\"JpPnbKBra\\\":\\\"button02Visible\\\",\\\"gFEYpnrip\\\":\\\"button02\\\",\\\"umUU__k40\\\":\\\"button02Txt\\\",\\\"WVSvUPwQq\\\":\\\"button02Link\\\",\\\"A_faMO20_\\\":\\\"button03Visible\\\",\\\"CSmZHCCOo\\\":\\\"button03\\\",\\\"aMmpLErPw\\\":\\\"button03Txt\\\",\\\"Od5cm45Cq\\\":\\\"button03Link\\\"}\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"394\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"v38qdD8dl\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"fkVg7A61o\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}