{"version":3,"file":"UI_Griy4u.DOsJR-5g.mjs","names":["fonts","css","className","useRef","useMemo","useMemo","useRef","useCallback","animate","useRef","useCallback","lottie","fonts","css","className","addPropertyOverrides","enabledGestures","cycleOrder","variantClassNames","humanReadableVariantMap","transitions","React.forwardRef","React.useId","sharedStyle.className","sharedStyle1.className","SVG","RichText","React.Fragment","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","addPropertyOverrides","cycleOrder","variantClassNames","Transition","React.useContext","React.useMemo","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useId","RichText","React.Fragment","addPropertyOverrides","SupportDiscord","ElementsPrimaryBtn","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","sharedStyle.className","SVG","RichText","sharedStyle.css","sharedStyle.fonts","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","sharedStyle.className","className","SVG","RichText","Text","sharedStyle.css","sharedStyle.fonts"],"sources":["https:/framerusercontent.com/modules/aZ5bU95L24ZVJDXHWbFg/fYcpmQirtokRHfsEdfyf/iyBsYvPgx.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:/framer.com/m/framer/default-utils.js@^0.45.0","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/DuKVeg9nOFqZ2BwKOWuY/Lottie.js","https:/framerusercontent.com/modules/T9PXRjJ5Rr4R0RkXRZim/KW2wcbjFdoKd1AgLqvbd/AS4PcgcTr.js","https:/framerusercontent.com/modules/pYiUbkxmOJfjiRmDt067/G94Nz88CczVDyBPYsga9/f9ltlEnvs.js","https:/framerusercontent.com/modules/GOMi37x3QsP9GGQA94Cf/kL9GIiLvwRHTFpB6JOps/QwKHB4r7w.js","https:/framerusercontent.com/modules/RX0eD63UaGpN9FDQkx7x/hQVVmfWLGaIne11WlCS1/tPUMPENCJ.js","https:/framerusercontent.com/modules/WeM71DwxaYMWuvkK8zI8/zgBuDh4vLpcD0zYGeKzo/JcqRdLAgP.js","https:/framerusercontent.com/modules/Pqcig2MMSFwoHiVizCCu/MrVIhGjjEXHYjoeurQRm/UI_Griy4u.js"],"sourcesContent":["import{fontStore}from\"framer\";fontStore.loadWebFontsFromSelectors([]);export const fonts=[];export const css=[\".framer-Qx4l4 .framer-styles-preset-uob6h6:not(.rich-text-wrapper), .framer-Qx4l4 .framer-styles-preset-uob6h6.rich-text-wrapper a { --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: #d1b91f; --framer-link-hover-text-decoration: underline; --framer-link-text-color: var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, #fcee90); --framer-link-text-decoration: underline; }\"];export const className=\"framer-Qx4l4\";\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\"}}}}","/*\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{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://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/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===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*0.01});const play=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.play();};const pause=()=>{var ref,ref2;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref2=ref.animation)===null||ref2===void 0?void 0:ref2.pause();};const destroy=()=>{var ref,ref3;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref3=ref.animation)===null||ref3===void 0?void 0:ref3.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===SrcType.Url)dataUrl=srcUrl;if(srcType===SrcType.File)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:!isOnCanvas&&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*0.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.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:SrcType.Url,pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:Poster.Auto,posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[SrcType.Url,SrcType.File]},srcUrl:{type:ControlType.String,title:\" \",placeholder:\"../example.json\",hidden:props=>props.srcType===SrcType.File},srcFile:{type:ControlType.File,title:\" \",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===SrcType.Url},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\n// pauseOnCanvas: {\n//     type: ControlType.Boolean,\n//     title: \"Canvas\",\n//     disabledTitle: \"Play\",\n//     enabledTitle: \"Pause\",\n//     hidden: (props) => props.playing === false,\n// },\nloop:{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:0.5,displayStepper:true,unit:\"x\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[Poster.Auto,Poster.Custom],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===Poster.Auto},// onComplete: {\n//     type: ControlType.EventHandler,\n// },\n...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map","import{fontStore}from\"framer\";fontStore.loadWebFontsFromSelectors([]);export const fonts=[];export const css=['.framer-mt6ZN .framer-styles-preset-fsrzda:not(.rich-text-wrapper), .framer-mt6ZN .framer-styles-preset-fsrzda.rich-text-wrapper a { --framer-link-hover-text-color: var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, #fcee90) /* {\"name\":\"GHW Primary\"} */; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #ffffff; --framer-link-text-decoration: none; }'];export const className=\"framer-mt6ZN\";\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 (9bf39e5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,SVG,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/T9PXRjJ5Rr4R0RkXRZim/KW2wcbjFdoKd1AgLqvbd/AS4PcgcTr.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/aZ5bU95L24ZVJDXHWbFg/fYcpmQirtokRHfsEdfyf/iyBsYvPgx.js\";const enabledGestures={aQuRzyyAp:{hover:true},o3L97l1DJ:{hover:true}};const cycleOrder=[\"o3L97l1DJ\",\"aQuRzyyAp\"];const variantClassNames={aQuRzyyAp:\"framer-v-yqr5wr\",o3L97l1DJ:\"framer-v-o5cupz\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const humanReadableVariantMap={\"Variant 1\":\"o3L97l1DJ\",Mobile:\"aQuRzyyAp\"};const transitions={default:{damping:60,delay:0,duration:.3,ease:[.44,0,.56,1],mass:1,stiffness:500,type:\"spring\"}};const transformTemplate=(_,t)=>`translateY(-50%) ${t}`;const Component=/*#__PURE__*/ React.forwardRef(function({id,style,className,width,height,layoutId,variant:outerVariant=\"o3L97l1DJ\",title:yC2jOTrFH=\"Discord\",...restProps},ref){const outerVariantId=humanReadableVariantMap[outerVariant];const variant=outerVariantId||outerVariant;const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"o3L97l1DJ\",enabledGestures,transitions,variant,variantClassNames});const layoutDependency=variants.join(\"-\")+restProps.layoutDependency;const isDisplayed=()=>{if(gestureVariant===\"o3L97l1DJ-hover\")return true;return false;};const defaultLayoutId=React.useId();return /*#__PURE__*/ _jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/ _jsx(motion.div,{initial:variant,animate:variants,onHoverStart:()=>setGestureState({isHovered:true}),onHoverEnd:()=>setGestureState({isHovered:false}),onTapStart:()=>setGestureState({isPressed:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),className:cx(\"framer-YblpK\",sharedStyle.className,sharedStyle1.className,classNames),style:{display:\"contents\"},children:/*#__PURE__*/ _jsx(Link,{...addPropertyOverrides({\"o3L97l1DJ-hover\":{href:\"https://discord.mlh.io\"}},baseVariant,gestureVariant),children:/*#__PURE__*/ _jsxs(motion.a,{...restProps,className:`${cx(\"framer-o5cupz\",className)} framer-9hz8gr`,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"o3L97l1DJ\",ref:ref,style:{...style},transition:transition,...addPropertyOverrides({\"aQuRzyyAp-hover\":{\"data-framer-name\":undefined},\"o3L97l1DJ-hover\":{\"data-framer-name\":undefined},aQuRzyyAp:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/ _jsx(SVG,{className:\"framer-1xzxv01\",\"data-framer-name\":\"Vector\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"MVEdhFPbR\",opacity:1,radius:0,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 17\"><path d=\"M 16.957 2.167 C 19.215 5.488 20.331 9.234 19.914 13.547 C 19.912 13.565 19.903 13.582 19.888 13.593 C 18.177 14.849 16.52 15.611 14.886 16.117 C 14.873 16.12 14.86 16.12 14.847 16.116 C 14.834 16.112 14.823 16.104 14.816 16.093 C 14.438 15.568 14.095 15.014 13.795 14.432 C 13.777 14.398 13.793 14.357 13.829 14.343 C 14.373 14.138 14.891 13.892 15.39 13.601 C 15.429 13.578 15.431 13.522 15.395 13.495 C 15.289 13.416 15.185 13.334 15.084 13.251 C 15.066 13.236 15.04 13.233 15.019 13.243 C 11.784 14.737 8.241 14.737 4.968 13.243 C 4.947 13.234 4.921 13.237 4.903 13.252 C 4.803 13.334 4.698 13.416 4.593 13.495 C 4.557 13.522 4.56 13.578 4.6 13.601 C 5.098 13.887 5.616 14.138 6.16 14.344 C 6.195 14.358 6.212 14.398 6.194 14.432 C 5.9 15.015 5.557 15.568 5.173 16.094 C 5.156 16.115 5.129 16.125 5.103 16.117 C 3.476 15.611 1.819 14.849 0.109 13.593 C 0.094 13.582 0.084 13.564 0.083 13.546 C -0.266 9.816 0.444 6.039 3.037 2.167 C 3.043 2.156 3.053 2.148 3.064 2.144 C 4.34 1.558 5.706 1.127 7.135 0.881 C 7.161 0.877 7.187 0.889 7.2 0.912 C 7.377 1.225 7.579 1.626 7.715 1.953 C 9.221 1.723 10.75 1.723 12.287 1.953 C 12.424 1.633 12.619 1.225 12.794 0.912 C 12.801 0.901 12.81 0.892 12.822 0.886 C 12.834 0.881 12.847 0.879 12.86 0.881 C 14.289 1.128 15.656 1.559 16.931 2.144 C 16.942 2.148 16.951 2.156 16.957 2.167 Z M 8.481 9.26 C 8.496 8.157 7.692 7.245 6.683 7.245 C 5.682 7.245 4.886 8.149 4.886 9.26 C 4.886 10.37 5.698 11.275 6.683 11.275 C 7.684 11.275 8.481 10.37 8.481 9.26 Z M 15.126 9.26 C 15.142 8.157 14.338 7.245 13.329 7.245 C 12.328 7.245 11.531 8.149 11.531 9.26 C 11.531 10.37 12.343 11.275 13.329 11.275 C 14.338 11.275 15.126 10.37 15.126 9.26 Z\" fill=\"rgb(250,250,250)\"></path></svg>',svgContentId:2769881989,transition:transition,withExternalLayout:true,...addPropertyOverrides({\"aQuRzyyAp-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 17\"><path d=\"M 16.957 2.167 C 19.215 5.488 20.331 9.234 19.914 13.547 C 19.912 13.565 19.903 13.582 19.888 13.593 C 18.177 14.849 16.52 15.611 14.886 16.117 C 14.873 16.12 14.86 16.12 14.847 16.116 C 14.834 16.112 14.823 16.104 14.816 16.093 C 14.438 15.568 14.095 15.014 13.795 14.432 C 13.777 14.398 13.793 14.357 13.829 14.343 C 14.373 14.138 14.891 13.892 15.39 13.601 C 15.429 13.578 15.431 13.522 15.395 13.495 C 15.289 13.416 15.185 13.334 15.084 13.251 C 15.066 13.236 15.04 13.233 15.019 13.243 C 11.784 14.737 8.241 14.737 4.968 13.243 C 4.947 13.234 4.921 13.237 4.903 13.252 C 4.803 13.334 4.698 13.416 4.593 13.495 C 4.557 13.522 4.56 13.578 4.6 13.601 C 5.098 13.887 5.616 14.138 6.16 14.344 C 6.195 14.358 6.212 14.398 6.194 14.432 C 5.9 15.015 5.557 15.568 5.173 16.094 C 5.156 16.115 5.129 16.125 5.103 16.117 C 3.476 15.611 1.819 14.849 0.109 13.593 C 0.094 13.582 0.084 13.564 0.083 13.546 C -0.266 9.816 0.444 6.039 3.037 2.167 C 3.043 2.156 3.053 2.148 3.064 2.144 C 4.34 1.558 5.706 1.127 7.135 0.881 C 7.161 0.877 7.187 0.889 7.2 0.912 C 7.377 1.225 7.579 1.626 7.715 1.953 C 9.221 1.723 10.75 1.723 12.287 1.953 C 12.424 1.633 12.619 1.225 12.794 0.912 C 12.801 0.901 12.81 0.892 12.822 0.886 C 12.834 0.881 12.847 0.879 12.86 0.881 C 14.289 1.128 15.656 1.559 16.931 2.144 C 16.942 2.148 16.951 2.156 16.957 2.167 Z M 8.481 9.26 C 8.496 8.157 7.692 7.245 6.683 7.245 C 5.682 7.245 4.886 8.149 4.886 9.26 C 4.886 10.37 5.698 11.275 6.683 11.275 C 7.684 11.275 8.481 10.37 8.481 9.26 Z M 15.126 9.26 C 15.142 8.157 14.338 7.245 13.329 7.245 C 12.328 7.245 11.531 8.149 11.531 9.26 C 11.531 10.37 12.343 11.275 13.329 11.275 C 14.338 11.275 15.126 10.37 15.126 9.26 Z\" fill=\"var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, rgb(252, 238, 144)) /* {&quot;name&quot;:&quot;GHW Primary&quot;} */\"></path></svg>',svgContentId:4043885218}},baseVariant,gestureVariant)}),/*#__PURE__*/ _jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNjAw\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv)\"},children:\"Discord \"})}),className:\"framer-1minb9y\",\"data-framer-name\":\"Discord Access\",fonts:[\"GF;Inter-600\"],layoutDependency:layoutDependency,layoutId:\"HYF06uu_b\",style:{\"--extracted-r6o4lv\":\"rgb(250, 250, 250)\",\"--framer-paragraph-spacing\":\"0px\"},text:yC2jOTrFH,transformTemplate:transformTemplate,transition:transition,variants:{\"o3L97l1DJ-hover\":{\"--extracted-r6o4lv\":\"var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, rgb(252, 238, 144)) \"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"aQuRzyyAp-hover\":{children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNjAw\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv)\"},children:/*#__PURE__*/ _jsx(Link,{href:\"https://discord.mlh.io\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(motion.a,{className:\"framer-styles-preset-uob6h6\",\"data-styles-preset\":\"iyBsYvPgx\",children:\"Discord\"})})})}),transformTemplate:undefined},\"o3L97l1DJ-hover\":{children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNjAw\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv)\",\"--framer-text-decoration\":\"underline\"},children:\"Discord \"})})},aQuRzyyAp:{children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNjAw\",\"--framer-font-weight\":\"600\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv)\"},children:/*#__PURE__*/ _jsx(Link,{href:\"https://discord.mlh.io\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Discord\"})})})}),transformTemplate:undefined}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/ _jsx(SVG,{className:\"framer-fddgic\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:17,intrinsicWidth:20,layoutDependency:layoutDependency,layoutId:\"w7wap6_sx\",svg:'<svg width=\"20\" height=\"17\" viewBox=\"0 0 20 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M16.9566 2.16742C19.2154 5.48842 20.3309 9.23441 19.9139 13.5469C19.9121 13.5652 19.9026 13.5819 19.8876 13.5929C18.1771 14.8489 16.5199 15.6112 14.8859 16.1167C14.8732 16.1205 14.8596 16.1203 14.847 16.116C14.8344 16.1118 14.8234 16.1037 14.8157 16.0929C14.4382 15.5677 14.0952 15.0139 13.7947 14.4324C13.7774 14.3982 13.7932 14.3569 13.8287 14.3434C14.3734 14.1382 14.8914 13.8922 15.3896 13.6009C15.4289 13.5779 15.4314 13.5217 15.3951 13.4947C15.2894 13.4162 15.1846 13.3337 15.0844 13.2512C15.0656 13.2359 15.0404 13.2329 15.0192 13.2432C11.7844 14.7369 8.24091 14.7369 4.96792 13.2432C4.94667 13.2337 4.92142 13.2369 4.90317 13.2519C4.80317 13.3344 4.69817 13.4162 4.59342 13.4947C4.55717 13.5217 4.56017 13.5779 4.59967 13.6009C5.09792 13.8867 5.61592 14.1382 6.15991 14.3444C6.19516 14.3579 6.21192 14.3982 6.19442 14.4324C5.90042 15.0147 5.55742 15.5684 5.17292 16.0937C5.15617 16.1149 5.12867 16.1247 5.10267 16.1167C3.47642 15.6112 1.81917 14.8489 0.108676 13.5929C0.0944255 13.5819 0.0841756 13.5644 0.0826756 13.5462C-0.265824 9.81591 0.444425 6.03892 3.03717 2.16667C3.04342 2.15642 3.05292 2.14842 3.06392 2.14367C4.33967 1.55817 5.70642 1.12742 7.13491 0.881425C7.16091 0.877425 7.18691 0.889425 7.20041 0.912425C7.37691 1.22492 7.57866 1.62567 7.71516 1.95317C9.22091 1.72317 10.7502 1.72317 12.2874 1.95317C12.4239 1.63267 12.6187 1.22492 12.7944 0.912425C12.8007 0.901015 12.8104 0.891874 12.8221 0.886307C12.8339 0.88074 12.8471 0.879031 12.8599 0.881425C14.2892 1.12817 15.6559 1.55892 16.9306 2.14367C16.9419 2.14842 16.9511 2.15642 16.9566 2.16742V2.16742ZM8.48066 9.25991C8.49641 8.15716 7.69241 7.24466 6.68316 7.24466C5.68217 7.24466 4.88592 8.14916 4.88592 9.25991C4.88592 10.3704 5.69792 11.2749 6.68316 11.2749C7.68441 11.2749 8.48066 10.3704 8.48066 9.25991V9.25991ZM15.1261 9.25991C15.1419 8.15716 14.3379 7.24466 13.3289 7.24466C12.3277 7.24466 11.5314 8.14916 11.5314 9.25991C11.5314 10.3704 12.3434 11.2749 13.3289 11.2749C14.3379 11.2749 15.1261 10.3704 15.1261 9.25991V9.25991Z\" fill=\"#FCEE90\"/>\\n</svg>\\n',transition:transition,withExternalLayout:true})]})})})});});const css=['.framer-YblpK [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-YblpK * { box-sizing: border-box; }\",\".framer-YblpK .framer-9hz8gr { display: block; }\",\".framer-YblpK .framer-o5cupz { height: 20px; overflow: visible; position: relative; width: 92px; }\",\".framer-YblpK .framer-1xzxv01, .framer-YblpK .framer-fddgic { flex: none; height: 17px; left: 0px; position: absolute; top: calc(50.00000000000002% - 17px / 2); width: 20px; }\",\".framer-YblpK .framer-1minb9y { flex: none; height: auto; overflow: visible; position: absolute; right: 1px; top: 50%; white-space: pre; width: auto; }\",\".framer-YblpK .framer-v-o5cupz .framer-o5cupz, .framer-YblpK .framer-v-yqr5wr .framer-o5cupz { cursor: pointer; }\",\".framer-YblpK.framer-v-yqr5wr .framer-o5cupz { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; justify-content: center; padding: 0px 0px 0px 0px; }\",\".framer-YblpK.framer-v-yqr5wr .framer-1xzxv01 { left: unset; order: 1; position: relative; top: unset; }\",\".framer-YblpK.framer-v-yqr5wr .framer-1minb9y { order: 0; position: relative; right: unset; top: unset; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-YblpK.framer-v-yqr5wr .framer-o5cupz { gap: 0px; } .framer-YblpK.framer-v-yqr5wr .framer-o5cupz > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-YblpK.framer-v-yqr5wr .framer-o5cupz > :first-child { margin-left: 0px; } .framer-YblpK.framer-v-yqr5wr .framer-o5cupz > :last-child { margin-right: 0px; } }\",\".framer-YblpK.framer-v-o5cupz.hover .framer-o5cupz { text-decoration: none; }\",\".framer-YblpK.framer-v-yqr5wr.hover .framer-1xzxv01 { left: unset; top: unset; }\",\".framer-YblpK.framer-v-yqr5wr.hover .framer-1minb9y { right: unset; top: unset; }\",...sharedStyle.css,...sharedStyle1.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 20\n * @framerIntrinsicWidth 92\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"aQuRzyyAp\":{\"layout\":[\"fixed\",\"fixed\"]},\"HzLNYCrBz\":{\"layout\":[\"fixed\",\"fixed\"]},\"EhRhM5qUg\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"yC2jOTrFH\":\"title\"}\n */ const Framerf9ltlEnvs=withCSS(Component,css,\"framer-YblpK\");export default Framerf9ltlEnvs;Framerf9ltlEnvs.displayName=\"Support / discord\";Framerf9ltlEnvs.defaultProps={height:20,width:92};addPropertyControls(Framerf9ltlEnvs,{variant:{options:[\"o3L97l1DJ\",\"aQuRzyyAp\"],optionTitles:[\"Variant 1\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum},yC2jOTrFH:{defaultValue:\"Discord\",displayTextArea:false,title:\"Title\",type:ControlType.String}});addFonts(Framerf9ltlEnvs,[{family:\"Inter\",moduleAsset:{localModuleIdentifier:\"local-module:canvasComponent/f9ltlEnvs:default\",url:\"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYMZhrib2Bg-4.ttf\"},style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYMZhrib2Bg-4.ttf\",weight:\"600\"},...sharedStyle.fonts,...sharedStyle1.fonts]);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerf9ltlEnvs\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"aQuRzyyAp\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"HzLNYCrBz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"EhRhM5qUg\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"yC2jOTrFH\\\":\\\"title\\\"}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"92\",\"framerIntrinsicHeight\":\"20\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./f9ltlEnvs.map","// Generated by Framer (28b2919)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useActiveVariantCallback,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const enabledGestures={bF53rlFEO:{hover:true},h8LDiEELK:{hover:true}};const cycleOrder=[\"bF53rlFEO\",\"h8LDiEELK\"];const variantClassNames={bF53rlFEO:\"framer-v-13gzgu9\",h8LDiEELK:\"framer-v-1891b6o\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transitions={default:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"}};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/ _jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Variant 1\":\"bF53rlFEO\",Mobile:\"h8LDiEELK\"};const getProps=({headerLink,height,id,tap,title,width,...props})=>{var _variant,ref,ref1;return{...props,f4x7_4GGj:tap!==null&&tap!==void 0?tap:props.f4x7_4GGj,rYSzobc2J:headerLink!==null&&headerLink!==void 0?headerLink:props.rYSzobc2J,variant:(ref=(_variant=humanReadableVariantMap[props.variant])!==null&&_variant!==void 0?_variant:props.variant)!==null&&ref!==void 0?ref:\"bF53rlFEO\",XkUBd1ieM:(ref1=title!==null&&title!==void 0?title:props.XkUBd1ieM)!==null&&ref1!==void 0?ref1:\"Register\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/ React.forwardRef(function(props,ref){const{activeLocale}=useLocaleInfo();const{style,className,layoutId,variant,rYSzobc2J,XkUBd1ieM,f4x7_4GGj,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"bF53rlFEO\",enabledGestures,transitions,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap18nwlt4=activeVariantCallback(async(...args)=>{if(f4x7_4GGj){const res=await f4x7_4GGj(...args);if(res===false)return false;}});const defaultLayoutId=React.useId();return /*#__PURE__*/ _jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/ _jsx(motion.div,{initial:variant,animate:variants,onHoverStart:()=>setGestureState({isHovered:true}),onHoverEnd:()=>setGestureState({isHovered:false}),onTapStart:()=>setGestureState({isPressed:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),className:cx(\"framer-4tZtl\",classNames),style:{display:\"contents\"},children:/*#__PURE__*/ _jsx(Transition,{value:transition,children:/*#__PURE__*/ _jsx(Link,{href:rYSzobc2J,openInNewTab:true,children:/*#__PURE__*/ _jsx(motion.a,{...restProps,className:`${cx(\"framer-13gzgu9\",className)} framer-yfa0zw`,\"data-border\":true,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"bF53rlFEO\",onTap:onTap18nwlt4,ref:ref,style:{\"--border-bottom-width\":\"2px\",\"--border-color\":\"rgb(252, 238, 144)\",\"--border-left-width\":\"2px\",\"--border-right-width\":\"2px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\",backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:6,borderBottomRightRadius:6,borderTopLeftRadius:6,borderTopRightRadius:6,...style},variants:{\"bF53rlFEO-hover\":{\"--border-color\":'var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, rgb(252, 238, 144)) /* {\"name\":\"GHW Primary\"} */',backgroundColor:\"rgb(252, 238, 144)\"},\"h8LDiEELK-hover\":{\"--border-color\":'var(--token-a1456911-e751-4f98-b839-7c80f62957db, rgb(13, 17, 23)) /* {\"name\":\"GHW BG Color\"} */',backgroundColor:\"var(--token-cf9a56a5-36e7-4b85-8697-c330b1c6ea92, rgb(32, 33, 34))\"},h8LDiEELK:{backgroundColor:\"rgb(252, 238, 144)\"}},...addPropertyOverrides({\"bF53rlFEO-hover\":{\"data-framer-name\":undefined},\"h8LDiEELK-hover\":{\"data-framer-name\":undefined},h8LDiEELK:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/ _jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv)\"},children:\"Register\"})}),className:\"framer-eo6kit\",\"data-framer-name\":\"Register\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"UJSnzuG5G\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-paragraph-spacing\":\"0px\"},text:XkUBd1ieM,variants:{\"bF53rlFEO-hover\":{\"--extracted-r6o4lv\":\"var(--token-a1456911-e751-4f98-b839-7c80f62957db, rgb(13, 17, 23))\"},\"h8LDiEELK-hover\":{\"--extracted-r6o4lv\":\"var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, rgb(252, 238, 144))\"}},verticalAlignment:\"center\",withExternalLayout:true,...addPropertyOverrides({\"h8LDiEELK-hover\":{children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv)\"},children:\"Register\"})})},h8LDiEELK:{children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\"},children:\"Register\"})})}},baseVariant,gestureVariant)})})})})})});});const css=['.framer-4tZtl [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-4tZtl .framer-yfa0zw { display: block; }\",\".framer-4tZtl .framer-13gzgu9 { align-content: flex-start; align-items: flex-start; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 10px 25px 10px 25px; position: relative; text-decoration: none; width: min-content; }\",\".framer-4tZtl .framer-eo6kit { flex: none; height: auto; overflow: visible; position: relative; white-space: pre; width: auto; }\",\".framer-4tZtl .framer-v-13gzgu9 .framer-13gzgu9, .framer-4tZtl .framer-v-1891b6o .framer-13gzgu9 { cursor: pointer; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-4tZtl .framer-13gzgu9 { gap: 0px; } .framer-4tZtl .framer-13gzgu9 > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-4tZtl .framer-13gzgu9 > :first-child { margin-left: 0px; } .framer-4tZtl .framer-13gzgu9 > :last-child { margin-right: 0px; } }\",\".framer-4tZtl.framer-v-1891b6o .framer-13gzgu9 { align-content: center; align-items: center; justify-content: center; width: 350px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 42.5\n * @framerIntrinsicWidth 115.5\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"h8LDiEELK\":{\"layout\":[\"fixed\",\"auto\"]},\"Y3dNSWLdi\":{\"layout\":[\"auto\",\"auto\"]},\"PonO_dnQK\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"rYSzobc2J\":\"headerLink\",\"XkUBd1ieM\":\"title\",\"f4x7_4GGj\":\"tap\"}\n */ const FramerQwKHB4r7w=withCSS(Component,css,\"framer-4tZtl\");export default FramerQwKHB4r7w;FramerQwKHB4r7w.displayName=\"Elements / Primary Btn\";FramerQwKHB4r7w.defaultProps={height:42.5,width:115.5};addPropertyControls(FramerQwKHB4r7w,{variant:{options:[\"bF53rlFEO\",\"h8LDiEELK\"],optionTitles:[\"Variant 1\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum},rYSzobc2J:{title:\"header-link\",type:ControlType.Link},XkUBd1ieM:{defaultValue:\"Register\",displayTextArea:false,title:\"Title\",type:ControlType.String},f4x7_4GGj:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(FramerQwKHB4r7w,[{family:\"Inter\",moduleAsset:{localModuleIdentifier:\"local-module:canvasComponent/QwKHB4r7w:default\",url:\"https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZhrib2Bg-4.ttf\"},style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZhrib2Bg-4.ttf\",weight:\"700\"}]);\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerQwKHB4r7w\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"42.5\",\"framerVariables\":\"{\\\"rYSzobc2J\\\":\\\"headerLink\\\",\\\"XkUBd1ieM\\\":\\\"title\\\",\\\"f4x7_4GGj\\\":\\\"tap\\\"}\",\"framerIntrinsicWidth\":\"115.5\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"h8LDiEELK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"Y3dNSWLdi\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"PonO_dnQK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./QwKHB4r7w.map","// Generated by Framer (c9b3949)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/DuKVeg9nOFqZ2BwKOWuY/Lottie.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/T9PXRjJ5Rr4R0RkXRZim/KW2wcbjFdoKd1AgLqvbd/AS4PcgcTr.js\";import SupportDiscord from\"https://framerusercontent.com/modules/pYiUbkxmOJfjiRmDt067/G94Nz88CczVDyBPYsga9/f9ltlEnvs.js\";import ElementsPrimaryBtn from\"https://framerusercontent.com/modules/GOMi37x3QsP9GGQA94Cf/kL9GIiLvwRHTFpB6JOps/QwKHB4r7w.js\";const LottieFonts=getFonts(Lottie);const SupportDiscordFonts=getFonts(SupportDiscord);const ElementsPrimaryBtnFonts=getFonts(ElementsPrimaryBtn);const cycleOrder=[\"ZarghZWK7\",\"tr3yeymeK\",\"z9JgfamJF\",\"nQSa06nVD\"];const serializationHash=\"framer-SfNN3\";const variantClassNames={nQSa06nVD:\"framer-v-11xfclq\",tr3yeymeK:\"framer-v-c5evlv\",z9JgfamJF:\"framer-v-75696d\",ZarghZWK7:\"framer-v-1d4im4b\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const BZ_k0ki24=undefined;const Gbg2_xADN=undefined;const DAB2x7rNK=undefined;const transition1={damping:35,delay:0,mass:1,stiffness:400,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={\"Phone Open\":\"nQSa06nVD\",Desktop:\"ZarghZWK7\",Phone:\"z9JgfamJF\",Tablet:\"tr3yeymeK\"};const Variants=motion.create(React.Fragment);const getProps=({gHWActive,headerLink,height,id,tap2,width,...props})=>{return{...props,BZ_k0ki24:tap2??props.BZ_k0ki24,DAB2x7rNK:headerLink??props.DAB2x7rNK,Gbg2_xADN:gHWActive??props.Gbg2_xADN??false,variant:humanReadableVariantMap[props.variant]??props.variant??\"ZarghZWK7\"};};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,Gbg2_xADN,BZ_k0ki24,DAB2x7rNK,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ZarghZWK7\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1vo1dhq=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(BZ_k0ki24){const res=await BZ_k0ki24(...args);if(res===false)return false;}});const onTapStart1ug6lja=activeVariantCallback(async(...args)=>{setGestureState({isPressed:true});setVariant(\"ZarghZWK7\");});const onTap1lahf9c=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"nQSa06nVD\"),200);});const onTapsb4p38=activeVariantCallback(async(...args)=>{setVariant(\"z9JgfamJF\");});const tap3mrnju=activeVariantCallback(async(...args)=>{setVariant(\"nQSa06nVD\");});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"nQSa06nVD\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"z9JgfamJF\")return true;return false;};const isDisplayed2=()=>{if([\"tr3yeymeK\",\"z9JgfamJF\",\"nQSa06nVD\"].includes(baseVariant))return false;return true;};const isDisplayed3=()=>{if([\"z9JgfamJF\",\"nQSa06nVD\"].includes(baseVariant))return false;return true;};const isDisplayed4=()=>{if(baseVariant===\"nQSa06nVD\")return true;return false;};const isDisplayed5=value=>{if(baseVariant===\"nQSa06nVD\")return value;return true;};const isDisplayed6=()=>{if(baseVariant===\"tr3yeymeK\")return true;return false;};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.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1d4im4b\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Desktop\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"ZarghZWK7\",onTap:onTap1vo1dhq,onTapStart:onTapStart1ug6lja,ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(0, 0, 0, 0.08)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",...style},...addPropertyOverrides({nQSa06nVD:{\"data-framer-name\":\"Phone Open\"},tr3yeymeK:{\"data-framer-name\":\"Tablet\"},z9JgfamJF:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1e86irf\",\"data-framer-name\":\"Title and Icon\",layoutDependency:layoutDependency,layoutId:\"PwgJjrgvV\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-wp8ido\",layoutDependency:layoutDependency,layoutId:\"VROSX4HPK\",children:[/*#__PURE__*/_jsx(Link,{href:\"/\",motionChild:true,nodeId:\"INorL918e\",openInNewTab:false,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(SVG,{as:\"a\",className:\"framer-1o3jomw framer-cgl0ng\",\"data-framer-name\":\"Logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"INorL918e\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 74 32\"><path d=\"M 3.734 27.744 C 3.851 27.795 3.951 27.879 4.022 27.985 C 4.093 28.092 4.132 28.216 4.134 28.344 L 4.134 31.503 C 4.134 31.531 4.122 31.557 4.102 31.577 C 4.082 31.597 4.055 31.608 4.027 31.608 L 3.251 31.608 C 3.237 31.608 3.224 31.606 3.212 31.601 C 3.199 31.596 3.188 31.589 3.179 31.579 C 3.16 31.558 3.15 31.531 3.151 31.503 L 3.151 28.636 L 2.524 28.636 L 2.524 31.503 C 2.524 31.53 2.514 31.557 2.495 31.577 C 2.487 31.587 2.476 31.596 2.464 31.601 C 2.451 31.607 2.437 31.609 2.424 31.608 L 1.709 31.608 C 1.681 31.608 1.655 31.597 1.635 31.577 C 1.615 31.557 1.604 31.53 1.604 31.503 L 1.604 28.636 L 0.99 28.636 L 0.99 31.503 C 0.993 31.527 0.987 31.552 0.972 31.571 C 0.957 31.591 0.935 31.604 0.911 31.608 L 0.113 31.608 C 0.089 31.611 0.065 31.606 0.045 31.592 C 0.025 31.578 0.011 31.557 0.006 31.534 L 0.006 27.797 C 0.002 27.773 0.009 27.748 0.023 27.728 C 0.038 27.708 0.06 27.695 0.084 27.692 L 3.477 27.692 C 3.565 27.69 3.653 27.708 3.734 27.744 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 7.63 27.692 C 7.759 27.691 7.886 27.729 7.994 27.8 C 8.102 27.872 8.187 27.974 8.237 28.093 C 8.273 28.173 8.292 28.259 8.292 28.347 L 8.292 31.505 C 8.292 31.519 8.29 31.532 8.286 31.545 C 8.281 31.558 8.274 31.569 8.264 31.579 C 8.255 31.589 8.244 31.597 8.231 31.602 C 8.219 31.608 8.205 31.61 8.192 31.61 L 7.41 31.61 C 7.382 31.61 7.355 31.599 7.335 31.58 C 7.315 31.56 7.304 31.533 7.303 31.505 L 7.303 30.502 C 7.304 30.475 7.295 30.448 7.277 30.428 C 7.268 30.417 7.256 30.409 7.244 30.403 C 7.231 30.398 7.217 30.396 7.203 30.397 L 6.098 30.397 C 6.07 30.397 6.043 30.408 6.023 30.427 C 6.003 30.447 5.991 30.474 5.99 30.502 L 5.99 31.505 C 5.992 31.517 5.992 31.529 5.989 31.541 C 5.987 31.553 5.982 31.564 5.974 31.574 C 5.967 31.584 5.958 31.592 5.948 31.598 C 5.938 31.604 5.926 31.609 5.914 31.61 L 5.116 31.61 C 5.104 31.613 5.092 31.613 5.08 31.61 C 5.068 31.607 5.056 31.602 5.046 31.595 C 5.036 31.588 5.028 31.579 5.021 31.568 C 5.015 31.558 5.011 31.546 5.009 31.534 L 5.009 28.347 C 5.009 28.26 5.026 28.174 5.059 28.093 C 5.09 28.012 5.138 27.938 5.2 27.876 C 5.262 27.816 5.336 27.768 5.416 27.735 C 5.496 27.7 5.582 27.682 5.669 27.682 Z M 7.294 29.558 L 7.294 28.571 L 5.983 28.571 L 5.983 29.556 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 11.803 27.723 C 11.814 27.732 11.822 27.743 11.828 27.756 C 11.833 27.769 11.835 27.783 11.834 27.797 L 11.834 30.96 C 11.835 31.048 11.817 31.134 11.782 31.214 C 11.749 31.294 11.701 31.368 11.641 31.431 C 11.581 31.493 11.508 31.541 11.427 31.572 C 11.346 31.605 11.26 31.622 11.172 31.622 L 9.504 31.622 C 9.417 31.622 9.33 31.605 9.25 31.572 C 9.13 31.522 9.028 31.437 8.956 31.328 C 8.885 31.219 8.848 31.091 8.849 30.96 L 8.849 29.766 C 8.846 29.741 8.852 29.716 8.867 29.696 C 8.881 29.676 8.903 29.662 8.928 29.658 L 9.726 29.658 C 9.751 29.655 9.775 29.662 9.795 29.677 C 9.815 29.691 9.829 29.713 9.833 29.737 L 9.833 30.566 C 9.833 30.58 9.835 30.593 9.84 30.606 C 9.845 30.619 9.852 30.631 9.862 30.64 C 9.883 30.658 9.91 30.668 9.938 30.666 L 10.748 30.666 C 10.775 30.668 10.802 30.658 10.822 30.64 C 10.832 30.631 10.841 30.62 10.846 30.607 C 10.851 30.594 10.854 30.58 10.853 30.566 L 10.853 27.797 C 10.853 27.77 10.863 27.743 10.881 27.723 C 10.89 27.712 10.902 27.704 10.915 27.699 C 10.928 27.693 10.941 27.691 10.955 27.692 L 11.732 27.692 C 11.745 27.692 11.759 27.694 11.771 27.7 C 11.783 27.705 11.794 27.713 11.803 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 15.336 27.692 C 15.423 27.691 15.509 27.709 15.589 27.745 C 15.667 27.777 15.738 27.824 15.797 27.884 C 15.856 27.944 15.903 28.015 15.934 28.093 C 15.97 28.173 15.989 28.259 15.989 28.347 L 15.989 30.949 C 15.989 31.037 15.97 31.124 15.934 31.204 C 15.903 31.284 15.856 31.357 15.796 31.419 C 15.735 31.482 15.661 31.53 15.579 31.56 C 15.5 31.595 15.414 31.612 15.327 31.61 L 13.359 31.61 C 13.273 31.61 13.188 31.593 13.109 31.558 C 12.991 31.509 12.89 31.426 12.818 31.32 C 12.747 31.214 12.709 31.089 12.709 30.961 L 12.709 28.359 C 12.708 28.271 12.725 28.184 12.759 28.103 C 12.788 28.022 12.836 27.949 12.897 27.888 C 12.96 27.828 13.033 27.78 13.114 27.747 C 13.193 27.712 13.279 27.694 13.366 27.694 Z M 15 28.648 L 13.69 28.648 L 13.69 30.664 L 15.015 30.664 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 20.27 31.522 C 20.277 31.531 20.281 31.543 20.281 31.554 C 20.281 31.566 20.277 31.577 20.27 31.587 C 20.264 31.596 20.255 31.603 20.244 31.608 C 20.234 31.612 20.222 31.614 20.211 31.613 L 19.325 31.613 C 19.293 31.613 19.263 31.603 19.236 31.587 C 19.208 31.572 19.184 31.549 19.167 31.522 L 18.588 30.459 C 18.585 30.451 18.579 30.446 18.571 30.442 C 18.564 30.438 18.556 30.436 18.548 30.437 L 17.874 30.437 C 17.87 30.437 17.867 30.437 17.864 30.437 C 17.861 30.438 17.858 30.439 17.855 30.441 C 17.853 30.442 17.85 30.445 17.849 30.448 C 17.847 30.45 17.846 30.453 17.845 30.456 L 17.845 31.498 C 17.847 31.51 17.846 31.523 17.843 31.534 C 17.839 31.546 17.834 31.557 17.826 31.567 C 17.819 31.576 17.809 31.584 17.799 31.59 C 17.788 31.596 17.776 31.6 17.764 31.601 L 16.971 31.601 C 16.947 31.604 16.922 31.598 16.903 31.584 C 16.883 31.57 16.87 31.548 16.866 31.524 C 16.863 31.515 16.863 31.505 16.866 31.496 L 16.866 27.797 C 16.864 27.785 16.864 27.773 16.867 27.761 C 16.87 27.749 16.875 27.738 16.882 27.729 C 16.889 27.719 16.898 27.71 16.908 27.704 C 16.919 27.698 16.93 27.694 16.942 27.692 L 19.496 27.692 C 19.583 27.692 19.669 27.71 19.749 27.745 C 19.904 27.812 20.028 27.937 20.094 28.093 C 20.129 28.173 20.147 28.259 20.146 28.347 L 20.146 29.818 C 20.147 29.957 20.103 30.092 20.02 30.203 C 19.943 30.317 19.829 30.401 19.699 30.442 L 19.682 30.442 C 19.656 30.442 19.649 30.461 19.663 30.476 Z M 19.16 28.605 L 17.814 28.605 L 17.814 29.56 L 19.16 29.56 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 25.526 30.659 C 25.539 30.659 25.553 30.661 25.566 30.666 C 25.579 30.671 25.59 30.678 25.6 30.688 C 25.618 30.709 25.629 30.736 25.628 30.765 L 25.628 31.505 C 25.628 31.533 25.618 31.559 25.6 31.579 C 25.591 31.59 25.579 31.598 25.566 31.604 C 25.554 31.609 25.54 31.611 25.526 31.61 L 23.115 31.61 C 23.091 31.614 23.066 31.608 23.046 31.594 C 23.026 31.579 23.012 31.558 23.008 31.534 L 23.008 27.797 C 23.004 27.773 23.011 27.748 23.025 27.728 C 23.04 27.709 23.062 27.696 23.086 27.692 L 23.884 27.692 C 23.909 27.689 23.933 27.695 23.953 27.71 C 23.973 27.725 23.986 27.747 23.989 27.771 C 23.992 27.779 23.992 27.789 23.989 27.797 L 23.989 30.559 C 23.989 30.573 23.991 30.587 23.996 30.6 C 24.002 30.612 24.01 30.624 24.02 30.633 C 24.041 30.652 24.068 30.662 24.096 30.662 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 29.137 27.723 C 29.148 27.732 29.156 27.744 29.161 27.757 C 29.166 27.77 29.169 27.783 29.168 27.797 L 29.168 28.502 C 29.169 28.516 29.167 28.53 29.162 28.543 C 29.156 28.556 29.148 28.567 29.137 28.576 C 29.117 28.595 29.091 28.605 29.064 28.605 L 27.191 28.605 C 27.188 28.604 27.185 28.604 27.182 28.605 C 27.179 28.605 27.176 28.607 27.174 28.608 C 27.171 28.61 27.169 28.612 27.168 28.615 C 27.166 28.618 27.165 28.621 27.165 28.624 L 27.165 29.233 C 27.165 29.247 27.165 29.255 27.191 29.255 L 28.787 29.255 C 28.801 29.254 28.814 29.256 28.827 29.262 C 28.839 29.267 28.85 29.275 28.859 29.286 C 28.877 29.306 28.888 29.332 28.887 29.36 L 28.887 29.921 C 28.888 29.949 28.877 29.975 28.859 29.995 C 28.85 30.006 28.839 30.014 28.827 30.019 C 28.814 30.025 28.801 30.027 28.787 30.026 L 27.191 30.026 C 27.185 30.026 27.179 30.027 27.174 30.031 C 27.169 30.034 27.166 30.04 27.165 30.045 L 27.165 30.65 C 27.164 30.653 27.163 30.656 27.164 30.659 C 27.164 30.662 27.165 30.665 27.166 30.668 C 27.168 30.671 27.17 30.673 27.173 30.675 C 27.175 30.677 27.178 30.678 27.182 30.679 L 29.071 30.679 C 29.098 30.679 29.124 30.689 29.144 30.709 C 29.164 30.728 29.175 30.754 29.176 30.781 L 29.176 31.498 C 29.176 31.512 29.173 31.525 29.169 31.538 C 29.163 31.551 29.156 31.562 29.146 31.572 C 29.137 31.582 29.126 31.59 29.113 31.595 C 29.1 31.601 29.087 31.603 29.073 31.603 L 26.288 31.603 C 26.264 31.607 26.239 31.601 26.219 31.587 C 26.199 31.572 26.186 31.551 26.181 31.527 L 26.181 27.797 C 26.182 27.769 26.193 27.742 26.213 27.723 C 26.233 27.703 26.26 27.692 26.288 27.692 L 29.071 27.692 C 29.096 27.694 29.12 27.705 29.137 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 32.68 27.692 C 32.768 27.691 32.855 27.709 32.935 27.745 C 33.092 27.809 33.217 27.934 33.283 28.091 C 33.318 28.171 33.336 28.257 33.335 28.344 L 33.335 31.503 C 33.336 31.516 33.334 31.53 33.329 31.543 C 33.324 31.555 33.317 31.567 33.308 31.577 C 33.298 31.587 33.287 31.595 33.275 31.6 C 33.262 31.605 33.249 31.608 33.235 31.608 L 32.447 31.608 C 32.419 31.608 32.392 31.597 32.373 31.577 C 32.353 31.557 32.342 31.531 32.342 31.503 L 32.342 30.499 C 32.342 30.472 32.332 30.445 32.313 30.425 C 32.304 30.415 32.293 30.406 32.28 30.401 C 32.267 30.395 32.253 30.393 32.239 30.394 L 31.151 30.394 C 31.123 30.394 31.096 30.405 31.076 30.425 C 31.056 30.445 31.044 30.471 31.044 30.499 L 31.044 31.503 C 31.047 31.527 31.041 31.552 31.026 31.572 C 31.011 31.591 30.989 31.604 30.965 31.608 L 30.167 31.608 C 30.155 31.61 30.143 31.61 30.131 31.607 C 30.119 31.604 30.108 31.599 30.098 31.592 C 30.089 31.585 30.08 31.576 30.074 31.565 C 30.068 31.555 30.064 31.544 30.062 31.532 C 30.06 31.522 30.06 31.512 30.062 31.503 L 30.062 28.347 C 30.062 28.26 30.079 28.174 30.112 28.093 C 30.143 28.012 30.191 27.938 30.253 27.876 C 30.315 27.816 30.389 27.768 30.469 27.735 C 30.549 27.7 30.635 27.682 30.722 27.682 Z M 32.347 29.558 L 32.347 28.571 L 31.034 28.571 L 31.034 29.556 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 37.457 29.503 C 37.467 29.513 37.474 29.525 37.479 29.538 C 37.484 29.551 37.486 29.565 37.485 29.579 L 37.485 30.96 C 37.486 31.048 37.468 31.134 37.433 31.214 C 37.399 31.293 37.353 31.367 37.295 31.431 C 37.233 31.493 37.159 31.541 37.078 31.572 C 36.998 31.605 36.912 31.622 36.825 31.622 L 34.848 31.622 C 34.762 31.623 34.677 31.606 34.598 31.573 C 34.518 31.54 34.446 31.492 34.386 31.431 C 34.325 31.37 34.277 31.298 34.244 31.219 C 34.212 31.139 34.195 31.054 34.195 30.968 L 34.195 28.363 C 34.195 28.276 34.212 28.19 34.245 28.11 C 34.275 28.028 34.322 27.954 34.383 27.893 C 34.446 27.833 34.518 27.785 34.598 27.752 C 34.679 27.718 34.765 27.7 34.853 27.699 L 37.171 27.699 C 37.199 27.699 37.227 27.71 37.247 27.731 C 37.267 27.751 37.278 27.778 37.278 27.807 L 37.278 28.545 C 37.278 28.573 37.267 28.601 37.247 28.621 C 37.227 28.641 37.199 28.652 37.171 28.652 L 35.301 28.652 C 35.273 28.652 35.245 28.662 35.224 28.681 C 35.205 28.701 35.194 28.727 35.193 28.755 L 35.193 30.569 C 35.194 30.582 35.196 30.595 35.202 30.608 C 35.207 30.62 35.215 30.631 35.224 30.64 C 35.234 30.65 35.246 30.658 35.26 30.663 C 35.273 30.667 35.287 30.67 35.301 30.669 L 36.406 30.669 C 36.419 30.67 36.431 30.668 36.443 30.664 C 36.455 30.659 36.466 30.653 36.475 30.644 C 36.484 30.636 36.492 30.626 36.497 30.614 C 36.502 30.603 36.505 30.591 36.506 30.578 L 36.506 29.589 C 36.505 29.575 36.508 29.562 36.512 29.549 C 36.517 29.536 36.524 29.525 36.534 29.515 C 36.543 29.505 36.554 29.497 36.567 29.492 C 36.579 29.487 36.593 29.484 36.606 29.484 L 37.388 29.484 C 37.412 29.482 37.437 29.489 37.457 29.503 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 41.576 27.723 C 41.596 27.743 41.607 27.769 41.607 27.797 L 41.607 30.96 C 41.607 31.048 41.588 31.134 41.552 31.214 C 41.52 31.294 41.473 31.368 41.414 31.431 C 41.352 31.493 41.279 31.541 41.197 31.572 C 41.116 31.605 41.03 31.622 40.942 31.622 L 38.965 31.622 C 38.878 31.622 38.793 31.605 38.712 31.572 C 38.555 31.506 38.429 31.381 38.362 31.223 C 38.329 31.142 38.312 31.055 38.312 30.968 L 38.312 27.797 C 38.309 27.773 38.315 27.748 38.33 27.728 C 38.345 27.709 38.366 27.695 38.391 27.692 L 39.189 27.692 C 39.213 27.688 39.238 27.695 39.258 27.71 C 39.277 27.724 39.29 27.746 39.294 27.771 C 39.296 27.779 39.296 27.788 39.294 27.797 L 39.294 30.559 C 39.293 30.573 39.296 30.587 39.301 30.599 C 39.306 30.612 39.314 30.624 39.325 30.633 C 39.346 30.652 39.373 30.662 39.401 30.662 L 40.506 30.662 C 40.52 30.662 40.533 30.659 40.545 30.655 C 40.557 30.65 40.568 30.642 40.578 30.633 C 40.588 30.624 40.596 30.612 40.601 30.599 C 40.606 30.587 40.608 30.573 40.606 30.559 L 40.606 27.797 C 40.607 27.769 40.619 27.742 40.639 27.722 C 40.659 27.703 40.686 27.692 40.714 27.692 L 41.49 27.692 C 41.506 27.689 41.522 27.691 41.537 27.696 C 41.552 27.702 41.566 27.711 41.576 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 45.445 27.723 C 45.465 27.742 45.476 27.769 45.476 27.797 L 45.476 28.502 C 45.476 28.516 45.474 28.529 45.469 28.542 C 45.463 28.555 45.455 28.566 45.445 28.576 C 45.424 28.595 45.397 28.605 45.369 28.604 L 43.499 28.604 C 43.495 28.604 43.492 28.604 43.489 28.604 C 43.486 28.605 43.483 28.606 43.48 28.608 C 43.478 28.61 43.475 28.612 43.473 28.615 C 43.472 28.617 43.47 28.62 43.47 28.624 L 43.47 29.242 C 43.47 29.257 43.47 29.264 43.499 29.264 L 45.095 29.264 C 45.108 29.264 45.122 29.266 45.134 29.272 C 45.146 29.277 45.157 29.285 45.166 29.295 C 45.185 29.315 45.195 29.342 45.195 29.369 L 45.195 29.93 C 45.195 29.958 45.185 29.984 45.166 30.005 C 45.157 30.015 45.146 30.023 45.134 30.028 C 45.122 30.033 45.108 30.036 45.095 30.036 L 43.499 30.036 C 43.492 30.035 43.486 30.036 43.481 30.04 C 43.475 30.043 43.472 30.049 43.47 30.055 L 43.47 30.669 C 43.469 30.672 43.469 30.675 43.47 30.678 C 43.47 30.681 43.472 30.685 43.473 30.687 C 43.475 30.69 43.477 30.692 43.48 30.694 C 43.483 30.696 43.486 30.697 43.489 30.697 L 45.369 30.697 C 45.396 30.697 45.423 30.708 45.443 30.727 C 45.463 30.746 45.475 30.772 45.476 30.8 L 45.476 31.517 C 45.476 31.544 45.465 31.571 45.446 31.59 C 45.427 31.61 45.401 31.621 45.373 31.622 L 42.596 31.622 C 42.584 31.624 42.571 31.624 42.559 31.621 C 42.547 31.618 42.536 31.613 42.526 31.606 C 42.516 31.599 42.508 31.59 42.501 31.58 C 42.495 31.569 42.49 31.558 42.488 31.546 C 42.486 31.536 42.486 31.526 42.488 31.517 L 42.488 27.797 C 42.489 27.769 42.501 27.742 42.521 27.722 C 42.541 27.703 42.568 27.692 42.596 27.692 L 45.369 27.692 C 45.383 27.691 45.397 27.694 45.41 27.699 C 45.423 27.704 45.435 27.713 45.445 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 51.437 27.692 C 51.45 27.691 51.464 27.693 51.476 27.698 C 51.489 27.703 51.501 27.71 51.511 27.72 C 51.52 27.729 51.528 27.74 51.533 27.753 C 51.539 27.765 51.542 27.779 51.542 27.792 L 51.542 31.505 C 51.542 31.519 51.539 31.532 51.534 31.545 C 51.529 31.558 51.522 31.569 51.512 31.579 C 51.503 31.589 51.491 31.597 51.479 31.602 C 51.466 31.608 51.453 31.61 51.439 31.61 L 50.66 31.61 C 50.632 31.61 50.605 31.599 50.585 31.58 C 50.565 31.56 50.553 31.533 50.553 31.505 L 50.553 30.203 C 50.553 30.19 50.552 30.178 50.547 30.166 C 50.543 30.154 50.537 30.143 50.528 30.134 C 50.52 30.125 50.51 30.117 50.498 30.112 C 50.487 30.106 50.475 30.103 50.462 30.103 L 49.35 30.103 C 49.322 30.102 49.294 30.112 49.273 30.131 C 49.263 30.14 49.254 30.152 49.249 30.165 C 49.244 30.177 49.241 30.191 49.242 30.205 L 49.242 31.507 C 49.246 31.532 49.24 31.557 49.225 31.576 C 49.21 31.596 49.188 31.609 49.164 31.613 C 49.155 31.615 49.146 31.615 49.138 31.613 L 48.368 31.613 C 48.344 31.616 48.319 31.61 48.3 31.595 C 48.28 31.58 48.267 31.558 48.263 31.534 C 48.261 31.525 48.261 31.516 48.263 31.507 L 48.263 27.797 C 48.26 27.773 48.266 27.748 48.281 27.728 C 48.296 27.709 48.318 27.695 48.342 27.692 L 49.14 27.692 C 49.164 27.688 49.189 27.695 49.209 27.71 C 49.228 27.724 49.241 27.746 49.245 27.771 C 49.247 27.779 49.247 27.788 49.245 27.797 L 49.245 29.049 C 49.241 29.073 49.248 29.098 49.263 29.118 C 49.277 29.137 49.299 29.151 49.324 29.154 L 50.455 29.154 C 50.469 29.155 50.483 29.153 50.495 29.148 C 50.508 29.143 50.52 29.135 50.529 29.125 C 50.548 29.104 50.558 29.077 50.558 29.049 L 50.558 27.795 C 50.558 27.767 50.57 27.74 50.59 27.72 C 50.61 27.7 50.637 27.69 50.665 27.69 L 51.439 27.69 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 55.053 27.692 C 55.141 27.691 55.228 27.709 55.308 27.745 C 55.465 27.809 55.59 27.934 55.656 28.091 C 55.691 28.171 55.709 28.257 55.708 28.344 L 55.708 31.503 C 55.709 31.516 55.707 31.53 55.702 31.543 C 55.697 31.555 55.69 31.567 55.681 31.577 C 55.671 31.587 55.66 31.594 55.648 31.6 C 55.635 31.605 55.622 31.608 55.608 31.608 L 54.827 31.608 C 54.799 31.608 54.772 31.597 54.753 31.577 C 54.733 31.557 54.722 31.531 54.722 31.503 L 54.722 30.499 C 54.722 30.472 54.712 30.445 54.693 30.425 C 54.684 30.415 54.673 30.406 54.66 30.401 C 54.647 30.395 54.633 30.393 54.619 30.394 L 53.512 30.394 C 53.484 30.394 53.457 30.405 53.438 30.425 C 53.418 30.445 53.407 30.471 53.407 30.499 L 53.407 31.503 C 53.41 31.527 53.404 31.552 53.389 31.572 C 53.374 31.591 53.353 31.604 53.328 31.608 L 52.53 31.608 C 52.518 31.61 52.506 31.61 52.494 31.607 C 52.482 31.604 52.471 31.599 52.461 31.592 C 52.451 31.585 52.442 31.576 52.436 31.566 C 52.429 31.555 52.425 31.544 52.423 31.531 L 52.423 28.347 C 52.423 28.26 52.44 28.174 52.473 28.093 C 52.504 28.012 52.552 27.938 52.614 27.876 C 52.677 27.816 52.75 27.768 52.83 27.735 C 52.91 27.7 52.996 27.682 53.083 27.682 Z M 54.72 29.558 L 54.72 28.571 L 53.407 28.571 L 53.407 29.556 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 57.583 28.672 C 57.573 28.681 57.565 28.693 57.56 28.705 C 57.555 28.718 57.553 28.732 57.554 28.746 L 57.554 30.559 C 57.553 30.573 57.555 30.586 57.56 30.599 C 57.565 30.612 57.573 30.624 57.583 30.633 C 57.604 30.652 57.631 30.662 57.659 30.662 L 59.453 30.662 C 59.467 30.661 59.48 30.663 59.493 30.668 C 59.506 30.673 59.517 30.68 59.527 30.689 C 59.537 30.699 59.545 30.71 59.55 30.723 C 59.555 30.735 59.558 30.749 59.558 30.762 L 59.558 31.508 C 59.559 31.521 59.557 31.535 59.552 31.547 C 59.547 31.56 59.54 31.572 59.53 31.582 C 59.521 31.592 59.51 31.599 59.497 31.605 C 59.485 31.61 59.472 31.613 59.458 31.613 L 57.226 31.613 C 57.139 31.613 57.053 31.596 56.973 31.563 C 56.892 31.531 56.818 31.483 56.756 31.422 C 56.635 31.292 56.568 31.121 56.568 30.944 L 56.568 28.349 C 56.568 28.262 56.585 28.176 56.618 28.096 C 56.647 28.014 56.695 27.94 56.756 27.878 C 56.819 27.818 56.893 27.77 56.973 27.737 C 57.053 27.702 57.139 27.684 57.226 27.685 L 59.453 27.685 C 59.481 27.685 59.507 27.696 59.526 27.715 C 59.546 27.734 59.557 27.76 59.558 27.788 L 59.558 28.531 C 59.559 28.558 59.549 28.585 59.53 28.605 C 59.511 28.625 59.485 28.637 59.458 28.638 L 57.659 28.638 C 57.645 28.638 57.631 28.641 57.618 28.647 C 57.605 28.653 57.593 28.661 57.583 28.672 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 62.662 29.343 C 62.658 29.348 62.655 29.355 62.655 29.362 C 62.655 29.369 62.658 29.376 62.662 29.381 L 63.958 31.532 C 63.966 31.541 63.969 31.552 63.969 31.564 C 63.969 31.575 63.966 31.587 63.958 31.596 C 63.952 31.605 63.943 31.613 63.932 31.617 C 63.922 31.622 63.91 31.624 63.899 31.622 L 62.97 31.622 C 62.938 31.622 62.908 31.613 62.882 31.596 C 62.853 31.582 62.83 31.559 62.815 31.532 L 61.979 30.005 C 61.979 29.983 61.957 29.983 61.95 30.005 L 61.488 30.514 C 61.466 30.537 61.45 30.565 61.44 30.595 C 61.428 30.625 61.422 30.658 61.421 30.691 L 61.421 31.52 C 61.424 31.544 61.418 31.569 61.403 31.589 C 61.388 31.609 61.367 31.622 61.343 31.627 L 60.561 31.627 C 60.537 31.631 60.512 31.624 60.493 31.609 C 60.473 31.595 60.46 31.573 60.456 31.548 C 60.454 31.539 60.454 31.529 60.456 31.52 L 60.456 27.797 C 60.453 27.773 60.459 27.748 60.474 27.728 C 60.489 27.709 60.511 27.696 60.535 27.692 L 61.333 27.692 C 61.357 27.689 61.382 27.695 61.402 27.71 C 61.421 27.725 61.434 27.747 61.438 27.771 C 61.44 27.779 61.44 27.789 61.438 27.797 L 61.438 29.47 L 62.879 27.778 C 62.896 27.753 62.917 27.731 62.941 27.714 C 62.971 27.699 63.004 27.692 63.036 27.692 L 63.963 27.692 C 63.994 27.692 64.011 27.692 64.018 27.714 C 64.025 27.735 64.018 27.749 63.999 27.771 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 65.676 31.505 C 65.678 31.517 65.678 31.529 65.675 31.541 C 65.672 31.553 65.667 31.564 65.66 31.574 C 65.653 31.584 65.644 31.592 65.634 31.598 C 65.623 31.605 65.612 31.609 65.6 31.61 L 64.806 31.61 C 64.794 31.612 64.782 31.612 64.77 31.609 C 64.758 31.607 64.747 31.602 64.737 31.594 C 64.727 31.587 64.719 31.578 64.712 31.568 C 64.706 31.558 64.701 31.546 64.699 31.534 L 64.699 27.797 C 64.696 27.773 64.702 27.748 64.717 27.728 C 64.732 27.709 64.754 27.696 64.778 27.692 L 65.576 27.692 C 65.6 27.689 65.625 27.695 65.645 27.71 C 65.664 27.725 65.677 27.747 65.681 27.771 C 65.683 27.779 65.683 27.789 65.681 27.797 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 69.428 27.745 C 69.584 27.811 69.709 27.935 69.776 28.091 C 69.81 28.171 69.828 28.257 69.826 28.344 L 69.826 31.503 C 69.827 31.517 69.825 31.53 69.82 31.543 C 69.815 31.555 69.808 31.567 69.799 31.577 C 69.789 31.587 69.778 31.595 69.765 31.6 C 69.753 31.605 69.74 31.608 69.726 31.608 L 68.954 31.608 C 68.94 31.609 68.927 31.607 68.914 31.602 C 68.901 31.597 68.89 31.589 68.88 31.579 C 68.862 31.558 68.851 31.531 68.852 31.503 L 68.852 28.743 C 68.853 28.729 68.85 28.715 68.845 28.703 C 68.84 28.69 68.831 28.678 68.821 28.669 C 68.801 28.651 68.774 28.64 68.747 28.641 L 67.641 28.641 C 67.613 28.64 67.586 28.65 67.565 28.669 C 67.555 28.679 67.547 28.69 67.542 28.703 C 67.536 28.716 67.534 28.729 67.534 28.743 L 67.534 31.505 C 67.538 31.53 67.531 31.554 67.517 31.574 C 67.502 31.594 67.48 31.607 67.456 31.61 L 66.657 31.61 C 66.634 31.614 66.609 31.608 66.59 31.594 C 66.57 31.579 66.557 31.558 66.553 31.534 C 66.55 31.525 66.55 31.515 66.553 31.505 L 66.553 27.797 C 66.549 27.773 66.556 27.748 66.57 27.728 C 66.585 27.709 66.607 27.696 66.631 27.692 L 69.183 27.692 C 69.267 27.692 69.351 27.709 69.428 27.745 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 73.957 29.503 C 73.967 29.513 73.975 29.525 73.981 29.538 C 73.986 29.551 73.989 29.565 73.988 29.579 L 73.988 30.96 C 73.988 31.048 73.969 31.134 73.933 31.214 C 73.902 31.294 73.855 31.368 73.795 31.431 C 73.734 31.493 73.66 31.542 73.578 31.572 C 73.498 31.606 73.412 31.623 73.326 31.622 L 71.348 31.622 C 71.262 31.622 71.176 31.605 71.096 31.572 C 70.978 31.52 70.878 31.434 70.808 31.326 C 70.739 31.217 70.703 31.09 70.705 30.96 L 70.705 28.359 C 70.706 28.267 70.725 28.177 70.762 28.093 C 70.792 28.012 70.839 27.939 70.901 27.878 C 70.963 27.818 71.037 27.77 71.117 27.737 C 71.197 27.702 71.283 27.684 71.37 27.685 L 73.676 27.685 C 73.704 27.685 73.73 27.696 73.75 27.716 C 73.77 27.735 73.781 27.762 73.781 27.79 L 73.781 28.531 C 73.781 28.558 73.77 28.585 73.75 28.605 C 73.73 28.625 73.704 28.636 73.676 28.636 L 71.803 28.636 C 71.776 28.635 71.75 28.646 71.73 28.664 C 71.719 28.673 71.711 28.685 71.705 28.698 C 71.7 28.711 71.698 28.725 71.699 28.738 L 71.699 30.552 C 71.698 30.566 71.7 30.58 71.705 30.593 C 71.711 30.606 71.719 30.617 71.73 30.626 C 71.739 30.635 71.751 30.643 71.764 30.647 C 71.776 30.652 71.79 30.653 71.803 30.652 L 72.897 30.652 C 72.909 30.653 72.922 30.651 72.934 30.647 C 72.946 30.643 72.956 30.636 72.966 30.628 C 72.975 30.619 72.983 30.609 72.988 30.598 C 72.993 30.586 72.996 30.574 72.997 30.561 L 72.997 29.572 C 72.996 29.559 72.998 29.545 73.003 29.532 C 73.008 29.52 73.015 29.508 73.025 29.498 C 73.034 29.488 73.045 29.481 73.058 29.475 C 73.07 29.47 73.084 29.467 73.097 29.467 L 73.878 29.467 C 73.893 29.467 73.908 29.47 73.922 29.476 C 73.935 29.483 73.947 29.492 73.957 29.503 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 23.556 0.715 C 24.537 1.134 25.318 1.919 25.735 2.904 C 25.957 3.406 26.071 3.95 26.071 4.5 L 26.071 25.061 C 26.073 25.237 26.004 25.406 25.882 25.532 C 25.759 25.657 25.591 25.728 25.416 25.73 L 20.494 25.73 C 20.408 25.734 20.323 25.718 20.243 25.684 C 20.164 25.65 20.094 25.599 20.037 25.534 C 19.918 25.404 19.855 25.233 19.86 25.057 L 19.86 6.38 L 15.918 6.38 L 15.918 25.069 C 15.922 25.245 15.859 25.416 15.741 25.546 C 15.683 25.61 15.612 25.661 15.533 25.695 C 15.453 25.728 15.368 25.745 15.282 25.742 L 10.838 25.742 C 10.751 25.744 10.665 25.728 10.584 25.695 C 10.503 25.663 10.43 25.615 10.367 25.555 C 10.305 25.494 10.255 25.421 10.221 25.341 C 10.186 25.261 10.168 25.175 10.167 25.088 L 10.167 6.38 L 6.217 6.38 L 6.217 25.069 C 6.229 25.16 6.221 25.253 6.191 25.34 C 6.162 25.428 6.113 25.507 6.048 25.572 C 5.983 25.638 5.903 25.687 5.816 25.716 C 5.729 25.745 5.636 25.753 5.545 25.74 L 0.678 25.74 C 0.587 25.753 0.494 25.745 0.406 25.716 C 0.319 25.687 0.24 25.638 0.174 25.572 C 0.109 25.507 0.06 25.428 0.031 25.34 C 0.002 25.253 -0.007 25.16 0.006 25.069 L 0.006 1.05 C -0.007 0.958 0.002 0.865 0.031 0.778 C 0.06 0.69 0.109 0.611 0.174 0.546 C 0.24 0.48 0.319 0.431 0.406 0.402 C 0.494 0.373 0.587 0.365 0.678 0.378 L 21.95 0.378 C 22.503 0.376 23.05 0.49 23.556 0.715 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 47.46 19.583 C 47.549 19.581 47.637 19.598 47.719 19.632 C 47.801 19.666 47.875 19.717 47.937 19.781 C 48.06 19.914 48.127 20.09 48.123 20.271 L 48.123 25.049 C 48.126 25.227 48.059 25.399 47.937 25.527 C 47.876 25.592 47.802 25.644 47.72 25.678 C 47.638 25.713 47.549 25.73 47.46 25.728 L 30.664 25.728 C 30.188 25.728 29.95 25.489 29.95 25.04 L 29.95 1.066 C 29.95 0.607 30.188 0.378 30.664 0.378 L 35.82 0.378 C 36.296 0.378 36.535 0.617 36.535 1.066 L 36.535 18.931 C 36.532 19.022 36.55 19.112 36.588 19.195 C 36.625 19.278 36.681 19.351 36.751 19.408 C 36.89 19.531 37.069 19.596 37.254 19.592 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 73.274 0.378 C 73.368 0.376 73.461 0.392 73.549 0.426 C 73.636 0.461 73.716 0.513 73.783 0.579 C 73.852 0.641 73.906 0.716 73.944 0.801 C 73.981 0.885 74 0.976 74 1.069 L 74 25.124 C 74 25.216 73.981 25.307 73.944 25.391 C 73.906 25.476 73.852 25.551 73.783 25.613 C 73.716 25.679 73.636 25.731 73.549 25.766 C 73.461 25.8 73.368 25.817 73.274 25.814 L 68.051 25.814 C 67.958 25.816 67.864 25.8 67.777 25.765 C 67.69 25.731 67.611 25.679 67.544 25.613 C 67.475 25.552 67.42 25.477 67.382 25.392 C 67.345 25.308 67.326 25.216 67.327 25.124 L 67.327 16.73 C 67.331 16.642 67.316 16.553 67.284 16.471 C 67.251 16.389 67.202 16.314 67.139 16.252 C 67.074 16.191 66.997 16.143 66.913 16.112 C 66.829 16.081 66.74 16.067 66.65 16.071 L 59.327 16.071 C 59.141 16.065 58.96 16.13 58.82 16.252 C 58.75 16.31 58.694 16.383 58.656 16.466 C 58.619 16.549 58.6 16.639 58.603 16.73 L 58.603 25.124 C 58.603 25.582 58.365 25.814 57.888 25.814 L 52.704 25.814 C 52.228 25.814 51.989 25.575 51.989 25.124 L 51.989 1.069 C 51.989 0.608 52.228 0.378 52.704 0.378 L 57.898 0.378 C 58.374 0.378 58.612 0.617 58.612 1.069 L 58.612 9.218 C 58.612 9.677 58.851 9.906 59.327 9.906 L 66.667 9.906 C 66.758 9.91 66.849 9.894 66.934 9.859 C 67.018 9.825 67.094 9.774 67.158 9.708 C 67.279 9.579 67.346 9.408 67.346 9.23 L 67.346 1.069 C 67.345 0.976 67.364 0.885 67.401 0.801 C 67.438 0.716 67.492 0.64 67.561 0.579 C 67.691 0.45 67.868 0.378 68.051 0.378 Z\" fill=\"rgb(255,255,255)\"></path></svg>',svgContentId:9969450907,withExternalLayout:true})}),Gbg2_xADN!==false&&/*#__PURE__*/_jsx(Link,{href:\"https://ghw.mlh.io/live\",motionChild:true,nodeId:\"AyFcmXph2\",openInNewTab:false,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1ifjhpy framer-cgl0ng\",\"data-framer-name\":\"Live Icon\",layoutDependency:layoutDependency,layoutId:\"AyFcmXph2\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ymtu4m-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"hRH0BTt4J-container\",nodeId:\"hRH0BTt4J\",rendersWithMotion:true,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"hRH0BTt4J\",isForwardsDirection:true,layoutId:\"hRH0BTt4J\",loop:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/ZbH2Q8jdxpWNBHGy4JNWiAT4Fnc.json\",srcType:\"Upload\",srcUrl:\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ptpia6\",\"data-framer-name\":\"Icon\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"NJMt1XYUC\",onTap:onTap1lahf9c,children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-19x6k1o\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"o9EpLoUM2\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1vfk9m5\",\"data-framer-name\":\"Mid\",layoutDependency:layoutDependency,layoutId:\"nlKP4HHfj\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1umgwv\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"iR3f8KqOw\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}})]})]}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-f52uod\",layoutDependency:layoutDependency,layoutId:\"Vz8z1R5OA\",children:[Gbg2_xADN!==false&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"gqe3FL5ZJ\"},motionChild:true,nodeId:\"y8faBbDwl\",openInNewTab:true,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Challenges\"})})})}),className:\"framer-zb0y4s\",\"data-framer-name\":\"Challenges\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"y8faBbDwl\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, rgb(252, 238, 144)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"OEiyYzkGJ\"},motionChild:true,nodeId:\"WwWqjGHgs\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Schedule\"})})})}),className:\"framer-16yjqpj\",\"data-framer-name\":\"Schedule\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"WwWqjGHgs\",style:{\"--extracted-r6o4lv\":\"var(--token-44b2cbf6-5b0c-47ab-b9f7-107e533067bc, rgb(252, 238, 144))\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"e1j1qkkz0\"},motionChild:true,nodeId:\"ZwvKMh3ro\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Swag \"})})})}),className:\"framer-1cdl1hi\",\"data-framer-name\":\"Swag\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"ZwvKMh3ro\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"hjaA6Mynq\"},motionChild:true,nodeId:\"WKqrmil5D\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"FAQ\"})})})}),className:\"framer-j7fbwi\",\"data-framer-name\":\"FAQ\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"WKqrmil5D\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"VhCtWAjs8\"},motionChild:true,nodeId:\"aBctRWZZn\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Sponsor\"})})})}),className:\"framer-bhzjjw\",\"data-framer-name\":\"Sponsor\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"aBctRWZZn\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true})]}),isDisplayed2()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-3hawer-container\",layoutDependency:layoutDependency,layoutId:\"SlVVpMmeE-container\",nodeId:\"SlVVpMmeE\",rendersWithMotion:true,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(SupportDiscord,{height:\"100%\",id:\"SlVVpMmeE\",layoutId:\"SlVVpMmeE\",title:\"Discord\",variant:matchVariant(\"o3L97l1DJ\"),width:\"100%\"})})}),isDisplayed3()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1pi030y-container\",layoutDependency:layoutDependency,layoutId:\"UmMJhSoXN-container\",nodeId:\"UmMJhSoXN\",rendersWithMotion:true,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(ElementsPrimaryBtn,{headerLink:DAB2x7rNK,height:\"100%\",id:\"UmMJhSoXN\",layoutId:\"UmMJhSoXN\",title:\"Register\",variant:matchVariant(\"bF53rlFEO\"),width:\"100%\"})})}),isDisplayed4()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-4u79xp\",\"data-framer-name\":\"Title and Icon\",layoutDependency:layoutDependency,layoutId:\"SO9j0PpR5\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8pvj10\",\"data-framer-name\":\"Icon\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"TPj1djXZf\",onTap:onTapsb4p38,children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-dsboie\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"KTSpnMPoZ\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,rotate:-45}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-usrurb\",\"data-framer-name\":\"Mid\",layoutDependency:layoutDependency,layoutId:\"lSrcIlkAY\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-95f2oo\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"QWhsi7DC7\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,rotate:45}})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-9mnugo\",layoutDependency:layoutDependency,layoutId:\"B344FtioE\",children:[/*#__PURE__*/_jsx(Link,{href:\"/\",motionChild:true,nodeId:\"OXry45tlp\",openInNewTab:false,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(SVG,{as:\"a\",className:\"framer-t1xeaz framer-cgl0ng\",\"data-framer-name\":\"Logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"OXry45tlp\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 74 32\"><path d=\"M 3.734 27.744 C 3.851 27.795 3.951 27.879 4.022 27.985 C 4.093 28.092 4.132 28.216 4.134 28.344 L 4.134 31.503 C 4.134 31.531 4.122 31.557 4.102 31.577 C 4.082 31.597 4.055 31.608 4.027 31.608 L 3.251 31.608 C 3.237 31.608 3.224 31.606 3.212 31.601 C 3.199 31.596 3.188 31.589 3.179 31.579 C 3.16 31.558 3.15 31.531 3.151 31.503 L 3.151 28.636 L 2.524 28.636 L 2.524 31.503 C 2.524 31.53 2.514 31.557 2.495 31.577 C 2.487 31.587 2.476 31.596 2.464 31.601 C 2.451 31.607 2.437 31.609 2.424 31.608 L 1.709 31.608 C 1.681 31.608 1.655 31.597 1.635 31.577 C 1.615 31.557 1.604 31.53 1.604 31.503 L 1.604 28.636 L 0.99 28.636 L 0.99 31.503 C 0.993 31.527 0.987 31.552 0.972 31.571 C 0.957 31.591 0.935 31.604 0.911 31.608 L 0.113 31.608 C 0.089 31.611 0.065 31.606 0.045 31.592 C 0.025 31.578 0.011 31.557 0.006 31.534 L 0.006 27.797 C 0.002 27.773 0.009 27.748 0.023 27.728 C 0.038 27.708 0.06 27.695 0.084 27.692 L 3.477 27.692 C 3.565 27.69 3.653 27.708 3.734 27.744 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 7.63 27.692 C 7.759 27.691 7.886 27.729 7.994 27.8 C 8.102 27.872 8.187 27.974 8.237 28.093 C 8.273 28.173 8.292 28.259 8.292 28.347 L 8.292 31.505 C 8.292 31.519 8.29 31.532 8.286 31.545 C 8.281 31.558 8.274 31.569 8.264 31.579 C 8.255 31.589 8.244 31.597 8.231 31.602 C 8.219 31.608 8.205 31.61 8.192 31.61 L 7.41 31.61 C 7.382 31.61 7.355 31.599 7.335 31.58 C 7.315 31.56 7.304 31.533 7.303 31.505 L 7.303 30.502 C 7.304 30.475 7.295 30.448 7.277 30.428 C 7.268 30.417 7.256 30.409 7.244 30.403 C 7.231 30.398 7.217 30.396 7.203 30.397 L 6.098 30.397 C 6.07 30.397 6.043 30.408 6.023 30.427 C 6.003 30.447 5.991 30.474 5.99 30.502 L 5.99 31.505 C 5.992 31.517 5.992 31.529 5.989 31.541 C 5.987 31.553 5.982 31.564 5.974 31.574 C 5.967 31.584 5.958 31.592 5.948 31.598 C 5.938 31.604 5.926 31.609 5.914 31.61 L 5.116 31.61 C 5.104 31.613 5.092 31.613 5.08 31.61 C 5.068 31.607 5.056 31.602 5.046 31.595 C 5.036 31.588 5.028 31.579 5.021 31.568 C 5.015 31.558 5.011 31.546 5.009 31.534 L 5.009 28.347 C 5.009 28.26 5.026 28.174 5.059 28.093 C 5.09 28.012 5.138 27.938 5.2 27.876 C 5.262 27.816 5.336 27.768 5.416 27.735 C 5.496 27.7 5.582 27.682 5.669 27.682 Z M 7.294 29.558 L 7.294 28.571 L 5.983 28.571 L 5.983 29.556 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 11.803 27.723 C 11.814 27.732 11.822 27.743 11.828 27.756 C 11.833 27.769 11.835 27.783 11.834 27.797 L 11.834 30.96 C 11.835 31.048 11.817 31.134 11.782 31.214 C 11.749 31.294 11.701 31.368 11.641 31.431 C 11.581 31.493 11.508 31.541 11.427 31.572 C 11.346 31.605 11.26 31.622 11.172 31.622 L 9.504 31.622 C 9.417 31.622 9.33 31.605 9.25 31.572 C 9.13 31.522 9.028 31.437 8.956 31.328 C 8.885 31.219 8.848 31.091 8.849 30.96 L 8.849 29.766 C 8.846 29.741 8.852 29.716 8.867 29.696 C 8.881 29.676 8.903 29.662 8.928 29.658 L 9.726 29.658 C 9.751 29.655 9.775 29.662 9.795 29.677 C 9.815 29.691 9.829 29.713 9.833 29.737 L 9.833 30.566 C 9.833 30.58 9.835 30.593 9.84 30.606 C 9.845 30.619 9.852 30.631 9.862 30.64 C 9.883 30.658 9.91 30.668 9.938 30.666 L 10.748 30.666 C 10.775 30.668 10.802 30.658 10.822 30.64 C 10.832 30.631 10.841 30.62 10.846 30.607 C 10.851 30.594 10.854 30.58 10.853 30.566 L 10.853 27.797 C 10.853 27.77 10.863 27.743 10.881 27.723 C 10.89 27.712 10.902 27.704 10.915 27.699 C 10.928 27.693 10.941 27.691 10.955 27.692 L 11.732 27.692 C 11.745 27.692 11.759 27.694 11.771 27.7 C 11.783 27.705 11.794 27.713 11.803 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 15.336 27.692 C 15.423 27.691 15.509 27.709 15.589 27.745 C 15.667 27.777 15.738 27.824 15.797 27.884 C 15.856 27.944 15.903 28.015 15.934 28.093 C 15.97 28.173 15.989 28.259 15.989 28.347 L 15.989 30.949 C 15.989 31.037 15.97 31.124 15.934 31.204 C 15.903 31.284 15.856 31.357 15.796 31.419 C 15.735 31.482 15.661 31.53 15.579 31.56 C 15.5 31.595 15.414 31.612 15.327 31.61 L 13.359 31.61 C 13.273 31.61 13.188 31.593 13.109 31.558 C 12.991 31.509 12.89 31.426 12.818 31.32 C 12.747 31.214 12.709 31.089 12.709 30.961 L 12.709 28.359 C 12.708 28.271 12.725 28.184 12.759 28.103 C 12.788 28.022 12.836 27.949 12.897 27.888 C 12.96 27.828 13.033 27.78 13.114 27.747 C 13.193 27.712 13.279 27.694 13.366 27.694 Z M 15 28.648 L 13.69 28.648 L 13.69 30.664 L 15.015 30.664 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 20.27 31.522 C 20.277 31.531 20.281 31.543 20.281 31.554 C 20.281 31.566 20.277 31.577 20.27 31.587 C 20.264 31.596 20.255 31.603 20.244 31.608 C 20.234 31.612 20.222 31.614 20.211 31.613 L 19.325 31.613 C 19.293 31.613 19.263 31.603 19.236 31.587 C 19.208 31.572 19.184 31.549 19.167 31.522 L 18.588 30.459 C 18.585 30.451 18.579 30.446 18.571 30.442 C 18.564 30.438 18.556 30.436 18.548 30.437 L 17.874 30.437 C 17.87 30.437 17.867 30.437 17.864 30.437 C 17.861 30.438 17.858 30.439 17.855 30.441 C 17.853 30.442 17.85 30.445 17.849 30.448 C 17.847 30.45 17.846 30.453 17.845 30.456 L 17.845 31.498 C 17.847 31.51 17.846 31.523 17.843 31.534 C 17.839 31.546 17.834 31.557 17.826 31.567 C 17.819 31.576 17.809 31.584 17.799 31.59 C 17.788 31.596 17.776 31.6 17.764 31.601 L 16.971 31.601 C 16.947 31.604 16.922 31.598 16.903 31.584 C 16.883 31.57 16.87 31.548 16.866 31.524 C 16.863 31.515 16.863 31.505 16.866 31.496 L 16.866 27.797 C 16.864 27.785 16.864 27.773 16.867 27.761 C 16.87 27.749 16.875 27.738 16.882 27.729 C 16.889 27.719 16.898 27.71 16.908 27.704 C 16.919 27.698 16.93 27.694 16.942 27.692 L 19.496 27.692 C 19.583 27.692 19.669 27.71 19.749 27.745 C 19.904 27.812 20.028 27.937 20.094 28.093 C 20.129 28.173 20.147 28.259 20.146 28.347 L 20.146 29.818 C 20.147 29.957 20.103 30.092 20.02 30.203 C 19.943 30.317 19.829 30.401 19.699 30.442 L 19.682 30.442 C 19.656 30.442 19.649 30.461 19.663 30.476 Z M 19.16 28.605 L 17.814 28.605 L 17.814 29.56 L 19.16 29.56 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 25.526 30.659 C 25.539 30.659 25.553 30.661 25.566 30.666 C 25.579 30.671 25.59 30.678 25.6 30.688 C 25.618 30.709 25.629 30.736 25.628 30.765 L 25.628 31.505 C 25.628 31.533 25.618 31.559 25.6 31.579 C 25.591 31.59 25.579 31.598 25.566 31.604 C 25.554 31.609 25.54 31.611 25.526 31.61 L 23.115 31.61 C 23.091 31.614 23.066 31.608 23.046 31.594 C 23.026 31.579 23.012 31.558 23.008 31.534 L 23.008 27.797 C 23.004 27.773 23.011 27.748 23.025 27.728 C 23.04 27.709 23.062 27.696 23.086 27.692 L 23.884 27.692 C 23.909 27.689 23.933 27.695 23.953 27.71 C 23.973 27.725 23.986 27.747 23.989 27.771 C 23.992 27.779 23.992 27.789 23.989 27.797 L 23.989 30.559 C 23.989 30.573 23.991 30.587 23.996 30.6 C 24.002 30.612 24.01 30.624 24.02 30.633 C 24.041 30.652 24.068 30.662 24.096 30.662 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 29.137 27.723 C 29.148 27.732 29.156 27.744 29.161 27.757 C 29.166 27.77 29.169 27.783 29.168 27.797 L 29.168 28.502 C 29.169 28.516 29.167 28.53 29.162 28.543 C 29.156 28.556 29.148 28.567 29.137 28.576 C 29.117 28.595 29.091 28.605 29.064 28.605 L 27.191 28.605 C 27.188 28.604 27.185 28.604 27.182 28.605 C 27.179 28.605 27.176 28.607 27.174 28.608 C 27.171 28.61 27.169 28.612 27.168 28.615 C 27.166 28.618 27.165 28.621 27.165 28.624 L 27.165 29.233 C 27.165 29.247 27.165 29.255 27.191 29.255 L 28.787 29.255 C 28.801 29.254 28.814 29.256 28.827 29.262 C 28.839 29.267 28.85 29.275 28.859 29.286 C 28.877 29.306 28.888 29.332 28.887 29.36 L 28.887 29.921 C 28.888 29.949 28.877 29.975 28.859 29.995 C 28.85 30.006 28.839 30.014 28.827 30.019 C 28.814 30.025 28.801 30.027 28.787 30.026 L 27.191 30.026 C 27.185 30.026 27.179 30.027 27.174 30.031 C 27.169 30.034 27.166 30.04 27.165 30.045 L 27.165 30.65 C 27.164 30.653 27.163 30.656 27.164 30.659 C 27.164 30.662 27.165 30.665 27.166 30.668 C 27.168 30.671 27.17 30.673 27.173 30.675 C 27.175 30.677 27.178 30.678 27.182 30.679 L 29.071 30.679 C 29.098 30.679 29.124 30.689 29.144 30.709 C 29.164 30.728 29.175 30.754 29.176 30.781 L 29.176 31.498 C 29.176 31.512 29.173 31.525 29.169 31.538 C 29.163 31.551 29.156 31.562 29.146 31.572 C 29.137 31.582 29.126 31.59 29.113 31.595 C 29.1 31.601 29.087 31.603 29.073 31.603 L 26.288 31.603 C 26.264 31.607 26.239 31.601 26.219 31.587 C 26.199 31.572 26.186 31.551 26.181 31.527 L 26.181 27.797 C 26.182 27.769 26.193 27.742 26.213 27.723 C 26.233 27.703 26.26 27.692 26.288 27.692 L 29.071 27.692 C 29.096 27.694 29.12 27.705 29.137 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 32.68 27.692 C 32.768 27.691 32.855 27.709 32.935 27.745 C 33.092 27.809 33.217 27.934 33.283 28.091 C 33.318 28.171 33.336 28.257 33.335 28.344 L 33.335 31.503 C 33.336 31.516 33.334 31.53 33.329 31.543 C 33.324 31.555 33.317 31.567 33.308 31.577 C 33.298 31.587 33.287 31.595 33.275 31.6 C 33.262 31.605 33.249 31.608 33.235 31.608 L 32.447 31.608 C 32.419 31.608 32.392 31.597 32.373 31.577 C 32.353 31.557 32.342 31.531 32.342 31.503 L 32.342 30.499 C 32.342 30.472 32.332 30.445 32.313 30.425 C 32.304 30.415 32.293 30.406 32.28 30.401 C 32.267 30.395 32.253 30.393 32.239 30.394 L 31.151 30.394 C 31.123 30.394 31.096 30.405 31.076 30.425 C 31.056 30.445 31.044 30.471 31.044 30.499 L 31.044 31.503 C 31.047 31.527 31.041 31.552 31.026 31.572 C 31.011 31.591 30.989 31.604 30.965 31.608 L 30.167 31.608 C 30.155 31.61 30.143 31.61 30.131 31.607 C 30.119 31.604 30.108 31.599 30.098 31.592 C 30.089 31.585 30.08 31.576 30.074 31.565 C 30.068 31.555 30.064 31.544 30.062 31.532 C 30.06 31.522 30.06 31.512 30.062 31.503 L 30.062 28.347 C 30.062 28.26 30.079 28.174 30.112 28.093 C 30.143 28.012 30.191 27.938 30.253 27.876 C 30.315 27.816 30.389 27.768 30.469 27.735 C 30.549 27.7 30.635 27.682 30.722 27.682 Z M 32.347 29.558 L 32.347 28.571 L 31.034 28.571 L 31.034 29.556 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 37.457 29.503 C 37.467 29.513 37.474 29.525 37.479 29.538 C 37.484 29.551 37.486 29.565 37.485 29.579 L 37.485 30.96 C 37.486 31.048 37.468 31.134 37.433 31.214 C 37.399 31.293 37.353 31.367 37.295 31.431 C 37.233 31.493 37.159 31.541 37.078 31.572 C 36.998 31.605 36.912 31.622 36.825 31.622 L 34.848 31.622 C 34.762 31.623 34.677 31.606 34.598 31.573 C 34.518 31.54 34.446 31.492 34.386 31.431 C 34.325 31.37 34.277 31.298 34.244 31.219 C 34.212 31.139 34.195 31.054 34.195 30.968 L 34.195 28.363 C 34.195 28.276 34.212 28.19 34.245 28.11 C 34.275 28.028 34.322 27.954 34.383 27.893 C 34.446 27.833 34.518 27.785 34.598 27.752 C 34.679 27.718 34.765 27.7 34.853 27.699 L 37.171 27.699 C 37.199 27.699 37.227 27.71 37.247 27.731 C 37.267 27.751 37.278 27.778 37.278 27.807 L 37.278 28.545 C 37.278 28.573 37.267 28.601 37.247 28.621 C 37.227 28.641 37.199 28.652 37.171 28.652 L 35.301 28.652 C 35.273 28.652 35.245 28.662 35.224 28.681 C 35.205 28.701 35.194 28.727 35.193 28.755 L 35.193 30.569 C 35.194 30.582 35.196 30.595 35.202 30.608 C 35.207 30.62 35.215 30.631 35.224 30.64 C 35.234 30.65 35.246 30.658 35.26 30.663 C 35.273 30.667 35.287 30.67 35.301 30.669 L 36.406 30.669 C 36.419 30.67 36.431 30.668 36.443 30.664 C 36.455 30.659 36.466 30.653 36.475 30.644 C 36.484 30.636 36.492 30.626 36.497 30.614 C 36.502 30.603 36.505 30.591 36.506 30.578 L 36.506 29.589 C 36.505 29.575 36.508 29.562 36.512 29.549 C 36.517 29.536 36.524 29.525 36.534 29.515 C 36.543 29.505 36.554 29.497 36.567 29.492 C 36.579 29.487 36.593 29.484 36.606 29.484 L 37.388 29.484 C 37.412 29.482 37.437 29.489 37.457 29.503 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 41.576 27.723 C 41.596 27.743 41.607 27.769 41.607 27.797 L 41.607 30.96 C 41.607 31.048 41.588 31.134 41.552 31.214 C 41.52 31.294 41.473 31.368 41.414 31.431 C 41.352 31.493 41.279 31.541 41.197 31.572 C 41.116 31.605 41.03 31.622 40.942 31.622 L 38.965 31.622 C 38.878 31.622 38.793 31.605 38.712 31.572 C 38.555 31.506 38.429 31.381 38.362 31.223 C 38.329 31.142 38.312 31.055 38.312 30.968 L 38.312 27.797 C 38.309 27.773 38.315 27.748 38.33 27.728 C 38.345 27.709 38.366 27.695 38.391 27.692 L 39.189 27.692 C 39.213 27.688 39.238 27.695 39.258 27.71 C 39.277 27.724 39.29 27.746 39.294 27.771 C 39.296 27.779 39.296 27.788 39.294 27.797 L 39.294 30.559 C 39.293 30.573 39.296 30.587 39.301 30.599 C 39.306 30.612 39.314 30.624 39.325 30.633 C 39.346 30.652 39.373 30.662 39.401 30.662 L 40.506 30.662 C 40.52 30.662 40.533 30.659 40.545 30.655 C 40.557 30.65 40.568 30.642 40.578 30.633 C 40.588 30.624 40.596 30.612 40.601 30.599 C 40.606 30.587 40.608 30.573 40.606 30.559 L 40.606 27.797 C 40.607 27.769 40.619 27.742 40.639 27.722 C 40.659 27.703 40.686 27.692 40.714 27.692 L 41.49 27.692 C 41.506 27.689 41.522 27.691 41.537 27.696 C 41.552 27.702 41.566 27.711 41.576 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 45.445 27.723 C 45.465 27.742 45.476 27.769 45.476 27.797 L 45.476 28.502 C 45.476 28.516 45.474 28.529 45.469 28.542 C 45.463 28.555 45.455 28.566 45.445 28.576 C 45.424 28.595 45.397 28.605 45.369 28.604 L 43.499 28.604 C 43.495 28.604 43.492 28.604 43.489 28.604 C 43.486 28.605 43.483 28.606 43.48 28.608 C 43.478 28.61 43.475 28.612 43.473 28.615 C 43.472 28.617 43.47 28.62 43.47 28.624 L 43.47 29.242 C 43.47 29.257 43.47 29.264 43.499 29.264 L 45.095 29.264 C 45.108 29.264 45.122 29.266 45.134 29.272 C 45.146 29.277 45.157 29.285 45.166 29.295 C 45.185 29.315 45.195 29.342 45.195 29.369 L 45.195 29.93 C 45.195 29.958 45.185 29.984 45.166 30.005 C 45.157 30.015 45.146 30.023 45.134 30.028 C 45.122 30.033 45.108 30.036 45.095 30.036 L 43.499 30.036 C 43.492 30.035 43.486 30.036 43.481 30.04 C 43.475 30.043 43.472 30.049 43.47 30.055 L 43.47 30.669 C 43.469 30.672 43.469 30.675 43.47 30.678 C 43.47 30.681 43.472 30.685 43.473 30.687 C 43.475 30.69 43.477 30.692 43.48 30.694 C 43.483 30.696 43.486 30.697 43.489 30.697 L 45.369 30.697 C 45.396 30.697 45.423 30.708 45.443 30.727 C 45.463 30.746 45.475 30.772 45.476 30.8 L 45.476 31.517 C 45.476 31.544 45.465 31.571 45.446 31.59 C 45.427 31.61 45.401 31.621 45.373 31.622 L 42.596 31.622 C 42.584 31.624 42.571 31.624 42.559 31.621 C 42.547 31.618 42.536 31.613 42.526 31.606 C 42.516 31.599 42.508 31.59 42.501 31.58 C 42.495 31.569 42.49 31.558 42.488 31.546 C 42.486 31.536 42.486 31.526 42.488 31.517 L 42.488 27.797 C 42.489 27.769 42.501 27.742 42.521 27.722 C 42.541 27.703 42.568 27.692 42.596 27.692 L 45.369 27.692 C 45.383 27.691 45.397 27.694 45.41 27.699 C 45.423 27.704 45.435 27.713 45.445 27.723 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 51.437 27.692 C 51.45 27.691 51.464 27.693 51.476 27.698 C 51.489 27.703 51.501 27.71 51.511 27.72 C 51.52 27.729 51.528 27.74 51.533 27.753 C 51.539 27.765 51.542 27.779 51.542 27.792 L 51.542 31.505 C 51.542 31.519 51.539 31.532 51.534 31.545 C 51.529 31.558 51.522 31.569 51.512 31.579 C 51.503 31.589 51.491 31.597 51.479 31.602 C 51.466 31.608 51.453 31.61 51.439 31.61 L 50.66 31.61 C 50.632 31.61 50.605 31.599 50.585 31.58 C 50.565 31.56 50.553 31.533 50.553 31.505 L 50.553 30.203 C 50.553 30.19 50.552 30.178 50.547 30.166 C 50.543 30.154 50.537 30.143 50.528 30.134 C 50.52 30.125 50.51 30.117 50.498 30.112 C 50.487 30.106 50.475 30.103 50.462 30.103 L 49.35 30.103 C 49.322 30.102 49.294 30.112 49.273 30.131 C 49.263 30.14 49.254 30.152 49.249 30.165 C 49.244 30.177 49.241 30.191 49.242 30.205 L 49.242 31.507 C 49.246 31.532 49.24 31.557 49.225 31.576 C 49.21 31.596 49.188 31.609 49.164 31.613 C 49.155 31.615 49.146 31.615 49.138 31.613 L 48.368 31.613 C 48.344 31.616 48.319 31.61 48.3 31.595 C 48.28 31.58 48.267 31.558 48.263 31.534 C 48.261 31.525 48.261 31.516 48.263 31.507 L 48.263 27.797 C 48.26 27.773 48.266 27.748 48.281 27.728 C 48.296 27.709 48.318 27.695 48.342 27.692 L 49.14 27.692 C 49.164 27.688 49.189 27.695 49.209 27.71 C 49.228 27.724 49.241 27.746 49.245 27.771 C 49.247 27.779 49.247 27.788 49.245 27.797 L 49.245 29.049 C 49.241 29.073 49.248 29.098 49.263 29.118 C 49.277 29.137 49.299 29.151 49.324 29.154 L 50.455 29.154 C 50.469 29.155 50.483 29.153 50.495 29.148 C 50.508 29.143 50.52 29.135 50.529 29.125 C 50.548 29.104 50.558 29.077 50.558 29.049 L 50.558 27.795 C 50.558 27.767 50.57 27.74 50.59 27.72 C 50.61 27.7 50.637 27.69 50.665 27.69 L 51.439 27.69 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 55.053 27.692 C 55.141 27.691 55.228 27.709 55.308 27.745 C 55.465 27.809 55.59 27.934 55.656 28.091 C 55.691 28.171 55.709 28.257 55.708 28.344 L 55.708 31.503 C 55.709 31.516 55.707 31.53 55.702 31.543 C 55.697 31.555 55.69 31.567 55.681 31.577 C 55.671 31.587 55.66 31.594 55.648 31.6 C 55.635 31.605 55.622 31.608 55.608 31.608 L 54.827 31.608 C 54.799 31.608 54.772 31.597 54.753 31.577 C 54.733 31.557 54.722 31.531 54.722 31.503 L 54.722 30.499 C 54.722 30.472 54.712 30.445 54.693 30.425 C 54.684 30.415 54.673 30.406 54.66 30.401 C 54.647 30.395 54.633 30.393 54.619 30.394 L 53.512 30.394 C 53.484 30.394 53.457 30.405 53.438 30.425 C 53.418 30.445 53.407 30.471 53.407 30.499 L 53.407 31.503 C 53.41 31.527 53.404 31.552 53.389 31.572 C 53.374 31.591 53.353 31.604 53.328 31.608 L 52.53 31.608 C 52.518 31.61 52.506 31.61 52.494 31.607 C 52.482 31.604 52.471 31.599 52.461 31.592 C 52.451 31.585 52.442 31.576 52.436 31.566 C 52.429 31.555 52.425 31.544 52.423 31.531 L 52.423 28.347 C 52.423 28.26 52.44 28.174 52.473 28.093 C 52.504 28.012 52.552 27.938 52.614 27.876 C 52.677 27.816 52.75 27.768 52.83 27.735 C 52.91 27.7 52.996 27.682 53.083 27.682 Z M 54.72 29.558 L 54.72 28.571 L 53.407 28.571 L 53.407 29.556 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 57.583 28.672 C 57.573 28.681 57.565 28.693 57.56 28.705 C 57.555 28.718 57.553 28.732 57.554 28.746 L 57.554 30.559 C 57.553 30.573 57.555 30.586 57.56 30.599 C 57.565 30.612 57.573 30.624 57.583 30.633 C 57.604 30.652 57.631 30.662 57.659 30.662 L 59.453 30.662 C 59.467 30.661 59.48 30.663 59.493 30.668 C 59.506 30.673 59.517 30.68 59.527 30.689 C 59.537 30.699 59.545 30.71 59.55 30.723 C 59.555 30.735 59.558 30.749 59.558 30.762 L 59.558 31.508 C 59.559 31.521 59.557 31.535 59.552 31.547 C 59.547 31.56 59.54 31.572 59.53 31.582 C 59.521 31.592 59.51 31.599 59.497 31.605 C 59.485 31.61 59.472 31.613 59.458 31.613 L 57.226 31.613 C 57.139 31.613 57.053 31.596 56.973 31.563 C 56.892 31.531 56.818 31.483 56.756 31.422 C 56.635 31.292 56.568 31.121 56.568 30.944 L 56.568 28.349 C 56.568 28.262 56.585 28.176 56.618 28.096 C 56.647 28.014 56.695 27.94 56.756 27.878 C 56.819 27.818 56.893 27.77 56.973 27.737 C 57.053 27.702 57.139 27.684 57.226 27.685 L 59.453 27.685 C 59.481 27.685 59.507 27.696 59.526 27.715 C 59.546 27.734 59.557 27.76 59.558 27.788 L 59.558 28.531 C 59.559 28.558 59.549 28.585 59.53 28.605 C 59.511 28.625 59.485 28.637 59.458 28.638 L 57.659 28.638 C 57.645 28.638 57.631 28.641 57.618 28.647 C 57.605 28.653 57.593 28.661 57.583 28.672 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 62.662 29.343 C 62.658 29.348 62.655 29.355 62.655 29.362 C 62.655 29.369 62.658 29.376 62.662 29.381 L 63.958 31.532 C 63.966 31.541 63.969 31.552 63.969 31.564 C 63.969 31.575 63.966 31.587 63.958 31.596 C 63.952 31.605 63.943 31.613 63.932 31.617 C 63.922 31.622 63.91 31.624 63.899 31.622 L 62.97 31.622 C 62.938 31.622 62.908 31.613 62.882 31.596 C 62.853 31.582 62.83 31.559 62.815 31.532 L 61.979 30.005 C 61.979 29.983 61.957 29.983 61.95 30.005 L 61.488 30.514 C 61.466 30.537 61.45 30.565 61.44 30.595 C 61.428 30.625 61.422 30.658 61.421 30.691 L 61.421 31.52 C 61.424 31.544 61.418 31.569 61.403 31.589 C 61.388 31.609 61.367 31.622 61.343 31.627 L 60.561 31.627 C 60.537 31.631 60.512 31.624 60.493 31.609 C 60.473 31.595 60.46 31.573 60.456 31.548 C 60.454 31.539 60.454 31.529 60.456 31.52 L 60.456 27.797 C 60.453 27.773 60.459 27.748 60.474 27.728 C 60.489 27.709 60.511 27.696 60.535 27.692 L 61.333 27.692 C 61.357 27.689 61.382 27.695 61.402 27.71 C 61.421 27.725 61.434 27.747 61.438 27.771 C 61.44 27.779 61.44 27.789 61.438 27.797 L 61.438 29.47 L 62.879 27.778 C 62.896 27.753 62.917 27.731 62.941 27.714 C 62.971 27.699 63.004 27.692 63.036 27.692 L 63.963 27.692 C 63.994 27.692 64.011 27.692 64.018 27.714 C 64.025 27.735 64.018 27.749 63.999 27.771 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 65.676 31.505 C 65.678 31.517 65.678 31.529 65.675 31.541 C 65.672 31.553 65.667 31.564 65.66 31.574 C 65.653 31.584 65.644 31.592 65.634 31.598 C 65.623 31.605 65.612 31.609 65.6 31.61 L 64.806 31.61 C 64.794 31.612 64.782 31.612 64.77 31.609 C 64.758 31.607 64.747 31.602 64.737 31.594 C 64.727 31.587 64.719 31.578 64.712 31.568 C 64.706 31.558 64.701 31.546 64.699 31.534 L 64.699 27.797 C 64.696 27.773 64.702 27.748 64.717 27.728 C 64.732 27.709 64.754 27.696 64.778 27.692 L 65.576 27.692 C 65.6 27.689 65.625 27.695 65.645 27.71 C 65.664 27.725 65.677 27.747 65.681 27.771 C 65.683 27.779 65.683 27.789 65.681 27.797 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 69.428 27.745 C 69.584 27.811 69.709 27.935 69.776 28.091 C 69.81 28.171 69.828 28.257 69.826 28.344 L 69.826 31.503 C 69.827 31.517 69.825 31.53 69.82 31.543 C 69.815 31.555 69.808 31.567 69.799 31.577 C 69.789 31.587 69.778 31.595 69.765 31.6 C 69.753 31.605 69.74 31.608 69.726 31.608 L 68.954 31.608 C 68.94 31.609 68.927 31.607 68.914 31.602 C 68.901 31.597 68.89 31.589 68.88 31.579 C 68.862 31.558 68.851 31.531 68.852 31.503 L 68.852 28.743 C 68.853 28.729 68.85 28.715 68.845 28.703 C 68.84 28.69 68.831 28.678 68.821 28.669 C 68.801 28.651 68.774 28.64 68.747 28.641 L 67.641 28.641 C 67.613 28.64 67.586 28.65 67.565 28.669 C 67.555 28.679 67.547 28.69 67.542 28.703 C 67.536 28.716 67.534 28.729 67.534 28.743 L 67.534 31.505 C 67.538 31.53 67.531 31.554 67.517 31.574 C 67.502 31.594 67.48 31.607 67.456 31.61 L 66.657 31.61 C 66.634 31.614 66.609 31.608 66.59 31.594 C 66.57 31.579 66.557 31.558 66.553 31.534 C 66.55 31.525 66.55 31.515 66.553 31.505 L 66.553 27.797 C 66.549 27.773 66.556 27.748 66.57 27.728 C 66.585 27.709 66.607 27.696 66.631 27.692 L 69.183 27.692 C 69.267 27.692 69.351 27.709 69.428 27.745 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 73.957 29.503 C 73.967 29.513 73.975 29.525 73.981 29.538 C 73.986 29.551 73.989 29.565 73.988 29.579 L 73.988 30.96 C 73.988 31.048 73.969 31.134 73.933 31.214 C 73.902 31.294 73.855 31.368 73.795 31.431 C 73.734 31.493 73.66 31.542 73.578 31.572 C 73.498 31.606 73.412 31.623 73.326 31.622 L 71.348 31.622 C 71.262 31.622 71.176 31.605 71.096 31.572 C 70.978 31.52 70.878 31.434 70.808 31.326 C 70.739 31.217 70.703 31.09 70.705 30.96 L 70.705 28.359 C 70.706 28.267 70.725 28.177 70.762 28.093 C 70.792 28.012 70.839 27.939 70.901 27.878 C 70.963 27.818 71.037 27.77 71.117 27.737 C 71.197 27.702 71.283 27.684 71.37 27.685 L 73.676 27.685 C 73.704 27.685 73.73 27.696 73.75 27.716 C 73.77 27.735 73.781 27.762 73.781 27.79 L 73.781 28.531 C 73.781 28.558 73.77 28.585 73.75 28.605 C 73.73 28.625 73.704 28.636 73.676 28.636 L 71.803 28.636 C 71.776 28.635 71.75 28.646 71.73 28.664 C 71.719 28.673 71.711 28.685 71.705 28.698 C 71.7 28.711 71.698 28.725 71.699 28.738 L 71.699 30.552 C 71.698 30.566 71.7 30.58 71.705 30.593 C 71.711 30.606 71.719 30.617 71.73 30.626 C 71.739 30.635 71.751 30.643 71.764 30.647 C 71.776 30.652 71.79 30.653 71.803 30.652 L 72.897 30.652 C 72.909 30.653 72.922 30.651 72.934 30.647 C 72.946 30.643 72.956 30.636 72.966 30.628 C 72.975 30.619 72.983 30.609 72.988 30.598 C 72.993 30.586 72.996 30.574 72.997 30.561 L 72.997 29.572 C 72.996 29.559 72.998 29.545 73.003 29.532 C 73.008 29.52 73.015 29.508 73.025 29.498 C 73.034 29.488 73.045 29.481 73.058 29.475 C 73.07 29.47 73.084 29.467 73.097 29.467 L 73.878 29.467 C 73.893 29.467 73.908 29.47 73.922 29.476 C 73.935 29.483 73.947 29.492 73.957 29.503 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 23.556 0.715 C 24.537 1.134 25.318 1.919 25.735 2.904 C 25.957 3.406 26.071 3.95 26.071 4.5 L 26.071 25.061 C 26.073 25.237 26.004 25.406 25.882 25.532 C 25.759 25.657 25.591 25.728 25.416 25.73 L 20.494 25.73 C 20.408 25.734 20.323 25.718 20.243 25.684 C 20.164 25.65 20.094 25.599 20.037 25.534 C 19.918 25.404 19.855 25.233 19.86 25.057 L 19.86 6.38 L 15.918 6.38 L 15.918 25.069 C 15.922 25.245 15.859 25.416 15.741 25.546 C 15.683 25.61 15.612 25.661 15.533 25.695 C 15.453 25.728 15.368 25.745 15.282 25.742 L 10.838 25.742 C 10.751 25.744 10.665 25.728 10.584 25.695 C 10.503 25.663 10.43 25.615 10.367 25.555 C 10.305 25.494 10.255 25.421 10.221 25.341 C 10.186 25.261 10.168 25.175 10.167 25.088 L 10.167 6.38 L 6.217 6.38 L 6.217 25.069 C 6.229 25.16 6.221 25.253 6.191 25.34 C 6.162 25.428 6.113 25.507 6.048 25.572 C 5.983 25.638 5.903 25.687 5.816 25.716 C 5.729 25.745 5.636 25.753 5.545 25.74 L 0.678 25.74 C 0.587 25.753 0.494 25.745 0.406 25.716 C 0.319 25.687 0.24 25.638 0.174 25.572 C 0.109 25.507 0.06 25.428 0.031 25.34 C 0.002 25.253 -0.007 25.16 0.006 25.069 L 0.006 1.05 C -0.007 0.958 0.002 0.865 0.031 0.778 C 0.06 0.69 0.109 0.611 0.174 0.546 C 0.24 0.48 0.319 0.431 0.406 0.402 C 0.494 0.373 0.587 0.365 0.678 0.378 L 21.95 0.378 C 22.503 0.376 23.05 0.49 23.556 0.715 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 47.46 19.583 C 47.549 19.581 47.637 19.598 47.719 19.632 C 47.801 19.666 47.875 19.717 47.937 19.781 C 48.06 19.914 48.127 20.09 48.123 20.271 L 48.123 25.049 C 48.126 25.227 48.059 25.399 47.937 25.527 C 47.876 25.592 47.802 25.644 47.72 25.678 C 47.638 25.713 47.549 25.73 47.46 25.728 L 30.664 25.728 C 30.188 25.728 29.95 25.489 29.95 25.04 L 29.95 1.066 C 29.95 0.607 30.188 0.378 30.664 0.378 L 35.82 0.378 C 36.296 0.378 36.535 0.617 36.535 1.066 L 36.535 18.931 C 36.532 19.022 36.55 19.112 36.588 19.195 C 36.625 19.278 36.681 19.351 36.751 19.408 C 36.89 19.531 37.069 19.596 37.254 19.592 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 73.274 0.378 C 73.368 0.376 73.461 0.392 73.549 0.426 C 73.636 0.461 73.716 0.513 73.783 0.579 C 73.852 0.641 73.906 0.716 73.944 0.801 C 73.981 0.885 74 0.976 74 1.069 L 74 25.124 C 74 25.216 73.981 25.307 73.944 25.391 C 73.906 25.476 73.852 25.551 73.783 25.613 C 73.716 25.679 73.636 25.731 73.549 25.766 C 73.461 25.8 73.368 25.817 73.274 25.814 L 68.051 25.814 C 67.958 25.816 67.864 25.8 67.777 25.765 C 67.69 25.731 67.611 25.679 67.544 25.613 C 67.475 25.552 67.42 25.477 67.382 25.392 C 67.345 25.308 67.326 25.216 67.327 25.124 L 67.327 16.73 C 67.331 16.642 67.316 16.553 67.284 16.471 C 67.251 16.389 67.202 16.314 67.139 16.252 C 67.074 16.191 66.997 16.143 66.913 16.112 C 66.829 16.081 66.74 16.067 66.65 16.071 L 59.327 16.071 C 59.141 16.065 58.96 16.13 58.82 16.252 C 58.75 16.31 58.694 16.383 58.656 16.466 C 58.619 16.549 58.6 16.639 58.603 16.73 L 58.603 25.124 C 58.603 25.582 58.365 25.814 57.888 25.814 L 52.704 25.814 C 52.228 25.814 51.989 25.575 51.989 25.124 L 51.989 1.069 C 51.989 0.608 52.228 0.378 52.704 0.378 L 57.898 0.378 C 58.374 0.378 58.612 0.617 58.612 1.069 L 58.612 9.218 C 58.612 9.677 58.851 9.906 59.327 9.906 L 66.667 9.906 C 66.758 9.91 66.849 9.894 66.934 9.859 C 67.018 9.825 67.094 9.774 67.158 9.708 C 67.279 9.579 67.346 9.408 67.346 9.23 L 67.346 1.069 C 67.345 0.976 67.364 0.885 67.401 0.801 C 67.438 0.716 67.492 0.64 67.561 0.579 C 67.691 0.45 67.868 0.378 68.051 0.378 Z\" fill=\"rgb(255,255,255)\"></path></svg>',svgContentId:9969450907,withExternalLayout:true})}),/*#__PURE__*/_jsx(Link,{href:\"https://ghw.mlh.io/live\",motionChild:true,nodeId:\"dCrqFXeZ5\",openInNewTab:false,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-w0nf86 framer-cgl0ng\",layoutDependency:layoutDependency,layoutId:\"dCrqFXeZ5\",children:Gbg2_xADN!==false&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1wzbnyq-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"gSi71a0CR-container\",nodeId:\"gSi71a0CR\",rendersWithMotion:true,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"gSi71a0CR\",isForwardsDirection:true,layoutId:\"gSi71a0CR\",loop:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/ZbH2Q8jdxpWNBHGy4JNWiAT4Fnc.json\",srcType:\"Upload\",srcUrl:\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})]})]}),isDisplayed4()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-jonv3t\",layoutDependency:layoutDependency,layoutId:\"qfm8AAQDi\",style:{backgroundColor:\"var(--token-cf9a56a5-36e7-4b85-8697-c330b1c6ea92, rgb(32, 33, 34))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-16mddpv\",layoutDependency:layoutDependency,layoutId:\"Oh0aWfJMI\",children:[isDisplayed5(Gbg2_xADN!==false)&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"OEiyYzkGJ\"},motionChild:true,nodeId:\"IHeoxQcSu\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Schedule\"})})})}),className:\"framer-8ovxvs\",\"data-framer-name\":\"Schedule\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"IHeoxQcSu\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),isDisplayed5(Gbg2_xADN!==false)&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"gqe3FL5ZJ\"},motionChild:true,nodeId:\"lGZQfsM2Q\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Challenges\"})})})}),className:\"framer-1ip0r97\",\"data-framer-name\":\"Challenges\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"lGZQfsM2Q\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"dEl3pEZb4\"},motionChild:true,nodeId:\"HWT6_YPer\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Guilds\"})})})}),className:\"framer-1k70pbc\",\"data-framer-name\":\"Guilds\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"HWT6_YPer\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"e1j1qkkz0\"},motionChild:true,nodeId:\"K7GZ_6MfG\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Swag\"})})})}),className:\"framer-ce0pl7\",\"data-framer-name\":\"Swag\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"K7GZ_6MfG\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"VhCtWAjs8\"},motionChild:true,nodeId:\"UjHAGL9sC\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"Sponsor\"})})})}),className:\"framer-60cxek\",\"data-framer-name\":\"Sponsor\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"UjHAGL9sC\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-size\":\"15px\",\"--framer-font-weight\":\"700\",\"--framer-line-height\":\"22.4px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"hjaA6Mynq\"},motionChild:true,nodeId:\"FBdSTaAgt\",openInNewTab:false,relValues:[],scopeId:\"tPUMPENCJ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-fsrzda\",\"data-styles-preset\":\"AS4PcgcTr\",children:\"FAQ\"})})})}),className:\"framer-ym8xc\",\"data-framer-name\":\"FAQ\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"FBdSTaAgt\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},verticalAlignment:\"center\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ybz448-container\",layoutDependency:layoutDependency,layoutId:\"fGPgHauKy-container\",nodeId:\"fGPgHauKy\",rendersWithMotion:true,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(SupportDiscord,{height:\"100%\",id:\"fGPgHauKy\",layoutId:\"fGPgHauKy\",title:\"Discord\",variant:matchVariant(\"aQuRzyyAp\"),width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-krple5-container\",layoutDependency:layoutDependency,layoutId:\"fE8p0ZGc7-container\",nodeId:\"fE8p0ZGc7\",rendersWithMotion:true,scopeId:\"tPUMPENCJ\",children:/*#__PURE__*/_jsx(ElementsPrimaryBtn,{headerLink:\"https://organize.mlh.io/participants/events/9025-global-hack-week-january-2023\",height:\"100%\",id:\"fE8p0ZGc7\",layoutId:\"fE8p0ZGc7\",style:{width:\"100%\"},tap:tap3mrnju,title:\"Register\",variant:matchVariant(\"h8LDiEELK\"),width:\"100%\"})})})]})}),isDisplayed6()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-16fzbjz\",\"data-framer-name\":\"Icon\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"A2e7jdHIM\",onTap:onTap1lahf9c,children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-eqw32e\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"MAdCjbPBA\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-bvnmin\",\"data-framer-name\":\"Mid\",layoutDependency:layoutDependency,layoutId:\"EBbajLUcO\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-55cdf5\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"vylQv9k9r\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}})]})]})})})});});const css=[\".framer-SfNN3.framer-cgl0ng, .framer-SfNN3 .framer-cgl0ng { display: block; }\",\".framer-SfNN3.framer-1d4im4b { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: 80px; justify-content: center; overflow: hidden; padding: 24px; position: relative; width: 1200px; }\",\".framer-SfNN3 .framer-1e86irf { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 32px; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-SfNN3 .framer-wp8ido, .framer-SfNN3 .framer-9mnugo { flex: none; height: 32px; overflow: visible; position: relative; width: 172px; }\",\".framer-SfNN3 .framer-1o3jomw, .framer-SfNN3 .framer-t1xeaz { flex: none; height: 32px; left: 0px; position: absolute; text-decoration: none; top: 0px; width: 74px; }\",\".framer-SfNN3 .framer-1ifjhpy, .framer-SfNN3 .framer-w0nf86 { bottom: 0px; flex: none; overflow: visible; position: absolute; right: 0px; text-decoration: none; top: 0px; width: 88px; }\",\".framer-SfNN3 .framer-ymtu4m-container, .framer-SfNN3 .framer-1wzbnyq-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-SfNN3 .framer-ptpia6, .framer-SfNN3 .framer-8pvj10, .framer-SfNN3 .framer-16fzbjz { aspect-ratio: 1 / 1; cursor: pointer; flex: none; height: auto; overflow: hidden; position: relative; width: 32px; }\",\".framer-SfNN3 .framer-19x6k1o, .framer-SfNN3 .framer-eqw32e { bottom: 7px; flex: none; height: 2px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SfNN3 .framer-1vfk9m5, .framer-SfNN3 .framer-bvnmin { flex: none; height: 2px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; top: calc(50.00000000000002% - 2px / 2); width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SfNN3 .framer-1umgwv, .framer-SfNN3 .framer-55cdf5 { flex: none; height: 2px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; top: 7px; width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SfNN3 .framer-f52uod { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: 22px; justify-content: flex-end; overflow: visible; padding: 0px; position: relative; width: 405px; }\",\".framer-SfNN3 .framer-zb0y4s, .framer-SfNN3 .framer-16yjqpj, .framer-SfNN3 .framer-1cdl1hi, .framer-SfNN3 .framer-j7fbwi, .framer-SfNN3 .framer-bhzjjw, .framer-SfNN3 .framer-8ovxvs, .framer-SfNN3 .framer-1ip0r97, .framer-SfNN3 .framer-1k70pbc, .framer-SfNN3 .framer-ce0pl7, .framer-SfNN3 .framer-60cxek, .framer-SfNN3 .framer-ym8xc { flex: none; height: auto; overflow: visible; position: relative; white-space: pre; width: auto; }\",\".framer-SfNN3 .framer-3hawer-container, .framer-SfNN3 .framer-1pi030y-container, .framer-SfNN3 .framer-ybz448-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-SfNN3 .framer-4u79xp { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: 32px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-SfNN3 .framer-dsboie { bottom: 15px; flex: none; height: 2px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SfNN3 .framer-usrurb { flex: none; height: 2px; left: calc(50.00000000000002% - 2px / 2); overflow: hidden; position: absolute; top: calc(50.00000000000002% - 2px / 2); width: 2px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SfNN3 .framer-95f2oo { flex: none; height: 2px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; top: 15px; width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SfNN3 .framer-jonv3t { 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: visible; padding: 20px; position: relative; width: 1px; z-index: 8; }\",\".framer-SfNN3 .framer-16mddpv { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 17px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-SfNN3 .framer-krple5-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-SfNN3.framer-v-c5evlv.framer-1d4im4b { width: 810px; }\",\".framer-SfNN3.framer-v-75696d.framer-1d4im4b { align-content: flex-start; align-items: flex-start; height: 270px; overflow: visible; width: 390px; }\",\".framer-SfNN3.framer-v-75696d .framer-1e86irf { gap: unset; height: min-content; justify-content: space-between; order: 0; }\",\".framer-SfNN3.framer-v-75696d .framer-wp8ido, .framer-SfNN3.framer-v-11xfclq .framer-8ovxvs { order: 0; }\",\".framer-SfNN3.framer-v-75696d .framer-ptpia6, .framer-SfNN3.framer-v-11xfclq .framer-9mnugo, .framer-SfNN3.framer-v-11xfclq .framer-1ip0r97 { order: 1; }\",\".framer-SfNN3.framer-v-11xfclq.framer-1d4im4b { flex-direction: column; gap: 14px; height: min-content; justify-content: flex-start; overflow: visible; padding: 22px 24px 20px 24px; width: 390px; }\",\".framer-SfNN3.framer-v-11xfclq .framer-4u79xp { flex: none; order: 2; width: 100%; }\",\".framer-SfNN3.framer-v-11xfclq .framer-8pvj10, .framer-SfNN3.framer-v-11xfclq .framer-ce0pl7 { order: 2; }\",\".framer-SfNN3.framer-v-11xfclq .framer-jonv3t { flex: none; order: 8; width: 100%; }\",\".framer-SfNN3.framer-v-11xfclq .framer-1k70pbc { order: 3; }\",\".framer-SfNN3.framer-v-11xfclq .framer-60cxek { order: 4; }\",\".framer-SfNN3.framer-v-11xfclq .framer-ym8xc { order: 5; }\",\".framer-SfNN3.framer-v-11xfclq .framer-ybz448-container { order: 6; }\",\".framer-SfNN3.framer-v-11xfclq .framer-krple5-container { order: 7; }\",...sharedStyle.css,'.framer-SfNN3[data-border=\"true\"]::after, .framer-SfNN3 [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 80\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"tr3yeymeK\":{\"layout\":[\"fixed\",\"fixed\"]},\"z9JgfamJF\":{\"layout\":[\"fixed\",\"fixed\"]},\"nQSa06nVD\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"Gbg2_xADN\":\"gHWActive\",\"BZ_k0ki24\":\"tap2\",\"DAB2x7rNK\":\"headerLink\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramertPUMPENCJ=withCSS(Component,css,\"framer-SfNN3\");export default FramertPUMPENCJ;FramertPUMPENCJ.displayName=\"Rows/Global Header\";FramertPUMPENCJ.defaultProps={height:80,width:1200};addPropertyControls(FramertPUMPENCJ,{variant:{options:[\"ZarghZWK7\",\"tr3yeymeK\",\"z9JgfamJF\",\"nQSa06nVD\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\",\"Phone Open\"],title:\"Variant\",type:ControlType.Enum},Gbg2_xADN:{defaultValue:false,title:\"GHW Active?\",type:ControlType.Boolean},onGbg2_xADNChange:{changes:\"Gbg2_xADN\",type:ControlType.ChangeHandler},BZ_k0ki24:{title:\"Tap 2\",type:ControlType.EventHandler},DAB2x7rNK:{title:\"Header Link\",type:ControlType.Link}});addFonts(FramertPUMPENCJ,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"google\",style:\"normal\",uiFamilyName:\"Inter\",url:\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\",weight:\"700\"}]},...LottieFonts,...SupportDiscordFonts,...ElementsPrimaryBtnFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramertPUMPENCJ.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(SupportDiscord,{},context),forwardLoader(ElementsPrimaryBtn,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertPUMPENCJ\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"tr3yeymeK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"z9JgfamJF\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"nQSa06nVD\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"80\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"Gbg2_xADN\\\":\\\"gHWActive\\\",\\\"BZ_k0ki24\\\":\\\"tap2\\\",\\\"DAB2x7rNK\\\":\\\"headerLink\\\"}\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tPUMPENCJ.map","import{fontStore}from\"framer\";fontStore.loadWebFontsFromSelectors([]);export const fonts=[];export const css=[\".framer-vXJuR .framer-styles-preset-1gfle78:not(.rich-text-wrapper), .framer-vXJuR .framer-styles-preset-1gfle78.rich-text-wrapper a { --framer-link-hover-text-color: #FFFFFF; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #d4d4d4; --framer-link-text-decoration: none; }\"];export const className=\"framer-vXJuR\";\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 (a9375b9)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,RichText,SVG,Text,useComponentViewport,useLocaleInfo,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{universalFooter}from\"https://framerusercontent.com/modules/In2XsCcVVAzfai4lmyht/BtjWnXuun69YyAgZKQxk/MLHUniversal.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/WeM71DwxaYMWuvkK8zI8/zgBuDh4vLpcD0zYGeKzo/JcqRdLAgP.js\";const MotionDivUniversalFooteru6hpwu=withCodeBoundaryForOverrides(motion.div,{nodeId:\"dYUUB175T\",override:universalFooter,scopeId:\"UI_Griy4u\"});const cycleOrder=[\"dYUUB175T\",\"PKWjeLB1c\",\"yJ9RSgSPd\"];const serializationHash=\"framer-eO1qb\";const variantClassNames={dYUUB175T:\"framer-v-u6hpwu\",PKWjeLB1c:\"framer-v-1koqz3m\",yJ9RSgSPd:\"framer-v-1ap23e5\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}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 Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop XL\":\"dYUUB175T\",Mobile:\"yJ9RSgSPd\",Tablet:\"PKWjeLB1c\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"dYUUB175T\"};};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:\"dYUUB175T\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"yJ9RSgSPd\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(MotionDivUniversalFooteru6hpwu,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-u6hpwu\",className,classNames),\"data-framer-name\":\"Desktop XL\",layoutDependency:layoutDependency,layoutId:\"dYUUB175T\",ref:refBinding,style:{...style},...addPropertyOverrides({PKWjeLB1c:{\"data-framer-name\":\"Tablet\"},yJ9RSgSPd:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-scf44i\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8119\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-x9hqzb\",\"data-framer-name\":\"Header and links\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8120\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1pe10jg\",\"data-framer-name\":\"Header\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8121\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1c85yd7\",\"data-framer-name\":\"MLH Logo\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8122\",children:/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io\",motionChild:true,nodeId:\"I323:8965;328:8122;12:4622\",scopeId:\"UI_Griy4u\",children:/*#__PURE__*/_jsx(SVG,{as:\"a\",className:\"framer-uuy6fy framer-j4zq03\",\"data-framer-name\":\"Layer 1\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:48,intrinsicWidth:114,layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8122;12:4622\",svg:'<svg width=\"114\" height=\"48\" viewBox=\"0 0 114 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M5.75274 42.0362C5.93309 42.1144 6.08713 42.2428 6.19646 42.4061C6.3058 42.5694 6.36581 42.7607 6.36932 42.9572V47.8079C6.36836 47.851 6.35054 47.8921 6.31967 47.9222C6.2888 47.9524 6.24734 47.9693 6.20416 47.9693H5.0077C4.98726 47.9703 4.96686 47.9668 4.94787 47.9592C4.92887 47.9516 4.91173 47.94 4.89759 47.9253C4.86869 47.893 4.85297 47.8511 4.85355 47.8079V43.4048H3.8883V47.8079C3.88868 47.85 3.87292 47.8907 3.84426 47.9216C3.83139 47.9382 3.81456 47.9512 3.79532 47.9595C3.77607 47.9679 3.75504 47.9712 3.73415 47.9693H2.63311C2.59028 47.9693 2.5492 47.9523 2.51892 47.922C2.48864 47.8917 2.47162 47.8507 2.47162 47.8079V43.4048H1.52472V47.8079C1.52997 47.8453 1.52017 47.8833 1.49748 47.9136C1.47478 47.9438 1.44104 47.9638 1.40361 47.9693H0.174108C0.137283 47.9748 0.0997379 47.9661 0.0690739 47.945C0.0384099 47.9239 0.0169186 47.8919 0.00895151 47.8556V42.1169C0.00370711 42.0795 0.013502 42.0415 0.0361961 42.0112C0.0588901 41.981 0.0926383 41.961 0.130066 41.9555H5.35636C5.49282 41.9528 5.62819 41.9804 5.75274 42.0362Z\" fill=\"white\"/>\\n<path d=\"M11.7535 41.9554C11.9529 41.9542 12.1483 42.0121 12.3149 42.1218C12.4814 42.2315 12.6118 42.3881 12.6894 42.5718C12.745 42.6939 12.7737 42.8265 12.7738 42.9607V47.8114C12.7748 47.8322 12.7715 47.8531 12.7642 47.8726C12.7569 47.8922 12.7457 47.91 12.7313 47.9251C12.7169 47.9402 12.6996 47.9523 12.6804 47.9605C12.6612 47.9687 12.6405 47.9729 12.6196 47.9728H11.4158C11.3726 47.9729 11.3312 47.956 11.3003 47.9258C11.2694 47.8956 11.2516 47.8546 11.2507 47.8114V46.2703C11.2524 46.2286 11.238 46.1879 11.2103 46.1566C11.1963 46.1405 11.1787 46.1278 11.159 46.1195C11.1392 46.1112 11.1179 46.1076 11.0965 46.1089H9.39357C9.3504 46.1089 9.30893 46.1258 9.27806 46.156C9.24719 46.1861 9.22937 46.2272 9.22841 46.2703V47.8114C9.23154 47.8297 9.23097 47.8485 9.22673 47.8666C9.22249 47.8847 9.21467 47.9018 9.20373 47.9169C9.19278 47.9319 9.17894 47.9446 9.16301 47.9542C9.14708 47.9638 9.12938 47.9702 9.11097 47.9728H7.88147C7.86286 47.9765 7.84369 47.9764 7.82515 47.9724C7.8066 47.9684 7.78906 47.9607 7.7736 47.9497C7.75814 47.9387 7.74509 47.9247 7.73524 47.9085C7.72539 47.8923 7.71895 47.8742 7.71631 47.8554V42.9607C7.71602 42.8273 7.74222 42.6951 7.79338 42.5718C7.84128 42.4465 7.91507 42.3327 8.00992 42.2379C8.1067 42.1455 8.21999 42.072 8.34391 42.0214C8.46642 41.9673 8.59901 41.9398 8.73294 41.9407L11.7535 41.9554ZM11.236 44.821V43.3056H9.2174V44.8173L11.236 44.821Z\" fill=\"white\"/>\\n<path d=\"M18.1835 42.0032C18.1999 42.017 18.2127 42.0345 18.221 42.0543C18.2293 42.0741 18.2328 42.0955 18.2312 42.1169V46.9749C18.2321 47.1088 18.2046 47.2414 18.1505 47.3638C18.0992 47.4874 18.0258 47.6005 17.9339 47.6977C17.8411 47.7933 17.7283 47.8672 17.6036 47.9142C17.479 47.9654 17.3456 47.9916 17.2109 47.9913H14.6418C14.5071 47.9916 14.3737 47.9654 14.2491 47.9142C14.0645 47.8368 13.9072 47.706 13.7973 47.5387C13.6875 47.3714 13.6301 47.175 13.6325 46.9749V45.1403C13.6272 45.1024 13.6369 45.064 13.6595 45.0332C13.6821 45.0023 13.7159 44.9815 13.7536 44.9752H14.9831C15.0209 44.9708 15.0589 44.9809 15.0895 45.0033C15.1201 45.0258 15.1411 45.059 15.1483 45.0963V46.3695C15.1473 46.3905 15.1507 46.4114 15.1583 46.431C15.1659 46.4506 15.1775 46.4684 15.1923 46.4832C15.2249 46.5111 15.2669 46.5255 15.3098 46.5236H16.5576C16.5994 46.5254 16.6401 46.5109 16.6714 46.4832C16.6876 46.4692 16.7003 46.4516 16.7085 46.4319C16.7168 46.4122 16.7204 46.3908 16.7191 46.3695V42.1169C16.7187 42.0748 16.7345 42.0341 16.7632 42.0032C16.777 41.9868 16.7945 41.9739 16.8143 41.9656C16.8341 41.9574 16.8556 41.9539 16.8769 41.9555H18.0734C18.0941 41.955 18.1147 41.959 18.1337 41.9672C18.1527 41.9754 18.1697 41.9877 18.1835 42.0032Z\" fill=\"white\"/>\\n<path d=\"M23.6263 41.9553C23.7602 41.9544 23.8928 41.982 24.0153 42.0361C24.1354 42.0852 24.2444 42.1579 24.3358 42.2499C24.4272 42.342 24.4992 42.4514 24.5475 42.5718C24.6031 42.6939 24.6319 42.8265 24.6319 42.9607V46.9564C24.6315 47.0918 24.6028 47.2255 24.5475 47.3491C24.4986 47.4719 24.4263 47.584 24.3346 47.6793C24.2404 47.7749 24.1264 47.8488 24.0007 47.8958C23.878 47.949 23.7453 47.9753 23.6116 47.9728H20.5801C20.4474 47.9729 20.3162 47.9454 20.1947 47.8921C20.0127 47.8173 19.857 47.6903 19.7472 47.527C19.6375 47.3637 19.5786 47.1715 19.5781 46.9748V42.979C19.5778 42.8444 19.604 42.711 19.6552 42.5864C19.7009 42.462 19.7736 42.3493 19.8681 42.2562C19.9648 42.1638 20.0781 42.0903 20.2021 42.0397C20.3245 41.9853 20.4571 41.9578 20.5911 41.959L23.6263 41.9553ZM23.1088 43.423H21.0902V46.5198H23.1308L23.1088 43.423Z\" fill=\"white\"/>\\n<path d=\"M31.2272 47.837C31.2382 47.8512 31.2442 47.8686 31.2442 47.8866C31.2442 47.9045 31.2382 47.9219 31.2272 47.9361C31.2169 47.9504 31.2029 47.9616 31.1868 47.9687C31.1707 47.9758 31.1529 47.9785 31.1354 47.9765H29.7701C29.722 47.976 29.6749 47.962 29.6343 47.9361C29.5906 47.9132 29.5539 47.879 29.5279 47.837L28.6361 46.2043C28.6302 46.1931 28.6211 46.184 28.61 46.1781C28.5988 46.1722 28.5862 46.1698 28.5737 46.1712H27.535C27.5302 46.1702 27.5252 46.1701 27.5203 46.171C27.5155 46.1719 27.5108 46.1738 27.5067 46.1765C27.5026 46.1793 27.4991 46.1828 27.4964 46.1869C27.4937 46.1911 27.4918 46.1957 27.491 46.2006V47.8003C27.4935 47.819 27.4923 47.8379 27.4874 47.856C27.4824 47.8741 27.4739 47.8911 27.4622 47.9058C27.4505 47.9206 27.436 47.9328 27.4195 47.9418C27.403 47.9508 27.3849 47.9563 27.3662 47.9581H26.144C26.1071 47.9634 26.0696 47.9541 26.0394 47.9322C26.0093 47.9103 25.9888 47.8775 25.9825 47.8407C25.9788 47.8263 25.9788 47.8111 25.9825 47.7967V42.1168C25.9794 42.0984 25.98 42.0797 25.9842 42.0615C25.9885 42.0434 25.9963 42.0263 26.0072 42.0113C26.0182 41.9963 26.032 41.9836 26.0479 41.9739C26.0639 41.9643 26.0816 41.958 26.1 41.9553H30.0344C30.1683 41.9549 30.3008 41.9824 30.4234 42.0361C30.6628 42.14 30.8533 42.3317 30.9556 42.5718C31.0097 42.6942 31.0372 42.8268 31.0363 42.9607V45.2209C31.0377 45.4338 30.9694 45.6412 30.8418 45.8116C30.7222 45.9858 30.5478 46.115 30.3463 46.1786H30.3207C30.2803 46.1786 30.2693 46.2079 30.2913 46.2299L31.2272 47.837ZM29.5169 43.357H27.4433V44.8246H29.5169V43.357Z\" fill=\"white\"/>\\n<path d=\"M39.3236 46.5126C39.3446 46.5111 39.3657 46.5143 39.3854 46.5219C39.4051 46.5295 39.4228 46.5414 39.4374 46.5567C39.4663 46.5889 39.482 46.6308 39.4814 46.6741V47.8115C39.4818 47.8537 39.466 47.8944 39.4374 47.9253C39.4235 47.9416 39.406 47.9545 39.3862 47.9628C39.3664 47.9711 39.345 47.9746 39.3236 47.973H35.6094C35.5721 47.9784 35.5341 47.9692 35.5033 47.9473C35.4726 47.9254 35.4514 47.8926 35.4443 47.8555V42.1169C35.439 42.0795 35.4488 42.0415 35.4715 42.0112C35.4942 41.981 35.5279 41.9609 35.5654 41.9555H36.7949C36.8323 41.9502 36.8703 41.96 36.9006 41.9827C36.9309 42.0054 36.9509 42.0391 36.9564 42.0766C36.9601 42.0898 36.9601 42.1037 36.9564 42.1169V46.3585C36.9556 46.3798 36.9594 46.401 36.9677 46.4206C36.9759 46.4403 36.9883 46.4579 37.0041 46.4723C37.0363 46.5011 37.0782 46.5169 37.1215 46.5163L39.3236 46.5126Z\" fill=\"white\"/>\\n<path d=\"M44.8877 42.003C44.9034 42.0174 44.9158 42.035 44.9241 42.0546C44.9323 42.0743 44.9362 42.0955 44.9354 42.1168V43.1992C44.937 43.2206 44.9335 43.242 44.9252 43.2618C44.9169 43.2815 44.904 43.2991 44.8877 43.3129C44.8567 43.3416 44.816 43.3573 44.7739 43.357H41.8892C41.8845 43.3559 41.8798 43.3558 41.8751 43.3568C41.8705 43.3577 41.8661 43.3596 41.8623 43.3624C41.8584 43.3652 41.8552 43.3688 41.8529 43.3729C41.8506 43.377 41.8492 43.3816 41.8488 43.3863V44.3219C41.8488 44.344 41.8488 44.355 41.8892 44.355H44.3482C44.3689 44.354 44.3897 44.3577 44.4088 44.366C44.4278 44.3743 44.4448 44.3868 44.4583 44.4027C44.4869 44.4336 44.5027 44.4743 44.5023 44.5164V45.3787C44.5027 45.4208 44.4869 45.4615 44.4583 45.4924C44.4448 45.5083 44.4278 45.5208 44.4088 45.5291C44.3897 45.5374 44.3689 45.5411 44.3482 45.5401H41.8892C41.88 45.539 41.8707 45.5414 41.8632 45.5469C41.8557 45.5523 41.8506 45.5604 41.8488 45.5695V46.4978C41.8471 46.5023 41.8464 46.5072 41.8469 46.5121C41.8473 46.5169 41.8488 46.5216 41.8512 46.5259C41.8537 46.5301 41.857 46.5337 41.8611 46.5364C41.8651 46.5392 41.8697 46.541 41.8745 46.5418H44.7849C44.8271 46.5418 44.8676 46.5583 44.8978 46.5878C44.928 46.6173 44.9454 46.6574 44.9464 46.6996V47.8003C44.9469 47.8214 44.9432 47.8423 44.9354 47.8618C44.9277 47.8814 44.9162 47.8992 44.9015 47.9143C44.8868 47.9293 44.8692 47.9413 44.8498 47.9494C44.8304 47.9576 44.8096 47.9618 44.7886 47.9618H40.4982C40.4608 47.9672 40.4228 47.958 40.3921 47.9361C40.3613 47.9143 40.3402 47.8814 40.333 47.8444V42.1168C40.334 42.0736 40.3518 42.0326 40.3827 42.0024C40.4135 41.9722 40.455 41.9553 40.4982 41.9553H44.7849C44.824 41.9576 44.8607 41.9747 44.8877 42.003Z\" fill=\"white\"/>\\n<path d=\"M50.3451 41.9554C50.4803 41.9542 50.6141 41.9817 50.7378 42.0361C50.9799 42.1355 51.1726 42.3268 51.2737 42.5681C51.3281 42.6905 51.3557 42.8232 51.3544 42.9571V47.8078C51.3554 47.8286 51.3522 47.8494 51.3449 47.869C51.3376 47.8885 51.3264 47.9064 51.312 47.9215C51.2975 47.9366 51.2802 47.9486 51.261 47.9568C51.2418 47.965 51.2211 47.9692 51.2003 47.9692H49.9855C49.9426 47.9692 49.9016 47.9522 49.8713 47.9219C49.841 47.8916 49.824 47.8506 49.824 47.8078V46.2667C49.8243 46.2245 49.8086 46.1839 49.7799 46.1529C49.7661 46.1366 49.7485 46.1237 49.7288 46.1154C49.709 46.1071 49.6875 46.1036 49.6662 46.1052H47.9889C47.9457 46.1052 47.9043 46.1221 47.8734 46.1523C47.8425 46.1825 47.8247 46.2235 47.8237 46.2667V47.8078C47.829 47.8452 47.8192 47.8832 47.7965 47.9134C47.7738 47.9437 47.74 47.9637 47.7026 47.9692H46.4731C46.4548 47.9723 46.436 47.9718 46.4179 47.9675C46.3998 47.9633 46.3827 47.9555 46.3676 47.9445C46.3526 47.9336 46.3399 47.9197 46.3303 47.9038C46.3206 47.8879 46.3143 47.8702 46.3116 47.8518C46.3079 47.8373 46.3079 47.8222 46.3116 47.8078V42.9607C46.3113 42.8273 46.3375 42.6951 46.3887 42.5718C46.4366 42.4465 46.5104 42.3328 46.6052 42.2379C46.702 42.1455 46.8153 42.072 46.9392 42.0214C47.0616 41.967 47.1943 41.9395 47.3283 41.9407L50.3451 41.9554ZM49.8313 44.821V43.3057H47.8091V44.8174L49.8313 44.821Z\" fill=\"white\"/>\\n<path d=\"M57.7036 44.7365C57.719 44.7518 57.7309 44.7702 57.7385 44.7904C57.7461 44.8107 57.7492 44.8324 57.7477 44.854V46.9748C57.7486 47.1087 57.7211 47.2412 57.6669 47.3637C57.6153 47.4862 57.5434 47.5991 57.4541 47.6976C57.3592 47.7924 57.2454 47.8662 57.1201 47.9141C56.9967 47.9649 56.8645 47.9911 56.7311 47.9911H53.6848C53.5526 47.9916 53.4216 47.9659 53.2994 47.9156C53.1772 47.8652 53.0661 47.7912 52.9727 47.6977C52.8792 47.6043 52.8051 47.4933 52.7548 47.3711C52.7044 47.2489 52.6787 47.1179 52.6792 46.9858V42.9863C52.6792 42.8529 52.7054 42.7208 52.7563 42.5974C52.8014 42.4716 52.8742 42.3575 52.9692 42.2635C53.0653 42.172 53.1772 42.0987 53.2995 42.047C53.4238 41.9947 53.5572 41.9673 53.6922 41.9663H57.2632C57.307 41.9663 57.349 41.9837 57.38 42.0147C57.411 42.0456 57.4284 42.0876 57.4284 42.1314V43.2652C57.4284 43.309 57.411 43.351 57.38 43.382C57.349 43.4129 57.307 43.4303 57.2632 43.4303H54.3822C54.3389 43.4297 54.2969 43.4455 54.2647 43.4743C54.2344 43.5045 54.2172 43.5454 54.217 43.5881V46.373C54.2172 46.3936 54.2215 46.414 54.2297 46.4329C54.2379 46.4518 54.2498 46.4689 54.2647 46.4831C54.2802 46.4981 54.2987 46.5097 54.3189 46.5173C54.3391 46.5248 54.3606 46.5282 54.3822 46.5271H56.0851C56.1044 46.5281 56.1237 46.5253 56.1419 46.5188C56.1601 46.5123 56.1768 46.5023 56.1911 46.4894C56.2054 46.4764 56.2171 46.4608 56.2253 46.4433C56.2336 46.4259 56.2383 46.407 56.2393 46.3877V44.8686C56.2383 44.8478 56.2415 44.827 56.2488 44.8074C56.2561 44.7879 56.2673 44.77 56.2817 44.7549C56.2961 44.7398 56.3135 44.7278 56.3327 44.7196C56.3519 44.7114 56.3725 44.7072 56.3934 44.7072H57.5972C57.6351 44.7038 57.6729 44.7143 57.7036 44.7365Z\" fill=\"white\"/>\\n<path d=\"M64.0495 42.003C64.0798 42.0332 64.097 42.0741 64.0972 42.1168V46.9748C64.0969 47.1089 64.0681 47.2415 64.0128 47.3637C63.9626 47.487 63.8905 47.6001 63.7999 47.6976C63.7051 47.7925 63.5913 47.8662 63.466 47.9141C63.3414 47.9653 63.2079 47.9915 63.0732 47.9912H60.027C59.8936 47.9912 59.7614 47.965 59.638 47.9141C59.3952 47.8127 59.2016 47.6205 59.0985 47.3784C59.0473 47.2539 59.0211 47.1205 59.0214 46.9858V42.1168C59.0162 42.0793 59.026 42.0413 59.0486 42.0111C59.0713 41.9808 59.1051 41.9608 59.1425 41.9553H60.372C60.4095 41.9501 60.4475 41.9599 60.4777 41.9826C60.508 42.0053 60.5281 42.039 60.5335 42.0764C60.5373 42.0896 60.5373 42.1036 60.5335 42.1168V46.3584C60.5327 46.3797 60.5366 46.4009 60.5448 46.4205C60.5531 46.4401 60.5655 46.4578 60.5812 46.4721C60.6135 46.501 60.6554 46.5167 60.6987 46.5161H62.4016C62.422 46.5164 62.4422 46.5127 62.4611 46.5051C62.48 46.4976 62.4972 46.4864 62.5117 46.4721C62.5274 46.4579 62.5396 46.4402 62.5472 46.4205C62.5549 46.4007 62.5578 46.3795 62.5558 46.3584V42.1168C62.5567 42.0736 62.5745 42.0326 62.6054 42.0024C62.6363 41.9722 62.6777 41.9553 62.7209 41.9553H63.9174C63.9417 41.9513 63.9666 41.9535 63.9897 41.9619C64.0128 41.9702 64.0334 41.9844 64.0495 42.003Z\" fill=\"white\"/>\\n<path d=\"M70.0096 42.0031C70.0399 42.0332 70.0571 42.0741 70.0573 42.1169V43.1993C70.0581 43.2206 70.0542 43.2418 70.046 43.2614C70.0377 43.2811 70.0253 43.2987 70.0096 43.313C69.9774 43.3419 69.9354 43.3576 69.8921 43.3571H67.0111C67.0063 43.356 67.0013 43.3559 66.9964 43.3568C66.9915 43.3577 66.9869 43.3596 66.9828 43.3624C66.9787 43.3651 66.9752 43.3686 66.9725 43.3728C66.9698 43.3769 66.9679 43.3816 66.967 43.3864V44.3367C66.967 44.3588 66.967 44.3698 67.0111 44.3698H69.4701C69.4908 44.3693 69.5114 44.3733 69.5304 44.3815C69.5494 44.3898 69.5664 44.402 69.5802 44.4175C69.6088 44.4484 69.6246 44.4891 69.6242 44.5312V45.3935C69.6246 45.4356 69.6088 45.4763 69.5802 45.5072C69.5664 45.5227 69.5494 45.5349 69.5304 45.5432C69.5114 45.5514 69.4908 45.5554 69.4701 45.5549H67.0111C67.0014 45.5537 66.9917 45.556 66.9836 45.5614C66.9755 45.5668 66.9696 45.5749 66.967 45.5843V46.5272C66.966 46.5321 66.9659 46.5371 66.9668 46.5419C66.9677 46.5468 66.9696 46.5514 66.9723 46.5555C66.9751 46.5596 66.9786 46.5631 66.9828 46.5658C66.9869 46.5686 66.9915 46.5704 66.9964 46.5713H69.8921C69.9347 46.5712 69.9756 46.5876 70.0064 46.617C70.0372 46.6464 70.0554 46.6865 70.0573 46.7291V47.8298C70.0573 47.872 70.0408 47.9125 70.0113 47.9427C69.9818 47.9729 69.9417 47.9903 69.8995 47.9913H65.6201C65.6015 47.9944 65.5825 47.9939 65.5642 47.9897C65.5458 47.9855 65.5285 47.9777 65.5132 47.9668C65.4978 47.9559 65.4848 47.9421 65.4748 47.9261C65.4648 47.9102 65.4581 47.8924 65.4549 47.8738C65.4512 47.8594 65.4512 47.8442 65.4549 47.8298V42.1169C65.4559 42.0737 65.4737 42.0327 65.5046 42.0025C65.5355 41.9723 65.5769 41.9554 65.6201 41.9554H69.8921C69.914 41.9546 69.9358 41.9584 69.956 41.9667C69.9763 41.9749 69.9945 41.9873 70.0096 42.0031Z\" fill=\"white\"/>\\n<path d=\"M79.2401 41.9553C79.261 41.9543 79.2818 41.9576 79.3013 41.9649C79.3209 41.9722 79.3388 41.9834 79.3539 41.9978C79.369 42.0122 79.381 42.0295 79.3892 42.0487C79.3974 42.0679 79.4016 42.0886 79.4016 42.1094V47.8114C79.4021 47.8324 79.3984 47.8533 79.3906 47.8729C79.3829 47.8924 79.3714 47.9103 79.3567 47.9253C79.342 47.9403 79.3244 47.9523 79.305 47.9605C79.2856 47.9686 79.2648 47.9728 79.2438 47.9728H78.0436C78.0005 47.9728 77.959 47.9559 77.9281 47.9257C77.8973 47.8956 77.8794 47.8545 77.8785 47.8114V45.8117C77.8795 45.7924 77.8766 45.7731 77.8702 45.7549C77.8637 45.7367 77.8537 45.72 77.8407 45.7057C77.8278 45.6914 77.8121 45.6797 77.7947 45.6715C77.7772 45.6632 77.7583 45.6585 77.739 45.6575H76.025C75.9816 45.6562 75.9394 45.672 75.9076 45.7016C75.8912 45.7154 75.8784 45.7329 75.8701 45.7527C75.8618 45.7725 75.8583 45.7939 75.8599 45.8153V47.815C75.8651 47.8525 75.8553 47.8905 75.8326 47.9207C75.81 47.951 75.7762 47.971 75.7388 47.9765C75.7256 47.9801 75.7116 47.9801 75.6984 47.9765H74.513C74.4755 47.9817 74.4375 47.9719 74.4072 47.9492C74.377 47.9265 74.3569 47.8928 74.3515 47.8554C74.3477 47.8422 74.3477 47.8282 74.3515 47.815V42.1168C74.3462 42.0793 74.356 42.0413 74.3787 42.0111C74.4014 41.9808 74.4352 41.9608 74.4726 41.9553H75.7021C75.7395 41.9501 75.7775 41.9599 75.8078 41.9826C75.8381 42.0053 75.8581 42.039 75.8636 42.0764C75.8673 42.0896 75.8673 42.1036 75.8636 42.1168V44.0394C75.8583 44.0769 75.8681 44.1149 75.8908 44.1451C75.9135 44.1754 75.9472 44.1954 75.9847 44.2009H77.728C77.749 44.2024 77.7701 44.1992 77.7898 44.1916C77.8095 44.184 77.8272 44.1721 77.8418 44.1568C77.8707 44.1246 77.8864 44.0827 77.8858 44.0394V42.1131C77.8868 42.07 77.9046 42.0289 77.9355 41.9987C77.9663 41.9685 78.0078 41.9516 78.051 41.9517H79.2438L79.2401 41.9553Z\" fill=\"white\"/>\\n<path d=\"M84.8114 41.9554C84.9465 41.9542 85.0804 41.9817 85.2041 42.0361C85.4462 42.1354 85.6389 42.3268 85.7399 42.5681C85.7944 42.6905 85.8219 42.8231 85.8207 42.957V47.8077C85.8217 47.8286 85.8184 47.8494 85.8111 47.8689C85.8038 47.8885 85.7926 47.9064 85.7782 47.9215C85.7638 47.9366 85.7464 47.9486 85.7272 47.9568C85.708 47.965 85.6874 47.9692 85.6665 47.9692H84.4627C84.4199 47.9692 84.3788 47.9522 84.3485 47.9219C84.3182 47.8916 84.3012 47.8505 84.3012 47.8077V46.2667C84.3016 46.2245 84.2858 46.1838 84.2572 46.1529C84.2433 46.1365 84.2258 46.1237 84.206 46.1154C84.1862 46.1071 84.1648 46.1036 84.1434 46.1052H82.4368C82.394 46.1052 82.3529 46.1222 82.3226 46.1525C82.2923 46.1828 82.2753 46.2238 82.2753 46.2667V47.8077C82.2805 47.8452 82.2707 47.8832 82.248 47.9134C82.2254 47.9437 82.1916 47.9637 82.1542 47.9692H80.9247C80.9061 47.9723 80.8871 47.9718 80.8688 47.9676C80.8504 47.9634 80.8331 47.9556 80.8177 47.9447C80.8024 47.9338 80.7894 47.92 80.7794 47.904C80.7694 47.8881 80.7626 47.8703 80.7595 47.8517V42.9607C80.7592 42.8272 80.7854 42.6951 80.8366 42.5718C80.8845 42.4465 80.9583 42.3327 81.0531 42.2379C81.1504 42.146 81.2636 42.0727 81.3871 42.0214C81.5098 41.9677 81.6423 41.9402 81.7762 41.9407L84.8114 41.9554ZM84.2975 44.821V43.3056H82.2753V44.8173L84.2975 44.821Z\" fill=\"white\"/>\\n<path d=\"M88.709 43.4598C88.6937 43.4743 88.6819 43.492 88.6743 43.5117C88.6666 43.5314 88.6635 43.5525 88.665 43.5735V46.3584C88.6635 46.3794 88.6666 46.4005 88.6743 46.4202C88.6819 46.4399 88.6937 46.4576 88.709 46.4722C88.7412 46.501 88.7832 46.5168 88.8265 46.5162H91.5901C91.6109 46.5152 91.6318 46.5184 91.6513 46.5257C91.6709 46.533 91.6888 46.5442 91.7039 46.5586C91.719 46.5731 91.731 46.5904 91.7392 46.6096C91.7474 46.6288 91.7516 46.6494 91.7516 46.6703V47.8151C91.7526 47.8359 91.7493 47.8568 91.742 47.8763C91.7347 47.8959 91.7235 47.9137 91.7091 47.9288C91.6947 47.9439 91.6774 47.9559 91.6582 47.9641C91.639 47.9723 91.6183 47.9765 91.5974 47.9765H88.1585C88.0249 47.9772 87.8926 47.951 87.7694 47.8995C87.6441 47.8516 87.5303 47.7778 87.4355 47.683C87.249 47.4842 87.1453 47.2217 87.1455 46.9492V42.9644C87.1448 42.8309 87.171 42.6986 87.2226 42.5755C87.2677 42.4497 87.3405 42.3356 87.4355 42.2416C87.5322 42.1491 87.6455 42.0757 87.7694 42.0251C87.8919 41.9707 88.0245 41.9431 88.1585 41.9444H91.5901C91.6323 41.9444 91.6728 41.9609 91.703 41.9904C91.7332 42.0198 91.7506 42.06 91.7516 42.1022V43.2433C91.7526 43.2855 91.737 43.3264 91.7082 43.3573C91.6794 43.3881 91.6396 43.4065 91.5974 43.4084H88.8265C88.8044 43.4087 88.7827 43.4134 88.7625 43.4222C88.7424 43.431 88.7242 43.4438 88.709 43.4598Z\" fill=\"white\"/>\\n<path d=\"M96.5339 44.4909C96.5267 44.499 96.5227 44.5094 96.5227 44.5202C96.5227 44.5311 96.5267 44.5415 96.5339 44.5496L98.5305 47.8519C98.5415 47.866 98.5475 47.8835 98.5475 47.9014C98.5475 47.9193 98.5415 47.9368 98.5305 47.9509C98.5202 47.9652 98.5062 47.9765 98.4901 47.9836C98.474 47.9907 98.4562 47.9933 98.4387 47.9913H97.0074C96.9592 47.9908 96.9122 47.9769 96.8716 47.9509C96.8281 47.929 96.7923 47.8945 96.7688 47.8519L95.4806 45.5073C95.4806 45.4742 95.4476 45.4742 95.4365 45.5073L94.7245 46.2888C94.6911 46.3244 94.6661 46.3671 94.6511 46.4136C94.6323 46.4602 94.6223 46.51 94.6218 46.5603V47.8335C94.6262 47.8713 94.6161 47.9092 94.5937 47.9399C94.5712 47.9705 94.538 47.9915 94.5007 47.9986H93.2968C93.2594 48.0039 93.2214 47.9941 93.1911 47.9714C93.1609 47.9487 93.1408 47.915 93.1354 47.8776C93.1316 47.8631 93.1316 47.848 93.1354 47.8335V42.1169C93.1301 42.0795 93.1399 42.0415 93.1626 42.0112C93.1853 41.981 93.2191 41.9609 93.2565 41.9555H94.486C94.5234 41.9502 94.5614 41.96 94.5917 41.9827C94.622 42.0054 94.642 42.0391 94.6475 42.0766C94.6512 42.0898 94.6512 42.1037 94.6475 42.1169V44.6854L96.8679 42.0876C96.8932 42.0488 96.9256 42.0152 96.9633 41.9885C97.0092 41.9667 97.0594 41.9554 97.1101 41.9555H98.5378C98.5855 41.9555 98.6112 41.9555 98.6222 41.9885C98.6332 42.0215 98.6222 42.0435 98.5929 42.0766L96.5339 44.4909Z\" fill=\"white\"/>\\n<path d=\"M101.177 47.8115C101.18 47.8299 101.179 47.8486 101.175 47.8667C101.171 47.8849 101.163 47.9019 101.152 47.917C101.141 47.932 101.127 47.9447 101.111 47.9543C101.095 47.964 101.078 47.9703 101.059 47.973H99.837C99.8184 47.9761 99.7994 47.9756 99.781 47.9714C99.7627 47.9672 99.7454 47.9594 99.73 47.9485C99.7147 47.9376 99.7016 47.9238 99.6916 47.9078C99.6817 47.8919 99.6749 47.8741 99.6718 47.8555V42.1169C99.6665 42.0795 99.6763 42.0415 99.699 42.0112C99.7217 41.981 99.7555 41.9609 99.7929 41.9555H101.022C101.06 41.9502 101.098 41.96 101.128 41.9827C101.158 42.0054 101.178 42.0391 101.184 42.0766C101.188 42.0898 101.188 42.1037 101.184 42.1169L101.177 47.8115Z\" fill=\"white\"/>\\n<path d=\"M106.957 42.0361C107.198 42.1377 107.39 42.3283 107.493 42.5681C107.546 42.6908 107.572 42.8234 107.57 42.957V47.8077C107.571 47.8285 107.568 47.8494 107.56 47.8689C107.553 47.8885 107.542 47.9063 107.528 47.9214C107.513 47.9365 107.496 47.9485 107.477 47.9567C107.457 47.9649 107.437 47.9692 107.416 47.9691H106.227C106.206 47.9706 106.185 47.9675 106.165 47.9598C106.145 47.9522 106.128 47.9404 106.113 47.9251C106.084 47.8929 106.068 47.851 106.069 47.8077V43.5698C106.071 43.5484 106.067 43.527 106.059 43.5072C106.05 43.4874 106.038 43.4699 106.021 43.456C105.99 43.4274 105.95 43.4116 105.907 43.412H104.204C104.161 43.4114 104.119 43.4271 104.087 43.456C104.071 43.4704 104.059 43.488 104.051 43.5077C104.042 43.5273 104.039 43.5485 104.039 43.5698V47.8114C104.045 47.8488 104.035 47.8868 104.012 47.9171C103.989 47.9473 103.956 47.9674 103.918 47.9728H102.689C102.652 47.9781 102.614 47.9688 102.584 47.9469C102.554 47.925 102.534 47.8921 102.527 47.8554C102.523 47.841 102.523 47.8258 102.527 47.8114V42.1168C102.522 42.0793 102.532 42.0413 102.554 42.0111C102.577 41.9808 102.611 41.9608 102.648 41.9553H106.579C106.709 41.9545 106.838 41.9821 106.957 42.0361Z\" fill=\"white\"/>\\n<path d=\"M113.934 44.7366C113.95 44.7517 113.962 44.77 113.97 44.7902C113.979 44.8104 113.983 44.8322 113.982 44.854V46.9748C113.981 47.109 113.953 47.2415 113.897 47.3638C113.848 47.4877 113.776 47.6011 113.684 47.6977C113.59 47.7933 113.476 47.8672 113.35 47.9141C113.227 47.9657 113.095 47.9919 112.961 47.9912H109.915C109.782 47.9912 109.65 47.965 109.526 47.9141C109.344 47.8345 109.19 47.7028 109.083 47.5356C108.976 47.3684 108.921 47.1733 108.924 46.9748V42.9791C108.925 42.8387 108.955 42.7001 109.012 42.5718C109.058 42.4474 109.131 42.3346 109.225 42.2416C109.322 42.1491 109.435 42.0757 109.559 42.0251C109.682 41.9707 109.814 41.9431 109.948 41.9444H113.501C113.544 41.9444 113.585 41.9614 113.615 41.9917C113.645 42.0219 113.662 42.063 113.662 42.1058V43.2433C113.662 43.2861 113.645 43.3272 113.615 43.3574C113.585 43.3877 113.544 43.4047 113.501 43.4047H110.616C110.574 43.4043 110.533 43.4201 110.502 43.4487C110.486 43.4626 110.473 43.4801 110.465 43.4999C110.457 43.5197 110.453 43.5411 110.455 43.5625V46.3474C110.453 46.3688 110.457 46.3902 110.465 46.41C110.473 46.4298 110.486 46.4473 110.502 46.4611C110.517 46.4756 110.535 46.4866 110.555 46.4936C110.575 46.5005 110.595 46.5032 110.616 46.5015H112.301C112.32 46.5025 112.339 46.4997 112.358 46.4932C112.376 46.4867 112.392 46.4767 112.407 46.4638C112.421 46.4508 112.433 46.4352 112.441 46.4177C112.449 46.4003 112.454 46.3814 112.455 46.3621V44.843C112.454 44.8222 112.457 44.8014 112.464 44.7818C112.472 44.7623 112.483 44.7444 112.497 44.7293C112.512 44.7142 112.529 44.7022 112.548 44.694C112.568 44.6858 112.588 44.6816 112.609 44.6816H113.813C113.836 44.6814 113.859 44.6862 113.88 44.6957C113.9 44.7052 113.919 44.7192 113.934 44.7366Z\" fill=\"white\"/>\\n<path d=\"M36.2883 0.526639C37.8002 1.17083 39.0037 2.37541 39.6464 3.88762C39.9879 4.65965 40.1641 5.49451 40.1639 6.33864V37.9157C40.1659 38.1856 40.0608 38.4453 39.8716 38.6378C39.6824 38.8304 39.4246 38.9402 39.1546 38.9431H31.5721C31.4397 38.9484 31.3077 38.9242 31.1858 38.8721C31.0639 38.8201 30.9552 38.7415 30.8674 38.6422C30.6843 38.4425 30.5868 38.1791 30.5959 37.9083V9.22629H24.5218V37.9267C24.5289 38.1971 24.4316 38.4599 24.2502 38.6605C24.1606 38.7586 24.051 38.8362 23.9288 38.8881C23.8066 38.94 23.6746 38.965 23.5418 38.9614H16.697C16.563 38.9633 16.4299 38.9389 16.3054 38.8894C16.1809 38.8399 16.0673 38.7664 15.9712 38.6731C15.8751 38.5797 15.7983 38.4683 15.7453 38.3453C15.6922 38.2223 15.6639 38.09 15.662 37.956V9.22629H9.57691V37.9267C9.59656 38.067 9.5833 38.21 9.53818 38.3443C9.49306 38.4786 9.41731 38.6006 9.31693 38.7006C9.21654 38.8006 9.09426 38.8759 8.95975 38.9205C8.82525 38.9651 8.68221 38.9779 8.54193 38.9577H1.04381C0.903533 38.9779 0.760489 38.9651 0.625985 38.9205C0.491481 38.8759 0.369203 38.8006 0.268814 38.7006C0.168426 38.6006 0.0926778 38.4786 0.0475565 38.3443C0.0024351 38.21 -0.010823 38.067 0.00882996 37.9267V1.04033C-0.010823 0.900012 0.0024351 0.757052 0.0475565 0.622743C0.0926778 0.488433 0.168426 0.366456 0.268814 0.266449C0.369203 0.166443 0.491481 0.0911483 0.625985 0.0465161C0.760489 0.00188399 0.903533 -0.0108627 1.04381 0.00928343H33.8146C34.6664 0.00544925 35.5094 0.181759 36.2883 0.526639Z\" fill=\"white\"/>\\n<path d=\"M73.1145 29.5022C73.2513 29.4994 73.3872 29.525 73.5135 29.5774C73.6399 29.6298 73.754 29.7079 73.8485 29.8068C74.0391 30.0101 74.142 30.2804 74.1348 30.559V37.8973C74.1395 38.17 74.0367 38.4336 73.8485 38.6312C73.7546 38.731 73.6407 38.8101 73.5142 38.8632C73.3878 38.9163 73.2516 38.9422 73.1145 38.9394H47.24C46.5059 38.9394 46.1389 38.5725 46.1389 37.8827V1.066C46.1389 0.36152 46.5059 0.00927734 47.24 0.00927734H55.1822C55.9162 0.00927734 56.2832 0.376196 56.2832 1.066V28.5005C56.279 28.6402 56.307 28.7791 56.3649 28.9063C56.4228 29.0335 56.5091 29.1457 56.6172 29.2344C56.8307 29.4223 57.1072 29.5232 57.3916 29.5169L73.1145 29.5022Z\" fill=\"white\"/>\\n<path d=\"M112.881 0.00920144C113.026 0.00519458 113.17 0.0304216 113.305 0.0833763C113.44 0.136331 113.563 0.215928 113.666 0.317413C113.771 0.412436 113.855 0.528488 113.913 0.658059C113.97 0.78763 114 0.927834 114 1.0696V38.011C114 38.1528 113.97 38.293 113.913 38.4225C113.855 38.5521 113.771 38.6682 113.666 38.7632C113.563 38.8647 113.44 38.9443 113.305 38.9972C113.17 39.0502 113.026 39.0754 112.881 39.0714H104.836C104.691 39.0751 104.548 39.0498 104.413 38.9968C104.279 38.9438 104.157 38.8644 104.054 38.7632C103.947 38.6692 103.862 38.5534 103.805 38.4236C103.747 38.2937 103.718 38.153 103.72 38.011V25.1211C103.726 24.9853 103.703 24.8497 103.653 24.7232C103.603 24.5968 103.527 24.4823 103.43 24.3873C103.33 24.2931 103.211 24.2199 103.082 24.172C102.953 24.1241 102.815 24.1025 102.678 24.1084H91.3956C91.1092 24.0993 90.8298 24.1989 90.6139 24.3873C90.506 24.4761 90.4198 24.5884 90.3619 24.7156C90.304 24.8428 90.276 24.9815 90.2799 25.1211V38.011C90.2799 38.7155 89.9129 39.0714 89.1788 39.0714H81.1926C80.4586 39.0714 80.0916 38.7045 80.0916 38.011V1.0696C80.0916 0.361444 80.4586 0.00920144 81.1926 0.00920144H89.1935C89.9276 0.00920144 90.2946 0.376121 90.2946 1.0696V13.5852C90.2946 14.2897 90.6616 14.6419 91.3956 14.6419H102.703C102.844 14.6467 102.983 14.6221 103.114 14.5697C103.244 14.5172 103.362 14.4381 103.459 14.3374C103.646 14.1384 103.749 13.8761 103.749 13.6036V1.0696C103.748 0.927932 103.776 0.787534 103.833 0.657809C103.89 0.528085 103.974 0.412028 104.08 0.317413C104.281 0.118963 104.553 0.00817595 104.836 0.00920144H112.881Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNTAw\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:\"We help run the global hacker community. It's our mission to empower hackers, just like you.\"})}),className:\"framer-1qb0n1g\",\"data-framer-name\":\"Supporting text\",fonts:[\"GF;Inter-500\"],layoutDependency:layoutDependency,layoutId:\"bBAwkyFam\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({PKWjeLB1c:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNTAw\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:\"We help run the global hacker community. It's our mission to empower hackers, just like you.\"})})},yJ9RSgSPd:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNTAw\",\"--framer-font-weight\":\"500\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:\"We help run the global hacker community. It's our mission to empower hackers, just like you.\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-jnvs7e\",\"data-framer-name\":\"Frame 3\",layoutDependency:layoutDependency,layoutId:\"I323:8965;339:6970\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1i4zzo6\",\"data-framer-name\":\"Footer/Social links\",layoutDependency:layoutDependency,layoutId:\"I323:8965;339:6971\",children:[/*#__PURE__*/_jsx(Link,{href:\"https://www.facebook.com/MajorLeagueHacking\",motionChild:true,nodeId:\"rclBtTOq2\",scopeId:\"UI_Griy4u\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-17cl5s1 framer-j4zq03\",\"data-framer-name\":\"Support / FB Footer\",layoutDependency:layoutDependency,layoutId:\"rclBtTOq2\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-exwqcd\",\"data-framer-name\":\"Icon\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"pUN2KAqh7\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 20\"><path d=\"M 20 10 C 20 4.477 15.523 0 10 0 C 4.477 0 0 4.477 0 10 C 0 14.991 3.657 19.128 8.438 19.878 L 8.438 12.891 L 5.898 12.891 L 5.898 10 L 8.438 10 L 8.438 7.797 C 8.438 5.291 9.93 3.907 12.215 3.907 C 13.309 3.907 14.453 4.102 14.453 4.102 L 14.453 6.562 L 13.193 6.562 C 11.95 6.562 11.563 7.333 11.563 8.124 L 11.563 10 L 14.336 10 L 13.893 12.89 L 11.563 12.89 L 11.563 19.878 C 16.343 19.128 20 14.991 20 10 Z\" fill=\"rgb(163,163,163)\"></path></svg>',svgContentId:8717719608,withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.instagram.com/mlhacks/\",motionChild:true,nodeId:\"d_c0uIK3q\",scopeId:\"UI_Griy4u\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-jlycig framer-j4zq03\",\"data-framer-name\":\"Support / IG Footer\",layoutDependency:layoutDependency,layoutId:\"d_c0uIK3q\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1cogbh9\",\"data-framer-name\":\"Icon\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"VZf2nz47j\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 20\"><path d=\"M 10.315 0 C 12.745 0 13.099 0.013 14.123 0.06 C 15.187 0.109 15.914 0.278 16.55 0.525 C 17.218 0.776 17.822 1.169 18.322 1.678 C 18.831 2.178 19.224 2.783 19.475 3.45 C 19.722 4.086 19.891 4.813 19.94 5.877 C 19.988 6.944 20 7.284 20 10 L 20 10.08 C 20 12.723 19.988 13.067 19.94 14.123 C 19.891 15.187 19.722 15.914 19.475 16.55 C 19.224 17.218 18.831 17.822 18.322 18.322 C 17.822 18.831 17.218 19.224 16.55 19.475 C 15.914 19.722 15.187 19.891 14.123 19.94 C 13.056 19.988 12.716 20 10 20 L 9.92 20 C 7.277 20 6.933 19.988 5.877 19.94 C 4.813 19.891 4.086 19.722 3.45 19.475 C 2.783 19.224 2.178 18.831 1.678 18.322 C 1.169 17.822 0.776 17.218 0.525 16.55 C 0.278 15.914 0.109 15.187 0.06 14.123 C 0.013 13.099 0 12.744 0 10.315 L 0 9.685 C 0 7.255 0.013 6.901 0.06 5.877 C 0.109 4.813 0.278 4.086 0.525 3.45 C 0.776 2.783 1.169 2.178 1.678 1.678 C 2.178 1.169 2.783 0.776 3.45 0.525 C 4.086 0.278 4.813 0.109 5.877 0.06 C 6.901 0.013 7.256 0 9.685 0 Z M 10.234 1.802 L 9.766 1.802 C 7.31 1.802 6.982 1.813 5.959 1.86 C 4.984 1.905 4.455 2.067 4.102 2.204 C 3.635 2.386 3.302 2.602 2.952 2.952 C 2.602 3.302 2.386 3.635 2.204 4.102 C 2.067 4.455 1.904 4.984 1.86 5.959 C 1.813 6.982 1.802 7.31 1.802 9.766 L 1.802 10.234 C 1.802 12.69 1.813 13.018 1.86 14.041 C 1.905 15.016 2.067 15.545 2.204 15.898 C 2.386 16.364 2.603 16.698 2.952 17.048 C 3.302 17.398 3.635 17.614 4.102 17.796 C 4.455 17.933 4.984 18.096 5.959 18.14 C 7.013 18.188 7.329 18.198 10 18.198 L 10.08 18.198 C 12.677 18.198 12.997 18.188 14.04 18.14 C 15.016 18.095 15.545 17.933 15.898 17.796 C 16.364 17.614 16.698 17.398 17.048 17.048 C 17.398 16.698 17.614 16.365 17.796 15.898 C 17.933 15.545 18.096 15.016 18.14 14.041 C 18.188 12.986 18.198 12.671 18.198 10 L 18.198 9.92 C 18.198 7.323 18.188 7.003 18.14 5.96 C 18.095 4.984 17.933 4.455 17.796 4.102 C 17.636 3.668 17.38 3.275 17.048 2.952 C 16.725 2.62 16.332 2.364 15.898 2.204 C 15.545 2.067 15.016 1.904 14.041 1.86 C 13.018 1.813 12.69 1.802 10.234 1.802 Z M 10 4.865 C 10.674 4.865 11.342 4.998 11.965 5.256 C 12.588 5.514 13.154 5.892 13.631 6.369 C 14.108 6.846 14.486 7.412 14.744 8.035 C 15.002 8.658 15.135 9.326 15.135 10 C 15.135 10.674 15.002 11.342 14.744 11.965 C 14.486 12.588 14.108 13.154 13.631 13.631 C 13.154 14.108 12.588 14.486 11.965 14.744 C 11.342 15.002 10.674 15.135 10 15.135 C 8.638 15.135 7.332 14.594 6.369 13.631 C 5.406 12.668 4.865 11.362 4.865 10 C 4.865 8.638 5.406 7.332 6.369 6.369 C 7.332 5.406 8.638 4.865 10 4.865 Z M 10 6.667 C 9.116 6.667 8.268 7.018 7.643 7.643 C 7.018 8.268 6.667 9.116 6.667 10 C 6.667 10.884 7.018 11.732 7.643 12.357 C 8.268 12.982 9.116 13.333 10 13.333 C 10.884 13.333 11.732 12.982 12.357 12.357 C 12.982 11.732 13.333 10.884 13.333 10 C 13.333 9.116 12.982 8.268 12.357 7.643 C 11.732 7.018 10.884 6.667 10 6.667 Z M 15.338 3.462 C 15.656 3.462 15.961 3.588 16.186 3.813 C 16.412 4.039 16.538 4.344 16.538 4.662 C 16.538 4.98 16.412 5.285 16.186 5.511 C 15.961 5.736 15.656 5.862 15.338 5.862 C 15.02 5.862 14.714 5.736 14.489 5.511 C 14.264 5.285 14.138 4.98 14.138 4.662 C 14.138 4.344 14.264 4.039 14.489 3.813 C 14.714 3.588 15.02 3.462 15.338 3.462 Z\" fill=\"rgb(163,163,163)\"></path></svg>',svgContentId:12069128298,withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://twitter.com/mlhacks\",motionChild:true,nodeId:\"i7T06Hp47\",scopeId:\"UI_Griy4u\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-b8ogcq framer-j4zq03\",\"data-framer-name\":\"Support / Twitter Footer\",layoutDependency:layoutDependency,layoutId:\"i7T06Hp47\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-eac8fo\",\"data-framer-name\":\"Icon\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"Vx2sRm7sX\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20 16\"><path d=\"M 6.29 15.297 C 13.837 15.297 17.965 9.412 17.965 4.309 C 17.965 4.142 17.965 3.975 17.953 3.81 C 18.756 3.263 19.449 2.585 20 1.809 C 19.251 2.122 18.457 2.327 17.643 2.417 C 18.5 1.935 19.141 1.175 19.447 0.281 C 18.642 0.731 17.761 1.048 16.842 1.218 C 16.223 0.599 15.405 0.188 14.514 0.051 C 13.622 -0.087 12.707 0.056 11.911 0.457 C 11.115 0.859 10.481 1.496 10.108 2.27 C 9.736 3.045 9.644 3.913 9.849 4.741 C 8.218 4.664 6.622 4.265 5.165 3.57 C 3.708 2.875 2.422 1.899 1.392 0.706 C 0.867 1.556 0.707 2.563 0.943 3.52 C 1.178 4.478 1.793 5.315 2.662 5.861 C 2.009 5.843 1.371 5.678 0.8 5.379 L 0.8 5.428 C 0.8 6.32 1.128 7.184 1.728 7.874 C 2.328 8.564 3.163 9.037 4.092 9.214 C 3.488 9.369 2.854 9.391 2.239 9.279 C 2.501 10.047 3.012 10.718 3.699 11.199 C 4.387 11.68 5.217 11.947 6.073 11.962 C 5.222 12.591 4.248 13.056 3.206 13.331 C 2.164 13.605 1.074 13.684 0 13.562 C 1.877 14.695 4.06 15.296 6.29 15.294\" fill=\"rgb(163,163,163)\"></path></svg>',svgContentId:12063962180,withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"http://discord.mlh.io\",motionChild:true,nodeId:\"SGhsVIUKJ\",scopeId:\"UI_Griy4u\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1466y0u framer-j4zq03\",\"data-framer-name\":\"Support / Discord Footer\",layoutDependency:layoutDependency,layoutId:\"SGhsVIUKJ\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1koyvob\",\"data-framer-name\":\"Frame 1\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"p3tYNREJJ\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 25 20\"><path d=\"M 20.076 2.814 C 22.637 6.583 23.901 10.834 23.428 15.727 C 23.426 15.748 23.416 15.767 23.398 15.779 C 21.459 17.204 19.581 18.069 17.729 18.643 C 17.714 18.647 17.699 18.647 17.684 18.642 C 17.67 18.638 17.658 18.628 17.649 18.616 C 17.221 18.02 16.832 17.392 16.492 16.732 C 16.472 16.693 16.49 16.646 16.53 16.631 C 17.148 16.398 17.735 16.119 18.3 15.788 C 18.344 15.762 18.347 15.698 18.306 15.668 C 18.186 15.579 18.067 15.485 17.954 15.391 C 17.932 15.374 17.904 15.371 17.88 15.382 C 14.213 17.077 10.196 17.077 6.486 15.382 C 6.462 15.372 6.433 15.375 6.412 15.392 C 6.299 15.486 6.18 15.579 6.061 15.668 C 6.02 15.698 6.023 15.762 6.068 15.788 C 6.633 16.113 7.22 16.398 7.837 16.632 C 7.877 16.647 7.896 16.693 7.876 16.732 C 7.543 17.392 7.154 18.021 6.718 18.617 C 6.699 18.641 6.668 18.652 6.638 18.643 C 4.795 18.069 2.916 17.204 0.977 15.779 C 0.961 15.767 0.949 15.747 0.948 15.726 C 0.553 11.493 1.358 7.208 4.297 2.814 C 4.304 2.802 4.315 2.793 4.327 2.788 C 5.773 2.123 7.323 1.634 8.942 1.355 C 8.972 1.351 9.001 1.364 9.016 1.39 C 9.216 1.745 9.445 2.2 9.6 2.571 C 11.307 2.31 13.04 2.31 14.783 2.571 C 14.938 2.208 15.159 1.745 15.358 1.39 C 15.365 1.377 15.376 1.367 15.389 1.361 C 15.402 1.354 15.417 1.352 15.432 1.355 C 17.052 1.635 18.602 2.124 20.047 2.788 C 20.059 2.793 20.07 2.802 20.076 2.814 Z M 10.468 10.863 C 10.486 9.611 9.574 8.576 8.43 8.576 C 7.295 8.576 6.393 9.602 6.393 10.863 C 6.393 12.123 7.313 13.149 8.43 13.149 C 9.565 13.149 10.468 12.123 10.468 10.863 Z M 18.001 10.863 C 18.019 9.611 17.107 8.576 15.964 8.576 C 14.829 8.576 13.926 9.602 13.926 10.863 C 13.926 12.123 14.846 13.149 15.964 13.149 C 17.107 13.149 18.001 12.123 18.001 10.863 Z\" fill=\"rgb(163,163,163)\"></path></svg>',svgContentId:12299483546,withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/company/major-league-hacking\",motionChild:true,nodeId:\"lfsg85QPQ\",scopeId:\"UI_Griy4u\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-xyya62 framer-j4zq03\",\"data-framer-name\":\"Support / Linkedin Footer\",layoutDependency:layoutDependency,layoutId:\"lfsg85QPQ\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1ptivbd\",\"data-framer-name\":\"Frame\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"J2ML3UXLV\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 22 24\"><g transform=\"translate(0.38 0.333)\"><path d=\"M 0 23.333 L 0 0 L 21 0 L 21 23.333 Z\" fill=\"transparent\"></path><path d=\"M 4.701 20.417 L 0.347 20.417 L 0.347 6.786 L 4.701 6.786 Z M 2.521 4.926 C 1.129 4.926 0 3.805 0 2.452 C 0 1.802 0.266 1.178 0.739 0.718 C 1.211 0.259 1.853 0 2.521 0 C 3.19 0 3.831 0.259 4.304 0.718 C 4.777 1.178 5.043 1.802 5.043 2.452 C 5.043 3.805 3.913 4.926 2.521 4.926 Z M 20.995 20.417 L 16.651 20.417 L 16.651 13.781 C 16.651 12.2 16.618 10.172 14.387 10.172 C 12.124 10.172 11.777 11.89 11.777 13.667 L 11.777 20.417 L 7.428 20.417 L 7.428 6.786 L 11.603 6.786 L 11.603 8.645 L 11.664 8.645 C 12.246 7.574 13.666 6.444 15.784 6.444 C 20.19 6.444 21 9.265 21 12.929 L 21 20.417 Z\" fill=\"rgb(163,163,163)\"></path></g></svg>',svgContentId:8612892484,withExternalLayout:true})})})]})})]}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-103dw83\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8142\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8vc6wf\",\"data-framer-name\":\"Column\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8171\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1gi5nl8\",\"data-framer-name\":\"Footers/Column\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8172\",children:[/*#__PURE__*/_jsx(Text,{__fromCanvasComponent:true,alignment:\"left\",className:\"framer-ygifvw\",\"data-framer-name\":\"Heading\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8173\",rawHTML:\"<span style='font-size: 0; line-height: 0; tab-size: 4; white-space: inherit; word-wrap: inherit'><span style='font-size: 0'><span style=''>Hackathons</span><br></span></span>\",style:{\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"normal\",\"--framer-font-size\":\"14px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"normal\",\"--framer-font-weight\":700,\"--framer-letter-spacing\":\"0.7px\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(250, 250, 250)\",\"--framer-text-decoration\":\"none\",\"--framer-text-stroke-color\":\"initial\",\"--framer-text-stroke-width\":\"initial\",\"--framer-text-transform\":\"uppercase\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1jqozme\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8174\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ay8ta4\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8175\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/seasons/2023/events\",motionChild:true,nodeId:\"NN8L_d2wi\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"2023 Hackathons\"})})})}),className:\"framer-rllkod\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"NN8L_d2wi\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1tpuwwm\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8176\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://ghw.mlh.io\",motionChild:true,nodeId:\"icOLZy8ai\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Global Hack Week\"})})})}),className:\"framer-1tmk4rl\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"icOLZy8ai\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1a5stfn\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8177\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://techtogether.io\",motionChild:true,nodeId:\"LPrc2qTrW\",openInNewTab:false,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"TechTogether\"})})})}),className:\"framer-40s175\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"LPrc2qTrW\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1sz2nu9\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8178\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/standings/na-2022\",motionChild:true,nodeId:\"mm8pN9biD\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"MLH Standings\"})})})}),className:\"framer-12aoz0r\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"mm8pN9biD\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-iiwqk8\",\"data-framer-name\":\"Footers/Column\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8185\",children:[/*#__PURE__*/_jsx(Text,{__fromCanvasComponent:true,alignment:\"left\",className:\"framer-t6k3g5\",\"data-framer-name\":\"Heading\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8186\",rawHTML:\"<span style='font-size: 0; line-height: 0; tab-size: 4; white-space: inherit; word-wrap: inherit'><span style='font-size: 0'><span style=''>Fellowship</span><br></span></span>\",style:{\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"normal\",\"--framer-font-size\":\"14px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"normal\",\"--framer-font-weight\":700,\"--framer-letter-spacing\":\"0.7px\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(250, 250, 250)\",\"--framer-text-decoration\":\"none\",\"--framer-text-stroke-color\":\"initial\",\"--framer-text-stroke-width\":\"initial\",\"--framer-text-transform\":\"uppercase\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-74s73i\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8187\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-2sh6cv\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8188\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://fellowship.mlh.io/#programs\",motionChild:true,nodeId:\"cx1TmAOpB\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Programs\"})})})}),className:\"framer-1icaawm\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"cx1TmAOpB\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-rmin95\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8189\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://fellowship.mlh.io/programs/prep\",motionChild:true,nodeId:\"K0DNG0UQ6\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Prep Programs\"})})})}),className:\"framer-v8cdbn\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"K0DNG0UQ6\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1d5284\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8190\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://help.mlh.io/category/3970-fellowship-portal\",motionChild:true,nodeId:\"J6_EUK7EN\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"FAQ\"})})})}),className:\"framer-1pz5i86\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"J6_EUK7EN\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-10cocxa\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8191\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://www.tfaforms.com/4956119\",motionChild:true,nodeId:\"nvN53yb7U\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Apply\"})})})}),className:\"framer-nmge4p\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"nvN53yb7U\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})})]})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-lhqu7o\",\"data-framer-name\":\"Column\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8143\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-16xosu0\",\"data-framer-name\":\"Footers/Column\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8144\",children:[/*#__PURE__*/_jsx(Text,{__fromCanvasComponent:true,alignment:\"left\",className:\"framer-1pyngd0\",\"data-framer-name\":\"Heading\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8145\",rawHTML:\"<span style='font-size: 0; line-height: 0; tab-size: 4; white-space: inherit; word-wrap: inherit'><span style='font-size: 0'><span style=''>Resources</span><br></span></span>\",style:{\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"normal\",\"--framer-font-size\":\"14px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"normal\",\"--framer-font-weight\":700,\"--framer-letter-spacing\":\"0.7px\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(250, 250, 250)\",\"--framer-text-decoration\":\"none\",\"--framer-text-stroke-color\":\"initial\",\"--framer-text-stroke-width\":\"initial\",\"--framer-text-transform\":\"uppercase\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-15o2lzw\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8146\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-298qjw\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8147\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/\",motionChild:true,nodeId:\"FtDcuDwVK\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"FAQ\"})})})}),className:\"framer-1ppn6tm\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"FtDcuDwVK\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-37cpq0\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8148\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://static.mlh.io/docs/mlh-code-of-conduct.pdf\",motionChild:true,nodeId:\"pfTeeHzT9\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Code of Conduct\"})})})}),className:\"framer-s6jl48\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"pfTeeHzT9\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-cyswvn\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8149\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://hack.mlh.io/prizes\",motionChild:true,nodeId:\"g9ZGZMecl\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Prizes & Freebies\"})})})}),className:\"framer-11vs6ks\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"g9ZGZMecl\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-iij1um\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8150\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/brand-guidelines\",motionChild:true,nodeId:\"PRc_cCY45\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Branding Guidelines\"})})})}),className:\"framer-1wh590m\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"PRc_cCY45\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1uiy8pt\",\"data-framer-name\":\"Footers/Column\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8156\",children:[/*#__PURE__*/_jsx(Text,{__fromCanvasComponent:true,alignment:\"left\",className:\"framer-1aoroyo\",\"data-framer-name\":\"Heading\",fonts:[\"GF;Inter-700\"],layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8157\",rawHTML:\"<span style='font-size: 0; line-height: 0; tab-size: 4; white-space: inherit; word-wrap: inherit'><span style='font-size: 0'><span style=''>ABOUT mlh</span><br></span></span>\",style:{\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-open-type-features\":\"normal\",\"--framer-font-size\":\"14px\",\"--framer-font-style\":\"normal\",\"--framer-font-variation-axes\":\"normal\",\"--framer-font-weight\":700,\"--framer-letter-spacing\":\"0.7px\",\"--framer-line-height\":\"20px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(250, 250, 250)\",\"--framer-text-decoration\":\"none\",\"--framer-text-stroke-color\":\"initial\",\"--framer-text-stroke-width\":\"initial\",\"--framer-text-transform\":\"uppercase\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8cv46s\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8158\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-foa73p\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8159\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/contact\",motionChild:true,nodeId:\"n7Hf_Wc_4\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Contact Us\"})})})}),className:\"framer-1g8fmkj\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"n7Hf_Wc_4\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-15b0tyn\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8160\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/\",motionChild:true,nodeId:\"JGACvASUd\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Blog\"})})})}),className:\"framer-1s2676h\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"JGACvASUd\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1anjp4o\",\"data-framer-name\":\"Footers/Text link\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8161\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://sponsor.mlh.io/#why-sponsor\",motionChild:true,nodeId:\"FnTMqmSBi\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Partners\"})})})}),className:\"framer-20798t\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"FnTMqmSBi\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://careers.mlh.io/\",motionChild:true,nodeId:\"Q97SAPYOA\",openInNewTab:true,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Work at MLH\"})})})}),className:\"framer-brpgof\",\"data-framer-name\":\"Text\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"Q97SAPYOA\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})]})]})]})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1qkklnv\",\"data-framer-name\":\"Top border\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8200\",style:{backgroundColor:\"rgb(212, 212, 212)\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1f40tyb\",\"data-framer-name\":\"Copyright\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8208\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1i2vg0j\",\"data-framer-name\":\"Frame 4\",layoutDependency:layoutDependency,layoutId:\"I323:8965;328:8211\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(163, 163, 163))\"},children:[/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/privacy\",motionChild:true,nodeId:\"N2HncK6ze\",openInNewTab:false,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Privacy\"})}),\" • \",/*#__PURE__*/_jsx(Link,{href:\"https://mlh.io/terms\",motionChild:true,nodeId:\"N2HncK6ze\",openInNewTab:false,relValues:[],scopeId:\"UI_Griy4u\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1gfle78\",\"data-styles-preset\":\"JcqRdLAgP\",children:\"Terms of Service\"})})]})}),className:\"framer-1uw7clq\",\"data-framer-name\":\"Copyright\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"N2HncK6ze\",style:{\"--extracted-r6o4lv\":\"rgb(163, 163, 163)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-line-height\":\"24px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(212, 212, 212))\"},children:\"Major League Hacking \\xa9 2024\"})}),className:\"framer-sxq2xg\",\"data-framer-name\":\"Copyright\",fonts:[\"GF;Inter-regular\"],layoutDependency:layoutDependency,layoutId:\"jzAEZQXFP\",style:{\"--extracted-r6o4lv\":\"rgb(212, 212, 212)\"},verticalAlignment:\"top\",withExternalLayout:true})]})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-eO1qb.framer-j4zq03, .framer-eO1qb .framer-j4zq03 { display: block; }\",\".framer-eO1qb.framer-u6hpwu { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 48px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1280px; }\",\".framer-eO1qb .framer-scf44i { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 18px; height: min-content; justify-content: flex-start; overflow: visible; padding: 32px; position: relative; width: 100%; }\",\".framer-eO1qb .framer-x9hqzb { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 133px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-1pe10jg { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 17px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-1c85yd7 { flex: none; gap: 0px; height: 48px; overflow: hidden; position: relative; width: 114px; }\",\".framer-eO1qb .framer-uuy6fy { flex: none; height: 48px; left: 0px; position: absolute; text-decoration: none; top: 0px; width: 114px; }\",\".framer-eO1qb .framer-1qb0n1g { flex: none; height: auto; overflow: hidden; position: relative; white-space: pre-wrap; width: 283px; word-break: break-word; word-wrap: break-word; }\",\".framer-eO1qb .framer-jnvs7e { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 19px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-1i4zzo6 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-17cl5s1, .framer-eO1qb .framer-jlycig { flex: none; height: 20px; overflow: visible; position: relative; text-decoration: none; width: 20px; }\",\".framer-eO1qb .framer-exwqcd, .framer-eO1qb .framer-1cogbh9 { flex: none; height: 20px; left: 0px; position: absolute; top: 0px; width: 20px; }\",\".framer-eO1qb .framer-b8ogcq { flex: none; height: 16px; overflow: visible; position: relative; text-decoration: none; width: 20px; }\",\".framer-eO1qb .framer-eac8fo { flex: none; height: 16px; left: 0px; position: absolute; top: 0px; width: 20px; }\",\".framer-eO1qb .framer-1466y0u { flex: none; height: 20px; overflow: visible; position: relative; text-decoration: none; width: 25px; }\",\".framer-eO1qb .framer-1koyvob { flex: none; height: 20px; left: 0px; position: absolute; top: 0px; width: 25px; }\",\".framer-eO1qb .framer-xyya62 { flex: none; height: 24px; overflow: visible; position: relative; text-decoration: none; width: 22px; }\",\".framer-eO1qb .framer-1ptivbd { flex: none; height: 24px; left: 0px; position: absolute; top: 0px; width: 22px; }\",\".framer-eO1qb .framer-103dw83 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 220px; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-8vc6wf, .framer-eO1qb .framer-lhqu7o { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 48px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-1gi5nl8, .framer-eO1qb .framer-iiwqk8, .framer-eO1qb .framer-16xosu0, .framer-eO1qb .framer-1uiy8pt { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-ygifvw, .framer-eO1qb .framer-rllkod, .framer-eO1qb .framer-1tmk4rl, .framer-eO1qb .framer-40s175, .framer-eO1qb .framer-12aoz0r, .framer-eO1qb .framer-t6k3g5, .framer-eO1qb .framer-1icaawm, .framer-eO1qb .framer-v8cdbn, .framer-eO1qb .framer-1pz5i86, .framer-eO1qb .framer-nmge4p, .framer-eO1qb .framer-1pyngd0, .framer-eO1qb .framer-1ppn6tm, .framer-eO1qb .framer-s6jl48, .framer-eO1qb .framer-11vs6ks, .framer-eO1qb .framer-1wh590m, .framer-eO1qb .framer-1aoroyo, .framer-eO1qb .framer-1g8fmkj, .framer-eO1qb .framer-1s2676h, .framer-eO1qb .framer-20798t, .framer-eO1qb .framer-brpgof, .framer-eO1qb .framer-1uw7clq, .framer-eO1qb .framer-sxq2xg { flex: none; height: auto; overflow: visible; position: relative; white-space: pre; width: auto; }\",\".framer-eO1qb .framer-1jqozme, .framer-eO1qb .framer-74s73i, .framer-eO1qb .framer-15o2lzw, .framer-eO1qb .framer-8cv46s { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 176px; }\",\".framer-eO1qb .framer-1ay8ta4, .framer-eO1qb .framer-1tpuwwm, .framer-eO1qb .framer-1a5stfn, .framer-eO1qb .framer-1sz2nu9, .framer-eO1qb .framer-2sh6cv, .framer-eO1qb .framer-rmin95, .framer-eO1qb .framer-1d5284, .framer-eO1qb .framer-10cocxa, .framer-eO1qb .framer-298qjw, .framer-eO1qb .framer-37cpq0, .framer-eO1qb .framer-cyswvn, .framer-eO1qb .framer-iij1um, .framer-eO1qb .framer-foa73p, .framer-eO1qb .framer-15b0tyn, .framer-eO1qb .framer-1anjp4o { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-eO1qb .framer-1qkklnv { flex: none; height: 1px; overflow: hidden; position: relative; width: 100%; }\",\".framer-eO1qb .framer-1f40tyb { 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: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-eO1qb .framer-1i2vg0j { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-eO1qb.framer-v-1koqz3m .framer-x9hqzb { flex-direction: column; gap: 34px; justify-content: center; width: 100%; }\",\".framer-eO1qb.framer-v-1koqz3m .framer-1pe10jg, .framer-eO1qb.framer-v-1ap23e5 .framer-1pe10jg { align-content: center; align-items: center; justify-content: center; }\",\".framer-eO1qb.framer-v-1koqz3m .framer-103dw83 { gap: 30px; justify-content: center; width: 100%; }\",\".framer-eO1qb.framer-v-1koqz3m .framer-8vc6wf, .framer-eO1qb.framer-v-1koqz3m .framer-lhqu7o { gap: 30px; }\",\".framer-eO1qb.framer-v-1koqz3m .framer-1jqozme, .framer-eO1qb.framer-v-1koqz3m .framer-74s73i, .framer-eO1qb.framer-v-1koqz3m .framer-15o2lzw, .framer-eO1qb.framer-v-1koqz3m .framer-8cv46s, .framer-eO1qb.framer-v-1ap23e5 .framer-1qkklnv { align-self: stretch; width: auto; }\",\".framer-eO1qb.framer-v-1ap23e5.framer-u6hpwu { width: 1235px; }\",\".framer-eO1qb.framer-v-1ap23e5 .framer-scf44i, .framer-eO1qb.framer-v-1ap23e5 .framer-1f40tyb { align-content: center; align-items: center; justify-content: center; width: min-content; }\",\".framer-eO1qb.framer-v-1ap23e5 .framer-x9hqzb { flex-direction: column; gap: 34px; justify-content: center; }\",\".framer-eO1qb.framer-v-1ap23e5 .framer-1i2vg0j { align-content: center; align-items: center; flex-direction: column; gap: 10px; justify-content: flex-start; width: min-content; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 345\n * @framerIntrinsicWidth 1280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"PKWjeLB1c\":{\"layout\":[\"fixed\",\"auto\"]},\"yJ9RSgSPd\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerUI_Griy4u=withCSS(Component,css,\"framer-eO1qb\");export default FramerUI_Griy4u;FramerUI_Griy4u.displayName=\"Rows/Global Footer\";FramerUI_Griy4u.defaultProps={height:345,width:1280};addPropertyControls(FramerUI_Griy4u,{variant:{options:[\"dYUUB175T\",\"PKWjeLB1c\",\"yJ9RSgSPd\"],optionTitles:[\"Desktop XL\",\"Tablet\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerUI_Griy4u,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v19/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\",weight:\"500\"},{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v19/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\",weight:\"700\"},{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v19/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZ1rib2Bg-4.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerUI_Griy4u\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1280\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"345\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"PKWjeLB1c\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"yJ9RSgSPd\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UI_Griy4u.map"],"mappings":"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"}