{"version":3,"file":"static/js/main.04eff686.js","mappings":"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","sources":["../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/lottie-react/compiled/hooks/useLottie.js","../node_modules/lottie-react/compiled/hooks/useLottieInteractivity.js","../node_modules/lottie-react/compiled/components/Lottie.js","../node_modules/lottie-web/build/player/lottie.js","../node_modules/react-collapse/lib/Collapse.js","../node_modules/react-collapse/lib/UnmountClosed.js","../node_modules/react-collapse/lib/index.js","../node_modules/react-device-detect/dist/lib.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/ua-parser-js/dist/ua-parser.min.js","../node_modules/classnames/index.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","App.tsx","reportWebVitals.ts","components/blocks/rich-text/rich-text.tsx","assets/logo/bvf-logo.svg","assets/icons/facebook.svg","assets/icons/instagram.svg","assets/icons/twitter.svg","assets/icons/linkedin.svg","assets/icons/email.svg","assets/icons/phone.svg","components/layout/footer/footer.tsx","assets/icons/fire.svg","assets/icons/check-circle.svg","assets/icons/newspaper.svg","assets/icons/home.svg","assets/icons/calendar.svg","assets/icons/arrow-right.svg","assets/icons/shoppingcart.svg","assets/icons/profile.svg","assets/logo/logo-without-illustration.svg","hooks/useAnimateHeight.hook.tsx","hooks/useScrollListener.hook.tsx","context/themeContext.tsx","components/elements/button/button.tsx","assets/icons/close.svg","components/elements/search/search.tsx","services/shopping-cart-service.ts","context/shoppingCartContext.tsx","context/userContext.tsx","components/elements/logo/logo.tsx","components/elements/menu-dropdown/menu-dropdown.tsx","context/headerContext.tsx","components/layout/menu/menu.tsx","components/elements/heading/heading.tsx","assets/icons/book-open.svg","components/elements/tag/tag.tsx","components/elements/article-card/article-card.tsx","components/blocks/card-list/card-list.tsx","components/blocks/article-list/article-list.tsx","components/blocks/entrance-links/entrance-links.tsx","components/blocks/info-block/info-block.tsx","assets/icons/vector.svg","components/blocks/link-list/link-list.tsx","components/blocks/news-article-block/news-article-block.tsx","components/blocks/promo-block/promo-block.tsx","assets/icons/quote.svg","components/blocks/quote/quote.tsx","assets/icons/home-shortcuts.svg","assets/icons/rocket.svg","assets/icons/activity-rec.svg","assets/icons/heart.svg","assets/icons/receipt.svg","assets/icons/sprinkle.svg","assets/icons/water-mist.svg","assets/icons/foam.svg","assets/icons/gas.svg","assets/icons/more-options.svg","components/blocks/shortcuts-block/shortcuts-block.tsx","components/blocks/infographic-block/infographic-block.tsx","assets/icons/info.svg","components/blocks/important-info-block/important-info-block.tsx","assets/icons/file-link.svg","components/blocks/margin/margin.tsx","assets/icons/arrow-up.svg","components/blocks/media-block/media-block.tsx","components/blocks/signup-block/signup-block.tsx","components/blocks/course-instructors/course-instructors.tsx","components/blocks/list/list.tsx","assets/icons/lock.svg","components/elements/error-message/error-message.tsx","components/elements/forms/input-field/input-field.tsx","helpers/validation.ts","services/user_service.ts","components/blocks/form/form.tsx","assets/icons/trash.svg","assets/icons/plus-circle.svg","assets/icons/minus-circle.svg","components/elements/quantity-counter/quantity-counter.tsx","components/blocks/checkout-products-overview/checkout-products-overview.tsx","components/blocks/accordion/accordion-component-list.tsx","components/elements/change-password-form/change-password-form.tsx","components/blocks/subscription-block/subscription-block.tsx","components/blocks/accordion/accordion.tsx","components/blocks/employee-list/employee-list.tsx","components/elements/meta-info/meta-info.tsx","components/elements/product-card/product-card.tsx","components/blocks/product-page-list/product-page-list.tsx","components/blocks/image-box/image-box.tsx","components/blocks/media-parallax/media-parallax.tsx","components/blocks/component-list/component-list.tsx","components/elements/title-and-ingress/title-and-ingress.tsx","components/layout/header/graphical/graphical-header.tsx","components/layout/header/article-header/article-header.tsx","components/layout/header/image/image-header.tsx","components/layout/header/OFAS-header/OFAS-header.tsx","components/layout/header/simple/simple-header.tsx","components/layout/header/index.tsx","components/layout/header/promo/promo-header.tsx","assets/icons/arrow-left.svg","components/layout/breadcrumbs/breadcrumbs.tsx","assets/logo/OFAS-logo.svg","components/layout/OFAS-footer/OFAS-footer.tsx","components/layout/OFAS-menu/OFAS-menu.tsx","components/layout/layout.tsx","assets/icons/chevron-down.svg","components/blocks/content-table/content-table.tsx","components/blocks/product/product.tsx","components/elements/search-card/search-card.tsx","assets/icons/arrow-up-down.svg","components/elements/dropdown/dropdown.tsx","components/blocks/filter/filter.tsx","components/blocks/page-nav/page-nav.tsx","components/blocks/list-search-block/list-search-block.tsx","assets/icons/time.svg","assets/icons/file-text.svg","components/elements/info-link/info-link.tsx","assets/icons/checkbox.svg","assets/icons/checkbox-checked.svg","components/elements/forms/checkbox/checkbox.tsx","components/elements/forms/login-form/login-form.tsx","components/elements/forms/forgot-passord-form/forgot-password-form.tsx","assets/icons/radio.svg","assets/icons/radio-checked.svg","assets/icons/radio-disabled.svg","components/elements/forms/radio/radio.tsx","assets/icons/sad-face.svg","assets/icons/cross-circle.svg","components/elements/certificate-card/certificate-card.tsx","components/blocks/certificate-search/certificate-search.tsx","components/elements/checkout-total/checkout-total.tsx","components/blocks/radio-list-block/radio-list-block.tsx","components/blocks/checkout-form/checkout-form.tsx","pages/checkoutPage/checkoutPage.tsx","pages/shoppingCartPage/shoppingCartPage.tsx","components/elements/instructor-card/instructor-card.tsx","components/blocks/instructor-list/instructor-list.tsx","index.tsx","pages/frontPage/frontPage.tsx","pages/varmeArbeiderPage/varmeArbeiderPage.tsx","pages/articlePage/articlePage.tsx","pages/categoryPage/categoryPage.tsx","pages/contentPage/contentPage.tsx","pages/coursePage/coursePage.tsx","pages/digitalManualPage/digitalManualPage.tsx","pages/fireSafetyMagazine/fireSafetyMagazineLandingPage/LandingPage.tsx","pages/fireSafetyMagazine/fireSafetyMagazineArticlePage/fireSafetyMagazineArticlePage.tsx","pages/landingPage/landingPage.tsx","pages/productPage/productPage.tsx","pages/searchPage/searchPage.tsx","pages/onlineStorePage/onlineStorePage.tsx","pages/loginPage/loginPage.tsx","pages/forgotPasswordPage/forgotPasswordPage.tsx","components/elements/shoppingcart-feedback/shoppingcart-feedback.tsx","pages/OFASPage/OFASPage.tsx","pages/errorPage/errorPage.tsx","pages/listPage/listPage.tsx","pages/createUserPage/createUserPage.tsx","pages/myProfilePage/myProfilePage.tsx","pages/certificateSeachPage/certificateSearchPage.tsx","pages/employeeListPage.tsx/employee-list-page.tsx","pages/instructorSearchPage/instructor-search-page.tsx","pages/productListPage/productListPage.tsx","pages/checkoutConfirmationPage/checkoutConfirmationPage.tsx"],"sourcesContent":["module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","import lottie from \"lottie-web\";\nimport React, { useEffect, useRef, useState, } from \"react\";\nconst useLottie = (props, style) => {\n const { animationData, loop, autoplay, initialSegment, onComplete, onLoopComplete, onEnterFrame, onSegmentStart, onConfigReady, onDataReady, onDataFailed, onLoadedImages, onDOMLoaded, onDestroy, \n // Specified here to take them out from the 'rest'\n lottieRef, renderer, name, assetsPath, rendererSettings, \n // TODO: find a better way to extract the html props to avoid specifying\n // all the props that we want to exclude (as you can see above)\n ...rest } = props;\n const [animationLoaded, setAnimationLoaded] = useState(false);\n const animationInstanceRef = useRef();\n const animationContainer = useRef(null);\n /*\n ======================================\n INTERACTION METHODS\n ======================================\n */\n /**\n * Play\n */\n const play = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.play();\n };\n /**\n * Stop\n */\n const stop = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n };\n /**\n * Pause\n */\n const pause = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.pause();\n };\n /**\n * Set animation speed\n * @param speed\n */\n const setSpeed = (speed) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSpeed(speed);\n };\n /**\n * Got to frame and play\n * @param value\n * @param isFrame\n */\n const goToAndPlay = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndPlay(value, isFrame);\n };\n /**\n * Got to frame and stop\n * @param value\n * @param isFrame\n */\n const goToAndStop = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(value, isFrame);\n };\n /**\n * Set animation direction\n * @param direction\n */\n const setDirection = (direction) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setDirection(direction);\n };\n /**\n * Play animation segments\n * @param segments\n * @param forceFlag\n */\n const playSegments = (segments, forceFlag) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.playSegments(segments, forceFlag);\n };\n /**\n * Set sub frames\n * @param useSubFrames\n */\n const setSubframe = (useSubFrames) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSubframe(useSubFrames);\n };\n /**\n * Get animation duration\n * @param inFrames\n */\n const getDuration = (inFrames) => { var _a; return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames); };\n /**\n * Destroy animation\n */\n const destroy = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Removing the reference to the animation so separate cleanups are skipped.\n // Without it the internal `lottie-react` instance throws exceptions as it already cleared itself on destroy.\n animationInstanceRef.current = undefined;\n };\n /*\n ======================================\n LOTTIE\n ======================================\n */\n /**\n * Load a new animation, and if it's the case, destroy the previous one\n * @param {Object} forcedConfigs\n */\n const loadAnimation = (forcedConfigs = {}) => {\n var _a;\n // Return if the container ref is null\n if (!animationContainer.current) {\n return;\n }\n // Destroy any previous instance\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Build the animation configuration\n const config = {\n ...props,\n ...forcedConfigs,\n container: animationContainer.current,\n };\n // Save the animation instance\n animationInstanceRef.current = lottie.loadAnimation(config);\n setAnimationLoaded(!!animationInstanceRef.current);\n // Return a function that will clean up\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n animationInstanceRef.current = undefined;\n };\n };\n /**\n * (Re)Initialize when animation data changed\n */\n useEffect(() => {\n const onUnmount = loadAnimation();\n // Clean up on unmount\n return () => onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [animationData, loop]);\n // Update the autoplay state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n animationInstanceRef.current.autoplay = !!autoplay;\n }, [autoplay]);\n // Update the initial segment state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n // When null should reset to default animation length\n if (!initialSegment) {\n animationInstanceRef.current.resetSegments(true);\n return;\n }\n // If it's not a valid segment, do nothing\n if (!Array.isArray(initialSegment) || !initialSegment.length) {\n return;\n }\n // If the current position it's not in the new segment\n // set the current position to start\n if (animationInstanceRef.current.currentRawFrame < initialSegment[0] ||\n animationInstanceRef.current.currentRawFrame > initialSegment[1]) {\n animationInstanceRef.current.currentRawFrame = initialSegment[0];\n }\n // Update the segment\n animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);\n }, [initialSegment]);\n /*\n ======================================\n EVENTS\n ======================================\n */\n /**\n * Reinitialize listener on change\n */\n useEffect(() => {\n const partialListeners = [\n { name: \"complete\", handler: onComplete },\n { name: \"loopComplete\", handler: onLoopComplete },\n { name: \"enterFrame\", handler: onEnterFrame },\n { name: \"segmentStart\", handler: onSegmentStart },\n { name: \"config_ready\", handler: onConfigReady },\n { name: \"data_ready\", handler: onDataReady },\n { name: \"data_failed\", handler: onDataFailed },\n { name: \"loaded_images\", handler: onLoadedImages },\n { name: \"DOMLoaded\", handler: onDOMLoaded },\n { name: \"destroy\", handler: onDestroy },\n ];\n const listeners = partialListeners.filter((listener) => listener.handler != null);\n if (!listeners.length) {\n return;\n }\n const deregisterList = listeners.map(\n /**\n * Handle the process of adding an event listener\n * @param {Listener} listener\n * @return {Function} Function that deregister the listener\n */\n (listener) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener(listener.name, listener.handler);\n // Return a function to deregister this listener\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(listener.name, listener.handler);\n };\n });\n // Deregister listeners on unmount\n return () => {\n deregisterList.forEach((deregister) => deregister());\n };\n }, [\n onComplete,\n onLoopComplete,\n onEnterFrame,\n onSegmentStart,\n onConfigReady,\n onDataReady,\n onDataFailed,\n onLoadedImages,\n onDOMLoaded,\n onDestroy,\n ]);\n /**\n * Build the animation view\n */\n const View = React.createElement(\"div\", { style: style, ref: animationContainer, ...rest });\n return {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef: animationContainer,\n animationLoaded,\n animationItem: animationInstanceRef.current,\n };\n};\nexport default useLottie;\n","import { useEffect } from \"react\";\n// helpers\nexport function getContainerVisibility(container) {\n const { top, height } = container.getBoundingClientRect();\n const current = window.innerHeight - top;\n const max = window.innerHeight + height;\n return current / max;\n}\nexport function getContainerCursorPosition(container, cursorX, cursorY) {\n const { top, left, width, height } = container.getBoundingClientRect();\n const x = (cursorX - left) / width;\n const y = (cursorY - top) / height;\n return { x, y };\n}\nexport const useInitInteractivity = ({ wrapperRef, animationItem, mode, actions, }) => {\n useEffect(() => {\n const wrapper = wrapperRef.current;\n if (!wrapper || !animationItem || !actions.length) {\n return;\n }\n animationItem.stop();\n const scrollModeHandler = () => {\n let assignedSegment = null;\n const scrollHandler = () => {\n const currentPercent = getContainerVisibility(wrapper);\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ visibility }) => visibility &&\n currentPercent >= visibility[0] &&\n currentPercent <= visibility[1]);\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n if (action.type === \"seek\" &&\n action.visibility &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const frameToGo = action.frames[0] +\n Math.ceil(((currentPercent - action.visibility[0]) /\n (action.visibility[1] - action.visibility[0])) *\n action.frames[1]);\n //! goToAndStop must be relative to the start of the current segment\n animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);\n }\n if (action.type === \"loop\") {\n // Loop: Loop a given frames\n if (assignedSegment === null) {\n // if not playing any segments currently. play those segments and save to state\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else {\n // if playing any segments currently.\n //check if segments in state are equal to the frames selected by action\n if (assignedSegment !== action.frames) {\n // if they are not equal. new segments are to be loaded\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else if (animationItem.isPaused) {\n // if they are equal the play method must be called only if lottie is paused\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n }\n }\n if (action.type === \"play\" && animationItem.isPaused) {\n // Play: Reset segments and continue playing full animation from current position\n animationItem.resetSegments(true);\n animationItem.play();\n }\n if (action.type === \"stop\") {\n // Stop: Stop playback\n animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);\n }\n };\n document.addEventListener(\"scroll\", scrollHandler);\n return () => {\n document.removeEventListener(\"scroll\", scrollHandler);\n };\n };\n const cursorModeHandler = () => {\n const handleCursor = (_x, _y) => {\n let x = _x;\n let y = _y;\n // Resolve cursor position if cursor is inside container\n if (x !== -1 && y !== -1) {\n // Get container cursor position\n const pos = getContainerCursorPosition(wrapper, x, y);\n // Use the resolved position\n x = pos.x;\n y = pos.y;\n }\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ position }) => {\n if (position &&\n Array.isArray(position.x) &&\n Array.isArray(position.y)) {\n return (x >= position.x[0] &&\n x <= position.x[1] &&\n y >= position.y[0] &&\n y <= position.y[1]);\n }\n if (position &&\n !Number.isNaN(position.x) &&\n !Number.isNaN(position.y)) {\n return x === position.x && y === position.y;\n }\n return false;\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n // Process action types:\n if (action.type === \"seek\" &&\n action.position &&\n Array.isArray(action.position.x) &&\n Array.isArray(action.position.y) &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const xPercent = (x - action.position.x[0]) /\n (action.position.x[1] - action.position.x[0]);\n const yPercent = (y - action.position.y[0]) /\n (action.position.y[1] - action.position.y[0]);\n animationItem.playSegments(action.frames, true);\n animationItem.goToAndStop(Math.ceil(((xPercent + yPercent) / 2) *\n (action.frames[1] - action.frames[0])), true);\n }\n if (action.type === \"loop\") {\n animationItem.playSegments(action.frames, true);\n }\n if (action.type === \"play\") {\n // Play: Reset segments and continue playing full animation from current position\n if (animationItem.isPaused) {\n animationItem.resetSegments(false);\n }\n animationItem.playSegments(action.frames);\n }\n if (action.type === \"stop\") {\n animationItem.goToAndStop(action.frames[0], true);\n }\n };\n const mouseMoveHandler = (ev) => {\n handleCursor(ev.clientX, ev.clientY);\n };\n const mouseOutHandler = () => {\n handleCursor(-1, -1);\n };\n wrapper.addEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.addEventListener(\"mouseout\", mouseOutHandler);\n return () => {\n wrapper.removeEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.removeEventListener(\"mouseout\", mouseOutHandler);\n };\n };\n switch (mode) {\n case \"scroll\":\n return scrollModeHandler();\n case \"cursor\":\n return cursorModeHandler();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mode, animationItem]);\n};\nconst useLottieInteractivity = ({ actions, mode, lottieObj, }) => {\n const { animationItem, View, animationContainerRef } = lottieObj;\n useInitInteractivity({\n actions,\n animationItem,\n mode,\n wrapperRef: animationContainerRef,\n });\n return View;\n};\nexport default useLottieInteractivity;\n","import { useEffect } from \"react\";\nimport useLottie from \"../hooks/useLottie\";\nimport useLottieInteractivity from \"../hooks/useLottieInteractivity\";\nconst Lottie = (props) => {\n var _a, _b, _c;\n const { style, interactivity, ...lottieProps } = props;\n /**\n * Initialize the 'useLottie' hook\n */\n const { View, play, stop, pause, setSpeed, goToAndStop, goToAndPlay, setDirection, playSegments, setSubframe, getDuration, destroy, animationContainerRef, animationLoaded, animationItem, } = useLottie(lottieProps, style);\n /**\n * Make the hook variables/methods available through the provided 'lottieRef'\n */\n useEffect(() => {\n if (props.lottieRef) {\n props.lottieRef.current = {\n play,\n stop,\n pause,\n setSpeed,\n goToAndPlay,\n goToAndStop,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);\n return useLottieInteractivity({\n lottieObj: {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n },\n actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],\n mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : \"scroll\",\n });\n};\nexport default Lottie;\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\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\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\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\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\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$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(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 _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\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.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__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 var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\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.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);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\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\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\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 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) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(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, fullPath, 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 try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\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.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.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), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._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.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), 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.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.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 || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.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\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\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].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.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\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.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 var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(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 : getRegisteredRenderer() || '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 if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.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.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.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.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.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.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.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.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._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.markers.length; i += 1) {\n marker = this.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.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.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.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.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.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.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._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.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._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.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.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.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.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.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.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.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.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.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\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\n /* eslint-disable */\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 = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * 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.0 * A(aA1, aA2) * aT * aT + 2.0 * 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.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.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.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._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._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 _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._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 _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.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.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\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\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\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\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\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 = getDefaultCurveSegments();\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.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.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 = getDefaultCurveSegments();\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\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.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 keyframeMetadata = this.keyframesMetadata[i] || {};\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 (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.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 (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__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.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 (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__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.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__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.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.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - 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.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.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.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\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\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.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.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.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._length - 1;\n var len = this._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\n ShapePath.prototype.length = function () {\n return this._length;\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\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\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\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.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.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 var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.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.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.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.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\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.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\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 = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.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.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.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.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.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.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.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.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, 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 longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.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.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.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.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.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.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.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.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._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\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 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.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\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;\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;\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;\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;\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.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\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;\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.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._identityCalculated = false;\n return this;\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._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.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.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.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.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.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.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.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.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.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\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.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.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.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.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(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 setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\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 setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 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 setExpressionsPlugin(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 = setLocation;\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.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\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 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 ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\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.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 this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.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._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.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.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.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.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.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.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._mdf && !_isFirstFrame && this.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.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.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._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.shapes[i].pathsData.length = 0;\n this.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 function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.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.shapes.length;\n var j;\n var jLen;\n var amount = this.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.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._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.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.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.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.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.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\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.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // 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.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.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\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.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.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.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._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.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._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._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 this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.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._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.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._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.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 this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.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 function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.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.shapes.length;\n var j;\n var jLen;\n var rd = this.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.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._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.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._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], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._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, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\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\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\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 var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\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.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\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 helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.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(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.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.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.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.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.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._warned) {\n this._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(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\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\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.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 checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\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\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.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 this.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.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.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);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\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 function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._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 prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.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 var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\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\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.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.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.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.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.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.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 this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.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 MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.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.element.comp.data.w || 0);\n rect.setAttribute('height', this.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.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.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.element, properties[i].x, 0, null, this.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.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(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.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.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.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\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\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\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 if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\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.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.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.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\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.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.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(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\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.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._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 setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(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 hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\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.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._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 searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.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 addProcessedElement(elem, pos) {\n var elements = this.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 prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.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._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._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.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);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.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.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.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.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.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.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._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(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.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.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(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(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\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 case 'no':\n return renderNoop;\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 renderNoop() {}\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 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 mat.multiply(itemData.transformers[k].mProps.v);\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\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.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.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.shapesData, this.itemsData, this.prevViewData, this.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.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.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, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\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.stylesList.push(styleOb);\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, data, this);\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, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\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.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.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.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.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' || arr[i].ty === 'no') {\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 if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\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 if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\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' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.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, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\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.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._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._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.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.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.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.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.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.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.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.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.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.canResize && documentData.finalSize > this.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.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\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._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.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 } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.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\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.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.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.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._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\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._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._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.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._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.defaultPropsArray;\n } else {\n if (this._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; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\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._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._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._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\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 this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\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 this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\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 if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.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\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.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.data.singleShape && !this.globalData.fontManager.chars) {\n this.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.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.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.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.textSpans[i].span || 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\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : '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.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\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.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\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.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\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\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.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\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\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.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 this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.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 this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.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.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\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.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._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.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.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.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 this.svgElement.appendChild(titleElement);\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 this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\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 width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(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.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(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 sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.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.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.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.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.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.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 this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.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.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.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, data.c, 1, 255, this);\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, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\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.stylesList.push(styleElem);\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.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.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' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.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, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\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.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._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.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.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.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // 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 renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(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._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._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._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.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._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._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._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.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.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.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.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.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.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 - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\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[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.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.textAnimator.renderedLetters;\n var letters = this.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 var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.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.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.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.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.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.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.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.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\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.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.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 this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.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 containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.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.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\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.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.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 CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.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 contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\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.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\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.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.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.prevViewData = [];\n this.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.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.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.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.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.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 } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.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.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.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.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.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.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.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.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.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.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.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.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.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\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 && shapeData.shapes.length) {\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.isMasked) {\n this.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.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.isMasked) {\n this.innerElem.appendChild(tParent); //\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.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.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.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.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.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\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.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\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.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.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.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.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._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.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 this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._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 HImageElement(data, globalData, comp) {\n this.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.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.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.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.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.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.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.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.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.globalData.compSize.w + 'px';\n style.height = this.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 this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.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.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.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 this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.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 HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.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 HybridRendererBase.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.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, 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.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.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.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.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 runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\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\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\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 function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\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 prng() {\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) / 0x100000000;\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 == 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,\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$2(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 }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\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 var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\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' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\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$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\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$1(a);\n\n var tOfB = _typeof$1(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$1(a);\n\n var tOfB = _typeof$1(b);\n\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$1(a);\n\n var tOfB = _typeof$1(b);\n\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 // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\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 get() {\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; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\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.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.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.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.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\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.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\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(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / 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 (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.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.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\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 var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(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 maskFunction(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\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 get() {\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\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 get() {\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\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._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._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._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._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._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._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._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 get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\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 get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\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\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\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\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 groupInterface(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 get() {\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 get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\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\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 get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\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\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 } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(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 get() {\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 gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\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 get() {\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\n var TextExpressionInterface = function () {\n return function (elem) {\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 get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\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 Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(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 dataInterfaceFactory(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\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\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.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._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.vel !== undefined) {\n return this.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.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.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\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.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.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.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.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.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.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.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.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.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.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.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.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.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.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.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.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.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.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.pv.length) {\n value = createTypedArray('float32', this.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.pv.length) {\n for (j = 0; j < this.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.pv.length) {\n for (j = 0; j < this.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._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.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._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._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 vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.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 points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._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 vectorOnPath(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.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 tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(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\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\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.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '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';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\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', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\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 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.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 feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.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 this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.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 this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.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.filterManager.effectElements[4].p.v * 2 * this.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.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.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 filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.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 this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\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.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\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.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\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.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\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.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(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 = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.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.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.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 this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.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 this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.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 this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.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 this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.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 this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.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', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.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', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.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.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.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.filterManager.effectElements[0].p.v;\n var elements = this.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.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\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.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.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.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.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Collapse = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Collapse = /*#__PURE__*/function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n var _super = _createSuper(Collapse);\n\n function Collapse(props) {\n var _this;\n\n _classCallCheck(this, Collapse);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"timeout\", undefined);\n\n _defineProperty(_assertThisInitialized(_this), \"container\", undefined);\n\n _defineProperty(_assertThisInitialized(_this), \"content\", undefined);\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function () {\n clearTimeout(_this.timeout);\n\n if (!_this.container || !_this.content) {\n return;\n }\n\n var _this$props = _this.props,\n isOpened = _this$props.isOpened,\n checkTimeout = _this$props.checkTimeout;\n var containerHeight = Math.floor(_this.container.clientHeight);\n var contentHeight = Math.floor(_this.content.clientHeight);\n var isFullyOpened = isOpened && Math.abs(contentHeight - containerHeight) <= 1;\n var isFullyClosed = !isOpened && Math.abs(containerHeight) <= 1;\n\n if (isFullyOpened || isFullyClosed) {\n _this.onRest({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n } else {\n _this.onWork({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n\n _this.timeout = setTimeout(function () {\n return _this.onResize();\n }, checkTimeout);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRest\", function (_ref) {\n var isFullyOpened = _ref.isFullyOpened,\n isFullyClosed = _ref.isFullyClosed,\n isOpened = _ref.isOpened,\n containerHeight = _ref.containerHeight,\n contentHeight = _ref.contentHeight;\n\n if (!_this.container || !_this.content) {\n return;\n }\n\n var hasOpened = isOpened && _this.container.style.height === \"\".concat(contentHeight, \"px\");\n var hasClosed = !isOpened && _this.container.style.height === '0px';\n\n if (hasOpened || hasClosed) {\n _this.container.style.overflow = isOpened ? 'initial' : 'hidden';\n _this.container.style.height = isOpened ? 'auto' : '0px';\n var onRest = _this.props.onRest;\n\n if (onRest) {\n onRest({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWork\", function (_ref2) {\n var isFullyOpened = _ref2.isFullyOpened,\n isFullyClosed = _ref2.isFullyClosed,\n isOpened = _ref2.isOpened,\n containerHeight = _ref2.containerHeight,\n contentHeight = _ref2.contentHeight;\n\n if (!_this.container || !_this.content) {\n return;\n }\n\n var isOpenining = isOpened && _this.container.style.height === \"\".concat(contentHeight, \"px\");\n var isClosing = !isOpened && _this.container.style.height === '0px';\n\n if (isOpenining || isClosing) {\n // No need to do any work\n return;\n }\n\n _this.container.style.overflow = 'hidden';\n _this.container.style.height = isOpened ? \"\".concat(contentHeight, \"px\") : '0px';\n var onWork = _this.props.onWork;\n\n if (onWork) {\n onWork({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRefContainer\", function (container) {\n _this.container = container;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRefContent\", function (content) {\n _this.content = content;\n });\n\n if (props.initialStyle) {\n _this.initialStyle = props.initialStyle;\n } else {\n _this.initialStyle = props.isOpened ? {\n height: 'auto',\n overflow: 'initial'\n } : {\n height: '0px',\n overflow: 'hidden'\n };\n }\n\n return _this;\n }\n\n _createClass(Collapse, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onResize();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var _this$props2 = this.props,\n theme = _this$props2.theme,\n isOpened = _this$props2.isOpened,\n children = _this$props2.children;\n return children !== nextProps.children || isOpened !== nextProps.isOpened || Object.keys(theme).some(function (c) {\n return theme[c] !== nextProps.theme[c];\n });\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate() {\n if (!this.container || !this.content) {\n return null;\n }\n\n if (this.container.style.height === 'auto') {\n var contentHeight = this.content.clientHeight;\n this.container.style.height = \"\".concat(contentHeight, \"px\");\n }\n\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onResize();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timeout);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n theme = _this$props3.theme,\n children = _this$props3.children,\n isOpened = _this$props3.isOpened;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.onRefContainer,\n className: theme.collapse,\n style: this.initialStyle,\n \"aria-hidden\": !isOpened\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.onRefContent,\n className: theme.content\n }, children));\n }\n }]);\n\n return Collapse;\n}(_react[\"default\"].Component);\n\nexports.Collapse = Collapse;\n\n_defineProperty(Collapse, \"defaultProps\", {\n theme: {\n collapse: 'ReactCollapse--collapse',\n content: 'ReactCollapse--content'\n },\n initialStyle: undefined,\n onRest: undefined,\n onWork: undefined,\n checkTimeout: 50\n});","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UnmountClosed = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Collapse = require(\"./Collapse\");\n\nvar _excluded = [\"isOpened\"],\n _excluded2 = [\"isOpened\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar UnmountClosed = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(UnmountClosed, _React$PureComponent);\n\n var _super = _createSuper(UnmountClosed);\n\n function UnmountClosed(props) {\n var _this;\n\n _classCallCheck(this, UnmountClosed);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"onWork\", function (_ref) {\n var isOpened = _ref.isOpened,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n _this.setState({\n isResting: false,\n isOpened: isOpened\n });\n\n var onWork = _this.props.onWork;\n\n if (onWork) {\n onWork(_objectSpread({\n isOpened: isOpened\n }, rest));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRest\", function (_ref2) {\n var isOpened = _ref2.isOpened,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n\n _this.setState({\n isResting: true,\n isOpened: isOpened,\n isInitialRender: false\n });\n\n var onRest = _this.props.onRest;\n\n if (onRest) {\n onRest(_objectSpread({\n isOpened: isOpened\n }, rest));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInitialStyle\", function () {\n var _this$state = _this.state,\n isOpened = _this$state.isOpened,\n isInitialRender = _this$state.isInitialRender;\n\n if (isInitialRender) {\n return isOpened ? {\n height: 'auto',\n overflow: 'initial'\n } : {\n height: '0px',\n overflow: 'hidden'\n };\n }\n\n return {\n height: '0px',\n overflow: 'hidden'\n };\n });\n\n _this.state = {\n isResting: true,\n isOpened: props.isOpened,\n isInitialRender: true\n };\n return _this;\n }\n\n _createClass(UnmountClosed, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var isOpened = this.props.isOpened;\n\n if (prevProps.isOpened !== isOpened) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n isResting: false,\n isOpened: isOpened,\n isInitialRender: false\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state2 = this.state,\n isResting = _this$state2.isResting,\n isOpened = _this$state2.isOpened;\n return isResting && !isOpened ? null : /*#__PURE__*/_react[\"default\"].createElement(_Collapse.Collapse, _extends({}, this.props, {\n initialStyle: this.getInitialStyle(),\n onWork: this.onWork,\n onRest: this.onRest\n }));\n }\n }]);\n\n return UnmountClosed;\n}(_react[\"default\"].PureComponent);\n\nexports.UnmountClosed = UnmountClosed;\n\n_defineProperty(UnmountClosed, \"defaultProps\", {\n onWork: undefined,\n onRest: undefined\n});","\"use strict\";\n\nvar _require = require('./Collapse'),\n Collapse = _require.Collapse;\n\nvar _require2 = require('./UnmountClosed'),\n UnmountClosed = _require2.UnmountClosed; // Default export\n\n\nmodule.exports = UnmountClosed; // Extra \"named exports\"\n\nUnmountClosed.Collapse = Collapse;\nUnmountClosed.UnmountClosed = UnmountClosed;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n if (!userAgent) {\n console.error('No userAgent string was provided');\n return;\n }\n\n var UserAgentInstance = new UAParser(userAgent);\n return {\n UA: UserAgentInstance,\n browser: UserAgentInstance.getBrowser(),\n cpu: UserAgentInstance.getCPU(),\n device: UserAgentInstance.getDevice(),\n engine: UserAgentInstance.getEngine(),\n os: UserAgentInstance.getOS(),\n ua: UserAgentInstance.getUA(),\n setUserAgent: function setUserAgent(userAgentString) {\n return UserAgentInstance.setUA(userAgentString);\n }\n };\n};\n\nvar UAHelper = /*#__PURE__*/Object.freeze({\n ClientUAInstance: ClientUAInstance,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os,\n ua: ua,\n setUa: setUa,\n parseUserAgent: parseUserAgent\n});\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Embedded: 'embedded',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: 'Firefox',\n Opera: 'Opera',\n Yandex: 'Yandex',\n Safari: 'Safari',\n InternetExplorer: 'Internet Explorer',\n Edge: 'Edge',\n Chromium: 'Chromium',\n Ie: 'IE',\n MobileSafari: 'Mobile Safari',\n EdgeChromium: 'Edge Chromium',\n MIUI: 'MIUI Browser',\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: 'Android',\n WindowsPhone: 'Windows Phone',\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nvar checkDeviceType = function checkDeviceType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n\n case DeviceTypes.Embedded:\n return {\n isEmbedded: true\n };\n\n default:\n return InitialDeviceTypes;\n }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n return {\n isEmbedded: isEmbedded,\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nfunction deviceDetect(userAgent) {\n var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n engine = _ref.engine,\n os = _ref.os,\n ua = _ref.ua;\n\n var type = checkDeviceType(device.type);\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable,\n isEmbedded = type.isEmbedded;\n\n if (isBrowser) {\n return browserPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return smartTvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearablePayload(isWearable, engine, os, ua);\n }\n\n if (isEmbedded) {\n return embeddedPayload(isEmbedded, device, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType(_ref) {\n var type = _ref.type;\n return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n var type = _ref2.type;\n return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n var type = _ref3.type;\n return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n var type = _ref4.type;\n return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n var type = _ref5.type;\n return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n var type = _ref6.type;\n return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n var type = _ref7.type;\n return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n var type = _ref8.type;\n return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n var vendor = _ref9.vendor;\n return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n var model = _ref10.model;\n return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n var type = _ref11.type;\n return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n var name = _ref12.name;\n return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n var name = _ref13.name;\n return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n var name = _ref14.name;\n return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n var name = _ref15.name;\n return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n var name = _ref16.name;\n return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n var version = _ref17.version;\n return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n var name = _ref18.name;\n return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n var name = _ref19.name;\n return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n var name = _ref20.name;\n return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n var name = _ref21.name;\n return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n var name = _ref22.name;\n return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n var name = _ref23.name;\n return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n var name = _ref24.name;\n return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n var name = _ref25.name;\n return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n var name = _ref26.name;\n return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n var name = _ref27.name;\n return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n var name = _ref28.name;\n return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n var name = _ref29.name;\n return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n var version = _ref30.version;\n return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n var major = _ref31.major;\n return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n var name = _ref32.name;\n return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n var name = _ref33.name;\n return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n var version = _ref34.version;\n return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n return setDefaults(userAg);\n};\n\nfunction buildSelectorsObject(options) {\n var _ref = options ? options : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n os = _ref.os,\n engine = _ref.engine,\n ua = _ref.ua;\n\n return {\n isSmartTV: isSmartTVType(device),\n isConsole: isConsoleType(device),\n isWearable: isWearableType(device),\n isEmbedded: isEmbeddedType(device),\n isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n isChromium: isChromiumType(browser),\n isMobile: isMobileAndTabletType(device) || getIPad13(),\n isMobileOnly: isMobileType(device),\n isTablet: isTabletType(device) || getIPad13(),\n isBrowser: isBrowserType(device),\n isDesktop: isBrowserType(device),\n isAndroid: isAndroidType(os),\n isWinPhone: isWinPhoneType(os),\n isIOS: isIOSType(os) || getIPad13(),\n isChrome: isChromeType(browser),\n isFirefox: isFirefoxType(browser),\n isSafari: isSafariType(browser),\n isOpera: isOperaType(browser),\n isIE: isIEType(browser),\n osVersion: getOsVersion(os),\n osName: getOsName(os),\n fullBrowserVersion: getBrowserFullVersion(browser),\n browserVersion: getBrowserVersion(browser),\n browserName: getBrowserName(browser),\n mobileVendor: getMobileVendor(device),\n mobileModel: getMobileModel(device),\n engineName: getEngineName(engine),\n engineVersion: getEngineVersion(engine),\n getUA: getUseragent(ua),\n isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n isYandex: isYandexType(browser),\n deviceType: getDeviceType(device),\n isIOS13: getIOS13(),\n isIPad13: getIPad13(),\n isIPhone13: getIphone13(),\n isIPod13: getIPod13(),\n isElectron: isElectronType(),\n isEdgeChromium: isEdgeChromiumType(ua),\n isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n isWindows: isWindowsType(os),\n isMacOs: isMacOsType(os),\n isMIUI: isMIUIType(browser),\n isSamsungBrowser: isSamsungBrowserType(browser)\n };\n}\n\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n if (!userAgent || typeof userAgent !== 'string') {\n console.error('No valid user agent string was provided');\n return;\n }\n\n var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n device = _UAHelper$parseUserAg.device,\n browser = _UAHelper$parseUserAg.browser,\n os = _UAHelper$parseUserAg.os,\n engine = _UAHelper$parseUserAg.engine,\n ua = _UAHelper$parseUserAg.ua;\n\n return buildSelectorsObject({\n device: device,\n browser: browser,\n os: os,\n engine: engine,\n ua: ua\n });\n};\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component);\n}\n\nfunction useMobileOrientation() {\n var _useState = React.useState(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n return {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var handleOrientationChange = React.useCallback(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n var next = {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n state.orientation !== next.orientation && setState(next);\n }, [state.orientation]);\n React.useEffect(function () {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n handleOrientationChange();\n window.addEventListener(\"load\", handleOrientationChange, false);\n window.addEventListener(\"resize\", handleOrientationChange, false);\n }\n\n return function () {\n window.removeEventListener(\"resize\", handleOrientationChange, false);\n window.removeEventListener(\"load\", handleOrientationChange, false);\n };\n }, [handleOrientationChange]);\n return state;\n}\n\nfunction useDeviceData(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n return parseUserAgent(hookUserAgent);\n}\n\nfunction useDeviceSelectors(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n var deviceData = useDeviceData(hookUserAgent);\n var selectors = buildSelectorsObject(deviceData);\n return [selectors, deviceData];\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/* UAParser.js v1.0.38\n Copyright © 2012-2021 Faisal Salman \n MIT License */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"1.0.38\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\",UA_MAX_LENGTH=500;var AMAZON=\"Amazon\",APPLE=\"Apple\",ASUS=\"ASUS\",BLACKBERRY=\"BlackBerry\",BROWSER=\"Browser\",CHROME=\"Chrome\",EDGE=\"Edge\",FIREFOX=\"Firefox\",GOOGLE=\"Google\",HUAWEI=\"Huawei\",LG=\"LG\",MICROSOFT=\"Microsoft\",MOTOROLA=\"Motorola\",OPERA=\"Opera\",SAMSUNG=\"Samsung\",SHARP=\"Sharp\",SONY=\"Sony\",XIAOMI=\"Xiaomi\",ZEBRA=\"Zebra\",FACEBOOK=\"Facebook\",CHROMIUM_OS=\"Chromium OS\",MAC_OS=\"Mac OS\";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j2){_device[MODEL]=\"iPad\";_device[TYPE]=TABLET}return _device};this.getEngine=function(){var _engine={};_engine[NAME]=undefined;_engine[VERSION]=undefined;rgxMapper.call(_engine,_ua,_rgxmap.engine);return _engine};this.getOS=function(){var _os={};_os[NAME]=undefined;_os[VERSION]=undefined;rgxMapper.call(_os,_ua,_rgxmap.os);if(_isSelfNav&&!_os[NAME]&&_uach&&_uach.platform&&_uach.platform!=\"Unknown\"){_os[NAME]=_uach.platform.replace(/chrome os/i,CHROMIUM_OS).replace(/macos/i,MAC_OS)}return _os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return _ua};this.setUA=function(ua){_ua=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"0943e200\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"brannvernforeningen-frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkbrannvernforeningen_frontend\"] = self[\"webpackChunkbrannvernforeningen_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import React from 'react'\nimport logo from './logo.svg'\n\nfunction App() {\n return (\n
\n
\n )\n}\n\nexport default App\n","import { ReportHandler } from 'web-vitals'\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry)\n getFID(onPerfEntry)\n getFCP(onPerfEntry)\n getLCP(onPerfEntry)\n getTTFB(onPerfEntry)\n })\n }\n}\n\nexport default reportWebVitals\n","import React from 'react'\nimport './_rich-text.scss'\n\ninterface RichTextProps {\n html: string\n}\n\nexport const RichText = ({ html }: RichTextProps) => (\n
\n)\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgBvfLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 357,\n height: 41,\n viewBox: \"0 0 357 41\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.2401 12.4262C95.5011 13.3292 96.1288 14.6067 96.1288 16.2586C96.1288 17.481 95.7929 18.4666 95.1156 19.2209C94.4384 19.9698 93.4803 20.4599 92.2413 20.6856C93.706 20.8728 94.8403 21.3409 95.6387 22.0952C96.4371 22.8496 96.8391 23.9013 96.8391 25.2503C96.8391 26.9793 96.1783 28.3338 94.8678 29.325C93.5518 30.3106 91.6907 30.8062 89.29 30.8062H81.427V11.0771H88.9266C91.2172 11.0771 92.9957 11.5287 94.2511 12.4317L94.2401 12.4262ZM89.0257 19.1879C89.9287 19.1879 90.6335 18.9732 91.1401 18.5382C91.6467 18.1087 91.9 17.525 91.9 16.7927C91.9 16.0603 91.6467 15.4767 91.1401 15.0472C90.6335 14.6122 89.9287 14.3974 89.0257 14.3974H85.6448V19.1879H89.0257ZM89.3065 27.4473C90.3197 27.4473 91.1071 27.2326 91.6577 26.7976C92.2138 26.3681 92.4891 25.7624 92.4891 24.9915C92.4891 24.2207 92.2083 23.5599 91.6412 23.1194C91.074 22.6789 90.2976 22.4586 89.301 22.4586H85.6338V27.4473H89.301H89.3065Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.138 19.9261H106.558C105.429 19.9261 104.603 20.262 104.08 20.9392C103.551 21.6165 103.293 22.5361 103.293 23.7034V30.8065H99.3171V16.3195H102.924L103.287 18.489C103.722 17.7731 104.256 17.2335 104.895 16.8701C105.534 16.5012 106.387 16.3195 107.461 16.3195H108.138V19.9261Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.754 30.8016H121.722C119.899 30.8016 119.007 30.0142 119.046 28.4339C118.517 29.2599 117.873 29.8931 117.102 30.3226C116.331 30.7576 115.401 30.9723 114.31 30.9723C112.692 30.9723 111.392 30.6034 110.406 29.8601C109.421 29.1167 108.925 28.0705 108.925 26.716C108.925 25.1742 109.492 23.9849 110.632 23.1534C111.772 22.3165 113.418 21.898 115.577 21.898H118.451V21.1932C118.451 20.5379 118.209 20.0148 117.719 19.6294C117.229 19.2439 116.574 19.0512 115.748 19.0512C115.015 19.0512 114.415 19.2109 113.942 19.5303C113.473 19.8496 113.193 20.2791 113.094 20.8298H109.261C109.393 19.3431 110.049 18.1922 111.232 17.3773C112.416 16.5624 113.986 16.1494 115.94 16.1494C117.895 16.1494 119.574 16.6009 120.687 17.504C121.804 18.407 122.366 19.712 122.366 21.4244V26.5233C122.366 26.8812 122.443 27.1234 122.592 27.2556C122.741 27.3877 122.977 27.4538 123.297 27.4538H123.748V30.8071L123.754 30.8016ZM115.549 24.5465C114.723 24.5465 114.079 24.7117 113.617 25.0421C113.154 25.3724 112.928 25.835 112.928 26.4352C112.928 26.9417 113.121 27.3437 113.507 27.6465C113.892 27.9494 114.415 28.0981 115.07 28.0981C116.105 28.0981 116.92 27.8007 117.521 27.2115C118.121 26.6224 118.429 25.824 118.451 24.8273V24.5465H115.549Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.419 22.9387V30.8016H135.444V23.1644C135.444 20.6646 134.464 19.4146 132.514 19.4146C131.479 19.4146 130.681 19.7615 130.119 20.4553C129.558 21.1491 129.271 22.1292 129.271 23.3847V30.7961H125.296V16.3201H128.765L129.128 18.1262C129.635 17.504 130.246 17.0194 130.962 16.6725C131.677 16.3256 132.558 16.1494 133.61 16.1494C135.301 16.1494 136.694 16.6725 137.784 17.7297C138.874 18.7814 139.419 20.5214 139.419 22.9442V22.9387Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M156.048 22.9387V30.8016H152.073V23.1644C152.073 20.6646 151.098 19.4146 149.143 19.4146C148.108 19.4146 147.31 19.7615 146.748 20.4553C146.186 21.1491 145.9 22.1292 145.9 23.3847V30.7961H141.924V16.3201H145.393L145.757 18.1262C146.263 17.504 146.875 17.0194 147.59 16.6725C148.306 16.3256 149.187 16.1494 150.239 16.1494C151.929 16.1494 153.322 16.6725 154.413 17.7297C155.503 18.7869 156.048 20.5214 156.048 22.9442V22.9387Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.899 16.3195L164.396 26.7484L167.832 16.3195H172L166.785 30.8065H161.852L156.637 16.3195H160.894H160.899Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M175.678 17.0635C176.779 16.4523 178.051 16.1494 179.5 16.1494C180.948 16.1494 182.258 16.4357 183.376 17.0084C184.494 17.581 185.369 18.3905 185.997 19.4312C186.625 20.4718 186.95 21.6998 186.972 23.1094C186.972 23.6159 186.933 24.0675 186.856 24.4639H176.344V24.5795C176.438 25.6312 176.779 26.4572 177.358 27.0574C177.941 27.6575 178.74 27.9604 179.753 27.9604C180.562 27.9604 181.234 27.7842 181.768 27.4373C182.302 27.0904 182.655 26.5783 182.825 25.901H186.74C186.592 26.8591 186.223 27.7236 185.639 28.4945C185.055 29.2654 184.285 29.8711 183.326 30.3116C182.368 30.7521 181.267 30.9723 180.028 30.9723C178.409 30.9723 177.016 30.6695 175.843 30.0693C174.671 29.4691 173.768 28.6101 173.14 27.4924C172.512 26.3746 172.198 25.0751 172.198 23.5884C172.198 22.1017 172.501 20.7747 173.112 19.6569C173.723 18.5391 174.577 17.6747 175.678 17.0635ZM181.906 19.8276C181.311 19.3486 180.568 19.1118 179.665 19.1118C178.762 19.1118 178.073 19.3596 177.479 19.8607C176.884 20.3562 176.537 21.028 176.422 21.876H182.991C182.858 20.9949 182.495 20.3122 181.906 19.8331V19.8276Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M197.962 19.9261H196.382C195.253 19.9261 194.427 20.262 193.904 20.9392C193.375 21.6165 193.116 22.5361 193.116 23.7034V30.8065H189.141V16.3195H192.747L193.111 18.489C193.546 17.7731 194.08 17.2335 194.719 16.8701C195.357 16.5012 196.211 16.3195 197.285 16.3195H197.962V19.9261Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M213.853 22.9387V30.8016H209.878V23.1644C209.878 20.6646 208.903 19.4146 206.948 19.4146C205.913 19.4146 205.115 19.7615 204.553 20.4553C203.991 21.1491 203.705 22.1292 203.705 23.3847V30.7961H199.73V16.3201H203.199L203.562 18.1262C204.069 17.504 204.68 17.0194 205.396 16.6725C206.111 16.3256 206.992 16.1494 208.044 16.1494C209.735 16.1494 211.128 16.6725 212.218 17.7297C213.308 18.7814 213.853 20.5214 213.853 22.9442V22.9387Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M217.295 15.0478C217.295 13.7703 217.658 12.7902 218.396 12.1019C219.128 11.4192 220.218 11.0723 221.667 11.0723H224.91V14.4531H222.459C222.046 14.4531 221.744 14.5467 221.556 14.7339C221.369 14.9212 221.276 15.224 221.276 15.637V16.3142H224.91V19.6676H221.276V30.8013H217.3V19.6676H214.905V16.3142H217.3V15.0478H217.295Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M226.242 27.4465C225.614 26.3178 225.295 25.0238 225.295 23.5591C225.295 22.0944 225.609 20.795 226.242 19.6717C226.87 18.5429 227.762 17.6729 228.918 17.0672C230.074 16.456 231.412 16.1532 232.932 16.1532C234.452 16.1532 235.795 16.456 236.946 17.0672C238.103 17.6784 238.995 18.5484 239.622 19.6717C240.25 20.8005 240.569 22.0944 240.569 23.5591C240.569 25.0238 240.255 26.3453 239.622 27.4631C238.995 28.5808 238.103 29.4453 236.946 30.0565C235.79 30.6677 234.452 30.9706 232.932 30.9706C231.412 30.9706 230.069 30.6677 228.918 30.0565C227.762 29.4453 226.87 28.5753 226.242 27.452V27.4465ZM236.544 23.5591C236.544 22.3202 236.219 21.3125 235.57 20.5417C234.92 19.7708 234.044 19.3853 232.932 19.3853C231.82 19.3853 230.972 19.7708 230.328 20.5417C229.683 21.3125 229.353 22.3202 229.353 23.5591C229.353 24.798 229.678 25.8057 230.328 26.5765C230.977 27.3474 231.847 27.7329 232.932 27.7329C234.017 27.7329 234.92 27.3474 235.57 26.5765C236.219 25.8057 236.544 24.798 236.544 23.5591Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M251.593 19.9261H250.013C248.884 19.9261 248.058 20.262 247.535 20.9392C247.006 21.6165 246.748 22.5361 246.748 23.7034V30.8065H242.772V16.3195H246.379L246.742 18.489C247.177 17.7731 247.711 17.2335 248.35 16.8701C248.989 16.5012 249.842 16.3195 250.916 16.3195H251.593V19.9261Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255.805 17.0635C256.907 16.4523 258.179 16.1494 259.627 16.1494C261.075 16.1494 262.385 16.4357 263.503 17.0084C264.621 17.581 265.496 18.3905 266.124 19.4312C266.752 20.4718 267.077 21.6998 267.099 23.1094C267.099 23.6159 267.06 24.0675 266.989 24.4639H256.477V24.5795C256.571 25.6312 256.912 26.4572 257.49 27.0574C258.074 27.6575 258.872 27.9604 259.886 27.9604C260.695 27.9604 261.367 27.7842 261.901 27.4373C262.435 27.0904 262.787 26.5783 262.958 25.901H266.873C266.724 26.8591 266.355 27.7236 265.772 28.4945C265.188 29.2654 264.417 29.8711 263.459 30.3116C262.501 30.7521 261.4 30.9723 260.161 30.9723C258.548 30.9723 257.149 30.6695 255.976 30.0693C254.803 29.4691 253.9 28.6101 253.273 27.4924C252.645 26.3746 252.325 25.0751 252.325 23.5884C252.325 22.1017 252.634 20.7747 253.239 19.6569C253.851 18.5391 254.704 17.6747 255.805 17.0635ZM262.033 19.8276C261.438 19.3486 260.695 19.1118 259.792 19.1118C258.889 19.1118 258.201 19.3596 257.606 19.8607C257.011 20.3562 256.659 21.028 256.549 21.876H263.118C262.986 20.9949 262.622 20.3122 262.033 19.8331V19.8276Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M283.386 22.9387V30.8016H279.411V23.1644C279.411 20.6646 278.431 19.4146 276.482 19.4146C275.446 19.4146 274.648 19.7615 274.086 20.4553C273.525 21.1491 273.238 22.1292 273.238 23.3847V30.7961H269.263V16.3201H272.732L273.095 18.1262C273.602 17.504 274.213 17.0194 274.929 16.6725C275.645 16.3256 276.526 16.1494 277.577 16.1494C279.268 16.1494 280.661 16.6725 281.751 17.7297C282.841 18.7814 283.386 20.5214 283.386 22.9442V22.9387Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M290.176 12.5087C290.176 13.1474 289.961 13.6816 289.526 14.1166C289.091 14.5516 288.552 14.7663 287.891 14.7663C287.23 14.7663 286.685 14.5516 286.244 14.1166C285.804 13.6816 285.584 13.1474 285.584 12.5087C285.584 11.87 285.804 11.3414 286.244 10.9174C286.685 10.4934 287.236 10.2842 287.891 10.2842C288.546 10.2842 289.091 10.4934 289.526 10.9174C289.961 11.3414 290.176 11.87 290.176 12.5087ZM289.867 16.3136V30.8006H285.892V16.3191H289.867V16.3136Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M306.75 22.9387V30.8016H302.774V23.1644C302.774 20.6646 301.794 19.4146 299.845 19.4146C298.81 19.4146 298.011 19.7615 297.45 20.4553C296.888 21.1491 296.602 22.1292 296.602 23.3847V30.7961H292.626V16.3201H296.095L296.459 18.1262C296.965 17.504 297.576 17.0194 298.292 16.6725C299.008 16.3256 299.889 16.1494 300.941 16.1494C302.631 16.1494 304.024 16.6725 305.114 17.7297C306.205 18.7814 306.75 20.5214 306.75 22.9442V22.9387Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M323.742 30.3808C323.742 32.2805 323.114 33.7892 321.854 34.918C320.593 36.0468 318.638 36.6084 315.989 36.6084C313.941 36.6084 312.289 36.1569 311.028 35.2539C309.767 34.3508 309.095 33.0734 308.996 31.4215H312.999C313.187 32.1153 313.556 32.6494 314.112 33.0293C314.668 33.4038 315.395 33.591 316.298 33.591C317.426 33.591 318.296 33.3102 318.919 32.743C319.541 32.1759 319.849 31.3444 319.849 30.2321V28.7124C318.798 30.0449 317.305 30.7112 315.367 30.7112C314.09 30.7112 312.944 30.4083 311.931 29.8082C310.918 29.208 310.12 28.3545 309.547 27.2587C308.974 26.1575 308.688 24.88 308.688 23.4099C308.688 21.9397 308.974 20.6842 309.547 19.5775C310.12 18.4707 310.918 17.6117 311.942 17.0116C312.966 16.4114 314.117 16.1085 315.395 16.1085C317.294 16.1085 318.798 16.8409 319.904 18.3055L320.24 16.3067H323.737V30.3698L323.742 30.3808ZM319.827 23.4759C319.827 22.2535 319.508 21.2569 318.869 20.486C318.23 19.7151 317.377 19.3297 316.303 19.3297C315.229 19.3297 314.37 19.7096 313.726 20.4695C313.082 21.2294 312.752 22.2205 312.752 23.4429C312.752 24.6653 313.077 25.6509 313.726 26.4053C314.376 27.1596 315.235 27.5341 316.303 27.5341C317.371 27.5341 318.23 27.1596 318.869 26.4053C319.508 25.6564 319.827 24.6763 319.827 23.4759Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M329.424 17.0635C330.526 16.4523 331.798 16.1494 333.246 16.1494C334.694 16.1494 336.004 16.4357 337.122 17.0084C338.24 17.581 339.115 18.3905 339.743 19.4312C340.371 20.4718 340.696 21.6998 340.718 23.1094C340.718 23.6159 340.679 24.0675 340.602 24.4639H330.091V24.5795C330.184 25.6312 330.526 26.4572 331.104 27.0574C331.682 27.6575 332.486 27.9604 333.499 27.9604C334.308 27.9604 334.98 27.7842 335.514 27.4373C336.048 27.0904 336.401 26.5783 336.571 25.901H340.486C340.338 26.8591 339.969 27.7236 339.385 28.4945C338.801 29.2654 338.031 29.8711 337.073 30.3116C336.114 30.7521 335.013 30.9723 333.774 30.9723C332.155 30.9723 330.762 30.6695 329.589 30.0693C328.417 29.4691 327.514 28.6101 326.886 27.4924C326.258 26.3746 325.944 25.0751 325.944 23.5884C325.944 22.1017 326.247 20.7747 326.858 19.6569C327.47 18.5391 328.323 17.6747 329.424 17.0635ZM335.652 19.8276C335.057 19.3486 334.314 19.1118 333.411 19.1118C332.508 19.1118 331.82 19.3596 331.225 19.8607C330.63 20.3562 330.283 21.028 330.168 21.876H336.737C336.604 20.9949 336.241 20.3122 335.652 19.8331V19.8276Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M357 22.9387V30.8016H353.025V23.1644C353.025 20.6646 352.05 19.4146 350.095 19.4146C349.06 19.4146 348.262 19.7615 347.7 20.4553C347.138 21.1491 346.852 22.1292 346.852 23.3847V30.7961H342.876V16.3201H346.345L346.709 18.1262C347.215 17.504 347.827 17.0194 348.542 16.6725C349.258 16.3256 350.139 16.1494 351.191 16.1494C352.881 16.1494 354.274 16.6725 355.365 17.7297C356.455 18.7814 357 20.5214 357 22.9442V22.9387Z\",\n fill: \"#800000\"\n })))), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.3571 40.7075C20.3571 29.4636 29.47 20.3507 40.7138 20.3507C51.9576 20.3507 61.0705 29.4636 61.0705 40.7075H20.3571Z\",\n fill: \"#F4CDCD\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.357 40.7072C12.4059 32.7561 12.4059 19.8714 20.357 11.9203C28.3081 3.96926 41.1928 3.96926 49.1438 11.9203L20.357 40.7072Z\",\n fill: \"#E58484\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.3567 40.708C9.1129 40.708 0 31.5951 0 20.3567C0 9.11841 9.1129 0 20.3567 0V40.708Z\",\n fill: \"#EF0000\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgBvfLogo);\nexport default \"/Frontend/static/media/bvf-logo.e07aebf0fefd5d95013e500927ced61b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgFacebook(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 34,\n height: 34,\n viewBox: \"0 0 34 34\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.7459 33.6201L16.7609 33.6201H16.7557L16.7459 33.6201ZM16.8645 33.6201H16.8593L16.8743 33.6201L16.8645 33.6201ZM16.6945 33.6198L16.7107 33.6199H16.7014L16.6945 33.6198ZM16.9188 33.6199H16.9094L16.9257 33.6198L16.9188 33.6199ZM16.645 33.6194L16.6558 33.6195L16.6472 33.6194H16.645ZM16.973 33.6194L16.9643 33.6195L16.9752 33.6194H16.973ZM17.0272 33.6188L17.0234 33.6189L17.0381 33.6187L17.0272 33.6188ZM16.5821 33.6187L16.5968 33.6189L16.5929 33.6188L16.5821 33.6187ZM17.0814 33.618L17.0726 33.6182L17.0906 33.6179L17.0814 33.618ZM16.5296 33.6179L16.5476 33.6182L16.5388 33.618L16.5296 33.6179ZM17.1355 33.6171L17.1236 33.6173L17.1403 33.617L17.1355 33.6171ZM16.4799 33.617L16.4966 33.6173L16.4847 33.6171L16.4799 33.617ZM16.4184 33.6157L16.4332 33.6161L16.4306 33.616L16.4184 33.6157ZM17.1896 33.616L17.187 33.6161L17.2018 33.6157L17.1896 33.616ZM16.3644 33.6143L16.3847 33.6149L16.3765 33.6147L16.3644 33.6143ZM17.2437 33.6147L17.2355 33.6149L17.2558 33.6143L17.2437 33.6147ZM17.2977 33.6132L17.2845 33.6136L17.3053 33.613L17.2977 33.6132ZM16.3149 33.613L16.3357 33.6136L16.3225 33.6132L16.3149 33.613ZM16.2676 33.6116L16.2824 33.612L16.2685 33.6116L16.2558 33.6112L16.2676 33.6116ZM17.3517 33.6116L17.3378 33.612L17.3525 33.6116L17.3644 33.6112L17.3517 33.6116ZM17.4056 33.6098L17.3983 33.6101L17.4209 33.6093L17.4056 33.6098ZM16.1993 33.6093L16.2219 33.6101L16.2146 33.6098L16.1993 33.6093ZM16.1501 33.6075L16.1739 33.6083L16.1607 33.6078L16.1501 33.6075ZM17.4595 33.6078L17.4463 33.6083L17.4701 33.6075L17.4595 33.6078ZM16.1018 33.6055L16.1251 33.6065L16.1069 33.6057L16.1018 33.6055ZM17.5133 33.6057L17.4951 33.6065L17.5184 33.6055L17.5133 33.6057ZM16.0342 33.6025L16.0592 33.6036L16.053 33.6034L16.0342 33.6025ZM17.5671 33.6034L17.561 33.6036L17.586 33.6025L17.5671 33.6034ZM15.9857 33.6003L16.0116 33.6015L15.9993 33.6009L15.9857 33.6003ZM17.6209 33.6009L17.6086 33.6015L17.6345 33.6003L17.6209 33.6009ZM15.9379 33.5979L15.9639 33.5992L15.9456 33.5983L15.9379 33.5979ZM17.6746 33.5983L17.6562 33.5992L17.6823 33.5979L17.6746 33.5983ZM17.7283 33.5955L17.7045 33.5967L17.7256 33.5956L17.7504 33.5943L17.7283 33.5955ZM15.8946 33.5956L15.9157 33.5967L15.8919 33.5955L15.8698 33.5943L15.8946 33.5956ZM17.7819 33.5925L17.7714 33.5931L17.798 33.5916L17.7819 33.5925ZM15.8222 33.5916L15.8488 33.5931L15.8383 33.5925L15.8222 33.5916ZM15.7748 33.5887L15.8014 33.5903L15.7847 33.5894L15.7748 33.5887ZM17.8354 33.5894L17.8188 33.5903L17.8454 33.5887L17.8354 33.5894ZM15.7295 33.5859L15.7535 33.5874L15.7312 33.586L15.7087 33.5846L15.7295 33.5859ZM17.889 33.586L17.8667 33.5874L17.8907 33.5859L17.9115 33.5846L17.889 33.586ZM17.9425 33.5826L17.9345 33.5831L17.9599 33.5814L17.9425 33.5826ZM15.6603 33.5814L15.6857 33.5831L15.6777 33.5826L15.6603 33.5814ZM15.613 33.5781L15.6379 33.5799L15.6243 33.579L15.613 33.5781ZM17.9959 33.579L17.9823 33.5799L18.0072 33.5781L17.9959 33.579ZM15.5658 33.5747L15.5887 33.5764L15.5709 33.5751L15.5658 33.5747ZM18.0493 33.5751L18.0315 33.5764L18.0544 33.5747L18.0493 33.5751ZM15.5023 33.57L15.5224 33.5715L15.5175 33.5711L15.5023 33.57ZM18.1027 33.5711L18.0978 33.5715L18.1179 33.57L18.1027 33.5711ZM18.156 33.567L18.1464 33.5677L18.1668 33.5661L18.156 33.567ZM15.4534 33.5661L15.4738 33.5677L15.4642 33.567L15.4534 33.5661ZM15.4058 33.5622L15.4231 33.5637L15.4109 33.5627L15.4058 33.5622ZM18.2093 33.5627L18.1971 33.5637L18.2144 33.5622L18.2093 33.5627ZM15.3534 33.5578L15.3586 33.5583L15.3577 33.5582L15.3534 33.5578ZM18.2625 33.5582L18.2616 33.5583L18.2668 33.5578L18.2625 33.5582ZM18.3156 33.5535L18.3109 33.5539L18.3228 33.5529L18.3156 33.5535ZM15.2974 33.5529L15.3093 33.5539L15.3045 33.5535L15.2974 33.5529ZM15.2481 33.5484L15.257 33.5493L15.2515 33.5487L15.2481 33.5484ZM18.3687 33.5487L18.3632 33.5493L18.3721 33.5484L18.3687 33.5487ZM14.1835 33.4158C6.15151 32.1533 0 25.1944 0 16.8101C0 7.53237 7.53237 0 16.8101 0C26.0878 0 33.6202 7.53237 33.6202 16.8101C33.6202 25.1944 27.4687 32.1533 19.4367 33.4158V21.6693H23.3536L24.0988 16.8101H19.4367V13.6568C19.4367 12.3274 20.0879 11.0316 22.1761 11.0316H24.2958V6.89477C24.2958 6.89477 22.3721 6.56644 20.5329 6.56644C16.6931 6.56644 14.1835 8.89359 14.1835 13.1066V16.8101H9.91533V21.6693H14.1835V33.4158Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFacebook);\nexport default \"/Frontend/static/media/facebook.617ec525d1af3b306fdff6aabc335bf7.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgInstagram(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 35,\n height: 34,\n viewBox: \"0 0 35 34\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.6033 0C26.881 0 34.4134 7.53237 34.4134 16.8101C34.4134 26.0878 26.881 33.6202 17.6033 33.6202C8.32558 33.6202 0.793213 26.0878 0.793213 16.8101C0.793213 7.53237 8.32558 0 17.6033 0ZM17.6033 6.30379C14.75 6.30379 14.3922 6.31587 13.2716 6.36702C12.1533 6.41804 11.3895 6.59566 10.7212 6.85537C10.0304 7.12387 9.44444 7.48312 8.86035 8.0672C8.27627 8.65129 7.91702 9.23721 7.64851 9.92807C7.38881 10.5963 7.21125 11.3601 7.16017 12.4783C7.10908 13.599 7.097 13.9568 7.097 16.8101C7.097 19.6634 7.10908 20.0212 7.16017 21.1418C7.21125 22.2601 7.38881 23.0239 7.64851 23.6921C7.91702 24.383 8.27627 24.9689 8.86035 25.5531C9.44444 26.1371 10.0304 26.4964 10.7212 26.7649C11.3895 27.0245 12.1533 27.2021 13.2716 27.2532C14.3922 27.3043 14.75 27.3164 17.6033 27.3164C20.4566 27.3164 20.8144 27.3043 21.9351 27.2532C23.0533 27.2021 23.8171 27.0245 24.4853 26.7649C25.1762 26.4964 25.7621 26.1371 26.3463 25.5531C26.9303 24.9689 27.2896 24.383 27.5581 23.6921C27.8177 23.0239 27.9954 22.2601 28.0464 21.1418C28.0975 20.0212 28.1096 19.6634 28.1096 16.8101C28.1096 13.9568 28.0975 13.599 28.0464 12.4783C27.9954 11.3601 27.8177 10.5963 27.5581 9.92807C27.2896 9.23721 26.9303 8.65129 26.3463 8.0672C25.7621 7.48312 25.1762 7.12387 24.4853 6.85537C23.8171 6.59566 23.0533 6.41804 21.9351 6.36702C20.8144 6.31587 20.4566 6.30379 17.6033 6.30379ZM17.6033 8.19683C20.4086 8.19683 20.7409 8.20753 21.8488 8.25809C22.8731 8.30484 23.4294 8.47596 23.7996 8.61984C24.29 8.81039 24.64 9.03812 25.0076 9.40577C25.3754 9.77336 25.603 10.1234 25.7936 10.6138C25.9374 10.984 26.1086 11.5403 26.1553 12.5646C26.2059 13.6725 26.2166 14.0048 26.2166 16.8101C26.2166 19.6154 26.2059 19.9477 26.1553 21.0556C26.1086 22.0799 25.9374 22.6362 25.7936 23.0064C25.603 23.4968 25.3754 23.8468 25.0076 24.2144C24.64 24.5821 24.29 24.8098 23.7996 25.0004C23.4294 25.1442 22.8731 25.3154 21.8488 25.3621C20.7411 25.4127 20.4088 25.4234 17.6033 25.4234C14.7978 25.4234 14.4656 25.4127 13.3578 25.3621C12.3335 25.3154 11.7772 25.1442 11.407 25.0004C10.9166 24.8098 10.5666 24.5821 10.1989 24.2144C9.83127 23.8468 9.60361 23.4968 9.41305 23.0064C9.26918 22.6362 9.09799 22.0799 9.05124 21.0556C9.00068 19.9477 8.99004 19.6154 8.99004 16.8101C8.99004 14.0048 9.00068 13.6725 9.05124 12.5646C9.09799 11.5403 9.26918 10.984 9.41305 10.6138C9.60361 10.1234 9.83127 9.77336 10.1989 9.40577C10.5666 9.03812 10.9166 8.81039 11.407 8.61984C11.7772 8.47596 12.3335 8.30484 13.3578 8.25809C14.4657 8.20753 14.798 8.19683 17.6033 8.19683ZM17.6033 11.415C14.6237 11.415 12.2082 13.8304 12.2082 16.8101C12.2082 19.7897 14.6237 22.2052 17.6033 22.2052C20.583 22.2052 22.9984 19.7897 22.9984 16.8101C22.9984 13.8304 20.583 11.415 17.6033 11.415ZM17.6033 20.3122C15.6692 20.3122 14.1012 18.7442 14.1012 16.8101C14.1012 14.8759 15.6692 13.308 17.6033 13.308C19.5375 13.308 21.1054 14.8759 21.1054 16.8101C21.1054 18.7442 19.5375 20.3122 17.6033 20.3122ZM24.4724 11.2018C24.4724 11.8981 23.9079 12.4625 23.2116 12.4625C22.5153 12.4625 21.9509 11.8981 21.9509 11.2018C21.9509 10.5055 22.5153 9.94107 23.2116 9.94107C23.9079 9.94107 24.4724 10.5055 24.4724 11.2018Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgInstagram);\nexport default \"/Frontend/static/media/instagram.dba49eaa2fc00862babc90997bc8b727.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgTwitter(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 35,\n height: 34,\n viewBox: \"0 0 35 34\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.3966 0C26.6744 0 34.2067 7.53237 34.2067 16.8101C34.2067 26.0878 26.6744 33.6202 17.3966 33.6202C8.11892 33.6202 0.586548 26.0878 0.586548 16.8101C0.586548 7.53237 8.11892 0 17.3966 0ZM14.4358 25.7508C21.8744 25.7508 25.9418 19.5869 25.9418 14.2449C25.9418 14.0688 25.9418 13.8927 25.9333 13.7249C26.7216 13.1547 27.4094 12.4418 27.9544 11.6284C27.2332 11.9471 26.4533 12.1651 25.6314 12.2657C26.4701 11.7625 27.1074 10.9742 27.4094 10.0266C26.6294 10.4879 25.7656 10.8233 24.8431 11.0078C24.1051 10.2195 23.0569 9.73311 21.8912 9.73311C19.6604 9.73311 17.849 11.5445 17.849 13.7753C17.849 14.094 17.8826 14.4042 17.958 14.6977C14.5951 14.53 11.618 12.9199 9.62211 10.471C9.27822 11.0665 9.07696 11.7625 9.07696 12.5005C9.07696 13.901 9.78981 15.1422 10.88 15.8634C10.2175 15.8467 9.59689 15.6621 9.05181 15.3603V15.4106C9.05181 17.373 10.4439 18.9999 12.2973 19.3773C11.9619 19.4695 11.6012 19.5199 11.2323 19.5199C10.9722 19.5199 10.7207 19.4947 10.4691 19.4444C10.9806 21.0545 12.4734 22.2203 14.2429 22.2537C12.8592 23.3356 11.1149 23.9814 9.21952 23.9814C8.89244 23.9814 8.57377 23.9646 8.2551 23.9227C10.0246 25.0799 12.1547 25.7508 14.4358 25.7508Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTwitter);\nexport default \"/Frontend/static/media/twitter.b4976e38d7e9e3eea187ec16849049cf.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgLinkedin(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 34,\n height: 34,\n viewBox: \"0 0 34 34\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.19 0C26.4677 0 34.0001 7.53237 34.0001 16.8101C34.0001 26.0878 26.4677 33.6202 17.19 33.6202C7.91225 33.6202 0.379883 26.0878 0.379883 16.8101C0.379883 7.53237 7.91225 0 17.19 0ZM11.9344 26.2573V13.1296H7.57007V26.2573H11.9344ZM27.6689 26.2573V18.7291C27.6689 14.6968 25.516 12.8209 22.645 12.8209C20.33 12.8209 19.293 14.0941 18.7124 14.9883V13.1296H14.3492C14.4071 14.3613 14.3492 26.2573 14.3492 26.2573H18.7123V18.9259C18.7123 18.5335 18.7406 18.1412 18.8562 17.8607C19.1711 17.077 19.8896 16.2651 21.095 16.2651C22.6732 16.2651 23.3055 17.4694 23.3055 19.2334V26.2573H27.6689ZM9.78172 6.79955C8.28851 6.79955 7.31293 7.78124 7.31293 9.06793C7.31293 10.3275 8.25883 11.3362 9.72393 11.3362H9.7521C11.2739 11.3362 12.2211 10.3275 12.2211 9.06793C12.1928 7.78124 11.2739 6.79955 9.78172 6.79955Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLinkedin);\nexport default \"/Frontend/static/media/linkedin.98b57d76c58ed12221f3058004493a81.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmail(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n opacity: 0.12,\n x: 2,\n y: 3,\n width: 20,\n height: 18,\n rx: 5,\n fill: \"currentColor\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10 2.25H9.96644C8.59472 2.25 7.51929 2.24999 6.65494 2.32061C5.77479 2.39252 5.04769 2.54138 4.38955 2.87671C3.30762 3.42798 2.42798 4.30762 1.87671 5.38955C1.54138 6.04769 1.39252 6.77479 1.32061 7.65494C1.24999 8.51929 1.25 9.59472 1.25 10.9664V11V13V13.0336C1.25 14.4053 1.24999 15.4807 1.32061 16.3451C1.39252 17.2252 1.54138 17.9523 1.87671 18.6104C2.42798 19.6924 3.30762 20.572 4.38955 21.1233C5.04769 21.4586 5.77479 21.6075 6.65494 21.6794C7.51927 21.75 8.59469 21.75 9.96637 21.75H9.96642H10H14H14.0336H14.0336C15.4053 21.75 16.4807 21.75 17.3451 21.6794C18.2252 21.6075 18.9523 21.4586 19.6104 21.1233C20.6924 20.572 21.572 19.6924 22.1233 18.6104C22.4586 17.9523 22.6075 17.2252 22.6794 16.3451C22.75 15.4807 22.75 14.4053 22.75 13.0336V13.0336V13V11V10.9664V10.9664C22.75 9.59469 22.75 8.51927 22.6794 7.65494C22.6075 6.77479 22.4586 6.04769 22.1233 5.38955C21.572 4.30762 20.6924 3.42798 19.6104 2.87671C18.9523 2.54138 18.2252 2.39252 17.3451 2.32061C16.4807 2.24999 15.4053 2.25 14.0336 2.25H14H10ZM5.07054 4.21322C5.48197 4.00359 5.9897 3.87996 6.77708 3.81563C7.57322 3.75058 8.58749 3.75 10 3.75H14C15.4125 3.75 16.4268 3.75058 17.2229 3.81563C18.0103 3.87996 18.518 4.00359 18.9295 4.21322C19.7291 4.62068 20.3793 5.27085 20.7868 6.07054C20.9964 6.48197 21.12 6.9897 21.1844 7.77708C21.2494 8.57322 21.25 9.58749 21.25 11V13C21.25 14.4125 21.2494 15.4268 21.1844 16.2229C21.12 17.0103 20.9964 17.518 20.7868 17.9295C20.3793 18.7291 19.7291 19.3793 18.9295 19.7868C18.518 19.9964 18.0103 20.12 17.2229 20.1844C16.4268 20.2494 15.4125 20.25 14 20.25H10C8.58749 20.25 7.57322 20.2494 6.77708 20.1844C5.9897 20.12 5.48197 19.9964 5.07054 19.7868C4.27085 19.3793 3.62068 18.7291 3.21322 17.9295C3.00359 17.518 2.87996 17.0103 2.81563 16.2229C2.75058 15.4268 2.75 14.4125 2.75 13V11C2.75 9.58749 2.75058 8.57322 2.81563 7.77708C2.87996 6.9897 3.00359 6.48197 3.21322 6.07054C3.62068 5.27085 4.27085 4.62068 5.07054 4.21322ZM6.41603 7.37596C6.07138 7.1462 5.60573 7.23933 5.37596 7.58397C5.1462 7.92862 5.23933 8.39427 5.58398 8.62404L6.58398 9.2907L6.70034 9.36829L6.70035 9.3683C8.19864 10.3674 9.09026 10.9619 10.0527 11.2519C11.3227 11.6346 12.6773 11.6346 13.9473 11.2519C14.9097 10.9619 15.8014 10.3674 17.2997 9.36829L17.416 9.2907L18.416 8.62404C18.7607 8.39427 18.8538 7.92862 18.624 7.58397C18.3943 7.23933 17.9286 7.1462 17.584 7.37596L16.584 8.04263C14.9337 9.14281 14.2367 9.59812 13.5145 9.81569C12.5268 10.1133 11.4732 10.1133 10.4855 9.81569C9.76334 9.59812 9.0663 9.14281 7.41603 8.04263L6.41603 7.37596Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmail);\nexport default \"/Frontend/static/media/email.97b527ffc3b3fa125863c6835732ef9c.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgPhone(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M18.9522 15.7381L19.6605 15.9151C20.4461 16.1115 20.8389 16.2097 21.1388 16.4174C21.4725 16.6486 21.7279 16.9757 21.8712 17.3555C22 17.6968 22 18.0916 22 18.8811C22 19.8953 22 20.4024 21.7915 20.8225C21.5771 21.2546 21.1194 21.6595 20.6644 21.8198C20.2221 21.9756 19.7876 21.9223 18.9186 21.8158C15.8039 21.4338 13.0221 20.467 10.6579 19C8.23342 17.4956 6.24802 15.4652 4.79292 13C3.44179 10.7109 2.54788 8.04699 2.18421 5.08119C2.07767 4.21233 2.02441 3.77791 2.18022 3.33555C2.34048 2.88055 2.74541 2.42294 3.17752 2.20849C3.59762 2 4.09459 2 5.08854 2C5.89832 2 6.30321 2 6.6445 2.12877C7.02426 2.27206 7.35144 2.52752 7.58256 2.86119C7.79026 3.16105 7.88846 3.55385 8.08486 4.33945L8.08486 4.33946L8.20715 4.82862L8.20716 4.82863C8.49761 5.99044 8.64284 6.57135 8.62096 7.14144C8.60158 7.64628 8.48674 8.14289 8.28251 8.60499C8.05189 9.1268 7.66637 9.58498 6.89534 10.5013L4.79292 13C6.24802 15.4652 8.23342 17.4956 10.6579 19L13.5641 16.8239L13.5641 16.8239C14.459 16.1539 14.9064 15.8188 15.4047 15.6219C15.8462 15.4474 16.3151 15.3529 16.7897 15.3428C17.3254 15.3313 17.8677 15.4669 18.9522 15.7381Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.37971 2.83051C6.19768 2.76182 5.96102 2.75002 5.08852 2.75002C4.57881 2.75002 4.24376 2.75067 3.98252 2.77329C3.73485 2.79473 3.60708 2.8326 3.51091 2.88033C3.25373 3.00796 2.98298 3.31394 2.8876 3.58474C2.80285 3.82536 2.81457 4.05978 2.92862 4.98994C3.23168 7.46146 3.91348 9.70501 4.92295 11.6806L6.32144 10.0185C7.1211 9.06811 7.4193 8.70278 7.5965 8.30183C7.76244 7.92638 7.85575 7.52288 7.87149 7.1127C7.8883 6.67466 7.78077 6.2155 7.47953 5.01054L7.35724 4.52138C7.14563 3.67494 7.07679 3.44821 6.966 3.28827C6.82155 3.07972 6.61706 2.92006 6.37971 2.83051ZM5.71436 13.0698L7.4692 10.9842C7.49432 10.9544 7.51914 10.9249 7.54365 10.8958C8.2434 10.0645 8.69406 9.52912 8.96848 8.9082C9.21101 8.35945 9.34738 7.76973 9.37039 7.17022C9.39642 6.49186 9.22656 5.81299 8.9628 4.75891C8.95356 4.72198 8.94421 4.6846 8.93474 4.64674L8.81245 4.15758C8.80226 4.11682 8.79224 4.07658 8.78235 4.03686C8.61635 3.37033 8.48657 2.84921 8.19909 2.43416C7.8813 1.97536 7.43143 1.62411 6.90925 1.42708C6.43687 1.24885 5.89983 1.24933 5.21294 1.24995C5.17201 1.24999 5.13054 1.25002 5.08852 1.25002L5.05801 1.25002C4.58702 1.25001 4.1867 1.25 3.85313 1.27888C3.4988 1.30956 3.16802 1.37593 2.84409 1.5367C2.23704 1.83797 1.69795 2.4472 1.4728 3.0864C1.25741 3.6979 1.33197 4.30068 1.42481 5.05118C1.42976 5.09119 1.43476 5.13162 1.43977 5.1725C1.81498 8.23244 2.73938 10.9965 4.14702 13.3813C5.66356 15.9506 7.73479 18.0689 10.2624 19.6373C12.7265 21.1663 15.6136 22.1661 18.8273 22.5602C18.8682 22.5652 18.9086 22.5702 18.9486 22.5752C19.6992 22.668 20.3021 22.7426 20.9136 22.5272C21.5528 22.3021 22.162 21.763 22.4633 21.1559C22.6248 20.8304 22.6908 20.496 22.7212 20.1383C22.75 19.8002 22.75 19.3928 22.75 18.9115V18.8812C22.75 18.8407 22.75 18.8008 22.7501 18.7613C22.7507 18.0899 22.7511 17.5631 22.5729 17.0908C22.3759 16.5686 22.0246 16.1187 21.5658 15.8009C21.1508 15.5134 20.6297 15.3837 19.9631 15.2177C19.9234 15.2078 19.8832 15.1977 19.8424 15.1876L19.1341 15.0105C19.0989 15.0017 19.0642 14.993 19.0298 14.9844C18.0453 14.7381 17.4111 14.5794 16.7737 14.593C16.2101 14.605 15.6532 14.7172 15.129 14.9244C14.5361 15.1588 14.0128 15.5507 13.2006 16.1591C13.1723 16.1804 13.1436 16.2019 13.1145 16.2236L10.6247 18.0879C8.64357 16.7757 6.98811 15.0845 5.71436 13.0698ZM12.0174 18.919C14.0654 20.0156 16.4117 20.7527 19.0099 21.0714C19.9402 21.1854 20.1746 21.1972 20.4153 21.1124C20.6861 21.017 20.992 20.7463 21.1197 20.4891C21.1666 20.3945 21.205 20.2653 21.2266 20.011C21.2494 19.7441 21.25 19.4009 21.25 18.8812C21.25 18.0311 21.2384 17.8028 21.1695 17.6203C21.0799 17.3829 20.9203 17.1785 20.7117 17.034C20.5518 16.9232 20.3251 16.8544 19.4786 16.6428L18.7703 16.4657C17.6457 16.1845 17.2174 16.0838 16.8057 16.0926C16.4201 16.1008 16.039 16.1776 15.6804 16.3194C15.2974 16.4708 14.9415 16.7295 14.0136 17.4243L12.0174 18.919Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgPhone);\nexport default \"/Frontend/static/media/phone.09e3e7f374c613951fcf154b48aae40f.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport { RichText } from '../../blocks/rich-text/rich-text'\nimport { ReactComponent as Logo } from 'assets/logo/bvf-logo.svg'\nimport { ReactComponent as FacebookIcon } from 'assets/icons/facebook.svg'\nimport { ReactComponent as InstagramIcon } from 'assets/icons/instagram.svg'\nimport { ReactComponent as TwitterIcon } from 'assets/icons/twitter.svg'\nimport { ReactComponent as LinkedInIcon } from 'assets/icons/linkedin.svg'\nimport { ReactComponent as EmailIcon } from 'assets/icons/email.svg'\nimport { ReactComponent as PhoneIcon } from 'assets/icons/phone.svg'\nimport './_footer.scss'\nimport { Link } from 'types'\n\ninterface FooterProps {\n logo: {\n ariaLabel: string\n url: string\n }\n\n address: {\n title: string\n line1?: string\n line2?: string\n postalCode?: string\n }\n\n linkList?: {\n title: string\n links: Link[]\n }\n\n contact: {\n emailText: string\n emailUrl: string\n phoneText: string\n phoneUrl: string\n }\n\n editors: {\n label: string\n text: string\n url: string\n }[]\n\n socialMediaLinks: {\n icon?: 'facebook' | 'instagram' | 'twitter' | 'linkedin'\n url: string\n ariaLabel: string\n }[]\n\n infoText: string\n}\n\nexport const Footer = ({\n logo,\n address,\n linkList: links,\n contact,\n editors,\n socialMediaLinks,\n infoText,\n}: FooterProps) => (\n \n)\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgFire(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M4 14C4 18.5455 7.5 22 12 22C16.5 22 20 18.5455 20 14C20 5.81818 12 2 12 2C12 6 13 12 10 12C8 12 7.5 10 7.5 6.5C7.5 6.5 4 9.45455 4 14Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.323 1.32314L12 2C12.323 1.32314 12.3234 1.32329 12.3237 1.32345L12.3245 1.32384L12.3267 1.3249L12.3333 1.32808L12.355 1.33872C12.3732 1.3477 12.3988 1.3605 12.4313 1.37712C12.4963 1.41036 12.589 1.45893 12.7054 1.52297C12.938 1.65101 13.2661 1.84125 13.6577 2.09495C14.4398 2.60151 15.4826 3.36563 16.5273 4.39847C18.6151 6.46256 20.75 9.64303 20.75 14C20.75 18.9625 16.9114 22.75 12 22.75C7.08859 22.75 3.25 18.9625 3.25 14C3.25 11.5317 4.19985 9.51259 5.1268 8.12818C5.59171 7.43383 6.05669 6.89016 6.40743 6.51816C6.58308 6.33187 6.73088 6.18778 6.83682 6.08852C6.88982 6.03887 6.93241 6.00036 6.96287 5.97333C6.9781 5.95982 6.99031 5.94916 6.99927 5.94141L7.01025 5.93196L7.01387 5.92888L7.0152 5.92775L7.01575 5.92729C7.01599 5.92709 7.01621 5.9269 7.5 6.5L7.01621 5.9269C7.23924 5.73862 7.55125 5.69684 7.81596 5.8198C8.08067 5.94276 8.25 6.20813 8.25 6.5C8.25 8.24691 8.3798 9.49256 8.69636 10.284C8.8486 10.6646 9.02629 10.893 9.21101 11.0294C9.38865 11.1605 9.63134 11.25 10 11.25C10.2432 11.25 10.4086 11.1915 10.5334 11.1089C10.6637 11.0227 10.7937 10.8807 10.9141 10.6514C11.1661 10.1714 11.3156 9.42754 11.3765 8.45322C11.4363 7.496 11.4069 6.40561 11.36 5.28122C11.3502 5.04485 11.3395 4.80652 11.3289 4.56793C11.2895 3.68732 11.25 2.8031 11.25 2C11.25 1.74251 11.3821 1.50303 11.5999 1.36566C11.8176 1.22828 12.0907 1.21223 12.323 1.32314ZM6.81064 8.35487C6.66807 8.53958 6.52064 8.74253 6.3732 8.96273C5.55015 10.192 4.75 11.9228 4.75 14C4.75 18.1284 7.91141 21.25 12 21.25C16.0886 21.25 19.25 18.1284 19.25 14C19.25 10.1752 17.3849 7.35562 15.4727 5.46517C14.5174 4.52073 13.5602 3.81894 12.8423 3.35392C12.8205 3.33981 12.7989 3.32592 12.7776 3.31225C12.7913 3.69186 12.8087 4.08244 12.8265 4.48054C12.8374 4.72406 12.8484 4.9704 12.8587 5.21878C12.9056 6.34439 12.9387 7.504 12.8735 8.54679C12.8094 9.57246 12.6464 10.5786 12.2422 11.3486C12.0344 11.7443 11.7503 12.1023 11.3611 12.3599C10.9664 12.621 10.5068 12.75 10 12.75C9.36866 12.75 8.79885 12.5895 8.32024 12.2362C7.84871 11.8882 7.5264 11.3979 7.30364 10.841C7.03243 10.163 6.88386 9.32024 6.81064 8.35487Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFire);\nexport default \"/Frontend/static/media/fire.df00a99e38df58162f3eabbff2093a4d.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgCheckCircle(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.12,\n cx: 12,\n cy: 12,\n r: 10,\n fill: \"currentColor\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.75 12C2.75 6.89137 6.89137 2.75 12 2.75C17.1086 2.75 21.25 6.89137 21.25 12C21.25 17.1086 17.1086 21.25 12 21.25C6.89137 21.25 2.75 17.1086 2.75 12ZM12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM17.0303 10.0303C17.3232 9.73744 17.3232 9.26256 17.0303 8.96967C16.7374 8.67678 16.2626 8.67678 15.9697 8.96967L11 13.9393L9.03033 11.9697C8.73744 11.6768 8.26256 11.6768 7.96967 11.9697C7.67678 12.2626 7.67678 12.7374 7.96967 13.0303L10.4697 15.5303C10.6103 15.671 10.8011 15.75 11 15.75C11.1989 15.75 11.3897 15.671 11.5303 15.5303L17.0303 10.0303Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckCircle);\nexport default \"/Frontend/static/media/check-circle.a3b8cb0083de09298f3d512d918ddbe1.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgNewspaper(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M2 2V15.6C2 17.8402 2 18.9603 2.43597 19.816C2.81947 20.5686 3.43139 21.1805 4.18404 21.564C5.03969 22 6.15979 22 8.4 22H18V12V2L15.2874 3.20562L15.2873 3.20562C14.6759 3.47739 14.3701 3.61328 14.0607 3.64727C13.7214 3.68455 13.3782 3.63437 13.0638 3.50149C12.777 3.38032 12.523 3.16258 12.0149 2.7271C11.3403 2.14881 11.0029 1.85966 10.6296 1.73584C10.2208 1.60026 9.77918 1.60026 9.3704 1.73584C8.99706 1.85966 8.65972 2.14881 7.98505 2.7271L7.98505 2.7271C7.47699 3.16258 7.22295 3.38032 6.93623 3.50149C6.6218 3.63437 6.2786 3.68455 5.93929 3.64727C5.62988 3.61328 5.32414 3.47739 4.71265 3.20562L2 2Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.1343 1.02409C9.69638 0.837672 10.3036 0.837672 10.8657 1.02409C11.1583 1.12113 11.4089 1.27504 11.6567 1.45922C11.8931 1.63494 12.1628 1.86617 12.4839 2.14134L12.4839 2.14135L12.503 2.15778C13.0495 2.62617 13.2022 2.74591 13.3557 2.81077C13.5522 2.89381 13.7667 2.92518 13.9788 2.90188C14.1444 2.88368 14.325 2.8127 14.9828 2.52038L17.6954 1.31476C17.9274 1.21165 18.1958 1.23291 18.4087 1.37125C18.6216 1.5096 18.75 1.74624 18.75 2.00012V11.2501H18.8H18.8304C19.3646 11.2501 19.8104 11.2501 20.1747 11.2799C20.5546 11.3109 20.9112 11.378 21.2485 11.5499C21.7659 11.8135 22.1866 12.2342 22.4503 12.7516C22.6221 13.0889 22.6892 13.4456 22.7203 13.8255C22.75 14.1897 22.75 14.6355 22.75 15.1697V15.2001V20.0001C22.75 21.5189 21.5188 22.7501 20 22.7501H8.4H8.36698C7.27484 22.7501 6.40935 22.7501 5.71173 22.6931C4.99835 22.6348 4.39472 22.5132 3.84355 22.2324C2.94978 21.777 2.22312 21.0503 1.76772 20.1566C1.48688 19.6054 1.36527 19.0018 1.30699 18.2884C1.24999 17.5908 1.24999 16.7253 1.25 15.6331V15.6331V15.6001V2.00012C1.25 1.74624 1.37844 1.5096 1.59132 1.37125C1.80419 1.23291 2.07261 1.21165 2.3046 1.31476L5.01725 2.52038C5.67495 2.8127 5.85557 2.88368 6.0212 2.90188C6.23327 2.92518 6.44777 2.89381 6.64429 2.81077C6.79777 2.74591 6.9505 2.62617 7.49696 2.15778L7.5161 2.14137C7.83714 1.86618 8.1069 1.63495 8.34333 1.45922C8.59113 1.27504 8.84172 1.12113 9.1343 1.02409ZM20 21.2501C20.6904 21.2501 21.25 20.6905 21.25 20.0001V15.2001C21.25 14.6277 21.2494 14.2435 21.2252 13.9476C21.2018 13.6605 21.1599 13.5232 21.1138 13.4326C20.9939 13.1974 20.8027 13.0062 20.5675 12.8864C20.4769 12.8402 20.3396 12.7983 20.0525 12.7749C19.7566 12.7507 19.3724 12.7501 18.8 12.7501H18.75V20.0001C18.75 20.6905 19.3096 21.2501 20 21.2501ZM17.5499 21.2501H8.4C7.26752 21.2501 6.46327 21.2495 5.83388 21.1981C5.21325 21.1474 4.829 21.051 4.52453 20.8959C3.913 20.5843 3.41582 20.0871 3.10423 19.4756C2.94909 19.1711 2.85271 18.7869 2.80201 18.1662C2.75058 17.5369 2.75 16.7326 2.75 15.6001V3.15419L4.40804 3.8911L4.50051 3.93225C5.02099 4.16406 5.42922 4.34587 5.85739 4.39291C6.32394 4.44417 6.79584 4.37516 7.22818 4.19246C7.62494 4.02479 7.96403 3.73369 8.39634 3.36257L8.47315 3.29666C8.81834 3.00078 9.04856 2.804 9.23813 2.66311C9.421 2.52719 9.52574 2.47461 9.6065 2.44783C9.86199 2.36309 10.138 2.36309 10.3935 2.44783C10.4743 2.47461 10.579 2.52719 10.7619 2.66311C10.9514 2.804 11.1817 3.00078 11.5269 3.29666L11.6037 3.36257C12.036 3.73369 12.3751 4.02479 12.7718 4.19246C13.2042 4.37516 13.6761 4.44417 14.1426 4.39291C14.5708 4.34587 14.979 4.16406 15.4995 3.93226L15.592 3.8911L17.25 3.15419V12.0001V20.0001C17.25 20.4502 17.3581 20.8751 17.5499 21.2501ZM6.25 9.00012C6.25 8.58591 6.58579 8.25012 7 8.25012H11C11.4142 8.25012 11.75 8.58591 11.75 9.00012C11.75 9.41434 11.4142 9.75012 11 9.75012H7C6.58579 9.75012 6.25 9.41434 6.25 9.00012ZM6.25 13.0001C6.25 12.5859 6.58579 12.2501 7 12.2501H13C13.4142 12.2501 13.75 12.5859 13.75 13.0001C13.75 13.4143 13.4142 13.7501 13 13.7501H7C6.58579 13.7501 6.25 13.4143 6.25 13.0001ZM7 16.2501C6.58579 16.2501 6.25 16.5859 6.25 17.0001C6.25 17.4143 6.58579 17.7501 7 17.7501H13C13.4142 17.7501 13.75 17.4143 13.75 17.0001C13.75 16.5859 13.4142 16.2501 13 16.2501H7Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgNewspaper);\nexport default \"/Frontend/static/media/newspaper.ce04047312180837c4accaeb8ae88758.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgHome(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.5 9.49988L20.029 16.8551C19.6624 18.6877 19.4792 19.6041 19.0007 20.2895C18.5788 20.8939 17.9981 21.37 17.3226 21.6652C16.5567 21.9999 15.6222 21.9999 13.7533 21.9999H10.2467C8.3778 21.9999 7.44332 21.9999 6.67737 21.6652C6.00194 21.37 5.42121 20.8939 4.99929 20.2895C4.52083 19.6041 4.33756 18.6877 3.97103 16.8551L2.5 9.49988L7.47452 4.52537C9.05858 2.9413 9.85062 2.14927 10.7639 1.85251C11.5673 1.59148 12.4327 1.59148 13.2361 1.85251C14.1494 2.14927 14.9414 2.9413 16.5255 4.52537L21.5 9.49988ZM12 14.9999C13.6569 14.9999 15 13.6567 15 11.9999C15 10.343 13.6569 8.99988 12 8.99988C10.3431 8.99988 9 10.343 9 11.9999C9 13.6567 10.3431 14.9999 12 14.9999Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.0043 2.5658C12.3516 2.35372 11.6484 2.35372 10.9957 2.5658C10.6707 2.6714 10.3308 2.87496 9.85614 3.27795C9.37474 3.68663 8.80563 4.25491 8.00485 5.0557L3.31415 9.74639L4.70647 16.708C4.8919 17.6352 5.02346 18.2905 5.1657 18.8013C5.3054 19.303 5.44239 19.614 5.61427 19.8602C5.95708 20.3513 6.42893 20.7381 6.97772 20.978C7.25287 21.0982 7.58468 21.1716 8.10402 21.2102C8.6328 21.2495 9.30122 21.2499 10.2467 21.2499H13.7533C14.6988 21.2499 15.3672 21.2495 15.896 21.2102C16.4153 21.1716 16.7471 21.0982 17.0223 20.978C17.5711 20.7381 18.0429 20.3513 18.3857 19.8602C18.5576 19.614 18.6946 19.303 18.8343 18.8013C18.9765 18.2905 19.1081 17.6352 19.2935 16.708L20.6858 9.74639L15.9952 5.0557C15.1944 4.25491 14.6253 3.68663 14.1439 3.27795C13.6692 2.87496 13.3293 2.6714 13.0043 2.5658ZM0.46967 10.4696L1.96241 8.97681C1.9675 8.97158 1.97266 8.96641 1.9779 8.96132L6.94419 3.99504L6.96753 3.9717C7.73978 3.19943 8.35178 2.58743 8.88537 2.13444C9.43103 1.67121 9.94385 1.33038 10.5322 1.13922C11.4862 0.829244 12.5138 0.829244 13.4678 1.13922C14.0562 1.33038 14.569 1.67121 15.1146 2.13444C15.6482 2.58741 16.2602 3.19937 17.0324 3.97158L17.0324 3.97162L17.0325 3.9717L17.0558 3.99504L22.0221 8.96131C22.0248 8.96392 22.0274 8.96655 22.0301 8.9692C22.0326 8.97172 22.0351 8.97427 22.0376 8.97683L23.5303 10.4696C23.8232 10.7624 23.8232 11.2373 23.5303 11.5302C23.2374 11.8231 22.7626 11.8231 22.4697 11.5302L21.9606 11.0211L20.7644 17.0022L20.7587 17.0309L20.7587 17.0309L20.7586 17.0311C20.5802 17.923 20.4383 18.633 20.2793 19.2037C20.1161 19.7897 19.9223 20.2796 19.6157 20.7188C19.1147 21.4365 18.4251 22.0019 17.623 22.3524C17.1322 22.5669 16.6138 22.661 16.0072 22.706C15.4163 22.75 14.6922 22.75 13.7826 22.7499H13.7533H10.2467H10.2174C9.30779 22.75 8.5837 22.75 7.99284 22.706C7.38622 22.661 6.86782 22.5669 6.37703 22.3524C5.57495 22.0019 4.88533 21.4365 4.3843 20.7188C4.07772 20.2796 3.88385 19.7897 3.72068 19.2037C3.56174 18.6329 3.41973 17.9229 3.24134 17.0309L3.2356 17.0022L2.0394 11.0211L1.53033 11.5302C1.23744 11.8231 0.762563 11.8231 0.46967 11.5302C0.176777 11.2373 0.176777 10.7624 0.46967 10.4696ZM9.75 11.9999C9.75 10.7572 10.7574 9.74988 12 9.74988C13.2426 9.74988 14.25 10.7572 14.25 11.9999C14.25 13.2425 13.2426 14.2499 12 14.2499C10.7574 14.2499 9.75 13.2425 9.75 11.9999ZM12 8.24988C9.92893 8.24988 8.25 9.92882 8.25 11.9999C8.25 14.071 9.92893 15.7499 12 15.7499C14.0711 15.7499 15.75 14.071 15.75 11.9999C15.75 9.92882 14.0711 8.24988 12 8.24988Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHome);\nexport default \"/Frontend/static/media/home.a39e7700fab44cb7fa3ad57b6fb3d5da.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgCalendar(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n opacity: 0.12,\n x: 2,\n y: 2,\n width: 20,\n height: 20,\n rx: 6,\n fill: \"currentColor\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.75 1C8.75 0.585786 8.41421 0.25 8 0.25C7.58579 0.25 7.25 0.585786 7.25 1V1.36694C6.35977 1.46238 5.61404 1.64 4.93556 1.98571C3.66547 2.63285 2.63285 3.66547 1.98571 4.93556C1.59588 5.70065 1.41977 6.55124 1.33424 7.59814C1.24999 8.62922 1.25 9.91462 1.25 11.566V11.5661V11.6V12.4V12.4339V12.434C1.25 14.0854 1.24999 15.3708 1.33424 16.4019C1.41977 17.4488 1.59588 18.2994 1.98571 19.0644C2.63285 20.3345 3.66547 21.3671 4.93556 22.0143C5.70065 22.4041 6.55124 22.5802 7.59814 22.6658C8.62912 22.75 9.91437 22.75 11.5656 22.75H11.5657H11.5657H11.5657H11.5658H11.5658H11.5659H11.5659H11.566H11.566H11.6H12.4H12.434H12.434H12.4341H12.4341H12.4342H12.4342H12.4343H12.4343H12.4343H12.4344C14.0856 22.75 15.3709 22.75 16.4019 22.6658C17.4488 22.5802 18.2994 22.4041 19.0644 22.0143C20.3345 21.3671 21.3671 20.3345 22.0143 19.0644C22.4041 18.2994 22.5802 17.4488 22.6658 16.4019C22.75 15.3709 22.75 14.0856 22.75 12.4344V12.4343V12.4343V12.4343V12.4342V12.4342V12.4341V12.4341V12.434V12.434V12.4V11.6V11.566V11.566V11.5659V11.5659V11.5658V11.5658V11.5657V11.5657V11.5657V11.5656C22.75 9.91437 22.75 8.62912 22.6658 7.59814C22.5802 6.55124 22.4041 5.70065 22.0143 4.93556C21.3671 3.66547 20.3345 2.63285 19.0644 1.98571C18.386 1.64 17.6402 1.46238 16.75 1.36694V1C16.75 0.585786 16.4142 0.25 16 0.25C15.5858 0.25 15.25 0.585786 15.25 1V1.27399C14.4486 1.25 13.5205 1.25 12.434 1.25H12.4339H12.4H11.6H11.5661H11.566C10.4795 1.25 9.55145 1.25 8.75 1.27399V1ZM15.25 4V2.7746C14.4708 2.75027 13.542 2.75 12.4 2.75H11.6C10.458 2.75 9.52919 2.75027 8.75 2.7746V4C8.75 4.41421 8.41421 4.75 8 4.75C7.58579 4.75 7.25 4.41421 7.25 4V2.87684C6.54969 2.9632 6.04464 3.10409 5.61655 3.32222C4.6287 3.82555 3.82555 4.6287 3.32222 5.61655C3.05809 6.13493 2.90721 6.76615 2.82925 7.72029C2.75058 8.68317 2.75 9.90747 2.75 11.6V12.4C2.75 14.0925 2.75058 15.3168 2.82925 16.2797C2.90721 17.2338 3.05809 17.8651 3.32222 18.3834C3.82555 19.3713 4.6287 20.1744 5.61655 20.6778C6.13493 20.9419 6.76615 21.0928 7.72029 21.1707C8.68317 21.2494 9.90747 21.25 11.6 21.25H12.4C14.0925 21.25 15.3168 21.2494 16.2797 21.1707C17.2338 21.0928 17.8651 20.9419 18.3834 20.6778C19.3713 20.1744 20.1744 19.3713 20.6778 18.3834C20.9419 17.8651 21.0928 17.2338 21.1707 16.2797C21.2494 15.3168 21.25 14.0925 21.25 12.4V11.6C21.25 9.90747 21.2494 8.68317 21.1707 7.72029C21.0928 6.76615 20.9419 6.13493 20.6778 5.61655C20.1744 4.6287 19.3713 3.82555 18.3834 3.32222C17.9554 3.10409 17.4503 2.9632 16.75 2.87684V4C16.75 4.41421 16.4142 4.75 16 4.75C15.5858 4.75 15.25 4.41421 15.25 4ZM7 7.25C6.58579 7.25 6.25 7.58579 6.25 8C6.25 8.41421 6.58579 8.75 7 8.75H17C17.4142 8.75 17.75 8.41421 17.75 8C17.75 7.58579 17.4142 7.25 17 7.25H7ZM9 13C9 13.5523 8.55228 14 8 14C7.44772 14 7 13.5523 7 13C7 12.4477 7.44772 12 8 12C8.55228 12 9 12.4477 9 13ZM8 18C8.55228 18 9 17.5523 9 17C9 16.4477 8.55228 16 8 16C7.44772 16 7 16.4477 7 17C7 17.5523 7.44772 18 8 18ZM13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17ZM16 18C16.5523 18 17 17.5523 17 17C17 16.4477 16.5523 16 16 16C15.4477 16 15 16.4477 15 17C15 17.5523 15.4477 18 16 18ZM13 13C13 13.5523 12.5523 14 12 14C11.4477 14 11 13.5523 11 13C11 12.4477 11.4477 12 12 12C12.5523 12 13 12.4477 13 13ZM16 14C16.5523 14 17 13.5523 17 13C17 12.4477 16.5523 12 16 12C15.4477 12 15 12.4477 15 13C15 13.5523 15.4477 14 16 14Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendar);\nexport default \"/Frontend/static/media/calendar.28fdf05658d2e265f5930a58aeda01dc.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArrowRight(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 11\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.63633 0.886421C6.92923 0.593526 7.4041 0.593524 7.69699 0.886415L11.7803 4.96971C11.921 5.11036 12 5.30113 12 5.50004C12 5.69895 11.921 5.88972 11.7803 6.03037L7.697 10.1137C7.4041 10.4066 6.92923 10.4066 6.63634 10.1137C6.34344 9.82081 6.34344 9.34594 6.63634 9.05304L9.43934 6.25004H0.75C0.335786 6.25004 0 5.91425 0 5.50004C0 5.08583 0.335786 4.75004 0.75 4.75004H9.43933L6.63634 1.94708C6.34344 1.65419 6.34344 1.17932 6.63633 0.886421Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default \"/Frontend/static/media/arrow-right.96618b97adbed30bd3bc419089864a17.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgShoppingcart(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.2816 10.7241L20.454 10.1494L20.454 10.1494C21.1614 7.79131 21.5151 6.61228 20.9153 5.80614C20.3155 5 19.0846 5 16.6227 5H4.92188L6.69557 10.7645C7.32364 12.8057 7.63767 13.8263 8.43222 14.4132C9.22676 15 10.2946 15 12.4302 15H14.5346C16.6851 15 17.7603 15 18.5575 14.4069C19.3547 13.8138 19.6636 12.7839 20.2816 10.7241Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.49998 2.75H1.50006H1.50008C1.78477 2.75001 1.88362 2.75062 1.96778 2.75751C2.81868 2.82714 3.55687 3.37236 3.87365 4.16517C3.90498 4.24359 3.93463 4.3379 4.01838 4.61007L5.97994 10.9851L5.99316 11.0281L5.99317 11.0281C6.29595 12.0122 6.54213 12.8123 6.81597 13.4359C7.10167 14.0864 7.44679 14.6169 7.98784 15.0165C8.52889 15.4161 9.13745 15.59 9.84321 15.6717C10.5197 15.7501 11.3569 15.7501 12.3865 15.7501H12.4314H14.5358H14.581C15.6178 15.7501 16.4607 15.7501 17.1414 15.6709C17.8515 15.5883 18.4635 15.4126 19.0064 15.0087C19.5493 14.6047 19.8934 14.069 20.1766 13.4126C20.4481 12.7834 20.6902 11.9761 20.9881 10.983L21.0011 10.9397L21.1736 10.365L21.1909 10.3072L21.1909 10.3071C21.5299 9.17732 21.8081 8.24989 21.918 7.50536C22.0325 6.72981 21.9907 5.9935 21.5182 5.3585C21.0458 4.7235 20.3525 4.4719 19.5768 4.35869C18.8321 4.25 17.8638 4.25003 16.6842 4.25006L16.6239 4.25006H5.5C5.49234 4.25006 5.48471 4.25017 5.47711 4.2504L5.45205 4.16894L5.44241 4.13762L5.44241 4.13759C5.37194 3.90848 5.32359 3.75131 5.26657 3.6086C4.73861 2.28726 3.50829 1.37856 2.09012 1.2625C1.93696 1.24997 1.77253 1.24998 1.53283 1.25H1.53278L1.50002 1.25L1.5 2L1.49992 1.25L0.99992 1.25006C0.585706 1.2501 0.249956 1.58592 0.25 2.00014C0.250044 2.41435 0.585867 2.7501 1.00008 2.75006L1.49998 2.75ZM7.41361 10.544L5.93855 5.75006H16.6239C17.8788 5.75006 18.7367 5.75196 19.3602 5.84296C19.9654 5.93128 20.1875 6.08276 20.3148 6.25389C20.4421 6.42503 20.5234 6.68131 20.4341 7.28634C20.3421 7.90971 20.0974 8.7319 19.7368 9.93394L19.5644 10.5086C19.2504 11.5554 19.0322 12.2787 18.7993 12.8185C18.5742 13.3402 18.3653 13.616 18.111 13.8052C17.8567 13.9944 17.5325 14.1153 16.9681 14.1809C16.3841 14.2489 15.6287 14.2501 14.5358 14.2501H12.4314C11.346 14.2501 10.596 14.2489 10.0158 14.1817C9.45511 14.1167 9.13249 13.9972 8.87899 13.8099C8.6255 13.6227 8.41633 13.3495 8.18936 12.8327C7.95451 12.298 7.73281 11.5814 7.41361 10.544ZM10.0001 18.7503C9.30972 18.7503 8.75008 19.31 8.75008 20.0003C8.75008 20.6907 9.30972 21.2503 10.0001 21.2503C10.6904 21.2503 11.2501 20.6907 11.2501 20.0003C11.2501 19.31 10.6904 18.7503 10.0001 18.7503ZM7.25008 20.0003C7.25008 18.4815 8.4813 17.2503 10.0001 17.2503C11.5189 17.2503 12.7501 18.4815 12.7501 20.0003C12.7501 21.5191 11.5189 22.7503 10.0001 22.7503C8.4813 22.7503 7.25008 21.5191 7.25008 20.0003ZM18 18.7503C17.3096 18.7503 16.75 19.31 16.75 20.0003C16.75 20.6907 17.3096 21.2503 18 21.2503C18.6904 21.2503 19.25 20.6907 19.25 20.0003C19.25 19.31 18.6904 18.7503 18 18.7503ZM15.25 20.0003C15.25 18.4815 16.4812 17.2503 18 17.2503C19.5188 17.2503 20.75 18.4815 20.75 20.0003C20.75 21.5191 19.5188 22.7503 18 22.7503C16.4812 22.7503 15.25 21.5191 15.25 20.0003Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgShoppingcart);\nexport default \"/Frontend/static/media/shoppingcart.13a0994694f80a7d4a8a94561d7bcccb.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgProfile(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.0001 11C14.2093 11 16.0001 9.20914 16.0001 7C16.0001 4.79086 14.2093 3 12.0001 3C9.79097 3 8.00011 4.79086 8.00011 7C8.00011 9.20914 9.79097 11 12.0001 11ZM9.00008 15H15.0001C17.2092 15 19.0001 16.7909 19.0001 19C19.0001 20.1046 18.1046 21 17.0001 21H7.00008C5.89551 21 5.00008 20.1046 5.00008 19C5.00008 16.7909 6.79094 15 9.00008 15Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.80578 6.99998C8.80578 5.23583 10.2359 3.80569 12.0001 3.80569C13.7642 3.80569 15.1944 5.23583 15.1944 6.99998C15.1944 8.76414 13.7642 10.1943 12.0001 10.1943C10.2359 10.1943 8.80578 8.76414 8.80578 6.99998ZM12.0001 2.19427C9.34595 2.19427 7.19436 4.34586 7.19436 6.99998C7.19436 9.6541 9.34595 11.8057 12.0001 11.8057C14.6542 11.8057 16.8058 9.6541 16.8058 6.99998C16.8058 4.34586 14.6542 2.19427 12.0001 2.19427ZM5.80574 19C5.80574 17.2358 7.23587 15.8057 9.00003 15.8057H15C16.7642 15.8057 18.1943 17.2358 18.1943 19C18.1943 19.6596 17.6596 20.1943 17 20.1943H7.00003C6.34044 20.1943 5.80574 19.6596 5.80574 19ZM9.00003 14.1943C6.34591 14.1943 4.19432 16.3459 4.19432 19C4.19432 20.5496 5.45048 21.8057 7.00003 21.8057H17C18.5496 21.8057 19.8057 20.5496 19.8057 19C19.8057 16.3459 17.6542 14.1943 15 14.1943H9.00003Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgProfile);\nexport default \"/Frontend/static/media/profile.acbfdcb463b0b2e63e4671be3f8e33f7.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgLogoWithoutIllustration(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 252,\n height: 25,\n viewBox: \"0 0 252 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8059 2.2955C12.9543 3.11627 13.5259 4.27737 13.5259 5.77879C13.5259 6.88984 13.2201 7.78569 12.6032 8.47134C11.9864 9.15198 11.1139 9.5974 9.98558 9.8026C11.3195 9.97276 12.3525 10.3982 13.0796 11.0838C13.8068 11.7695 14.1728 12.7254 14.1728 13.9515C14.1728 15.523 13.5711 16.7542 12.3776 17.655C11.1791 18.5509 9.48411 19.0013 7.2977 19.0013H0.136719V1.06934H6.96673C9.05284 1.06934 10.6726 1.47972 11.8159 2.3005L11.8059 2.2955ZM7.05699 8.44131C7.8794 8.44131 8.52129 8.24612 8.98264 7.85075C9.44399 7.46038 9.67466 6.92988 9.67466 6.26425C9.67466 5.59862 9.44399 5.06812 8.98264 4.67775C8.52129 4.28237 7.8794 4.08719 7.05699 4.08719H3.97797V8.44131H7.05699ZM7.31274 15.9484C8.23545 15.9484 8.95255 15.7532 9.45402 15.3579C9.9605 14.9675 10.2112 14.417 10.2112 13.7163C10.2112 13.0156 9.95548 12.4151 9.43897 12.0147C8.92246 11.6143 8.21538 11.4141 7.30772 11.4141H3.96794V15.9484H7.30772H7.31274Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.4632 9.11111H23.024C21.996 9.11111 21.2438 9.4164 20.7674 10.032C20.286 10.6476 20.0503 11.4834 20.0503 12.5444V19.0005H16.4297V5.83301H19.7143L20.0453 7.80487C20.4414 7.15426 20.9279 6.66379 21.5096 6.33348C22.0913 5.99816 22.8686 5.83301 23.8464 5.83301H24.4632V9.11111Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.6843 18.9963H36.8338C35.174 18.9963 34.3616 18.2806 34.3967 16.8443C33.9153 17.595 33.3286 18.1705 32.6265 18.5609C31.9244 18.9563 31.077 19.1515 30.0841 19.1515C28.6097 19.1515 27.4263 18.8161 26.5286 18.1405C25.631 17.4649 25.1797 16.514 25.1797 15.2828C25.1797 13.8815 25.6962 12.8004 26.7342 12.0447C27.7723 11.284 29.2717 10.9037 31.2374 10.9037H33.8551V10.263C33.8551 9.66748 33.6345 9.19204 33.1881 8.8417C32.7418 8.49137 32.1451 8.31621 31.3929 8.31621C30.7259 8.31621 30.1793 8.46134 29.7481 8.75162C29.3218 9.04189 29.0661 9.43226 28.9758 9.93274H25.4856C25.6059 8.58146 26.2027 7.53547 27.2808 6.79477C28.359 6.05407 29.7882 5.67871 31.5684 5.67871C33.3486 5.67871 34.8781 6.0891 35.8911 6.90988C36.909 7.73065 37.4205 8.91677 37.4205 10.4732V15.1076C37.4205 15.4329 37.4908 15.6531 37.6262 15.7733C37.7615 15.8934 37.9772 15.9534 38.268 15.9534H38.6792V19.0013L38.6843 18.9963ZM31.2124 13.3109C30.4602 13.3109 29.8734 13.4611 29.4522 13.7614C29.031 14.0616 28.8254 14.482 28.8254 15.0276C28.8254 15.488 29.0009 15.8533 29.3519 16.1286C29.7029 16.4039 30.1793 16.539 30.7761 16.539C31.7188 16.539 32.461 16.2687 33.0076 15.7332C33.5542 15.1977 33.835 14.472 33.8551 13.5662V13.3109H31.2124Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.9525 11.8495V18.9963H49.3319V12.0547C49.3319 9.78259 48.4393 8.64652 46.6641 8.64652C45.7213 8.64652 44.9942 8.96182 44.4827 9.59241C43.9712 10.223 43.7105 11.1139 43.7105 12.2549V18.9913H40.0898V5.83386H43.2491L43.5801 7.47541C44.0414 6.90987 44.5981 6.46946 45.25 6.15416C45.9019 5.83886 46.7042 5.67871 47.662 5.67871C49.2015 5.67871 50.4703 6.15416 51.4632 7.11507C52.4561 8.07097 52.9525 9.65247 52.9525 11.8546V11.8495Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.0971 11.8495V18.9963H64.4765V12.0547C64.4765 9.78259 63.5888 8.64652 61.8086 8.64652C60.8659 8.64652 60.1388 8.96182 59.6273 9.59241C59.1158 10.223 58.855 11.1139 58.855 12.2549V18.9913H55.2344V5.83386H58.3936L58.7246 7.47541C59.1859 6.90987 59.7426 6.46946 60.3945 6.15416C61.0464 5.83886 61.8488 5.67871 62.8066 5.67871C64.3461 5.67871 65.6148 6.15416 66.6077 7.11507C67.6006 8.07598 68.0971 9.65247 68.0971 11.8546V11.8495Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.5142 5.83301L75.6985 15.312L78.8277 5.83301H82.6238L77.8749 19.0005H73.3817L68.6328 5.83301H72.5092H72.5142Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.974 6.5095C86.9769 5.95397 88.1353 5.67871 89.4542 5.67871C90.773 5.67871 91.9665 5.93896 92.9845 6.45945C94.0025 6.97994 94.7998 7.71564 95.3715 8.66153C95.9432 9.60743 96.239 10.7235 96.2591 12.0047C96.2591 12.4651 96.224 12.8755 96.1538 13.2359H86.5808V13.341C86.666 14.2969 86.9769 15.0476 87.5035 15.5931C88.035 16.1386 88.7621 16.4139 89.6848 16.4139C90.422 16.4139 91.0338 16.2537 91.5202 15.9384C92.0066 15.6231 92.3276 15.1577 92.483 14.5421H96.0485C95.9131 15.4129 95.5771 16.1987 95.0456 16.8993C94.514 17.6 93.8119 18.1505 92.9394 18.5509C92.0668 18.9513 91.0639 19.1515 89.9356 19.1515C88.4613 19.1515 87.1925 18.8762 86.1244 18.3307C85.0563 17.7852 84.2339 17.0044 83.6622 15.9885C83.0905 14.9725 82.8047 13.7914 82.8047 12.4401C82.8047 11.0888 83.0805 9.88269 83.6371 8.86673C84.1938 7.85077 84.971 7.06502 85.974 6.5095ZM91.6456 9.02187C91.104 8.58646 90.427 8.37126 89.6046 8.37126C88.7822 8.37126 88.1554 8.59647 87.6138 9.0519C87.0722 9.50233 86.7563 10.1129 86.6509 10.8836H92.6335C92.5131 10.0829 92.1822 9.46229 91.6456 9.02688V9.02187Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.268 9.11111H104.829C103.801 9.11111 103.048 9.4164 102.572 10.032C102.091 10.6476 101.855 11.4834 101.855 12.5444V19.0005H98.2344V5.83301H101.519L101.85 7.80487C102.246 7.15426 102.733 6.66379 103.314 6.33348C103.896 5.99816 104.673 5.83301 105.651 5.83301H106.268V9.11111Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.742 11.8495V18.9963H117.121V12.0547C117.121 9.78259 116.233 8.64652 114.453 8.64652C113.51 8.64652 112.783 8.96182 112.272 9.59241C111.76 10.223 111.5 11.1139 111.5 12.2549V18.9913H107.879V5.83386H111.038L111.369 7.47541C111.83 6.90987 112.387 6.46946 113.039 6.15416C113.691 5.83886 114.493 5.67871 115.451 5.67871C116.991 5.67871 118.259 6.15416 119.252 7.11507C120.245 8.07097 120.742 9.65247 120.742 11.8546V11.8495Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.876 4.67787C123.876 3.51677 124.207 2.62593 124.879 2.00034C125.545 1.37975 126.538 1.06445 127.857 1.06445H130.811V4.13736H128.579C128.203 4.13736 127.927 4.22244 127.757 4.3926C127.586 4.56276 127.501 4.83802 127.501 5.21338V5.82896H130.811V8.87684H127.501V18.9964H123.881V8.87684H121.699V5.82896H123.881V4.67787H123.876Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M132.023 15.9473C131.451 14.9214 131.16 13.7452 131.16 12.414C131.16 11.0827 131.446 9.90161 132.023 8.88064C132.594 7.85467 133.407 7.06392 134.46 6.5134C135.513 5.95788 136.731 5.68262 138.116 5.68262C139.5 5.68262 140.723 5.95788 141.771 6.5134C142.824 7.06893 143.637 7.85968 144.208 8.88064C144.78 9.90661 145.071 11.0827 145.071 12.414C145.071 13.7452 144.785 14.9464 144.208 15.9623C143.637 16.9783 142.824 17.764 141.771 18.3196C140.718 18.8751 139.5 19.1504 138.116 19.1504C136.731 19.1504 135.508 18.8751 134.46 18.3196C133.407 17.764 132.594 16.9733 132.023 15.9523V15.9473ZM141.405 12.414C141.405 11.2879 141.109 10.3721 140.518 9.67139C139.926 8.97073 139.129 8.6204 138.116 8.6204C137.103 8.6204 136.33 8.97073 135.744 9.67139C135.157 10.3721 134.856 11.2879 134.856 12.414C134.856 13.54 135.152 14.4559 135.744 15.1566C136.335 15.8572 137.128 16.2076 138.116 16.2076C139.103 16.2076 139.926 15.8572 140.518 15.1566C141.109 14.4559 141.405 13.54 141.405 12.414Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.112 9.11111H153.672C152.644 9.11111 151.892 9.4164 151.416 10.032C150.934 10.6476 150.699 11.4834 150.699 12.5444V19.0005H147.078V5.83301H150.363L150.694 7.80487C151.09 7.15426 151.576 6.66379 152.158 6.33348C152.74 5.99816 153.517 5.83301 154.495 5.83301H155.112V9.11111Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.947 6.5095C159.95 5.95397 161.108 5.67871 162.427 5.67871C163.746 5.67871 164.939 5.93896 165.957 6.45945C166.975 6.97994 167.772 7.71564 168.344 8.66153C168.916 9.60743 169.212 10.7235 169.232 12.0047C169.232 12.4651 169.197 12.8755 169.131 13.2359H159.558V13.341C159.644 14.2969 159.955 15.0476 160.481 15.5931C161.013 16.1386 161.74 16.4139 162.663 16.4139C163.4 16.4139 164.011 16.2537 164.498 15.9384C164.984 15.6231 165.305 15.1577 165.461 14.5421H169.026C168.891 15.4129 168.555 16.1987 168.023 16.8993C167.492 17.6 166.79 18.1505 165.917 18.5509C165.044 18.9513 164.042 19.1515 162.913 19.1515C161.444 19.1515 160.17 18.8762 159.102 18.3307C158.034 17.7852 157.212 17.0044 156.64 15.9885C156.068 14.9725 155.777 13.7914 155.777 12.4401C155.777 11.0888 156.058 9.88269 156.61 8.86673C157.166 7.85077 157.944 7.06502 158.947 6.5095ZM164.618 9.02187C164.077 8.58646 163.4 8.37126 162.577 8.37126C161.755 8.37126 161.128 8.59647 160.586 9.0519C160.045 9.50233 159.724 10.1129 159.624 10.8836H165.606C165.486 10.0829 165.155 9.46229 164.618 9.02688V9.02187Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M184.066 11.8495V18.9963H180.445V12.0547C180.445 9.78259 179.553 8.64652 177.777 8.64652C176.835 8.64652 176.107 8.96182 175.596 9.59241C175.084 10.223 174.824 11.1139 174.824 12.2549V18.9913H171.203V5.83386H174.362L174.693 7.47541C175.155 6.90987 175.711 6.46946 176.363 6.15416C177.015 5.83886 177.817 5.67871 178.775 5.67871C180.315 5.67871 181.584 6.15416 182.576 7.11507C183.569 8.07097 184.066 9.65247 184.066 11.8546V11.8495Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.249 2.37054C190.249 2.95109 190.053 3.43655 189.657 3.83193C189.261 4.2273 188.769 4.42249 188.168 4.42249C187.566 4.42249 187.069 4.2273 186.668 3.83193C186.267 3.43655 186.066 2.95109 186.066 2.37054C186.066 1.79 186.267 1.30954 186.668 0.924177C187.069 0.538813 187.571 0.348633 188.168 0.348633C188.764 0.348633 189.261 0.538813 189.657 0.924177C190.053 1.30954 190.249 1.79 190.249 2.37054ZM189.968 5.82882V18.9963H186.347V5.83382H189.968V5.82882Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M205.343 11.8495V18.9963H201.723V12.0547C201.723 9.78259 200.83 8.64652 199.055 8.64652C198.112 8.64652 197.385 8.96182 196.873 9.59241C196.362 10.223 196.101 11.1139 196.101 12.2549V18.9913H192.48V5.83386H195.64L195.971 7.47541C196.432 6.90987 196.989 6.46946 197.641 6.15416C198.292 5.83886 199.095 5.67871 200.053 5.67871C201.592 5.67871 202.861 6.15416 203.854 7.11507C204.847 8.07097 205.343 9.65247 205.343 11.8546V11.8495Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M220.82 18.6149C220.82 20.3415 220.248 21.7128 219.1 22.7387C217.951 23.7647 216.171 24.2752 213.759 24.2752C211.893 24.2752 210.389 23.8648 209.241 23.044C208.092 22.2233 207.48 21.0622 207.39 19.5607H211.036C211.206 20.1913 211.542 20.6768 212.049 21.0221C212.555 21.3624 213.217 21.5326 214.04 21.5326C215.068 21.5326 215.86 21.2774 216.427 20.7619C216.993 20.2464 217.274 19.4907 217.274 18.4797V17.0984C216.316 18.3096 214.957 18.9151 213.192 18.9151C212.029 18.9151 210.986 18.6399 210.063 18.0944C209.14 17.5488 208.413 16.7731 207.892 15.7772C207.37 14.7762 207.109 13.6151 207.109 12.2789C207.109 10.9426 207.37 9.80151 207.892 8.79556C208.413 7.78961 209.14 7.00887 210.073 6.46335C211.006 5.91784 212.054 5.64258 213.217 5.64258C214.947 5.64258 216.316 6.30821 217.324 7.63947L217.63 5.82275H220.815V18.6048L220.82 18.6149ZM217.254 12.3389C217.254 11.2279 216.963 10.322 216.382 9.62134C215.8 8.92068 215.023 8.57035 214.045 8.57035C213.067 8.57035 212.285 8.91567 211.698 9.60633C211.111 10.297 210.81 11.1978 210.81 12.3089C210.81 13.4199 211.106 14.3158 211.698 15.0014C212.29 15.6871 213.072 16.0274 214.045 16.0274C215.018 16.0274 215.8 15.6871 216.382 15.0014C216.963 14.3208 217.254 13.4299 217.254 12.3389Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M225.994 6.5095C226.996 5.95397 228.155 5.67871 229.474 5.67871C230.793 5.67871 231.986 5.93896 233.004 6.45945C234.022 6.97994 234.819 7.71564 235.391 8.66153C235.963 9.60743 236.259 10.7235 236.279 12.0047C236.279 12.4651 236.244 12.8755 236.173 13.2359H226.6V13.341C226.686 14.2969 226.996 15.0476 227.523 15.5931C228.05 16.1386 228.782 16.4139 229.704 16.4139C230.442 16.4139 231.053 16.2537 231.54 15.9384C232.026 15.6231 232.347 15.1577 232.503 14.5421H236.068C235.933 15.4129 235.597 16.1987 235.065 16.8993C234.534 17.6 233.831 18.1505 232.959 18.5509C232.086 18.9513 231.083 19.1515 229.955 19.1515C228.481 19.1515 227.212 18.8762 226.144 18.3307C225.076 17.7852 224.253 17.0044 223.682 15.9885C223.11 14.9725 222.824 13.7914 222.824 12.4401C222.824 11.0888 223.1 9.88269 223.657 8.86673C224.213 7.85077 224.991 7.06502 225.994 6.5095ZM231.665 9.02187C231.124 8.58646 230.447 8.37126 229.624 8.37126C228.802 8.37126 228.175 8.59647 227.633 9.0519C227.092 9.50233 226.776 10.1129 226.67 10.8836H232.653C232.533 10.0829 232.202 9.46229 231.665 9.02688V9.02187Z\",\n fill: \"#800000\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n style: {\n mixBlendMode: \"multiply\"\n }\n }, _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M251.109 11.8495V18.9963H247.488V12.0547C247.488 9.78259 246.601 8.64652 244.82 8.64652C243.878 8.64652 243.15 8.96182 242.639 9.59241C242.127 10.223 241.867 11.1139 241.867 12.2549V18.9913H238.246V5.83386H241.405L241.736 7.47541C242.198 6.90987 242.754 6.46946 243.406 6.15416C244.058 5.83886 244.86 5.67871 245.818 5.67871C247.358 5.67871 248.627 6.15416 249.619 7.11507C250.612 8.07097 251.109 9.65247 251.109 11.8546V11.8495Z\",\n fill: \"#800000\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoWithoutIllustration);\nexport default \"/Frontend/static/media/logo-without-illustration.a4faad6799272fc2b0c2130972b88a61.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport { RefObject } from 'react'\nfunction useAnimateHeight(\n isOpen: Boolean,\n setHeight: any,\n ref: RefObject,\n) {\n React.useEffect(() => {\n if (isOpen) {\n setHeight(ref.current?.getBoundingClientRect().height)\n } else {\n setHeight(0)\n }\n }, [isOpen, setHeight, ref])\n}\nexport default useAnimateHeight\n","import { createContext, useState, useEffect } from 'react'\nexport default function useScrollListener() {\n const [data, setData] = useState({\n x: 0,\n y: 0,\n lastX: 0,\n lastY: 0,\n })\n useEffect(() => {\n const handleScroll = () => {\n setData((last) => {\n return {\n x: window.scrollX,\n y: window.scrollY,\n lastX: last.x,\n lastY: last.y,\n }\n })\n }\n handleScroll()\n window.addEventListener('scroll', handleScroll)\n return () => {\n window.removeEventListener('scroll', handleScroll)\n }\n }, [])\n return data\n}\nexport const ScrollContext = createContext(null)\n","import { createContext, useContext } from 'react'\nimport { Colors } from 'types'\nexport type colorType = {\n color: Extract\n type?: 'solid' | 'gradient'\n}\n\nconst DefaultValue: colorType = { color: 'white', type: 'solid' }\n\nexport const colorContext: React.Context = createContext(DefaultValue)\nexport const ColorProvider = colorContext.Provider\n\nexport const useColor = () => {\n const color = useContext(colorContext)\n return color\n}\n","import React from 'react'\nimport './_button.scss'\nimport cn from 'classnames'\nimport { Colors } from 'types'\nimport { useColor } from 'context/themeContext'\nexport interface ButtonProps {\n children?: React.ReactNode\n text?: string\n url?: string\n onClick?: React.MouseEventHandler\n className?: string\n outline?: boolean\n target?: string\n size?: 's' | 'm'\n disabled?: boolean\n type?: 'button' | 'submit'\n form?: string\n color?: Colors\n ariaExpanded?: boolean\n ariaControls?: string\n}\nexport const Button = ({\n children,\n text,\n url,\n onClick,\n className,\n outline = false,\n target,\n size = 'm',\n disabled = false,\n type,\n form,\n color = 'orange',\n ariaExpanded,\n ariaControls\n}: ButtonProps) => {\n const colorTheme = useColor()\n const colorToUse = color ?? colorTheme.color\n\n return url ? (\n \n {text ? text : children}\n \n ) : (\n \n {text ? text : children}\n \n )\n}\n","var _rect, _rect2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgClose(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46.7979,\n height: 4.11367,\n transform: \"matrix(0.707105 -0.707109 0.707105 0.707109 0 33.0911)\",\n fill: \"currentColor\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46.7979,\n height: 4.11367,\n transform: \"matrix(-0.707105 -0.707109 -0.707105 0.707109 36 33.0911)\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default \"/Frontend/static/media/close.7a9bc95570b17006270ec1873ee6e1cc.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport './_search.scss'\nimport { Button } from '../button/button'\nimport { Colors } from 'types'\nimport { ReactComponent as CrossIcon } from 'assets/icons/close.svg'\nimport cn from 'classnames'\nimport { useColor } from 'context/themeContext'\n\nexport interface SearchProps {\n search: () => void\n className?: string\n clearButtonAriaLabel?: string\n searchButtonText: string,\n value?: string\n placeholder: string\n onChange: React.ChangeEventHandler\n resetSearchString: () => void\n}\nexport const Search = React.forwardRef(\n (\n { clearButtonAriaLabel, searchButtonText, search, value, placeholder, onChange, resetSearchString }: SearchProps,\n ref: React.ForwardedRef,\n ) => {\n const { color } = useColor()\n\n return (\n
\n {\n if (e.code === 'Enter') {\n search()\n }\n }}\n ref={ref}\n >\n \n
\n )\n },\n)\n","import axios from 'axios'\n\nconst addProduct = async (\n data: {\n productId: number\n quantity: number\n },\n endpoint: string,\n) => {\n try {\n const response = await axios.post(endpoint, data)\n if (response.data.success) {\n return response.data\n }\n return -1\n } catch (e) {\n console.error(e)\n return -1\n }\n}\n\nconst editProductQuantity = async (\n data: {\n productId: number\n newQuantity: number\n },\n endpoint: string,\n) => {\n try {\n const response = await axios.post(endpoint, data)\n if (response.data.success) {\n return response.data\n }\n return -1\n } catch (e) {\n console.error(e)\n return -1\n }\n}\n\nconst removeProduct = async (\n data: {\n productId: number\n },\n endpoint: string,\n) => {\n try {\n const response = await axios.post(endpoint, data)\n if(response.data.success){\n return response.data\n }\n return -1\n } catch (e) {\n console.error(e)\n return -1\n }\n}\n\nconst ShoppingCartService = {\n addProduct,\n editProductQuantity,\n removeProduct,\n}\n\nexport default ShoppingCartService\n","import { createContext, useContext, useEffect, useState } from 'react'\nimport ShoppingCartService from 'services/shopping-cart-service'\nimport { productType } from 'types'\n\ntype ShoppingCartContextType = {\n shoppingCart: productType[]\n productsCount: number\n shippingCost: number\n setShippingCost: React.Dispatch>\n totalCost: number\n setTotalCost: React.Dispatch>\n maxProductAmount: number\n addProduct: (productId: number, endpoint: string, amount: number) => Promise\n removeProduct: (productId: number, endpoint: string) => void\n editProductQuantity: (\n productId: number,\n newQuantity: number,\n endpoint: string,\n removeEndpoint: string,\n ) => void\n}\n\nconst initialShoppingCartContext: ShoppingCartContextType = {\n shoppingCart: [],\n productsCount: 0,\n shippingCost: 0,\n setShippingCost: () => {},\n totalCost: 0,\n setTotalCost: () => {},\n maxProductAmount: 10,\n addProduct: () => new Promise(() => {}),\n removeProduct: () => {},\n editProductQuantity: () => {},\n}\n\nexport const ShoppingCartContext = createContext(\n initialShoppingCartContext,\n)\n\ninterface ShoppingCartContextProviderProps {\n children: React.ReactNode\n shoppingCartProp: productType[]\n totalAmountProp: number\n shippingCostProp: number\n maxProductAmountProp: number\n}\n\nexport const ShoppingCartContextProvider = ({\n children,\n shoppingCartProp,\n totalAmountProp,\n shippingCostProp,\n maxProductAmountProp,\n}: ShoppingCartContextProviderProps) => {\n const [shoppingCart, setProducts] = useState(shoppingCartProp)\n const maxProductAmount = maxProductAmountProp\n const [shippingCost, setShippingCost] = useState(shippingCostProp)\n const [totalCost, setTotalCost] = useState(totalAmountProp)\n const [productsCount, setProductsCount] = useState(\n shoppingCart.reduce((accumulator, obj) => {\n return accumulator + obj.quantity\n }, 0),\n )\n\n async function addProduct(productId: number, endpoint: string, amount: number) {\n var body = await ShoppingCartService.addProduct(\n { productId: productId, quantity: amount },\n endpoint,\n )\n if (body.itemsInCart !== -1) {\n setProductsCount(body.itemsInCart)\n setTotalCost(body.totalprice)\n setShippingCost(body.shippingCost)\n return true\n }\n return false\n }\n\n async function removeProduct(productId: number, endpoint: string) {\n var body = await ShoppingCartService.removeProduct({ productId: productId }, endpoint)\n if (body.itemsInCart !== -1) {\n var removedProduct = shoppingCart.find((product) => product.id === productId)\n if (removedProduct !== undefined) {\n setProductsCount(body.itemsInCart)\n setTotalCost(body.totalprice)\n setShippingCost(body.shippingCost)\n }\n removeProductFromShoppingCart(productId)\n }\n }\n\n async function editProductQuantity(\n productId: number,\n newQuantity: number,\n editProductQuantityEndpoint: string,\n removeProductEndpoint: string,\n ) {\n if (newQuantity > 0) {\n var body: any = await ShoppingCartService.editProductQuantity(\n { productId: productId, newQuantity: newQuantity },\n editProductQuantityEndpoint,\n )\n\n if (body.itemsInCart !== -1) {\n var prevQuantity = shoppingCart.find((product) => product.id === productId)?.quantity\n\n if (prevQuantity !== undefined) {\n setProducts(\n shoppingCart.map((product) =>\n product.id === productId ? { ...product, quantity: newQuantity } : { ...product },\n ),\n )\n setProductsCount(body.itemsInCart)\n setTotalCost(body.totalprice)\n setShippingCost(body.shippingCost)\n }\n }\n } else if (newQuantity === 0) {\n removeProduct(productId, removeProductEndpoint)\n }\n }\n\n function removeProductFromShoppingCart(productId: number) {\n setProducts(shoppingCart.filter((product) => product.id !== productId))\n }\n\n return (\n \n {children}\n \n )\n}\n\nexport const useShoppingCart = () => {\n const shoppingCart = useContext(ShoppingCartContext)\n if (shoppingCart === undefined) {\n throw new Error('useShoppingcart was used outside of its Provider')\n }\n return shoppingCart\n}\n","import { createContext, useContext } from 'react'\nimport { userType } from 'types'\n\ntype UserContextType = {\n user: userType | null\n}\n\nconst initialUserContext: UserContextType = {\n user: null,\n}\n\nconst UserContext = createContext(initialUserContext)\n\ninterface UserContextProviderProps {\n children: React.ReactNode\n userProp: userType | null\n}\n\nexport const UserContextProvider = ({ children, userProp }: UserContextProviderProps) => {\n const user: userType | null = userProp\n\n return (\n \n {children}\n \n )\n}\n\nexport const useUser = () => {\n const userContext = useContext(UserContext)\n if (useContext === undefined) {\n throw new Error('useUserContext was used outside of its Provider')\n }\n return userContext\n}\n","import React from 'react'\nimport './_logo.scss'\nimport Lottie from 'lottie-react'\nimport animationData from 'assets/logo/lottie-logo.json'\n\ninterface LogoProps extends Omit, 'animationData'> {}\n\nexport const Logo = (props: LogoProps) => {\n return \n}\n","import cn from 'classnames'\nimport React, { forwardRef, useImperativeHandle, Ref, useState, useEffect, MouseEventHandler, useRef } from 'react'\nimport { Colors } from 'types'\nimport './_menu-dropdown.scss'\n\nexport interface MenuDropdownFuncs {\n toggle(): void\n closeMenuDropdown(): void\n}\n\ninterface MenuDropDownProps {\n id?: string\n initialState?: boolean\n linkItems: {\n label: string\n url: string\n }[]\n color: Colors\n}\n\nexport const MenuDropdown = forwardRef(\n ({ id, initialState, linkItems, color}: MenuDropDownProps, ref) => {\n const [open, setOpen] = useState(initialState ?? false)\n\n useImperativeHandle(ref, () => ({\n toggle() {\n setOpen(!open)\n },\n closeMenuDropdown() {\n setOpen(false)\n }\n }))\n\n return open ? (\n
\n \n
\n ) : null\n },\n)\n","import React, { createContext, useContext, useState } from 'react'\n\ntype HeaderContextType = {\n showHeader: boolean\n setShowHeader: React.Dispatch>\n}\n\nconst initialHeaderContext: HeaderContextType = {\n showHeader: true,\n setShowHeader: () => {},\n}\n\nexport const HeaderContext = createContext(initialHeaderContext)\n\ninterface HeaderContextProviderProps {\n children: React.ReactNode\n}\n\nexport const HeaderContextProvider = ({ children }: HeaderContextProviderProps) => {\n const [showHeader, setShowHeader] = useState(true)\n\n return (\n \n {children}\n \n )\n}\n\nexport const useHeader = () => {\n const header = useContext(HeaderContext)\n if (header === undefined) throw new Error('useHeader was used outside of its Provider')\n return header\n}\n","import React, { useRef, forwardRef, useImperativeHandle } from 'react'\nimport { ReactComponent as FireIcon } from 'assets/icons/fire.svg'\nimport { ReactComponent as CheckIcon } from 'assets/icons/check-circle.svg'\nimport { ReactComponent as NewspaperIcon } from 'assets/icons/newspaper.svg'\nimport { ReactComponent as HomeIcon } from 'assets/icons/home.svg'\nimport { ReactComponent as CalendarIcon } from 'assets/icons/calendar.svg'\nimport { ReactComponent as ArrowRightIcon } from 'assets/icons/arrow-right.svg'\nimport { ReactComponent as ShoppingcartIcon } from 'assets/icons/shoppingcart.svg'\nimport { ReactComponent as ProfileIcon } from 'assets/icons/profile.svg'\nimport { ReactComponent as LogoText } from 'assets/logo/logo-without-illustration.svg'\n\nimport cn from 'classnames'\nimport useAnimateHeight from '../../../hooks/useAnimateHeight.hook'\nimport './_menu.scss'\nimport useScrollListener from '../../../hooks/useScrollListener.hook'\nimport { Search } from '../../elements/search/search'\nimport { Button } from 'components/elements/button/button'\nimport { Link, productType } from 'types'\nimport { useShoppingCart } from 'context/shoppingCartContext'\nimport { useUser } from 'context/userContext'\nimport { Logo } from 'components/elements/logo/logo'\nimport { MenuDropdown, MenuDropdownFuncs } from 'components/elements/menu-dropdown/menu-dropdown'\nimport { ReactComponent as LogoIcon } from 'assets/logo/bvf-logo.svg'\nimport { useHeader } from 'context/headerContext'\n\nexport interface MenuFuncs {\n closeExpandables(): void\n}\n\ninterface MenuProps {\n logo: {\n ariaLabel: string\n url: string\n }\n signin?: Link\n ecommerce?: Link\n search?: {\n text: string\n placeholder: string\n searchPageUrl: string\n enpointUrl: string\n }\n profileMenuDropDownItems: {\n label: string\n url: string\n }[]\n closeButtonLabel: string\n openButtonLabel: string\n expandedAriaLabel: string\n itemsInShoppingCartAriaLabel: string\n clearSearchTextAriaLabel: string\n groups: {\n icon?: 'fire' | 'check' | 'newspaper' | 'home' | 'calendar'\n title: string\n url: string\n links: Link[]\n }[]\n hasAnimatedLogo?: boolean\n}\n\nfunction useOutsideAlerter(ref: any, buttonRef: any, func: () => void) {\n React.useEffect(() => {\n function handleClickOutside(event: any) {\n if (\n ref.current &&\n !ref.current.contains(event.target) &&\n buttonRef.current &&\n !buttonRef.current.contains(event.target)\n ) {\n func()\n }\n }\n\n document.addEventListener('click', handleClickOutside)\n return () => {\n document.removeEventListener('click', handleClickOutside)\n }\n }, [ref])\n}\n\nexport const Menu = forwardRef(\n (\n {\n logo,\n signin,\n ecommerce,\n search,\n profileMenuDropDownItems,\n expandedAriaLabel,\n closeButtonLabel,\n openButtonLabel,\n itemsInShoppingCartAriaLabel,\n clearSearchTextAriaLabel,\n groups,\n hasAnimatedLogo,\n }: MenuProps,\n ref,\n ) => {\n const { showHeader, setShowHeader } = useHeader()\n\n const { productsCount } = useShoppingCart()\n const [menuIsOpen, setMenuIsOpen] = React.useState(false)\n const [searchIsOpen, setSearchIsOpen] = React.useState(false)\n const [userOperationsIsOpen, setUserOperationsIsOpen] = React.useState(false)\n const [lastHeaderY, setLastHeaderY] = React.useState(0)\n const menuDropDownRef = useRef(null)\n\n const { user } = useUser()\n\n const [height, setHeight] = React.useState(menuIsOpen ? undefined : 0)\n const [searchHeight, setSearchHeight] = React.useState(\n searchIsOpen ? undefined : 0,\n )\n\n const [searchQuery, setSearchQuery] = React.useState()\n\n const collapseRef = React.useRef(null)\n const searchRef = React.useRef(null)\n const inputRef = React.useRef(null)\n\n useAnimateHeight(menuIsOpen, setHeight, collapseRef)\n useAnimateHeight(searchIsOpen, setSearchHeight, searchRef)\n\n const scrollData = useScrollListener()\n\n const menuDropDownContainerRef = useRef(null)\n const menuDropDownContainerButtonRef = useRef(null)\n useOutsideAlerter(menuDropDownContainerRef, menuDropDownContainerButtonRef, () => {\n menuDropDownRef.current?.closeMenuDropdown()\n setUserOperationsIsOpen(false)\n })\n\n useImperativeHandle(ref, () => ({\n closeExpandables() {\n setMenuIsOpen(false)\n setUserOperationsIsOpen(false)\n menuDropDownRef.current?.closeMenuDropdown()\n setSearchIsOpen(false)\n },\n }))\n\n const toggleMenu = (type: 'menu' | 'search') => {\n if (menuIsOpen && type === 'search') {\n setMenuIsOpen(false)\n setSearchIsOpen(true)\n } else if (menuIsOpen || searchIsOpen) {\n setMenuIsOpen(false)\n setSearchIsOpen(false)\n } else if (type === 'menu') {\n setMenuIsOpen(!menuIsOpen)\n } else if (type === 'search') {\n setSearchIsOpen(!searchIsOpen)\n }\n console.log(type)\n\n if (type === 'search' && !searchIsOpen) {\n setTimeout(() => {\n inputRef.current?.focus()\n }, 0.1)\n }\n }\n\n const searchfn = () => {\n if (searchQuery) {\n window.location.href = search?.searchPageUrl + '?query=' + searchQuery\n }\n }\n\n const resetSearchString = () => {\n setSearchQuery('')\n }\n\n React.useEffect(() => {\n if (menuIsOpen || searchIsOpen) return\n if (lastHeaderY + 200 > scrollData.y && scrollData.lastY < scrollData.y && !showHeader) {\n // scrolled down less than 200px\n\n setShowHeader(true)\n } else if (\n lastHeaderY + 200 <= scrollData.y &&\n scrollData.lastY < scrollData.y &&\n showHeader\n ) {\n // scrolled down more than 200px\n\n setShowHeader(false)\n menuDropDownRef.current?.closeMenuDropdown()\n setUserOperationsIsOpen(false)\n } else if (scrollData.lastY > scrollData.y) {\n // scrolled up\n\n if (!showHeader) {\n // hide header if its visible\n\n setShowHeader(true)\n }\n if (scrollData.y !== lastHeaderY) {\n // update header y if it has changed\n\n setLastHeaderY(scrollData.y)\n }\n }\n }, [scrollData, lastHeaderY, menuIsOpen, searchIsOpen])\n\n return (\n \n
\n \n {hasAnimatedLogo ? (\n \n \n \n \n \n \n ) : (\n \n \n \n )}\n \n
\n {user ? (\n
\n {\n setUserOperationsIsOpen(!userOperationsIsOpen)\n menuDropDownRef.current?.toggle()\n }}\n >\n \n {user.firstname}\n \n \n
\n ) : (\n \n \n )}\n \n
\n \n {productsCount !== 0 && {productsCount}}\n
\n {ecommerce?.text}\n
\n toggleMenu('search')}\n className='menu__searchbutton'\n text={search?.text}\n ariaExpanded={searchIsOpen}\n ariaControls={'menu__search-content-id'}\n >\n toggleMenu('menu')}\n className='menu__hamburger-button'\n >\n \n \n \n \n \n
\n
\n \n
\n setSearchQuery(e.target.value)}\n ref={inputRef}\n placeholder={search === undefined ? '' : search?.placeholder}\n resetSearchString={resetSearchString}\n />\n
\n \n {groups && groups.length !== 0 && (\n \n \n \n ) : (\n \n \n {signin?.text}\n \n )}\n \n \n {groups.map((group) => (\n
  • \n
    \n {group.icon && group.icon === 'fire' ? (\n
    \n {group.links && group.links.length !== 0 && (\n
    \n \n
    \n )}\n
  • \n ))}\n \n \n )}\n \n )\n },\n)\n","import React from 'react'\nimport cn from 'classnames'\nimport './_heading.scss'\n\ninterface HeadingProps {\n title?: React.ReactNode\n children?: React.ReactNode\n level?: 1 | 2 | 3 | 4 | 5 | 6\n size?: 'xs' | 's' | 'm' | 'l' | 'xl' | 'hero' | 'display'\n className?: string\n weight?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900\n}\n\nexport const Heading = ({ level = 2, size, className, title, children, weight }: HeadingProps) => {\n return React.createElement(\n 'h' + level,\n {\n className: cn('heading', className, {\n [`heading__size-${size}`]: size,\n }),\n style: { fontWeight: weight },\n },\n children ? children : title,\n )\n}\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgBookOpen(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M14.6654 1.3335V7.37159C14.6654 8.42957 14.6654 8.95856 14.4807 9.35795C14.3034 9.74131 14.0858 9.98845 13.728 10.2129C13.3553 10.4467 12.7267 10.527 11.4694 10.6876C10.2806 10.8394 9.25873 11.1901 7.9987 12.0002C6.73867 11.1901 5.71679 10.8394 4.52796 10.6876C3.27074 10.527 2.64213 10.4467 2.26936 10.2129C1.91156 9.98845 1.69398 9.74131 1.51671 9.35795C1.33203 8.95856 1.33203 8.42957 1.33203 7.37159V1.3335C4.29499 1.3335 5.77648 1.3335 7.9987 2.76207C10.2209 1.3335 11.7024 1.3335 14.6654 1.3335Z\",\n fill: \"#EF0000\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.02949 1.01958C6.0351 1.19589 6.9528 1.53624 7.9987 2.1723C9.0446 1.53624 9.96229 1.19589 10.9679 1.01958C12.0294 0.833474 13.178 0.833484 14.6295 0.833496L14.6654 0.833497C14.9415 0.833497 15.1654 1.05735 15.1654 1.3335V7.37159V7.391C15.1654 7.90352 15.1654 8.31556 15.1409 8.64835C15.1159 8.98947 15.0631 9.28977 14.9345 9.56781C14.7166 10.0391 14.4336 10.3605 13.9937 10.6364C13.7266 10.804 13.4015 10.8963 13.0248 10.9687C12.6484 11.041 12.1642 11.1029 11.5506 11.1812L11.5505 11.1813L11.5328 11.1835C10.4213 11.3255 9.4697 11.6489 8.26908 12.4208C8.10437 12.5266 7.89302 12.5266 7.72832 12.4208C6.5277 11.6489 5.57607 11.3255 4.46461 11.1835L4.44689 11.1813L4.44687 11.1813C3.83329 11.1029 3.34901 11.041 2.97261 10.9687C2.59592 10.8963 2.27084 10.804 2.00369 10.6364C1.56378 10.3605 1.28083 10.0391 1.06288 9.56781C0.93432 9.28977 0.881504 8.98947 0.856459 8.64835C0.832024 8.31556 0.832027 7.90353 0.832031 7.39101L0.832031 7.37159V1.3335C0.832031 1.20089 0.88471 1.07371 0.978478 0.979943C1.07225 0.886175 1.19942 0.833496 1.33203 0.833497L1.36788 0.833496L1.36789 0.833496C2.81936 0.833484 3.968 0.833475 5.02949 1.01958ZM4.8568 2.00456C5.73342 2.15825 6.5399 2.45281 7.4987 3.03865V11.1235C6.50415 10.5883 5.60333 10.3209 4.59132 10.1916C3.95609 10.1104 3.50316 10.0523 3.16138 9.98665C2.81627 9.92031 2.64066 9.85553 2.53503 9.78928C2.25933 9.61636 2.10713 9.44348 1.97054 9.1481C1.91442 9.02674 1.8749 8.86285 1.85377 8.57513C1.83235 8.28328 1.83203 7.90802 1.83203 7.37159V1.83381C3.07036 1.83608 4.00139 1.85458 4.8568 2.00456ZM11.4061 10.1916C10.3941 10.3209 9.49325 10.5883 8.4987 11.1235V3.03865C9.4575 2.4528 10.264 2.15825 11.1406 2.00456C11.996 1.85458 12.927 1.83608 14.1654 1.83381V7.37159C14.1654 7.90803 14.1651 8.28328 14.1436 8.57513C14.1225 8.86285 14.083 9.02674 14.0269 9.1481C13.8903 9.44348 13.7381 9.61636 13.4624 9.78928C13.3567 9.85553 13.1811 9.92031 12.836 9.98665C12.4942 10.0523 12.0413 10.1104 11.4061 10.1916ZM1.9987 12.5002C1.72256 12.5002 1.4987 12.724 1.4987 13.0002C1.4987 13.2763 1.72256 13.5002 1.9987 13.5002C3.31454 13.5002 4.26328 13.583 5.11714 13.8159C5.96574 14.0473 6.74952 14.435 7.72135 15.0829C7.8893 15.1948 8.1081 15.1948 8.27605 15.0829C9.24788 14.435 10.0317 14.0473 10.8803 13.8159C11.7341 13.583 12.6829 13.5002 13.9987 13.5002C14.2748 13.5002 14.4987 13.2763 14.4987 13.0002C14.4987 12.724 14.2748 12.5002 13.9987 12.5002C12.6479 12.5002 11.5966 12.584 10.6171 12.8511C9.72204 13.0952 8.9111 13.4857 7.9987 14.0695C7.0863 13.4857 6.27536 13.0952 5.38026 12.8511C4.40078 12.584 3.34952 12.5002 1.9987 12.5002Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgBookOpen);\nexport default \"/Frontend/static/media/book-open.d2fd032fb525826b66d2e501fbeb9c1d.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport './_tag.scss'\nimport { Colors } from 'types'\nimport cn from 'classnames'\nimport { ReactComponent as BookIcon } from 'assets/icons/book-open.svg'\nimport { ReactComponent as FireIcon } from 'assets/icons/fire.svg'\n\ninterface TagProps {\n background?: boolean\n color?: string\n tag?: string\n icon?: 'book' | 'fire' //Add based on the tag that are available\n url?: string\n}\n\nexport const Tag = ({ background, color = 'orange', tag, icon, url }: TagProps) => {\n const content = (\n <>\n {icon && icon === 'fire' ? : icon === 'book' ? : null}\n {tag}\n \n )\n return url ? (\n \n {content}\n \n ) : (\n \n {content}\n \n )\n}\n","import React from 'react'\nimport './_article-card.scss'\nimport cn from 'classnames'\n\nimport { Image } from 'types'\nimport { Heading } from '../heading/heading'\nimport { useColor } from 'context/themeContext'\nimport { Tag } from 'components/elements/tag/tag'\n\nexport interface ArticleCardProps {\n url?: string\n image?: Image\n date?: string\n meta?: { published?: string }\n title?: string\n tag?: React.ComponentProps\n}\n\nexport const ArticleCard = ({ image, url, date, title, tag, meta }: ArticleCardProps) => {\n const { color } = useColor()\n return (\n \n \n {title}\n \n \n \n )\n}\n","import { Button } from 'components/elements/button/button'\nimport { useColor } from 'context/themeContext'\nimport React from 'react'\nimport './_card-list.scss'\n\ninterface CardListProps {\n title?: string\n data: T[]\n renderItem: (item: T) => React.ReactNode\n button?: React.ComponentProps\n grid?: 'normal' | 'newspaper'\n}\n\nexport type CardListExternalProps = Pick, 'title' | 'button' | 'grid'>\n\nexport const CardList = ({\n title,\n data,\n renderItem,\n button,\n grid = 'normal',\n}: CardListProps) => {\n const { color } = useColor()\n\n return (\n
    \n {title &&
    {title}
    }\n {data && data.length !== 0 && (\n
      \n {data.map((card, i) => (\n
    • {renderItem(card)}
    • \n ))}\n
    \n )}\n {button && (\n \n )}\n
    \n )\n}\n","import { ArticleCard } from 'components/elements/article-card/article-card'\nimport React from 'react'\nimport { CardList, CardListExternalProps } from '../card-list/card-list'\n\ntype ArticleListProps = CardListExternalProps & {\n articles: React.ComponentProps[]\n}\n\nexport const ArticleList = ({ title, articles, button, grid }: ArticleListProps) => (\n }\n grid={grid}\n />\n)\n","import { Heading } from 'components/elements/heading/heading'\nimport React from 'react'\nimport { Link } from 'types'\nimport { ReactComponent as ArrowRightIcon } from 'assets/icons/arrow-right.svg'\nimport './_entrance-links.scss'\nimport { useColor } from 'context/themeContext'\nimport cn from 'classnames'\n\ninterface EntranceLinksProps {\n title: string\n links: Link[]\n}\n\nexport const EntranceLinks = ({ title, links }: EntranceLinksProps) => {\n const { color } = useColor()\n return (\n \n \n {title}\n \n \n \n )\n}\n","import React from 'react'\nimport cn from 'classnames'\nimport './_info-block.scss'\nimport { Button } from 'components/elements/button/button'\nimport { Heading } from 'components/elements/heading/heading'\nimport { Colors } from 'types'\nimport { useColor } from 'context/themeContext'\n\ninterface InfoBlockProps {\n title: string\n text: string\n image?: { url: string; alt: string }\n button?: React.ComponentProps\n background?: boolean\n className?: string\n overrideColor?: Colors\n}\n\nexport const InfoBlock = ({\n title,\n text,\n image,\n button,\n background = false,\n className,\n overrideColor\n}: InfoBlockProps) => {\n const { color } = useColor()\n const colorToUse: Colors = overrideColor ?? color\n return (\n
    \n \n
    \n \n {title}\n \n \n
    \n {button && (\n
    \n \n
    \n )}\n
    \n {image?.url && image.alt && (\n {image.alt}\n )}\n \n \n )\n}\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgVector(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 7,\n height: 13,\n viewBox: \"0 0 7 13\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.51382 13C2.91598 13 0 10.0898 0 6.50088C0 2.91194 2.91598 0 6.51382 0V13Z\",\n fill: \"#EF0000\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgVector);\nexport default \"/Frontend/static/media/vector.a7b9551cdf516fc9ed48b8aa0a240676.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport './_link-list.scss'\nimport { ReactComponent as VectorIcon } from 'assets/icons/vector.svg'\nimport { Button } from '../../elements/button/button'\n\ninterface LinkListProps {\n list: {\n tag: string\n title: string\n text: string\n button: React.ComponentProps\n }[]\n}\n\nexport const LinkList = ({ list }: LinkListProps) => (\n
    \n
      \n {list.map((item, i) => (\n
    • \n
      \n \n {item.tag}\n
      \n
      {item.title}
      \n
      {item.text}
      \n
      \n
      \n
    • \n ))}\n
    \n
    \n)\n","import React from 'react'\nimport { Button, ButtonProps } from '../../elements/button/button'\nimport './_news-article-block.scss'\nimport { ReactComponent as VectorIcon } from 'assets/icons/vector.svg'\nimport { Image } from 'types'\nimport { TitleAndIngress } from 'components/elements/title-and-ingress/title-and-ingress'\nimport { Heading } from 'components/elements/heading/heading'\nimport { useColor } from 'context/themeContext'\nimport cn from 'classnames'\n\ninterface NewsArticleBlockProps {\n tag?: {\n title: string\n }\n date: string\n title: string\n text: string\n imageType: 'landscape' | 'standing'\n image: Image\n button: ButtonProps\n buttonSideText?: string\n}\n\nexport const NewsArticleBlock = ({\n tag,\n title,\n date,\n text,\n imageType,\n image,\n button,\n buttonSideText,\n}: NewsArticleBlockProps) => {\n const { color } = useColor()\n\n if (!imageType) imageType = 'landscape'\n\n return (\n \n
    \n
    \n {tag && (\n
    \n \n {tag.title}\n
    \n )}\n\n
    \n {image.alt}\n
    \n\n
    \n
    {date}
    \n\n \n {title}\n \n

    {text}

    \n
    \n \n {buttonSideText && (\n {buttonSideText}\n )}\n
    \n
    \n
    \n
    \n \n )\n}\n","import React from 'react'\nimport { Button } from '../../elements/button/button'\nimport './_promo-block.scss'\nimport { ReactComponent as VectorIcon } from 'assets/icons/vector.svg'\nimport { Image } from 'types'\n\ninterface PromoBlockProps {\n tag?: {\n title: string\n }\n title: string\n text: string\n image: Image\n button: React.ComponentProps\n}\n\nexport const PromoBlock = ({ tag, title, text, button, image }: PromoBlockProps) => {\n return (\n
    \n {image.alt}\n
    \n {tag && (\n
    \n \n {tag.title}\n
    \n )}\n

    {title}

    \n

    {text}

    \n
    \n
    \n )\n}\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgQuote(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 79 37\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79 37C57.4279 37 39.5 37 39.5 37C39.5 15.4813 57.14 0 78.7121 0L79 37Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.0793 37C17.5072 37 0 37 0 37C0 15.4813 17.5072 0 39.0793 0V37Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuote);\nexport default \"/Frontend/static/media/quote.ce5cd7d50401f5c353b75c9778da212e.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport './_quote.scss'\nimport { ReactComponent as QuoteIcon } from 'assets/icons/quote.svg'\nimport { Colors } from 'types'\nimport cn from 'classnames'\nimport { useColor } from 'context/themeContext'\n\ninterface QuoteProps {\n text: string\n color?: Extract\n}\n\nexport const Quote = ({ text }: QuoteProps) => {\n const { color } = useColor()\n return (\n \n \n

    {text}

    \n \n )\n}\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgHomeShortcuts(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 33 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M30.2282 23.0734V16.895C30.2282 15.0581 30.2282 14.1396 30.0037 13.2855C29.8049 12.5287 29.4775 11.8116 29.0359 11.1655C28.5376 10.4365 27.8436 9.83484 26.4556 8.63154L23.7215 6.26117C21.1812 4.05886 19.911 2.95771 18.4839 2.53849C17.2261 2.16905 15.8887 2.16905 14.631 2.53849C13.2038 2.95771 11.9337 4.05886 9.3934 6.26117L9.3934 6.26117L6.65925 8.63154C5.27129 9.83484 4.57731 10.4365 4.07899 11.1655C3.6374 11.8116 3.31003 12.5287 3.11115 13.2855C2.88672 14.1396 2.88672 15.0581 2.88672 16.895V23.0734C2.88672 25.6179 2.88672 26.8901 3.22127 27.9198C3.89741 30.0007 5.52889 31.6322 7.60984 32.3083C8.63946 32.6429 9.91172 32.6429 12.4562 32.6429V21.9293C12.4562 20.6553 12.4562 20.0184 12.6643 19.5159C12.9418 18.846 13.4741 18.3137 14.1441 18.0362C14.6465 17.8281 15.2835 17.8281 16.5574 17.8281C17.8314 17.8281 18.4684 17.8281 18.9708 18.0362C19.6408 18.3137 20.173 18.846 20.4505 19.5159C20.6587 20.0184 20.6587 20.6553 20.6587 21.9293V32.6429C23.2032 32.6429 24.4754 32.6429 25.505 32.3083C27.586 31.6322 29.2175 30.0007 29.8936 27.9198C30.2282 26.8901 30.2282 25.6179 30.2282 23.0734Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.9219 3.52221C15.9909 3.20819 17.1277 3.20819 18.1968 3.52221C18.7487 3.68432 19.3122 3.98827 20.0766 4.55484C20.8513 5.12906 21.7698 5.92446 23.0517 7.03585L25.7859 9.40622C27.2147 10.6449 27.7852 11.15 28.1913 11.7441C28.5667 12.2932 28.8449 12.9028 29.014 13.5461C29.1969 14.2421 29.2048 15.004 29.2048 16.895V21.7063C29.2048 23.6373 29.204 25.0239 29.115 26.1122C29.0271 27.1887 28.8581 27.8828 28.5715 28.4452C28.0145 29.5384 27.1256 30.4273 26.0324 30.9843C25.47 31.2709 24.7758 31.4399 23.6994 31.5278C23.1238 31.5749 22.4648 31.5972 21.6859 31.6079V21.9291V21.8946V21.8945C21.6859 21.2869 21.6859 20.7797 21.6575 20.3633C21.6279 19.9298 21.5641 19.5203 21.3997 19.1233C21.0181 18.2022 20.2863 17.4703 19.3651 17.0888C18.9681 16.9243 18.5586 16.8606 18.1251 16.831C17.7087 16.8026 17.2015 16.8026 16.5939 16.8026H16.5939H16.5593H16.5248H16.5248C15.9172 16.8026 15.41 16.8026 14.9935 16.831C14.56 16.8606 14.1506 16.9243 13.7536 17.0888C12.8324 17.4703 12.1005 18.2022 11.719 19.1233C11.5545 19.5203 11.4908 19.9298 11.4612 20.3633C11.4328 20.7797 11.4328 21.2869 11.4328 21.8945V21.8946L11.4328 21.9291V31.6079C10.6539 31.5972 9.99486 31.5749 9.41923 31.5278C8.34282 31.4399 7.64871 31.2709 7.08626 30.9843C5.99303 30.4273 5.1042 29.5384 4.54717 28.4452C4.26059 27.8828 4.09158 27.1887 4.00364 26.1122C3.91471 25.0239 3.91391 23.6373 3.91391 21.7063V16.895C3.91391 15.004 3.92178 14.2421 4.10468 13.5461C4.27373 12.9028 4.552 12.2932 4.92735 11.7441C5.33345 11.15 5.904 10.6449 7.33278 9.40622L10.0669 7.03585C11.3489 5.92446 12.2674 5.12906 13.0421 4.55484C13.8064 3.98827 14.37 3.68432 14.9219 3.52221ZM12.402 33.6665C12.4206 33.6675 12.4393 33.668 12.4581 33.668C12.4745 33.668 12.4907 33.6676 12.5069 33.6669C12.9091 33.6682 13.3327 33.6682 13.7793 33.6682H13.8252H19.2935H19.3393C19.7859 33.6682 20.2096 33.6682 20.6118 33.6669C20.6279 33.6676 20.6442 33.668 20.6605 33.668C20.6794 33.668 20.6981 33.6675 20.7167 33.6665C21.9567 33.6617 22.9908 33.6432 23.8664 33.5716C25.0696 33.4733 26.0637 33.2698 26.9634 32.8114C28.4424 32.0578 29.645 30.8553 30.3986 29.3762C30.857 28.4765 31.0605 27.4824 31.1588 26.2792C31.2554 25.0976 31.2554 23.6274 31.2554 21.7522V21.7522V21.7063V16.895L31.2554 16.7456C31.2556 15.0514 31.2557 14.0085 30.9973 13.0249C30.7686 12.1545 30.3921 11.3299 29.8842 10.5869C29.3104 9.74736 28.5223 9.06429 27.242 7.95465L27.1291 7.85682L24.395 5.48645L24.3631 5.45876L24.3629 5.45863C23.1199 4.38096 22.1427 3.53382 21.2977 2.90745C20.4351 2.26807 19.65 1.81183 18.7747 1.55472C17.3283 1.12987 15.7903 1.12987 14.344 1.55472C13.4687 1.81183 12.6835 2.26807 11.821 2.90745C10.9759 3.53384 9.9987 4.38104 8.75558 5.45877L8.75557 5.45878L8.72366 5.48645L5.98952 7.85682L5.87664 7.95466L5.87663 7.95467C4.59638 9.0643 3.80828 9.74737 3.23442 10.5869C2.72659 11.3299 2.35011 12.1545 2.1214 13.0249C1.86295 14.0085 1.86308 15.0514 1.86329 16.7456L1.86331 16.895V21.7063V21.7522C1.8633 23.6274 1.86329 25.0976 1.95984 26.2792C2.05814 27.4824 2.26164 28.4765 2.72007 29.3762C3.4737 30.8553 4.67622 32.0578 6.1553 32.8114C7.05502 33.2698 8.04903 33.4733 9.25225 33.5716C10.1279 33.6432 11.162 33.6617 12.402 33.6665ZM19.6352 31.6175C19.5232 31.6176 19.4093 31.6176 19.2935 31.6176H13.8252C13.7093 31.6176 13.5954 31.6176 13.4834 31.6175V21.9291C13.4834 21.2781 13.484 20.8412 13.5071 20.5029C13.5295 20.1738 13.5698 20.0136 13.6135 19.9081C13.7869 19.4894 14.1196 19.1567 14.5383 18.9833C14.6438 18.9396 14.804 18.8993 15.1331 18.8768C15.4714 18.8537 15.9083 18.8532 16.5593 18.8532C17.2103 18.8532 17.6472 18.8537 17.9855 18.8768C18.3146 18.8993 18.4749 18.9396 18.5804 18.9833C18.9991 19.1567 19.3317 19.4894 19.5052 19.9081C19.5489 20.0136 19.5892 20.1738 19.6116 20.5029C19.6347 20.8412 19.6352 21.2781 19.6352 21.9291V31.6175Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHomeShortcuts);\nexport default \"/Frontend/static/media/home-shortcuts.57171ae63a866e5a688d447c7c07e9d5.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgRocket(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 33 35\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.8311 4.18722C17.3744 4.5292 16.9725 4.96476 16.1687 5.83588L9.07504 13.5238C8.12734 14.5509 7.65349 15.0644 7.33679 15.5792C6.10644 17.5789 6.10649 20.1009 7.33692 22.1005C7.65364 22.6153 8.12751 23.1288 9.07525 24.1559C10.1703 25.3426 10.7179 25.936 11.2666 26.3203C13.4098 27.8215 16.2631 27.8214 18.4062 26.3202C18.955 25.9358 19.5025 25.3424 20.5975 24.1556L26.8632 17.365C27.8387 16.3079 28.3264 15.7793 28.6745 15.1737C28.9831 14.6367 29.2099 14.0566 29.3472 13.4526C29.502 12.7715 29.502 12.0523 29.502 10.6139L29.502 9.68009C29.502 7.75485 29.502 6.79223 29.2223 6.02115C28.7507 4.72106 27.7268 3.6971 26.4267 3.22551C25.6556 2.94581 24.693 2.94581 22.7678 2.94581C21.5825 2.94581 20.9898 2.94581 20.4288 3.04958C19.4869 3.22379 18.5979 3.61312 17.8311 4.18722ZM20.1681 15.9496C21.6409 15.9496 22.8348 14.6557 22.8348 13.0597C22.8348 11.4637 21.6409 10.1699 20.1681 10.1699C18.6953 10.1699 17.5014 11.4637 17.5014 13.0597C17.5014 14.6557 18.6953 15.9496 20.1681 15.9496Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.0227 4.3223C25.4929 4.13015 24.7879 4.11253 22.7615 4.11253C21.5331 4.11253 21.0661 4.11706 20.6347 4.19684C19.8694 4.33839 19.1471 4.65471 18.5241 5.12117C18.173 5.38408 17.8529 5.72428 17.0199 6.62708L9.92626 14.315C8.94215 15.3816 8.56674 15.7964 8.32423 16.1906C7.32457 17.8153 7.32461 19.8645 8.32434 21.4892C8.528 21.8202 8.82538 22.1658 9.49826 22.8996L11.3078 20.9387C11.7447 20.4652 12.4828 20.4355 12.9564 20.8725C13.4299 21.3094 13.4595 22.0475 13.0226 22.5211L11.0937 24.6113C11.4562 24.9836 11.697 25.2018 11.9297 25.3648C13.6711 26.5845 15.9894 26.5844 17.7307 25.3647C18.1503 25.0708 18.5962 24.5976 19.7339 23.3645L20.9242 22.0745L23.9718 18.7714L23.9851 18.7571L25.9996 16.5739C27.0105 15.4783 27.3891 15.0581 27.6568 14.5924C27.9075 14.1561 28.0918 13.6847 28.2033 13.194C28.3224 12.6703 28.3292 12.1046 28.3292 10.6139L28.3292 9.68014C28.3292 7.65377 28.3115 6.94875 28.1194 6.41903C27.7657 5.44396 26.9977 4.676 26.0227 4.3223ZM26.0826 19.9248L27.7144 18.1562L27.8075 18.0554C28.6941 17.0948 29.2656 16.4757 29.6798 15.7551C30.0463 15.1174 30.3155 14.4286 30.4786 13.7113C30.6629 12.9009 30.6627 12.0584 30.6625 10.7511L30.6625 10.6139L30.6625 9.68014L30.6626 9.44055C30.6633 7.74802 30.6638 6.59083 30.3129 5.62337C29.7234 3.99825 28.4434 2.71831 26.8183 2.12882C25.8509 1.77788 24.6937 1.77839 23.0011 1.77912L22.7615 1.77919L22.6479 1.77918C21.5712 1.77904 20.878 1.77894 20.2104 1.90242C19.0918 2.1093 18.0362 2.57162 17.1257 3.25337C16.5822 3.66029 16.1122 4.16982 15.3821 4.96127L15.3051 5.04477L13.7573 6.72221L11.9138 6.32262L11.7338 6.28357C10.3871 5.99111 9.45618 5.78896 8.541 5.87916C7.73389 5.95871 6.95225 6.20569 6.24596 6.60431C5.4451 7.05632 4.79935 7.75664 3.86513 8.76979L3.74028 8.90516L1.96944 10.8241C1.74771 11.0644 1.63698 11.3867 1.66421 11.7125C1.69145 12.0383 1.85414 12.3378 2.11268 12.5379L6.01106 15.5556C4.88545 17.823 4.99413 20.5295 6.33707 22.712C6.71403 23.3246 7.25969 23.9158 8.11536 24.8428L8.11537 24.8428L8.21163 24.9471L8.325 25.07C9.31134 26.1392 9.9379 26.8184 10.5911 27.276C12.6746 28.7353 15.3233 28.9999 17.6118 28.0697L20.5229 32.4863C20.7203 32.7859 21.0447 32.9779 21.4023 33.0071C21.7599 33.0362 22.111 32.8991 22.3544 32.6354L24.4873 30.324L24.5965 30.2058L24.5965 30.2057C25.4205 29.3134 25.9904 28.6962 26.3595 27.964C26.6853 27.3177 26.8879 26.6164 26.9571 25.8959C27.0355 25.0798 26.8826 24.2537 26.6616 23.0593L26.6615 23.0593L26.6323 22.9011L26.0826 19.9248ZM22.6513 23.6436L24.1055 22.0675L24.3378 23.3249C24.5989 24.7386 24.6776 25.2231 24.6344 25.6729C24.5929 26.1052 24.4713 26.526 24.2759 26.9138C24.0725 27.3173 23.7474 27.6851 22.7725 28.7416L21.6506 29.9574L19.6401 26.9072L22.6513 23.6436ZM11.4195 8.603C9.82235 8.25681 9.27386 8.15157 8.76986 8.20125C8.2856 8.24898 7.81661 8.39716 7.39284 8.63634C6.9518 8.88526 6.56335 9.28654 5.45505 10.4876L4.54701 11.4716L7.36159 13.6503L11.9188 8.71122L11.4195 8.603ZM18.6619 13.0598C18.6619 12.018 19.42 11.3366 20.1619 11.3366C20.9038 11.3366 21.6619 12.018 21.6619 13.0598C21.6619 14.1015 20.9038 14.7829 20.1619 14.7829C19.42 14.7829 18.6619 14.1015 18.6619 13.0598ZM20.1619 9.00326C17.9583 9.00326 16.3286 10.9095 16.3286 13.0598C16.3286 15.2101 17.9583 17.1163 20.1619 17.1163C22.3655 17.1163 23.9952 15.2101 23.9952 13.0598C23.9952 10.9095 22.3655 9.00326 20.1619 9.00326Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRocket);\nexport default \"/Frontend/static/media/rocket.132f8df49ef362874a123b2edcc5ebf5.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgActivityRec(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 33 35\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n opacity: 0.12,\n x: 2.83594,\n y: 2.94604,\n width: 26.6667,\n height: 28.8984,\n rx: 9.11111,\n fill: \"currentColor\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.1714 1.80713L16.1319 1.80713C14.1991 1.80713 12.6946 1.80713 11.4795 1.88401C10.247 1.962 9.23558 2.12234 8.30039 2.47858C5.5687 3.51919 3.41127 5.67662 2.37067 8.40831C2.01442 9.34349 1.85409 10.3549 1.7761 11.5875C1.69921 12.8025 1.69921 14.307 1.69922 16.2398L1.69922 16.2794L1.69922 18.5111L1.69922 18.5506C1.69921 20.4834 1.69921 21.988 1.7761 23.203C1.85409 24.4355 2.01442 25.4469 2.37067 26.3821C3.41127 29.1138 5.5687 31.2712 8.30039 32.3118C9.23558 32.6681 10.247 32.8284 11.4795 32.9064C12.6946 32.9833 14.1991 32.9833 16.1319 32.9833L16.1714 32.9833L16.211 32.9833C18.1438 32.9833 19.6483 32.9833 20.8633 32.9064C22.0959 32.8284 23.1073 32.6681 24.0425 32.3118C26.7742 31.2712 28.9316 29.1138 29.9722 26.3821C30.3285 25.4469 30.4888 24.4355 30.5668 23.203C30.6437 21.988 30.6437 20.4834 30.6437 18.5506L30.6437 18.5111L30.6437 16.2794L30.6437 16.2398C30.6437 14.307 30.6437 12.8025 30.5668 11.5875C30.4888 10.3549 30.3285 9.34349 29.9722 8.40831C28.9316 5.67662 26.7742 3.51919 24.0425 2.47858C23.1073 2.12234 22.0959 1.962 20.8633 1.88401C19.6483 1.80713 18.1438 1.80713 16.211 1.80713L16.1714 1.80713ZM9.11124 4.60715C9.74284 4.36655 10.4979 4.22846 11.6234 4.15724C12.7581 4.08544 14.1907 4.08491 16.1714 4.08491C18.1521 4.08491 19.5848 4.08544 20.7195 4.15724C21.8449 4.22846 22.6 4.36655 23.2316 4.60715C25.3563 5.41651 27.0343 7.09451 27.8436 9.21916C28.0842 9.85076 28.2223 10.6059 28.2936 11.7313C28.3654 12.866 28.3659 14.2987 28.3659 16.2794L28.3659 18.5111C28.3659 20.4918 28.3654 21.9244 28.2936 23.0591C28.2223 24.1846 28.0842 24.9397 27.8436 25.5713C27.0343 27.6959 25.3563 29.3739 23.2316 30.1833C22.6 30.4239 21.8449 30.562 20.7195 30.6332C19.5848 30.705 18.1521 30.7055 16.1714 30.7055C14.1907 30.7055 12.7581 30.705 11.6234 30.6332C10.4979 30.562 9.74284 30.4239 9.11124 30.1833C6.98659 29.3739 5.30859 27.6959 4.49923 25.5713C4.25863 24.9397 4.12054 24.1846 4.04933 23.0591C3.97752 21.9244 3.97699 20.4918 3.97699 18.5111L3.97699 16.2794C3.97699 14.2987 3.97752 12.866 4.04933 11.7313C4.12054 10.6059 4.25863 9.85076 4.49923 9.21916C5.30859 7.09451 6.98659 5.41651 9.11124 4.60715ZM19.8015 12.4636C19.5942 12.1267 19.227 11.9214 18.8314 11.9214C18.4359 11.9214 18.0687 12.1267 17.8614 12.4636L13.4981 19.5563L11.8015 16.7983C11.5942 16.4614 11.227 16.2562 10.8315 16.2562L8.16478 16.2562C7.53579 16.2562 7.02589 16.7661 7.02589 17.3951C7.02589 18.0241 7.53579 18.534 8.16478 18.534L10.1949 18.534L12.5281 22.3266C12.7353 22.6635 13.1026 22.8687 13.4981 22.8687C13.8937 22.8687 14.2609 22.6635 14.4681 22.3266L18.8315 15.2339L20.5281 17.9918C20.7353 18.3287 21.1026 18.534 21.4981 18.534L24.1648 18.534C24.7938 18.534 25.3037 18.0241 25.3037 17.3951C25.3037 16.7661 24.7938 16.2562 24.1648 16.2562L22.1346 16.2562L19.8015 12.4636Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgActivityRec);\nexport default \"/Frontend/static/media/activity-rec.bba0757483ce83af9a3c36110b61dd43.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgHeart(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 33 35\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M16.7747 30.3994C18.1081 30.3994 30.1081 23.1751 30.1081 13.061C30.1081 8.00398 26.1081 4.45452 22.1081 4.3918C20.1081 4.36044 18.1081 5.11427 16.7747 7.28156C15.4414 5.11427 13.4068 4.39181 11.4414 4.39181C7.44141 4.39181 3.44141 8.00398 3.44141 13.061C3.44141 23.1752 15.4414 30.3994 16.7747 30.3994Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0885 5.55823C20.4248 5.53215 18.848 6.13593 17.7671 7.89279C17.5548 8.2379 17.1786 8.44813 16.7734 8.44813C16.3683 8.44814 15.9921 8.2379 15.7798 7.89279C14.7065 6.14831 13.1008 5.55838 11.4401 5.55838C8.10978 5.55838 4.60677 8.62258 4.60677 13.0609C4.60677 17.6547 7.34474 21.7047 10.4189 24.6853C11.9406 26.1607 13.5023 27.3316 14.754 28.1283C15.3806 28.527 15.9166 28.8238 16.3198 29.0161C16.5164 29.1098 16.6676 29.1721 16.7734 29.209C16.8793 29.1721 17.0305 29.1098 17.2271 29.0161C17.6303 28.8238 18.1663 28.527 18.7929 28.1283C20.0446 27.3316 21.6063 26.1607 23.128 24.6853C26.2021 21.7047 28.9401 17.6547 28.9401 13.0609C28.9401 8.63849 25.4488 5.61092 22.0885 5.55823ZM16.7707 5.37434C18.2855 3.78223 20.2338 3.19553 22.1251 3.22519C26.7648 3.29794 31.2734 7.36929 31.2734 13.0609C31.2734 18.5813 28.0114 23.2005 24.7522 26.3605C23.1073 27.9555 21.4189 29.2228 20.0457 30.0967C19.3597 30.5333 18.7396 30.8799 18.2313 31.1222C17.9782 31.2429 17.7382 31.3448 17.5221 31.419C17.3382 31.4823 17.0602 31.566 16.7734 31.566C16.4867 31.566 16.2087 31.4823 16.0248 31.419C15.8087 31.3448 15.5687 31.2429 15.3156 31.1222C14.8073 30.8799 14.1872 30.5333 13.5012 30.0967C12.128 29.2228 10.4396 27.9555 8.79466 26.3605C5.53547 23.2005 2.27344 18.5813 2.27344 13.0609C2.27344 7.3852 6.77043 3.22504 11.4401 3.22504C13.2784 3.22504 15.2435 3.7857 16.7707 5.37434Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHeart);\nexport default \"/Frontend/static/media/heart.e1e566efb0e8fd5d3ca6cbb143371564.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgReceipt(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 33 33\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M3.06445 2.72485V18.5106C3.06445 22.3272 3.06445 24.2355 3.80722 25.6933C4.46058 26.9756 5.50312 28.0181 6.78541 28.6715C8.24318 29.4143 10.1515 29.4143 13.9682 29.4143H24.3978V16.0696V2.72485L20.7814 4.3335C20.381 4.51161 20.1808 4.60067 19.987 4.66054C19.0052 4.96381 17.939 4.80785 17.0852 4.23607C16.9167 4.12318 16.7504 3.98051 16.4178 3.69517C15.9765 3.31667 15.7559 3.12742 15.5396 2.99192C14.4334 2.29925 13.0288 2.29925 11.9227 2.99192C11.7063 3.12742 11.4857 3.31667 11.0445 3.69517C10.7119 3.98051 10.5456 4.12318 10.377 4.23607C9.52325 4.80785 8.45705 4.96381 7.47528 4.66054C7.28145 4.60067 7.08124 4.51161 6.68084 4.3335L3.06445 2.72485Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.2469 1.90938C12.7678 0.956964 14.6992 0.956964 16.2201 1.90938C16.5196 2.09696 16.8096 2.3459 17.1836 2.667L17.2521 2.72579C17.6094 3.03227 17.7084 3.11439 17.7986 3.17482C18.3322 3.53218 18.9986 3.62966 19.6122 3.44012C19.716 3.40807 19.8344 3.35776 20.2645 3.16645L23.8809 1.5578C24.2761 1.38197 24.7335 1.41809 25.0963 1.65377C25.4591 1.88944 25.678 2.29267 25.678 2.72528V14.7986C26.0164 14.8045 26.3241 14.8157 26.6025 14.8371C27.2126 14.8841 27.7866 14.9856 28.3345 15.2462C29.3072 15.7088 30.0908 16.4924 30.5534 17.4651C30.814 18.013 30.9155 18.587 30.9625 19.1971C31.0076 19.7824 31.0075 20.4976 31.0075 21.3544V21.3544L31.0075 21.4032V26.7479C31.0075 28.9172 29.2564 30.6775 27.0906 30.6923C27.0827 30.6924 27.0748 30.6925 27.0668 30.6925H13.9705H13.9143C12.0536 30.6925 10.5791 30.6925 9.39054 30.5954C8.17513 30.4961 7.14673 30.2889 6.2077 29.8104C4.68498 29.0346 3.44697 27.7966 2.6711 26.2738C2.19264 25.3348 1.98546 24.3064 1.88615 23.091C1.78905 21.9025 1.78905 20.4279 1.78906 18.5672L1.78906 18.511V2.72528C1.78906 2.29267 2.00796 1.88944 2.37073 1.65377C2.73351 1.41809 3.1909 1.38197 3.58616 1.5578L7.20255 3.16645C7.63262 3.35776 7.75104 3.40807 7.85479 3.44012C8.4684 3.62966 9.13477 3.53218 9.66837 3.17482C9.7586 3.11439 9.85765 3.03227 10.2149 2.72579L10.2834 2.66699L10.2834 2.66698C10.6574 2.34589 10.9474 2.09696 11.2469 1.90938ZM23.3702 28.1369C23.2076 27.7049 23.1186 27.2368 23.1186 26.7479V16.0699H23.1224V4.69216L21.3031 5.50142L21.2425 5.52841C20.9012 5.68033 20.6347 5.79898 20.3665 5.88183C19.0165 6.29883 17.5505 6.08437 16.3766 5.29818C16.1434 5.14197 15.922 4.95197 15.6386 4.70868L15.6386 4.70868L15.6385 4.70865L15.5882 4.66542C15.1134 4.25811 14.979 4.14745 14.8638 4.07531C14.1724 3.64239 13.2946 3.64239 12.6032 4.07531C12.488 4.14745 12.3536 4.25811 11.8788 4.66542L11.8285 4.70865L11.8284 4.70868L11.8284 4.70868C11.545 4.95197 11.3237 5.14197 11.0904 5.29818C9.9165 6.08437 8.45047 6.29883 7.10054 5.88183C6.83232 5.79898 6.56581 5.68034 6.22457 5.52842L6.1639 5.50142L4.34462 4.69216V18.511C4.34462 20.4404 4.34561 21.8106 4.43322 22.8829C4.51961 23.9403 4.68381 24.5949 4.94812 25.1136C5.47897 26.1555 6.32603 27.0026 7.36789 27.5334C7.88662 27.7977 8.54127 27.9619 9.59864 28.0483C10.6709 28.1359 12.0411 28.1369 13.9705 28.1369H23.3702ZM8.45081 12.0664C8.45081 11.3607 9.02289 10.7886 9.72859 10.7886H15.0619C15.7676 10.7886 16.3397 11.3607 16.3397 12.0664C16.3397 12.7721 15.7676 13.3442 15.0619 13.3442H9.72859C9.02289 13.3442 8.45081 12.7721 8.45081 12.0664ZM12.4505 17.4042C12.4505 16.6985 13.0226 16.1264 13.7283 16.1264H17.7283C18.434 16.1264 19.0061 16.6985 19.0061 17.4042C19.0061 18.1099 18.434 18.682 17.7283 18.682H13.7283C13.0226 18.682 12.4505 18.1099 12.4505 17.4042ZM13.7283 21.4647C13.0226 21.4647 12.4505 22.0367 12.4505 22.7424C12.4505 23.4481 13.0226 24.0202 13.7283 24.0202H17.7283C18.434 24.0202 19.0061 23.4481 19.0061 22.7424C19.0061 22.0367 18.434 21.4647 17.7283 21.4647L13.7283 21.4647ZM11.0642 17.4043C11.0642 18.1413 10.4673 18.7388 9.7309 18.7388C8.99452 18.7388 8.39757 18.1413 8.39757 17.4043C8.39757 16.6673 8.99452 16.0699 9.7309 16.0699C10.4673 16.0699 11.0642 16.6673 11.0642 17.4043ZM9.7309 24.0766C10.4673 24.0766 11.0642 23.4791 11.0642 22.7421C11.0642 22.0051 10.4673 21.4077 9.7309 21.4077C8.99452 21.4077 8.39757 22.0051 8.39757 22.7421C8.39757 23.4791 8.99452 24.0766 9.7309 24.0766ZM25.6742 17.3544C25.9555 17.3596 26.1948 17.3689 26.4063 17.3852C26.8681 17.4207 27.0904 17.4844 27.237 17.5541C27.6791 17.7643 28.0353 18.1205 28.2456 18.5626C28.3152 18.7092 28.3789 18.9315 28.4145 19.3933C28.4511 19.8688 28.452 20.4851 28.452 21.4032V26.7479C28.452 27.515 27.8301 28.1368 27.0631 28.1368C26.296 28.1368 25.6742 27.515 25.6742 26.7479V17.3544Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgReceipt);\nexport default \"/Frontend/static/media/receipt.b68aa0575e2bcd7d176eba4a890e8ae0.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSprinkle(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M24.9792 29.3997C25.3793 29.2474 25.7198 28.9069 26.4008 28.2259L28.224 26.4027C28.905 25.7217 29.2455 25.3812 29.3977 24.9812C29.532 24.6285 29.5637 24.2451 29.4893 23.8752C29.4048 23.4555 29.1249 23.0637 28.5652 22.28L26.7993 19.8079C26.442 19.3076 26.3462 18.673 26.4647 18.0698C26.5963 17.4004 26.6653 16.7085 26.6653 16.0006C26.6653 15.2926 26.5963 14.6008 26.4648 13.9315C26.3462 13.3283 26.442 12.6936 26.7994 12.1934L28.5652 9.72125C29.125 8.93756 29.4048 8.54572 29.4893 8.12608C29.5637 7.75616 29.532 7.37274 29.3977 7.02009C29.2455 6.62004 28.905 6.27954 28.224 5.59854L26.4008 3.77535C25.7198 3.09435 25.3793 2.75386 24.9792 2.60158C24.6266 2.46735 24.2432 2.43562 23.8732 2.51005C23.4536 2.59448 23.0618 2.87437 22.2781 3.43414L19.806 5.1999C19.3058 5.55721 18.6711 5.65307 18.0679 5.53449C17.3985 5.40289 16.7066 5.33391 15.9986 5.33391C15.2907 5.33391 14.5988 5.40289 13.9294 5.53448C13.3262 5.65305 12.6916 5.55719 12.1913 5.19988L9.71925 3.4341C8.93556 2.87432 8.54372 2.59443 8.12407 2.51C7.75416 2.43557 7.37074 2.4673 7.01809 2.60153C6.61804 2.75381 6.27754 3.09431 5.59654 3.7753L3.77335 5.5985L3.77335 5.5985C3.09235 6.27949 2.75186 6.61999 2.59958 7.02004C2.46535 7.37269 2.43362 7.75611 2.50805 8.12603C2.59248 8.54567 2.87237 8.93751 3.43214 9.7212L3.43214 9.7212L5.19793 12.1933C5.55524 12.6935 5.6511 13.3282 5.53253 13.9314C5.40094 14.6008 5.33197 15.2926 5.33197 16.0006C5.33197 16.7086 5.40094 17.4004 5.53254 18.0699C5.65112 18.6731 5.55526 19.3077 5.19795 19.808L3.43215 22.2801C2.87238 23.0637 2.59249 23.4556 2.50805 23.8752C2.43363 24.2451 2.46536 24.6286 2.59959 24.9812C2.75186 25.3813 3.09236 25.7218 3.77336 26.4028L5.59655 28.226C6.27755 28.907 6.61804 29.2475 7.0181 29.3997C7.37075 29.534 7.75417 29.5657 8.12408 29.4913C8.54373 29.4068 8.93557 29.1269 9.71926 28.5672L12.1915 26.8013C12.6917 26.444 13.3263 26.3481 13.9295 26.4667C14.5989 26.5983 15.2907 26.6672 15.9986 26.6672C16.7066 26.6672 17.3984 26.5983 18.0678 26.4667C18.671 26.3481 19.3057 26.444 19.8059 26.8013L22.2781 28.5671C23.0617 29.1269 23.4536 29.4068 23.8732 29.4912C24.2431 29.5656 24.6266 29.5339 24.9792 29.3997ZM15.9987 20.0005C18.2078 20.0005 19.9987 18.2096 19.9987 16.0005C19.9987 13.7913 18.2078 12.0005 15.9987 12.0005C13.7895 12.0005 11.9987 13.7913 11.9987 16.0005C11.9987 18.2096 13.7895 20.0005 15.9987 20.0005Z\",\n fill: \"#800000\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.9792 29.3997L24.7124 28.6987L24.9792 29.3997ZM29.3977 24.9812L30.0987 25.248L29.3977 24.9812ZM29.4893 23.8752L30.2245 23.7272V23.7272L29.4893 23.8752ZM28.5652 22.28L27.9549 22.7159L28.5652 22.28ZM26.7993 19.8079L27.4096 19.3719L27.4096 19.3719L26.7993 19.8079ZM26.4647 18.0698L27.2007 18.2145V18.2144L26.4647 18.0698ZM26.4648 13.9315L27.2007 13.7868V13.7868L26.4648 13.9315ZM26.7994 12.1934L27.4097 12.6293L26.7994 12.1934ZM28.5652 9.72125L27.9549 9.28532L28.5652 9.72125ZM29.4893 8.12608L28.754 7.97813L28.754 7.97814L29.4893 8.12608ZM29.3977 7.02009L28.6968 7.28689V7.2869L29.3977 7.02009ZM28.224 5.59854L27.6936 6.12887V6.12888L28.224 5.59854ZM26.4008 3.77535L26.9311 3.24502V3.24502L26.4008 3.77535ZM24.9792 2.60158L24.7124 3.30252V3.30252L24.9792 2.60158ZM23.8732 2.51005L24.0212 3.24531V3.24531L23.8732 2.51005ZM22.2781 3.43414L22.714 4.04444V4.04444L22.2781 3.43414ZM19.806 5.1999L20.2419 5.8102V5.8102L19.806 5.1999ZM18.0679 5.53449L18.2126 4.79858H18.2126L18.0679 5.53449ZM13.9294 5.53448L14.0741 6.27039V6.27039L13.9294 5.53448ZM12.1913 5.19988L12.6273 4.58958V4.58958L12.1913 5.19988ZM9.71925 3.4341L10.1552 2.8238V2.8238L9.71925 3.4341ZM8.12407 2.51L7.97613 3.24526V3.24526L8.12407 2.51ZM7.01809 2.60153L6.75129 1.90059L6.75129 1.90059L7.01809 2.60153ZM5.59654 3.7753L6.12687 4.30563L6.12687 4.30563L5.59654 3.7753ZM3.77335 5.5985L3.24302 5.06817C3.23125 5.07994 3.21988 5.09209 3.20892 5.10462L3.77335 5.5985ZM3.77335 5.5985L4.30368 6.12883C4.31544 6.11706 4.32682 6.1049 4.33778 6.09238L3.77335 5.5985ZM2.59958 7.02004L1.89864 6.75324L2.59958 7.02004ZM2.50805 8.12603L1.77278 8.27397H1.77278L2.50805 8.12603ZM3.43214 9.7212L4.07997 9.34329C4.06836 9.32338 4.05584 9.30402 4.04244 9.28527L3.43214 9.7212ZM3.43214 9.7212L2.78431 10.0991C2.79592 10.119 2.80845 10.1384 2.82184 10.1571L3.43214 9.7212ZM5.19793 12.1933L4.58763 12.6292H4.58763L5.19793 12.1933ZM5.53253 13.9314L4.79661 13.7867L5.53253 13.9314ZM5.53254 18.0699L4.79663 18.2145L5.53254 18.0699ZM5.19795 19.808L5.80825 20.2439L5.80825 20.2439L5.19795 19.808ZM3.43215 22.2801L4.04245 22.716H4.04245L3.43215 22.2801ZM2.50805 23.8752L1.77279 23.7273L1.77279 23.7273L2.50805 23.8752ZM2.59959 24.9812L1.89865 25.248L1.89865 25.248L2.59959 24.9812ZM3.77336 26.4028L4.30369 25.8724H4.30369L3.77336 26.4028ZM5.59655 28.226L5.06622 28.7563L5.06622 28.7563L5.59655 28.226ZM7.0181 29.3997L6.7513 30.1007L6.7513 30.1007L7.0181 29.3997ZM8.12408 29.4913L8.27202 30.2265H8.27202L8.12408 29.4913ZM9.71926 28.5672L10.1552 29.1775L9.71926 28.5672ZM12.1915 26.8013L12.6274 27.4116H12.6274L12.1915 26.8013ZM13.9295 26.4667L14.0742 25.7308L14.0742 25.7308L13.9295 26.4667ZM18.0678 26.4667L17.9232 25.7308H17.9232L18.0678 26.4667ZM19.8059 26.8013L20.2418 26.191L19.8059 26.8013ZM22.2781 28.5671L22.714 27.9568L22.2781 28.5671ZM23.8732 29.4912L24.0212 28.756L24.0212 28.756L23.8732 29.4912ZM25.8704 27.6956C25.522 28.0441 25.2896 28.2757 25.0958 28.4423C24.9092 28.6026 24.7994 28.6656 24.7124 28.6987L25.246 30.1006C25.5591 29.9815 25.8196 29.7981 26.0735 29.5799C26.3202 29.3678 26.5986 29.0888 26.9311 28.7562L25.8704 27.6956ZM27.6936 25.8724L25.8704 27.6956L26.9311 28.7562L28.7543 26.933L27.6936 25.8724ZM28.6968 24.7144C28.6637 24.8014 28.6007 24.9111 28.4403 25.0978C28.2738 25.2915 28.0421 25.5239 27.6936 25.8724L28.7543 26.933C29.0868 26.6005 29.3659 26.3222 29.5779 26.0754C29.7961 25.8215 29.9795 25.561 30.0987 25.248L28.6968 24.7144ZM28.754 24.0231C28.8005 24.2543 28.7807 24.494 28.6968 24.7144L30.0987 25.248C30.2832 24.7631 30.3269 24.2359 30.2245 23.7272L28.754 24.0231ZM27.9549 22.7159C28.2413 23.117 28.4316 23.3843 28.564 23.6028C28.6916 23.8132 28.7356 23.9319 28.754 24.0231L30.2245 23.7272C30.1585 23.3989 30.0204 23.1117 29.8469 22.8255C29.6783 22.5472 29.4488 22.2268 29.1755 21.8441L27.9549 22.7159ZM26.189 20.2438L27.9549 22.7159L29.1755 21.8441L27.4096 19.3719L26.189 20.2438ZM25.7288 17.9251C25.5778 18.6936 25.6913 19.5469 26.189 20.2438L27.4096 19.3719C27.1928 19.0683 27.1146 18.6524 27.2007 18.2145L25.7288 17.9251ZM25.9153 16.0006C25.9153 16.6597 25.8511 17.3031 25.7288 17.9251L27.2007 18.2144C27.3416 17.4977 27.4153 16.7574 27.4153 16.0006H25.9153ZM25.7288 14.0761C25.8511 14.6981 25.9153 15.3415 25.9153 16.0006H27.4153C27.4153 15.2438 27.3416 14.5036 27.2007 13.7868L25.7288 14.0761ZM26.1891 11.7575C25.6913 12.4543 25.5778 13.3076 25.7288 14.0761L27.2007 13.7868C27.1146 13.3489 27.1928 12.933 27.4097 12.6293L26.1891 11.7575ZM27.9549 9.28532L26.1891 11.7575L27.4097 12.6293L29.1755 10.1572L27.9549 9.28532ZM28.754 7.97814C28.7356 8.0694 28.6916 8.18803 28.564 8.39848C28.4316 8.61701 28.2413 8.8843 27.9549 9.28532L29.1755 10.1572C29.4488 9.77451 29.6783 9.45404 29.8469 9.17581C30.0204 8.88951 30.1585 8.6024 30.2245 8.27401L28.754 7.97814ZM28.6968 7.2869C28.7807 7.5073 28.8005 7.74694 28.754 7.97813L30.2245 8.27402C30.3269 7.76538 30.2832 7.23817 30.0987 6.75329L28.6968 7.2869ZM27.6936 6.12888C28.0421 6.47735 28.2738 6.70972 28.4403 6.9035C28.6007 7.09013 28.6637 7.19989 28.6968 7.28689L30.0987 6.75329C29.9795 6.44024 29.7961 6.17973 29.5779 5.92584C29.3659 5.67911 29.0868 5.40074 28.7543 5.06821L27.6936 6.12888ZM25.8704 4.30568L27.6936 6.12887L28.7543 5.06821L26.9311 3.24502L25.8704 4.30568ZM24.7124 3.30252C24.7994 3.33564 24.9092 3.39862 25.0958 3.55901C25.2896 3.72554 25.522 3.95721 25.8704 4.30568L26.9311 3.24502C26.5986 2.91249 26.3202 2.63342 26.0735 2.42138C25.8196 2.2032 25.5591 2.0198 25.246 1.90064L24.7124 3.30252ZM24.0212 3.24531C24.2524 3.19879 24.492 3.21863 24.7124 3.30252L25.246 1.90064C24.7611 1.71607 24.2339 1.67244 23.7253 1.77478L24.0212 3.24531ZM22.714 4.04444C23.115 3.758 23.3823 3.56769 23.6008 3.43528C23.8113 3.30776 23.9299 3.26367 24.0212 3.24531L23.7253 1.77478C23.3969 1.84085 23.1098 1.97893 22.8235 2.15241C22.5453 2.32099 22.2248 2.55051 21.8421 2.82384L22.714 4.04444ZM20.2419 5.8102L22.714 4.04444L21.8421 2.82384L19.3701 4.5896L20.2419 5.8102ZM17.9233 6.27041C18.6917 6.42148 19.5451 6.30795 20.2419 5.8102L19.3701 4.5896C19.0665 4.80648 18.6505 4.88467 18.2126 4.79858L17.9233 6.27041ZM15.9986 6.08391C16.6578 6.08391 17.3012 6.14812 17.9233 6.27041L18.2126 4.79858C17.4958 4.65766 16.7555 4.58391 15.9986 4.58391V6.08391ZM14.0741 6.27039C14.6961 6.14812 15.3395 6.08391 15.9986 6.08391V4.58391C15.2418 4.58391 14.5015 4.65765 13.7847 4.79856L14.0741 6.27039ZM11.7554 5.81018C12.4523 6.30792 13.3056 6.42146 14.0741 6.27039L13.7847 4.79856C13.3468 4.88465 12.9309 4.80646 12.6273 4.58958L11.7554 5.81018ZM9.28332 4.0444L11.7554 5.81018L12.6273 4.58958L10.1552 2.8238L9.28332 4.0444ZM7.97613 3.24526C8.0674 3.26363 8.18603 3.30771 8.39648 3.43523C8.615 3.56764 8.8823 3.75795 9.28332 4.0444L10.1552 2.8238C9.77251 2.55046 9.45204 2.32095 9.17381 2.15236C8.88751 1.97888 8.6004 1.84081 8.27201 1.77473L7.97613 3.24526ZM7.28489 3.30247C7.5053 3.21858 7.74494 3.19874 7.97613 3.24526L8.27201 1.77473C7.76338 1.67239 7.23618 1.71603 6.75129 1.90059L7.28489 3.30247ZM6.12687 4.30563C6.47535 3.95716 6.70772 3.72549 6.9015 3.55896C7.08813 3.39857 7.19789 3.33559 7.28489 3.30247L6.75129 1.90059C6.43824 2.01975 6.17772 2.20315 5.92384 2.42133C5.67711 2.63337 5.39874 2.91245 5.06621 3.24497L6.12687 4.30563ZM4.30368 6.12883L6.12687 4.30563L5.06621 3.24497L3.24302 5.06817L4.30368 6.12883ZM4.33778 6.09238L4.33778 6.09237L3.20892 5.10462L3.20891 5.10462L4.33778 6.09238ZM3.30052 7.28685C3.33364 7.19985 3.39662 7.09008 3.55701 6.90345C3.72354 6.70967 3.95521 6.4773 4.30368 6.12883L3.24302 5.06817C2.91049 5.40069 2.63142 5.67907 2.41938 5.9258C2.2012 6.17968 2.0178 6.44019 1.89864 6.75324L3.30052 7.28685ZM3.24331 7.97809C3.19679 7.74689 3.21662 7.50725 3.30052 7.28685L1.89864 6.75324C1.71407 7.23813 1.67044 7.76534 1.77278 8.27397L3.24331 7.97809ZM4.04244 9.28527C3.756 8.88425 3.56569 8.61696 3.43328 8.39844C3.30576 8.18798 3.26167 8.06935 3.24331 7.97809L1.77278 8.27397C1.83885 8.60235 1.97693 8.88947 2.1504 9.17576C2.31899 9.45399 2.54851 9.77446 2.82184 10.1571L4.04244 9.28527ZM4.07998 9.3433L4.07997 9.34329L2.78431 10.0991L2.78431 10.0991L4.07998 9.3433ZM5.80823 11.7574L4.04244 9.28527L2.82184 10.1571L4.58763 12.6292L5.80823 11.7574ZM6.26844 14.076C6.41951 13.3076 6.30597 12.4542 5.80823 11.7574L4.58763 12.6292C4.80451 12.9329 4.8827 13.3488 4.79661 13.7867L6.26844 14.076ZM6.08197 16.0006C6.08197 15.3414 6.14617 14.698 6.26844 14.076L4.79661 13.7867C4.6557 14.5035 4.58197 15.2438 4.58197 16.0006H6.08197ZM6.26846 17.9252C6.14617 17.3032 6.08197 16.6597 6.08197 16.0006H4.58197C4.58197 16.7574 4.65571 17.4977 4.79663 18.2145L6.26846 17.9252ZM5.80825 20.2439C6.306 19.547 6.41953 18.6937 6.26846 17.9252L4.79663 18.2145C4.88272 18.6525 4.80453 19.0684 4.58765 19.372L5.80825 20.2439ZM4.04245 22.716L5.80825 20.2439L4.58765 19.372L2.82185 21.8441L4.04245 22.716ZM3.24332 24.0232C3.26168 23.9319 3.30577 23.8133 3.43329 23.6028C3.5657 23.3843 3.75601 23.117 4.04245 22.716L2.82185 21.8441C2.54852 22.2268 2.319 22.5473 2.15041 22.8255C1.97694 23.1118 1.83886 23.3989 1.77279 23.7273L3.24332 24.0232ZM3.30053 24.7144C3.21663 24.494 3.1968 24.2544 3.24332 24.0232L1.77279 23.7273C1.67045 24.2359 1.71408 24.7631 1.89865 25.248L3.30053 24.7144ZM4.30369 25.8724C3.95522 25.524 3.72355 25.2916 3.55702 25.0978C3.39663 24.9112 3.33364 24.8014 3.30053 24.7144L1.89865 25.248C2.01781 25.5611 2.20121 25.8216 2.41939 26.0755C2.63143 26.3222 2.9105 26.6006 3.24303 26.9331L4.30369 25.8724ZM6.12688 27.6956L4.30369 25.8724L3.24303 26.9331L5.06622 28.7563L6.12688 27.6956ZM7.28491 28.6988C7.1979 28.6657 7.08814 28.6027 6.9015 28.4423C6.70772 28.2758 6.47535 28.0441 6.12688 27.6956L5.06622 28.7563C5.39875 29.0888 5.67712 29.3679 5.92385 29.5799C6.17773 29.7981 6.43824 29.9815 6.7513 30.1007L7.28491 28.6988ZM7.97614 28.756C7.74495 28.8025 7.50531 28.7827 7.2849 28.6988L6.7513 30.1007C7.23618 30.2852 7.76339 30.3289 8.27202 30.2265L7.97614 28.756ZM9.28333 27.9569C8.88231 28.2433 8.61501 28.4336 8.39649 28.566C8.18603 28.6936 8.06741 28.7376 7.97614 28.756L8.27202 30.2265C8.60041 30.1605 8.88752 30.0224 9.17382 29.8489C9.45205 29.6803 9.77252 29.4508 10.1552 29.1775L9.28333 27.9569ZM11.7555 26.191L9.28333 27.9569L10.1552 29.1775L12.6274 27.4116L11.7555 26.191ZM14.0742 25.7308C13.3057 25.5797 12.4524 25.6933 11.7555 26.191L12.6274 27.4116C12.931 27.1947 13.3469 27.1165 13.7849 27.2026L14.0742 25.7308ZM15.9986 25.9172C15.3395 25.9172 14.6961 25.8531 14.0742 25.7308L13.7849 27.2026C14.5016 27.3435 15.2419 27.4172 15.9986 27.4172V25.9172ZM17.9232 25.7308C17.3012 25.853 16.6578 25.9172 15.9986 25.9172V27.4172C16.7554 27.4172 17.4957 27.3435 18.2125 27.2026L17.9232 25.7308ZM20.2418 26.191C19.545 25.6932 18.6916 25.5797 17.9232 25.7308L18.2125 27.2026C18.6504 27.1165 19.0663 27.1947 19.37 27.4116L20.2418 26.191ZM22.714 27.9568L20.2418 26.191L19.37 27.4116L21.8421 29.1774L22.714 27.9568ZM24.0212 28.756C23.9299 28.7376 23.8113 28.6935 23.6008 28.566C23.3823 28.4336 23.115 28.2433 22.714 27.9568L21.8421 29.1774C22.2248 29.4508 22.5453 29.6803 22.8235 29.8489C23.1098 30.0223 23.3969 30.1604 23.7253 30.2265L24.0212 28.756ZM24.7124 28.6987C24.492 28.7826 24.2524 28.8025 24.0212 28.756L23.7253 30.2265C24.2339 30.3288 24.7611 30.2852 25.246 30.1006L24.7124 28.6987ZM19.2487 16.0005C19.2487 17.7954 17.7936 19.2505 15.9987 19.2505V20.7505C18.622 20.7505 20.7487 18.6238 20.7487 16.0005H19.2487ZM15.9987 12.7505C17.7936 12.7505 19.2487 14.2055 19.2487 16.0005H20.7487C20.7487 13.3771 18.622 11.2505 15.9987 11.2505V12.7505ZM12.7487 16.0005C12.7487 14.2055 14.2038 12.7505 15.9987 12.7505V11.2505C13.3753 11.2505 11.2487 13.3771 11.2487 16.0005H12.7487ZM15.9987 19.2505C14.2038 19.2505 12.7487 17.7954 12.7487 16.0005H11.2487C11.2487 18.6238 13.3753 20.7505 15.9987 20.7505V19.2505Z\",\n fill: \"#800000\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSprinkle);\nexport default \"/Frontend/static/media/sprinkle.52b4bd7d28684507e432c71c946e717d.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgWaterMist(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 33,\n height: 30,\n viewBox: \"0 0 33 30\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M16.5026 2.5C10.8325 2.5 6.23594 6.93984 6.23594 12.4167C6.23594 12.4762 6.23648 12.5355 6.23756 12.5948C3.7064 13.2233 1.83594 15.4423 1.83594 18.0833C1.83594 21.2129 4.46253 23.75 7.7026 23.75H23.8359C27.886 23.75 31.1693 20.5787 31.1693 16.6667C31.1693 13.6539 29.2219 11.0804 26.4767 10.0565C25.3804 5.71912 21.3307 2.5 16.5026 2.5Z\",\n fill: \"#800000\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.5026 3.25C11.2044 3.25 6.98594 7.28854 6.98594 12.1786C6.98594 12.232 6.98644 12.2853 6.98743 12.3385C6.99399 12.6898 6.75573 12.9986 6.41421 13.0814C4.18363 13.6219 2.58594 15.5134 2.58594 17.7093C2.58594 19.4556 3.59181 21.0036 5.12835 21.8415C5.492 22.0399 5.62604 22.4954 5.42773 22.8591C5.22941 23.2227 4.77385 23.3568 4.41019 23.1585C2.43963 22.0838 1.08594 20.0571 1.08594 17.7093C1.08594 14.951 2.94773 12.6439 5.49351 11.7874C5.71119 6.1713 10.597 1.75 16.5026 1.75C21.5119 1.75 25.7762 4.92308 27.0981 9.31302C29.9177 10.4936 31.9193 13.1732 31.9193 16.3266C31.9193 18.853 30.6311 21.0807 28.6694 22.4698C28.3313 22.7092 27.8632 22.6292 27.6239 22.2912C27.3845 21.9531 27.4645 21.485 27.8025 21.2457C29.4032 20.1122 30.4193 18.3238 30.4193 16.3266C30.4193 13.7334 28.7004 11.4827 26.2202 10.5799C25.9882 10.4954 25.8126 10.3022 25.7507 10.0631C24.7449 6.17922 21.0084 3.25 16.5026 3.25ZM11.1693 16.75C11.5835 16.75 11.9193 17.0858 11.9193 17.5V20C11.9193 20.4142 11.5835 20.75 11.1693 20.75C10.7551 20.75 10.4193 20.4142 10.4193 20V17.5C10.4193 17.0858 10.7551 16.75 11.1693 16.75ZM11.9193 23.75C11.9193 23.3358 11.5835 23 11.1693 23C10.7551 23 10.4193 23.3358 10.4193 23.75V26.25C10.4193 26.6642 10.7551 27 11.1693 27C11.5835 27 11.9193 26.6642 11.9193 26.25V23.75ZM21.8359 16.75C22.2502 16.75 22.5859 17.0858 22.5859 17.5V20C22.5859 20.4142 22.2502 20.75 21.8359 20.75C21.4217 20.75 21.0859 20.4142 21.0859 20V17.5C21.0859 17.0858 21.4217 16.75 21.8359 16.75ZM22.5859 23.75C22.5859 23.3358 22.2502 23 21.8359 23C21.4217 23 21.0859 23.3358 21.0859 23.75V26.25C21.0859 26.6642 21.4217 27 21.8359 27C22.2502 27 22.5859 26.6642 22.5859 26.25V23.75ZM16.5026 18C16.9168 18 17.2526 18.3358 17.2526 18.75V21.25C17.2526 21.6642 16.9168 22 16.5026 22C16.0884 22 15.7526 21.6642 15.7526 21.25V18.75C15.7526 18.3358 16.0884 18 16.5026 18ZM17.2526 25C17.2526 24.5858 16.9168 24.25 16.5026 24.25C16.0884 24.25 15.7526 24.5858 15.7526 25V27.5C15.7526 27.9142 16.0884 28.25 16.5026 28.25C16.9168 28.25 17.2526 27.9142 17.2526 27.5V25Z\",\n fill: \"#800000\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgWaterMist);\nexport default \"/Frontend/static/media/water-mist.8e71925c37042ec9cb3340918a10f9c1.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgFoam(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 37,\n height: 29,\n viewBox: \"0 0 37 29\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M18.5 3.625C12.1211 3.625 6.95 7.91685 6.95 13.2111C6.95 13.2686 6.95061 13.326 6.95183 13.3833C4.10427 13.9909 2 16.1359 2 18.6889C2 21.7142 4.95492 24.1667 8.6 24.1667H26.75C31.3063 24.1667 35 21.1011 35 17.3194C35 14.4071 32.8093 11.9194 29.7209 10.9296C28.4876 6.73682 23.9316 3.625 18.5 3.625Z\",\n fill: \"#800000\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.5 4.375C12.3984 4.375 7.7 8.45584 7.7 13.2111C7.7 13.2633 7.70055 13.3154 7.70166 13.3674C7.70929 13.7272 7.46029 14.0417 7.10833 14.1168C4.50425 14.6724 2.75 16.5851 2.75 18.6889C2.75 21.1752 5.23223 23.4167 8.6 23.4167H26.75C31.029 23.4167 34.25 20.5621 34.25 17.3194C34.25 14.8146 32.3552 12.5615 29.492 11.6438C29.2553 11.568 29.0715 11.3797 29.0014 11.1413C27.8818 7.33531 23.6752 4.375 18.5 4.375ZM6.2095 12.7974C6.46888 7.16634 12.002 2.875 18.5 2.875C24.0313 2.875 28.8225 5.96103 30.321 10.3426C33.4473 11.4835 35.75 14.1247 35.75 17.3194C35.75 21.64 31.5837 24.9167 26.75 24.9167H8.6C4.67761 24.9167 1.25 22.2532 1.25 18.6889C1.25 15.8791 3.39987 13.6165 6.2095 12.7974Z\",\n fill: \"#800000\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFoam);\nexport default \"/Frontend/static/media/foam.aacff7b88a62786d74015b8cbcdfe883.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGas(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 34,\n height: 30,\n viewBox: \"0 0 34 30\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n d: \"M17 2.5C11.1527 2.5 6.4125 6.93984 6.4125 12.4167C6.4125 12.4762 6.41306 12.5355 6.41417 12.5948C3.80392 13.2233 1.875 15.4423 1.875 18.0833C1.875 21.2129 4.58368 23.75 7.925 23.75H24.5625C28.7392 23.75 32.125 20.5787 32.125 16.6667C32.125 13.6539 30.1168 11.0804 27.2858 10.0565C26.1553 5.71912 21.979 2.5 17 2.5Z\",\n fill: \"#800000\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 3.25C11.5021 3.25 7.1625 7.30942 7.1625 12.1786C7.1625 12.2319 7.16301 12.285 7.16403 12.338C7.17085 12.6915 6.9299 13.0017 6.58575 13.0826C4.26322 13.6284 2.625 15.5297 2.625 17.7093C2.625 19.4437 3.65564 20.9936 5.2506 21.837C5.61677 22.0306 5.75664 22.4844 5.56301 22.8506C5.36937 23.2168 4.91556 23.3566 4.5494 23.163C2.52766 22.0939 1.125 20.0691 1.125 17.7093C1.125 14.9327 3.05753 12.631 5.67048 11.7822C5.89757 6.14933 10.9446 1.75 17 1.75C22.1403 1.75 26.5366 4.9083 27.9022 9.30679C30.7996 10.4802 32.875 13.1567 32.875 16.3266C32.875 18.8631 31.5412 21.0913 29.5245 22.476C29.1831 22.7105 28.7162 22.6238 28.4817 22.2823C28.2473 21.9408 28.334 21.4739 28.6755 21.2395C30.3325 20.1017 31.375 18.3136 31.375 16.3266C31.375 13.7478 29.6107 11.4911 27.0362 10.5823C26.8028 10.5 26.6251 10.3077 26.5612 10.0686C25.5267 6.19487 21.6728 3.25 17 3.25ZM12.875 18.75C12.875 19.4404 12.2594 20 11.5 20C10.7406 20 10.125 19.4404 10.125 18.75C10.125 18.0596 10.7406 17.5 11.5 17.5C12.2594 17.5 12.875 18.0596 12.875 18.75ZM11.5 26.25C12.2594 26.25 12.875 25.6904 12.875 25C12.875 24.3096 12.2594 23.75 11.5 23.75C10.7406 23.75 10.125 24.3096 10.125 25C10.125 25.6904 10.7406 26.25 11.5 26.25ZM23.875 18.75C23.875 19.4404 23.2594 20 22.5 20C21.7406 20 21.125 19.4404 21.125 18.75C21.125 18.0596 21.7406 17.5 22.5 17.5C23.2594 17.5 23.875 18.0596 23.875 18.75ZM22.5 26.25C23.2594 26.25 23.875 25.6904 23.875 25C23.875 24.3096 23.2594 23.75 22.5 23.75C21.7406 23.75 21.125 24.3096 21.125 25C21.125 25.6904 21.7406 26.25 22.5 26.25ZM18.375 21.25C18.375 21.9404 17.7594 22.5 17 22.5C16.2406 22.5 15.625 21.9404 15.625 21.25C15.625 20.5596 16.2406 20 17 20C17.7594 20 18.375 20.5596 18.375 21.25ZM17 28.75C17.7594 28.75 18.375 28.1904 18.375 27.5C18.375 26.8096 17.7594 26.25 17 26.25C16.2406 26.25 15.625 26.8096 15.625 27.5C15.625 28.1904 16.2406 28.75 17 28.75Z\",\n fill: \"#800000\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGas);\nexport default \"/Frontend/static/media/gas.6b18d6550d0ed2448bd99b7d956965d0.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgMoreOptions(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 39,\n height: 40,\n viewBox: \"0 0 39 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_2640_96992)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.9655 9.59202C10.7475 10.0198 10.7475 10.5799 10.7475 11.7V14.1667H8.11406C6.99396 14.1667 6.4339 14.1667 6.00608 14.3847C5.62976 14.5764 5.3238 14.8824 5.13205 15.2587C4.91406 15.6865 4.91406 16.2466 4.91406 17.3667V27.9667C4.91406 29.0868 4.91406 29.6468 5.13205 30.0746C5.3238 30.451 5.62976 30.7569 6.00608 30.9487C6.4339 31.1667 6.99396 31.1667 8.11406 31.1667H19.2141C20.3342 31.1667 20.8942 31.1667 21.322 30.9487C21.6984 30.7569 22.0043 30.451 22.1961 30.0746C22.4141 29.6468 22.4141 29.0868 22.4141 27.9667V25.5H25.0475C26.1676 25.5 26.7276 25.5 27.1555 25.282C27.5318 25.0903 27.8378 24.7843 28.0295 24.408C28.2475 23.9802 28.2475 23.4201 28.2475 22.3V11.7C28.2475 10.5799 28.2475 10.0198 28.0295 9.59202C27.8378 9.21569 27.5318 8.90973 27.1555 8.71799C26.7276 8.5 26.1676 8.5 25.0475 8.5H13.9475C12.8274 8.5 12.2673 8.5 11.8395 8.71799C11.4632 8.90973 11.1572 9.21569 10.9655 9.59202Z\",\n fill: \"#800000\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19.7503 2.08301L19.7807 2.08301H30.8807L30.9112 2.08301C31.4453 2.083 31.8912 2.08299 32.2554 2.11275C32.6353 2.14379 32.9919 2.2109 33.3292 2.38274C33.8467 2.64639 34.2673 3.06709 34.531 3.58453C34.7028 3.9218 34.77 4.27845 34.801 4.65834C34.8307 5.02257 34.8307 5.46841 34.8307 6.00256V6.03301V16.633V16.6635C34.8307 17.1976 34.8307 17.6434 34.801 18.0077C34.77 18.3876 34.7028 18.7442 34.531 19.0815C34.2673 19.5989 33.8467 20.0196 33.3292 20.2833C32.9919 20.4551 32.6353 20.5222 32.2554 20.5533C31.8912 20.583 31.4453 20.583 30.9112 20.583H30.8807H29.7057C29.3781 20.583 29.0995 20.3729 28.9974 20.0801V22.2997V22.3301C28.9974 22.8643 28.9974 23.3101 28.9677 23.6743C28.9366 24.0542 28.8695 24.4109 28.6977 24.7481C28.434 25.2656 28.0133 25.6863 27.4959 25.9499C27.1586 26.1218 26.802 26.1889 26.4221 26.2199C26.0578 26.2497 25.612 26.2497 25.0778 26.2497H25.0474H23.8724C23.5448 26.2497 23.2662 26.0396 23.1641 25.7468V27.9663V27.9968C23.1641 28.5309 23.1641 28.9768 23.1343 29.341C23.1033 29.7209 23.0362 30.0776 22.8643 30.4148C22.6007 30.9323 22.18 31.353 21.6625 31.6166C21.3253 31.7885 20.9686 31.8556 20.5887 31.8866C20.2245 31.9164 19.7787 31.9164 19.2445 31.9163H19.2141H8.11406H8.08361C7.54946 31.9164 7.10362 31.9164 6.73939 31.8866C6.35951 31.8556 6.00285 31.7885 5.66559 31.6166C5.14814 31.353 4.72745 30.9323 4.4638 30.4148C4.29195 30.0776 4.22484 29.7209 4.1938 29.341C4.16404 28.9768 4.16405 28.5309 4.16406 27.9968L4.16406 27.9663V17.3663L4.16406 17.3359C4.16405 16.8018 4.16404 16.3559 4.1938 15.9917C4.22484 15.6118 4.29195 15.2551 4.4638 14.9179C4.72745 14.4004 5.14814 13.9797 5.66559 13.7161C6.00285 13.5442 6.35951 13.4771 6.73939 13.4461C7.10363 13.4163 7.54947 13.4163 8.08363 13.4163H8.11406H10.4035C10.1623 13.2917 9.9974 13.0399 9.9974 12.7497V11.6997L9.9974 11.6692V11.6692C9.99739 11.1351 9.99738 10.6892 10.0271 10.325C10.0582 9.94512 10.1253 9.58846 10.2971 9.2512C10.5608 8.73376 10.9815 8.31306 11.4989 8.04941C11.8362 7.87756 12.1928 7.81045 12.5727 7.77941C12.937 7.74966 13.3828 7.74966 13.9169 7.74967H13.917L13.9474 7.74968H16.2368C15.9956 7.62499 15.8307 7.37325 15.8307 7.08301V6.03301V6.00257C15.8307 5.46842 15.8307 5.02257 15.8605 4.65834C15.8915 4.27845 15.9586 3.9218 16.1305 3.58453C16.3941 3.06709 16.8148 2.64639 17.3323 2.38274C17.6695 2.2109 18.0262 2.14379 18.4061 2.11275C18.7703 2.08299 19.2161 2.083 19.7503 2.08301ZM11.0913 13.4163H19.2141H19.2445C19.7787 13.4163 20.2245 13.4163 20.5887 13.4461C20.9686 13.4771 21.3253 13.5442 21.6625 13.7161C22.18 13.9797 22.6007 14.4004 22.8643 14.9179C23.0362 15.2551 23.1033 15.6118 23.1343 15.9917C23.1641 16.3559 23.1641 16.8017 23.1641 17.3359V17.3663V25.2526C23.2662 24.9598 23.5448 24.7497 23.8724 24.7497H25.0474C25.6198 24.7497 26.004 24.7491 26.2999 24.7249C26.587 24.7015 26.7243 24.6596 26.8149 24.6134C27.0501 24.4936 27.2413 24.3024 27.3612 24.0672C27.4073 23.9766 27.4492 23.8393 27.4726 23.5522C27.4968 23.2563 27.4974 22.8721 27.4974 22.2997V11.6997C27.4974 11.1272 27.4968 10.743 27.4726 10.4472C27.4492 10.16 27.4073 10.0227 27.3612 9.93219C27.2413 9.69698 27.0501 9.50576 26.8149 9.38592C26.7243 9.33977 26.587 9.29789 26.2999 9.27443C26.004 9.25026 25.6198 9.24967 25.0474 9.24967H13.9474C13.375 9.24967 12.9908 9.25026 12.6949 9.27443C12.4078 9.29789 12.2705 9.33977 12.1799 9.38592C11.9447 9.50576 11.7535 9.69698 11.6336 9.93219C11.5875 10.0227 11.5456 10.16 11.5222 10.4472C11.498 10.743 11.4974 11.1272 11.4974 11.6997V12.7497C11.4974 13.0399 11.3325 13.2917 11.0913 13.4163ZM29.7057 19.083C29.3781 19.083 29.0995 19.2931 28.9974 19.5859V11.6997V11.6692C28.9974 11.1351 28.9974 10.6892 28.9677 10.325C28.9366 9.94512 28.8695 9.58846 28.6977 9.2512C28.434 8.73376 28.0133 8.31306 27.4959 8.04941C27.1586 7.87756 26.802 7.81045 26.4221 7.77941C26.0578 7.74966 25.612 7.74966 25.0778 7.74967H25.0778L25.0474 7.74968H16.9247C17.1659 7.62499 17.3307 7.37325 17.3307 7.08301V6.03301C17.3307 5.46058 17.3313 5.07637 17.3555 4.78049C17.3789 4.49336 17.4208 4.35608 17.467 4.26552C17.5868 4.03032 17.778 3.83909 18.0132 3.71925C18.1038 3.67311 18.2411 3.63123 18.5282 3.60777C18.8241 3.58359 19.2083 3.58301 19.7807 3.58301H30.8807C31.4532 3.58301 31.8374 3.58359 32.1333 3.60777C32.4204 3.63123 32.5577 3.67311 32.6482 3.71925C32.8834 3.83909 33.0746 4.03032 33.1945 4.26552C33.2406 4.35608 33.2825 4.49336 33.306 4.78049C33.3301 5.07637 33.3307 5.46058 33.3307 6.03301V16.633C33.3307 17.2054 33.3301 17.5897 33.306 17.8855C33.2825 18.1727 33.2406 18.3099 33.1945 18.4005C33.0746 18.6357 32.8834 18.8269 32.6482 18.9468C32.5577 18.9929 32.4204 19.0348 32.1333 19.0583C31.8374 19.0824 31.4532 19.083 30.8807 19.083H29.7057ZM6.34658 15.0526C6.43714 15.0064 6.57442 14.9646 6.86154 14.9411C7.15742 14.9169 7.54163 14.9163 8.11406 14.9163H19.2141C19.7865 14.9163 20.1707 14.9169 20.4666 14.9411C20.7537 14.9646 20.891 15.0064 20.9816 15.0526C21.2168 15.1724 21.408 15.3637 21.5278 15.5989C21.574 15.6894 21.6158 15.8267 21.6393 16.1138C21.6635 16.4097 21.6641 16.7939 21.6641 17.3663V27.9663C21.6641 28.5388 21.6635 28.923 21.6393 29.2189C21.6158 29.506 21.574 29.6433 21.5278 29.7338C21.408 29.969 21.2168 30.1603 20.9816 30.2801C20.891 30.3262 20.7537 30.3681 20.4666 30.3916C20.1707 30.4158 19.7865 30.4163 19.2141 30.4163H8.11406C7.54164 30.4163 7.15742 30.4158 6.86154 30.3916C6.57442 30.3681 6.43714 30.3262 6.34658 30.2801C6.11137 30.1603 5.92015 29.969 5.80031 29.7338C5.75416 29.6433 5.71228 29.506 5.68882 29.2189C5.66465 28.923 5.66406 28.5388 5.66406 27.9663V17.3663C5.66406 16.7939 5.66465 16.4097 5.68882 16.1138C5.71228 15.8267 5.75416 15.6894 5.80031 15.5989C5.92015 15.3637 6.11137 15.1724 6.34658 15.0526Z\",\n fill: \"#800000\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_2640_96992\",\n x: -2,\n y: 0,\n width: 43,\n height: 42,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 4\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_2640_96992\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_2640_96992\",\n result: \"shape\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgMoreOptions);\nexport default \"/Frontend/static/media/more-options.9d1be4d49875ea143c2c233e8c299af1.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport './_shortcuts-block.scss'\nimport { ReactComponent as HomeShortcutsIcon } from 'assets/icons/home-shortcuts.svg'\nimport { ReactComponent as RocketIcon } from 'assets/icons/rocket.svg'\nimport { ReactComponent as ActivityRecIcon } from 'assets/icons/activity-rec.svg'\nimport { ReactComponent as HeartIcon } from 'assets/icons/heart.svg'\nimport { ReactComponent as ReceiptIcon } from 'assets/icons/receipt.svg'\nimport { ReactComponent as SprinkleIcon } from 'assets/icons/sprinkle.svg'\nimport { ReactComponent as WaterMistIcon } from 'assets/icons/water-mist.svg'\nimport { ReactComponent as FoamIcon } from 'assets/icons/foam.svg'\nimport { ReactComponent as GasIcon } from 'assets/icons/gas.svg'\nimport { ReactComponent as MoreOptionsIcon } from 'assets/icons/more-options.svg'\nimport { Heading } from 'components/elements/heading/heading'\nimport cn from 'classnames'\nimport { useColor } from 'context/themeContext'\n\ninterface ShortcutsBlockProps {\n className?: string\n title: string\n list: {\n icon?: 'home-shortcuts' | 'rocket' | 'activity-rec' | 'heart' | 'receipt' | 'sprinkle' | 'water-mist' | 'foam' | 'gas' | 'more-options'\n text: string\n url: string\n }[]\n}\n\nexport const ShortcutsBlock = ({ title, list, className }: ShortcutsBlockProps) => {\n const { color } = useColor()\n return (\n \n {title}\n {list.length !== 0 && (\n
      \n {list.map((item) => (\n
    • \n \n \n {item.icon && item.icon === 'home-shortcuts' ? (\n \n ) : item.icon === 'rocket' ? (\n \n ) : item.icon === 'activity-rec' ? (\n \n ) : item.icon === 'heart' ? (\n \n ) : item.icon === 'receipt' ? (\n \n ) : item.icon === 'sprinkle' ? (\n \n ): item.icon === 'water-mist' ? (\n \n ): item.icon === 'foam' ? (\n \n ): item.icon === 'more-options' ? (\n \n ) : item.icon === 'gas' ? (\n \n ) : null}\n {item.text}\n \n
    • \n ))}\n
    \n )}\n \n )\n}\n","import './_infographic-block.scss'\nimport cn from 'classnames'\n\ninterface InfographicBlockProps {\n infoList: {\n value: string\n text: string\n }[]\n color?: \"red\" | \"blue\" | \"orange\" | \"green\"\n}\n\nexport const InfographicBlock = ({infoList, color = \"blue\"} : InfographicBlockProps) => (\n
    \n {infoList.map((info, i) => (\n
    \n

    {info.value}

    \n

    {info.text}

    \n
    \n ))}\n
    \n)","var _circle, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgInfo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 25 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.12,\n cx: 12.2776,\n cy: 12.2769,\n r: 10.2308,\n fill: \"currentColor\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.2774 2.81348C7.05085 2.81348 2.81391 7.05042 2.81391 12.2769C2.81391 17.5035 7.05085 21.7404 12.2774 21.7404C17.5039 21.7404 21.7408 17.5035 21.7408 12.2769C21.7408 7.05042 17.5039 2.81348 12.2774 2.81348ZM1.2793 12.2769C1.2793 6.20288 6.2033 1.27887 12.2774 1.27887C18.3514 1.27887 23.2754 6.20288 23.2754 12.2769C23.2754 18.351 18.3514 23.275 12.2774 23.275C6.2033 23.275 1.2793 18.351 1.2793 12.2769ZM12.2774 10.4866C12.7011 10.4866 13.0447 10.8301 13.0447 11.2539V16.3693C13.0447 16.793 12.7011 17.1366 12.2774 17.1366C11.8536 17.1366 11.5101 16.793 11.5101 16.3693V11.2539C11.5101 10.8301 11.8536 10.4866 12.2774 10.4866ZM12.2774 9.20772C12.8424 9.20772 13.3005 8.74967 13.3005 8.18464C13.3005 7.61961 12.8424 7.16156 12.2774 7.16156C11.7123 7.16156 11.2543 7.61961 11.2543 8.18464C11.2543 8.74967 11.7123 9.20772 12.2774 9.20772Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfo);\nexport default \"/Frontend/static/media/info.d5cfaa30f06b22b6541b0a56cb6dcba4.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport { ReactComponent as InfoIcon } from 'assets/icons/info.svg'\n\nimport cn from 'classnames'\nimport './_important-info-block.scss'\nimport { useColor } from 'context/themeContext'\n\nexport interface ImportantInfoBlockProps {\n text: string\n overrideColor?: string\n className?: string\n}\n\nexport const ImportantInfoBlock = ({ text, overrideColor, className }: ImportantInfoBlockProps) => {\n const { color } = useColor()\n return (\n \n \n

    {text}

    \n \n )\n}\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgFileLink(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.19567 0.620382V2.27097C7.19567 3.06143 7.19567 3.45666 7.34951 3.75858C7.48482 4.02415 7.70074 4.24007 7.96631 4.37539C8.26823 4.52922 8.66346 4.52922 9.45392 4.52922H11.1032C11.194 4.92713 11.194 5.35841 11.194 6.20112V8.5293C11.194 10.2115 11.194 11.0526 10.9131 11.7138C10.5558 12.5548 9.88619 13.2244 9.04519 13.5817C8.38394 13.8626 7.54285 13.8626 5.86068 13.8626C4.1785 13.8626 3.33741 13.8626 2.67617 13.5817C1.83516 13.2244 1.16555 12.5548 0.808262 11.7138C0.527344 11.0526 0.527344 10.2115 0.527344 8.5293V5.71474C0.527344 4.17135 0.527344 3.39965 0.764614 2.78575C1.12309 1.85824 1.85629 1.12505 2.7838 0.766567C3.3977 0.529297 4.1694 0.529297 5.71279 0.529297C6.38785 0.529297 6.72538 0.529297 7.04612 0.589122C7.09624 0.598471 7.1461 0.608896 7.19567 0.620382Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.66833 1.07453C6.45644 1.05949 6.17759 1.05856 5.71473 1.05856C4.93623 1.05856 4.37726 1.05881 3.93553 1.08713C3.49817 1.11517 3.21214 1.16918 2.97654 1.26024C2.18816 1.56495 1.56494 2.18816 1.26023 2.97654C1.16917 3.21215 1.11517 3.49818 1.08713 3.93554C1.05881 4.37726 1.05855 4.93624 1.05855 5.71473V8.52928C1.05855 9.37778 1.05885 9.98704 1.09238 10.4675C1.12557 10.9431 1.18945 11.2529 1.29733 11.5068C1.60103 12.2217 2.1702 12.7909 2.88505 13.0946C3.139 13.2024 3.44875 13.2663 3.92435 13.2995C4.40485 13.333 5.01411 13.3333 5.86261 13.3333C6.71111 13.3333 7.32037 13.333 7.80087 13.2995C8.27647 13.2663 8.58622 13.2024 8.84017 13.0946C9.55502 12.7909 10.1242 12.2217 10.4279 11.5068C10.5358 11.2529 10.5996 10.9431 10.6328 10.4675C10.6664 9.98704 10.6667 9.37778 10.6667 8.52928V6.20111C10.6667 5.66288 10.6654 5.3194 10.6468 5.05863H9.45585H9.43438C9.05742 5.05864 8.74279 5.05864 8.48574 5.03764C8.21766 5.01574 7.96597 4.96838 7.72796 4.84711C7.3628 4.66105 7.06591 4.36416 6.87985 3.999C6.75858 3.76099 6.71122 3.5093 6.68932 3.24121C6.66832 2.98417 6.66832 2.66954 6.66833 2.29258V2.27111V1.07453ZM10.3586 4.00007C10.3178 3.91716 10.2731 3.83607 10.2247 3.75708C10.0468 3.46683 9.7962 3.21138 9.16813 2.58331L9.00714 2.42232C8.51594 1.93112 8.31634 1.73448 8.097 1.5841C7.97866 1.50297 7.85495 1.43063 7.72688 1.36752V2.27111C7.72688 2.67507 7.72729 2.94621 7.74435 3.15501C7.76091 3.35764 7.79047 3.45452 7.82303 3.51843C7.9076 3.68441 8.04255 3.81936 8.20853 3.90393C8.27244 3.93649 8.36932 3.96605 8.57194 3.9826C8.78075 3.99966 9.05189 4.00007 9.45585 4.00007H10.3586ZM7.1451 0.0688049C6.77575 -8.79573e-05 6.39238 -5.32674e-05 5.7694 3.1782e-06L5.71473 6.45645e-06H5.6963C4.94019 4.42989e-06 4.34736 2.82057e-06 3.8678 0.0307498C3.37999 0.062026 2.97322 0.126656 2.59492 0.272867C1.52829 0.685119 0.685112 1.52829 0.272861 2.59493C0.12665 2.97323 0.0620197 3.37999 0.0307434 3.86781C-3.4707e-06 4.34736 -1.92848e-06 4.94019 3.84838e-08 5.69629V5.6963V5.71473V8.52928V8.54939C-2.3457e-06 9.37346 -4.19345e-06 10.0196 0.0363989 10.5412C0.0734398 11.072 0.150022 11.5134 0.323056 11.9207C0.733937 12.8879 1.50399 13.658 2.47115 14.0688C2.87845 14.2419 3.31986 14.3185 3.85066 14.3555C4.37231 14.3919 5.01842 14.3919 5.84247 14.3919H5.86261H5.88275C6.7068 14.3919 7.35291 14.3919 7.87456 14.3555C8.40536 14.3185 8.84677 14.2419 9.25407 14.0688C10.2212 13.658 10.9913 12.8879 11.4022 11.9207C11.5752 11.5134 11.6518 11.072 11.6888 10.5412C11.7252 10.0196 11.7252 9.37348 11.7252 8.54943V8.52928V6.20111L11.7252 6.13122C11.7253 5.33487 11.7254 4.84454 11.6131 4.3769C11.5137 3.96286 11.3497 3.56704 11.1273 3.20399C10.876 2.79392 10.5292 2.44725 9.96605 1.8842L9.91664 1.8348L9.75565 1.67381L9.71698 1.63514C9.27651 1.19459 9.00545 0.923484 8.69557 0.711032C8.22915 0.391253 7.70103 0.1725 7.1451 0.0688049ZM5.8239 6.48842C6.03059 6.28173 6.36571 6.28173 6.57241 6.48842L8.23907 8.15509C8.33833 8.25435 8.3941 8.38897 8.3941 8.52935C8.3941 8.66972 8.33833 8.80434 8.23907 8.9036L6.57241 10.5703C6.36571 10.777 6.03059 10.777 5.8239 10.5703C5.6172 10.3636 5.6172 10.0285 5.8239 9.82176L6.58703 9.05862H3.86482C3.57251 9.05862 3.33554 8.82166 3.33554 8.52935C3.33554 8.23703 3.57251 8.00007 3.86482 8.00007H6.58703L5.8239 7.23693C5.6172 7.03024 5.6172 6.69512 5.8239 6.48842Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFileLink);\nexport default \"/Frontend/static/media/file-link.e8f0ce13fe570dbcd69402d5f9560363.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport { Heading } from 'components/elements/heading/heading'\nimport { ReactComponent as FileLinkIcon } from 'assets/icons/file-link.svg'\n\nimport { Image, Link } from 'types'\nimport './_margin.scss'\nimport cn from 'classnames'\nimport { useColor } from 'context/themeContext'\n\ninterface MarginProps {\n type?: 'default' | 'contact' | 'downloads'\n title: string\n text?: string\n downloads?: Link[]\n contact?: { image: Image; name: string; email: string; phone: string }\n}\n\nexport const Margin = ({ type, title, text, downloads, contact }: MarginProps) => {\n const { color } = useColor()\n return (\n
    \n

    \n {title}\n

    \n {text &&
    }\n {downloads && type === 'downloads' && (\n \n )}\n {contact && type === 'contact' && (\n
    \n {contact.image && contact.image.url ? (\n \n ) : (\n
    \n )}\n \n {contact.name}\n \n \n {contact.phone}\n \n \n {contact.email}\n \n
    \n )}\n
    \n )\n}\n\n// Johan skal skjekke når monica kommer tilbake om vi skal bruke mailto: eller copy to clipboard\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArrowUp(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.6133 6.36367C11.3204 6.65656 10.8456 6.65656 10.5527 6.36366L7.74972 3.56067L7.74971 12.25C7.74971 12.6642 7.41393 13 6.99971 13C6.5855 13 6.24971 12.6642 6.24971 12.25L6.24972 3.56066L3.44671 6.36366C3.15382 6.65656 2.67895 6.65656 2.38605 6.36366C2.09316 6.07077 2.09316 5.5959 2.38605 5.303L6.46939 1.21967C6.61004 1.07902 6.8008 0.999999 6.99972 1C7.19863 1 7.3894 1.07902 7.53005 1.21967L11.6133 5.30301C11.9062 5.5959 11.9062 6.07077 11.6133 6.36367Z\",\n fill: \"currentColor\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowUp);\nexport default \"/Frontend/static/media/arrow-up.db56e2d80095c8a5ad8d5afd7685065f.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport './_media-block.scss'\nimport { ReactComponent as ArrowUpIcon } from 'assets/icons/arrow-up.svg'\nimport { Image, Video } from 'types'\nimport { ImageBox } from 'components/blocks/image-box/image-box'\n\ninterface MediaBlockProps {\n image?: Image\n video?: Video\n imagetext: string\n photographerLabel?: string\n}\n\nexport const MediaBlock = ({ image, video, imagetext, photographerLabel }: MediaBlockProps) => {\n return (\n
    \n
    \n {video ? (\n