Showing preview only (2,747K chars total). Download the full file or copy to clipboard to get everything.
Repository: toddhgardner/perf-training-website
Branch: main
Commit: 781e0d808385
Files: 29
Total size: 2.6 MB
Directory structure:
gitextract_833fx47r/
├── .gitignore
├── .nvmrc
├── LICENSE
├── README.md
├── package.json
├── public/
│ ├── assets/
│ │ ├── css/
│ │ │ ├── banner.css
│ │ │ ├── index.css
│ │ │ └── main.css
│ │ ├── images/
│ │ │ └── favicon/
│ │ │ └── site.webmanifest.json
│ │ ├── js/
│ │ │ ├── banner.js
│ │ │ └── util/
│ │ │ ├── lazyloader.js
│ │ │ └── perf.js
│ │ └── vendor/
│ │ ├── chatty/
│ │ │ ├── bulky.js
│ │ │ ├── chatty.css
│ │ │ ├── chatty.js
│ │ │ └── index.html
│ │ └── fontello/
│ │ ├── LICENSE.txt
│ │ ├── README.txt
│ │ ├── config.json
│ │ ├── css/
│ │ │ ├── animation.css
│ │ │ ├── fontello-codes.css
│ │ │ ├── fontello-embedded.css
│ │ │ ├── fontello-ie7-codes.css
│ │ │ ├── fontello-ie7.css
│ │ │ └── fontello.css
│ │ └── demo.html
│ └── index.html
├── server/
│ └── server.js
└── tools/
└── imageOptimizer.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
node_modules/
npm-debug.log*
.npm
.DS_Store
logs
public/assets/images/**/*.min.*
================================================
FILE: .nvmrc
================================================
18.12.1
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2020 Todd H. Gardner
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# Fundamentals of Web Performance Demo Website
<p align="center">
<img src="https://raw.githubusercontent.com/toddhgardner/perf-training-website/main/slide_title.png" width="480">
<br />
</p>
This is example website for Todd Gardner's "Fundamentals of Web Performance" workshop. You can find he workshop online at [Frontend Masters](https://frontendmasters.com/courses/web-perf/). It is intended to illustrate common and effective techniques to improve the performance of a website. It is not meant to be used in production.
## How to use
```
npm install
npm start
```
Open a browser at [http://localhost:3000/](http://localhost:3000/) to view the website.
## Related Resources:
- [Slides and Materials](https://drive.google.com/drive/folders/13sdKqO8O2L1yr6th9HgPwpncZwTpEPGl?usp=sharing)
================================================
FILE: package.json
================================================
{
"name": "perf-training-website",
"version": "2.0.0",
"description": "Example website for 'Fundamentals of Web Performance' workshop",
"main": "server/server.js",
"scripts": {
"imagemin": "node ./tools/imageOptimizer.js",
"start": "node server/server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"config": {
"server-port": 3000,
"server-delay": 200,
"server-compress": false
},
"repository": {
"type": "git",
"url": "git+https://github.com/toddhgardner/perf-training-website.git"
},
"keywords": [
"core web vitals",
"web vitals",
"largest contentful paint",
"first input delay",
"cumulative layout shift"
],
"author": "Todd Gardner <todd@toddhgardner.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/toddhgardner/perf-training-website/issues"
},
"homepage": "https://github.com/toddhgardner/perf-training-website#readme",
"dependencies": {
"body-parser": "1.20.1",
"compression": "1.7.4",
"express": "4.18.2",
"imagemin": "7.0.1",
"imagemin-gifsicle": "7.0.0",
"imagemin-jpegtran": "7.0.0",
"imagemin-pngquant": "9.0.1",
"imagemin-svgo": "8.0.0"
}
}
================================================
FILE: public/assets/css/banner.css
================================================
.consent-banner {
background-color: #182368;
min-height: 240px;
left: 0;
right: 0;
z-index: 9999;
position: relative;
top: 0;
/**
position: fixed;
bottom: 0;
**/
}
.consent-banner .container {
max-width: 1200px;
width: 100%;
margin: 0 auto;
padding: 20px;
display: flex;
flex-direction: row;
height: 100%;
min-height: 240px;
align-items: center;
}
.consent-banner .container .copy {
flex: 1 1;
padding: 10px;
}
.consent-banner .container .copy p {
font-size: 1.2em;
color: white;
max-width: 600px;
}
.consent-banner .container .control {
flex: 0 0 200px;
}
@media(max-width: 600px) {
.consent-banner .container {
flex-direction: column;
}
.consent-banner .container .control {
flex: 0 0 auto;
}
}
================================================
FILE: public/assets/css/index.css
================================================
body.index .hero { padding: 40px 0; }
body.index .hero .background-wrap { top: 0; left: 0; right: 0; display: flex; position: absolute; justify-content: center; z-index: -1; }
body.index .hero .background-wrap .background { max-width: 1600px; width: 100vw; margin-right: 6vw; }
body.index .hero .container { align-items: center; }
body.index .hero .cta { margin-top: 60px; max-width: 50%; }
body.index .hero .cta h1 { font-size: 3em; line-height: 1.1em; }
body.index .hero .cta h2 { font-size: 1.4em; margin-top: 20px; color: #33C19F; }
body.index .hero .cta p { margin: 20px 0; font-size: 18px; line-height: 1.5; }
body.index .hero .cta .btn { margin-top: 5px; margin-right: 15px; }
body.index .hero .cta .no-credit { margin: 5px 15px 0 0; text-align: center; color: #8C9AA9; }
body.index .hero .cta .cta-buttons { align-items: flex-start; }
body.index .hero .cta .demo-btn.button { margin-left: 15px; border: 1px solid #DDE4EB; background-color: #fafbfe; color: #2E4158; margin-right: 0; }
body.index .hero .cta .demo-btn.button:hover, body.index .hero .cta .demo-btn.button:focus, body.index .hero .cta .demo-btn.button:active { background-color: #d0d9f6; }
@media (max-width: 1200px) { body.index .hero .background-wrap { top: 0; left: 0; }
body.index .hero .background-wrap .background { margin-right: 0; }
body.index .hero .cta { margin-top: 30px; } }
@media (max-width: 768px) { body.index .hero { padding-top: 0; }
body.index .hero .background-wrap { position: relative; left: 0; top: 0; flex-direction: column; }
body.index .hero .background-wrap .background { height: auto; width: auto; margin: 0; max-width: 100%; }
body.index .hero .cta { margin-top: -120px; max-width: 100%; text-align: center; }
body.index .hero .cta .cta-buttons { justify-content: center; } }
@media (max-width: 600px) { body.index .hero .cta-buttons { flex-direction: column; }
body.index .hero .cta-buttons > * { width: 100%; }
body.index .hero .cta-buttons > * a.btn { margin: 0; }
body.index .hero .cta-buttons > * .no-credit { display: none; } }
body.index .what-we-do { padding: 100px 0; }
body.index .what-we-do .container { justify-content: space-around; }
body.index .what-we-do .we-do, body.index .what-we-do .we-dont { flex: 0 1 490px; border: 2px solid #DDE4EB; border-radius: 6px; padding: 60px; background: white; margin: 0 10px; }
body.index .what-we-do .we-do h2, body.index .what-we-do .we-dont h2 { font-size: 2.4em; margin-bottom: 30px; }
body.index .what-we-do .we-do ul, body.index .what-we-do .we-dont ul { list-style: none; }
body.index .what-we-do .we-do li, body.index .what-we-do .we-dont li { align-items: center; }
body.index .what-we-do .we-do li img, body.index .what-we-do .we-dont li img { flex: 0 0 48px; width: 48px; }
body.index .what-we-do .we-do li span, body.index .what-we-do .we-dont li span { flex: 1 1 auto; margin-left: 10px; font-size: 1.3em; font-weight: 600; }
body.index .what-we-do .we-do li + li, body.index .what-we-do .we-dont li + li { margin-top: 30px; }
@media (max-width: 900px) { body.index .what-we-do .container { flex-direction: column; }
body.index .what-we-do .we-do, body.index .what-we-do .we-dont { margin: 10px 0; } }
@media (max-width: 600px) { body.index .what-we-do .we-do, body.index .what-we-do .we-dont { padding: 40px; } }
body.index .callouts { padding: 60px 0; }
body.index .callouts .callout { align-items: center; }
body.index .callouts .callout .picture { flex: 1 1 60%; width: 100%; margin-right: 60px; }
body.index .callouts .callout .blurb { flex: 1 1 40%; }
body.index .callouts .callout .blurb h2 { font-size: 2.4em; line-height: 1.1em; }
body.index .callouts .callout .blurb p { font-size: 1.2em; }
body.index .callouts .callout.left { flex-direction: row-reverse; }
body.index .callouts .callout.left .picture { margin: 0 0 0 60px; }
body.index .callouts .callout + .callout { margin-top: 60px; }
@media (max-width: 1200px) { body.index .callouts .callout .picture { margin: 0 30px 0 0; }
body.index .callouts .callout.left .picture { margin: 0 0 0 30px; } }
@media (max-width: 900px) { body.index .callouts .callout { text-align: center; max-width: 600px; margin: 0 auto; flex-direction: column-reverse; }
body.index .callouts .callout .picture { margin: 0 0 30px 0; }
body.index .callouts .callout.left { flex-direction: column-reverse; } }
body.index .install { padding: 100px 0; }
body.index .install .box { border: 2px solid #DDE4EB; border-radius: 8px; background: white; padding: 60px; width: 100%; }
body.index .install .blurb { flex: 1; padding-right: 40px; }
body.index .install .blurb h2 { font-size: 2.4em; }
body.index .install .blurb pre { margin-top: 40px; font-size: 1.2em; overflow: hidden; padding: 12px 18px; border-radius: 4px; background-color: #fafbfe; }
body.index .install .illustration { flex: 0 0 260px; }
@media (max-width: 900px) { body.index .install .illustration { flex: 0; display: none; }
body.index .install .blurb { padding: 0; } }
@media (max-width: 768px) { body.index .install .box { padding: 40px; } }
body.index .privacy { padding: 100px 0; }
body.index .privacy .box { border: 2px solid #DDE4EB; border-radius: 8px; background: white; padding: 60px; width: 100%; }
body.index .privacy .blurb { flex: 1; padding-right: 40px; }
body.index .privacy .blurb h2 { font-size: 2.4em; }
body.index .privacy .blurb p { font-size: 1.2em; }
body.index .privacy .illustration { border: 2px solid #DDE4EB; flex: 0 0 260px; }
@media (max-width: 900px) { body.index .privacy .illustration { flex: 0; display: none; }
body.index .privacy .blurb { padding: 0; } }
@media (max-width: 768px) { body.index .privacy .box { padding: 40px; } }
body.index .advantages { padding: 60px 0; }
body.index .advantages .box { align-items: center; }
body.index .advantages h2 { font-size: 2.4em; margin-bottom: 60px; }
body.index .advantages .illustration { width: 100%; padding: 60px; }
body.index .advantages .advantage-list { flex: 1 0 480px; }
body.index .advantages .advantage { padding: 20px; border: 2px solid #DDE4EB; border-radius: 6px; background-color: white; }
body.index .advantages .advantage h3 { font-size: 1.2em; }
body.index .advantages .advantage + .advantage { margin-top: 10px; }
@media (max-width: 900px) { body.index .advantages .box { flex-direction: column; align-items: initial; }
body.index .advantages .illustration { padding: 0; }
body.index .advantages .illustration h2 { margin-bottom: 0; }
body.index .advantages .illustration img { margin: 0 40px; }
body.index .advantages .advantage-list { flex: 1 0 auto; } }
body.index .price { padding: 60px 0; }
body.index .price .box { padding: 120px 60px; border: 2px solid #DDE4EB; border-radius: 8px; background: url("/assets/images/illustrations/sloth_pricing_rocket.svg") white bottom 40px right 40px no-repeat; background-size: 80%; width: 100%; height: 50vw; max-height: 600px; }
body.index .price .cta { width: 500px; }
body.index .price h2 { font-size: 3em; margin: 0; }
body.index .price .subtext { color: #8C9AA9; }
body.index .price .buttons { margin-top: 60px; }
@media (max-width: 768px) { body.index .price .box { height: 330px; padding: 40px; background: white; }
body.index .price .cta { width: 100%; }
body.index .price .buttons { margin: 0; }
body.index .price .buttons a { width: 100%; margin-bottom: 10px; } }
body.index .demo { padding: 100px 0 120px; }
body.index .demo h2 { font-size: 2em; }
body.index .demo p { font-size: 1.2em; max-width: 700px; margin: 0 auto; }
body.index .demo .buttons { margin-top: 40px; }
body.building .flex, .building-post .flex { display: flex; }
body.building .flex-column, .building-post .flex-column { display: flex; flex-direction: column; }
body.building .justify-center, .building-post .justify-center { justify-content: center; }
body.building .justify-end, .building-post .justify-end { justify-content: flex-end; }
body.building .align-center, .building-post .align-center { align-items: center; }
body.building .text-center, .building-post .text-center { text-align: center; }
body.building .default-layout-content, .building-post .default-layout-content { flex: 1 0 auto; }
body.building .landing, .building-post .landing { margin: 0 0 60px 0; flex: 1 1 auto; align-items: center; }
body.building .landing .landing-banner-wrapper, .building-post .landing .landing-banner-wrapper { width: 100%; border-bottom: 1px solid #e8e8e8; margin-bottom: 40px; display: flex; justify-content: center; }
body.building .landing .landing-banner, .building-post .landing .landing-banner { padding: 20px 0; max-width: 1000px; }
body.building .landing .landing-banner h1, .building-post .landing .landing-banner h1 { margin-bottom: 0; font-size: 2.22em; }
body.building .landing .landing-banner h2, .building-post .landing .landing-banner h2 { margin-top: 0; color: #5c5c5c; font-weight: normal; font-size: 1.33em; }
body.building .landing .landing-banner p, .building-post .landing .landing-banner p { margin-top: 15px; }
body.building .landing .posts-list-item, .building-post .landing .posts-list-item { width: 1000px; }
body.building .landing .posts-list-item + .posts-list-item, .building-post .landing .posts-list-item + .posts-list-item { margin-top: 70px; }
body.building .landing .posts-list-item img, .building-post .landing .posts-list-item img { padding-right: 15px; padding-left: 15px; margin-right: 20px; border-right: 2px solid #828282; width: 320px; height: 180px; box-sizing: content-box; }
body.building .landing .posts-list-item h3, .building-post .landing .posts-list-item h3 { margin-bottom: 0; flex: 1 0 auto; display: inline-block; font-size: 1.55em; vertical-align: middle; }
body.building .landing .posts-list-item a, .building-post .landing .posts-list-item a { flex: 0 0 auto; }
body.building .landing .subscribe-cta, .building-post .landing .subscribe-cta { margin: 60px auto; padding: 30px 0; width: 100%; text-align: center; background-color: #e8e8e8; }
body.building .landing .subscribe-cta h1, .building-post .landing .subscribe-cta h1 { margin: 0; display: inline-block; font-size: 2.78em; }
body.building .landing .subscribe-cta .signup-link, .building-post .landing .subscribe-cta .signup-link { font-size: 1.66em; font-weight: bold; font-family: "Poppins", Helvetica, Arial, sans-serif; }
body.building .newsletter, .building-post .newsletter { margin: 30px 0; max-width: 1000px; flex: 1 1 auto; }
body.building .newsletter .subscribe, body.building .newsletter .latest-articles, .building-post .newsletter .subscribe, .building-post .newsletter .latest-articles { width: 50%; padding: 30px 30px; }
body.building .newsletter .subscribe, .building-post .newsletter .subscribe { margin-right: 30px; border: 1px solid #e8e8e8; border-radius: 5px; }
body.building .newsletter .subscribe form, .building-post .newsletter .subscribe form { margin-top: 20px; margin-bottom: 20px; }
body.building .newsletter .subscribe input[type=text], body.building .newsletter .subscribe input[type=email], .building-post .newsletter .subscribe input[type=text], .building-post .newsletter .subscribe input[type=email] { margin-bottom: 30px; padding: 5px 10px; font-size: 1em; border: none; border-bottom: 1px solid #e8e8e8; }
body.building .newsletter .subscribe button, .building-post .newsletter .subscribe button { padding: 10px 20px; align-self: flex-start; color: #ffffff; background-color: #0E63F4; border: none; border-radius: 3px; }
body.building .newsletter .subscribe-blurb, .building-post .newsletter .subscribe-blurb { color: #828282; }
body.building .newsletter .article-title, .building-post .newsletter .article-title { margin-bottom: 0; }
body.building .newsletter .article-excerpt, .building-post .newsletter .article-excerpt { color: #828282; margin-bottom: 10px; }
body.building .making-of-posts-list, .building-post .making-of-posts-list { margin: 30px 0; max-width: 1000px; flex: 1 1 auto; }
body.building .making-of-posts-list .making-of-blurb, .building-post .making-of-posts-list .making-of-blurb { color: #828282; margin-bottom: 30px; }
body.building .post, .building-post .post { margin: 30px 0; max-width: 1000px; }
body.building .post iframe, .building-post .post iframe { width: 960px; height: 540px; }
body.building .post .post-header, .building-post .post .post-header { margin-top: 15px; }
body.building .post .post-header h1, .building-post .post .post-header h1 { font-size: 1.8em; }
body.building .post .post-meta, .building-post .post .post-meta { margin-top: -15px; color: #828282; }
body.building .post .post-content p, .building-post .post .post-content p { font-size: 1.111em; }
body.building .post .post-content img, .building-post .post .post-content img { border: 1px solid #e8e8e8; border-radius: 6px; margin: 20px 0; }
body.building .post .post-content img.inline-image, .building-post .post .post-content img.inline-image { margin: 0; }
body.building .post .post-content aside, body.building .post .post-content .aside, .building-post .post .post-content aside, .building-post .post .post-content .aside { padding: 30px; margin: 30px; background-color: #ccc; }
body.building .post .post-content ul, body.building .post .post-content ol, .building-post .post .post-content ul, .building-post .post .post-content ol { margin-left: 30px; }
body.building .post .post-content li, .building-post .post .post-content li { font-size: 1.111em; }
body.building .post .post-content li li, body.building .post .post-content li li li, .building-post .post .post-content li li, .building-post .post .post-content li li li { font-size: 1em; }
body.building .post .post-content li p, .building-post .post .post-content li p { margin-bottom: 0; font-size: 1em; }
@media (max-width: 1050px) { body.building .site-header, .building-post .site-header { padding: 0 10px; }
body.building .landing .landing-banner, .building-post .landing .landing-banner { width: 750px; }
body.building .landing .posts-list-item, .building-post .landing .posts-list-item { width: 750px; }
body.building .post, .building-post .post { width: 750px; } }
@media (max-width: 800px) { body.building .landing, .building-post .landing { padding: 10px; }
body.building .landing .landing-banner, .building-post .landing .landing-banner { width: 100%; }
body.building .landing .posts-list-item, .building-post .landing .posts-list-item { width: 100%; flex-direction: column; }
body.building .landing .posts-list-item img, .building-post .landing .posts-list-item img { border: none; margin-right: 0; }
body.building .landing .posts-list-item > div, .building-post .landing .posts-list-item > div { padding: 15px; text-align: center; }
body.building .landing .posts-list-item + .posts-list-item, .building-post .landing .posts-list-item + .posts-list-item { margin-top: 10px; }
body.building .landing .subscribe-cta, .building-post .landing .subscribe-cta { margin-top: 10px; }
body.building .newsletter, .building-post .newsletter { flex-direction: column; width: 100%; overflow-x: hidden; padding: 10px; margin: 10px 0; }
body.building .newsletter .subscribe, body.building .newsletter .latest-articles, .building-post .newsletter .subscribe, .building-post .newsletter .latest-articles { width: 100%; }
body.building .post, .building-post .post { margin: 10px 0; padding: 15px; width: 100%; }
body.building .post iframe, .building-post .post iframe { width: 256px; height: 144px; } }
body.newsletter .subscribe.container { margin-top: 20px; display: flex; flex-direction: row; justify-content: center; }
body.newsletter .subscribe.container .illustration-container { flex: 0 0 50%; padding: 40px; text-align: center; }
body.newsletter .subscribe.container .illustration-container h2 { font-size: 1.6em; margin-bottom: 0; }
body.newsletter .subscribe.container .illustration-container p { margin: 0 auto; max-width: 480px; font-size: 1.1em; }
body.newsletter .subscribe.container .illustration-container .illustration { width: 480px; margin: 40px auto; max-width: 100%; }
@media (max-width: 990px) { body.newsletter .subscribe.container { flex-direction: column; }
body.newsletter .subscribe.container .subscribe-box { margin: 20px auto; } }
body.newsletter .subscribe-box { margin: 60px auto; padding: 40px; max-width: 480px; border: 2px solid #DDE4EB; border-radius: 6px; background: white; }
body.newsletter .subscribe-box header { text-align: center; margin-bottom: 20px; }
body.newsletter .subscribe-box header h1 { font-size: 1.8em; margin: 0; }
body.newsletter .subscribe-box header .subtext { font-size: 1em; }
body.newsletter .subscribe-box form input { text-align: center; font-size: 1.2em; padding: 14px; border: 1px solid #DDE4EB; border-radius: 6px; }
body.newsletter .subscribe-box form input ~ input { margin-top: 10px; }
body.newsletter .subscribe-box form .btn { margin-top: 20px; }
body.newsletter .subscribe-box footer { margin-top: 40px; text-align: center; font-size: .8em; color: #8C9AA9; }
@media (max-width: 470px) { body.newsletter .subscribe-box { padding: 20px; } }
body.newsletter .message-box { margin: 60px auto; }
body.newsletter .message-box h1 { font-size: 1.8em; }
body.newsletter .message-box .illustration { width: 480px; margin: 0 auto 40px; max-width: 100%; }
body.newsletter .message-box .message { font-size: 1.2em; text-align: center; margin: 0 auto; max-width: 480px; }
body.newsletter .message-box .message p ~ p { margin-top: 20px; }
article.policy { padding: 40px 0 100px; }
article.policy .container { max-width: 700px; font-family: "Lora", "Times New Roman", Times, serif; color: #2E4158; }
article.policy .container p + p { margin-top: 20px; }
article.policy .container h1, article.policy .container h2, article.policy .container h3, article.policy .container h4, article.policy .container h5, article.policy .container h6 { margin: 30px 0 20px; }
article.policy .container h1 { font-size: 1.8em; }
article.policy .container h2 { font-size: 1.4em; }
article.policy .container h3 { font-size: 1.2em; }
article.policy .container h4 { font-size: 1.1em; }
article.policy .container hr { margin: 40px 0; }
article.policy .container ol li, article.policy .container ul li { margin: 20px 0 20px 35px; }
article.policy .container .text-center { text-align: center; }
article.policy .container .text-muted { color: #374d69; }
article.policy .container .text-lg { font-size: 1.2em; }
.concerned { border: 2px solid #DDE4EB; border-radius: 6px; background-color: white; padding: 40px; margin: 0 auto 100px; font-size: 1.3em; font-weight: 500; max-width: 700px; font-family: "Lora", "Times New Roman", Times, serif; color: #2E4158; }
body.pricing section.prices { padding: 100px 0 0; }
body.pricing section.prices .info { font-size: 16px; font-weight: bolder; color: #8C9AA9; text-decoration: none; cursor: pointer; }
body.pricing section.prices .price-picker { position: relative; flex: 1 1 60%; }
body.pricing section.prices .price-picker .price-description { border: 2px solid #DDE4EB; background-color: white; padding: 40px; border-radius: 6px; }
body.pricing section.prices .price-picker .price-description .upto { line-height: 0.8em; font-family: "Poppins", Helvetica, Arial, sans-serif; font-weight: bold; }
body.pricing section.prices .price-picker .price-description .limit { align-items: baseline; }
body.pricing section.prices .price-picker .price-description .limit .metric { font-size: 2.5em; letter-spacing: -2px; text-align: left; }
body.pricing section.prices .price-picker .price-description .limit .unit { margin-left: 10px; }
body.pricing section.prices .price-picker .price-description .price { padding: 0 40px; margin: 0 0 20px 0; justify-content: space-around; }
body.pricing section.prices .price-picker .price-description .price .price-month, body.pricing section.prices .price-picker .price-description .price .price-year { border: 1px solid #8C9AA9; border-radius: 6px; padding: 10px 30px; }
body.pricing section.prices .price-picker .price-description .price .price-month h3, body.pricing section.prices .price-picker .price-description .price .price-year h3 { padding: 0; margin: 0; }
body.pricing section.prices .price-picker .price-description .price .price-month h3 .metric, body.pricing section.prices .price-picker .price-description .price .price-year h3 .metric { font-family: "Muli", Helvetica, Arial, sans-serif; font-size: 2.0em; letter-spacing: -1px; text-align: left; }
body.pricing section.prices .price-picker .price-description .price .price-month h3 .unit, body.pricing section.prices .price-picker .price-description .price .price-year h3 .unit { color: #8C9AA9; }
body.pricing section.prices .price-picker .price-description .price .only { text-align: center; font-weight: 700; text-transform: uppercase; color: #33C19F; }
body.pricing section.prices .price-picker .price-description .price .persite { text-align: center; color: #8C9AA9; font-size: 0.8em; }
body.pricing section.prices .price-picker .price-description .postfix { text-align: center; color: #8C9AA9; font-size: 1.2em; }
body.pricing section.prices .price-picker .range-marker { height: 32px; width: 32px; background-color: white; position: relative; top: -17px; transform: rotate(45deg); border-right: 2px solid #DDE4EB; border-bottom: 2px solid #DDE4EB; left: calc(0% + 10px); transition: left 500ms ease-in-out; }
body.pricing section.prices .price-picker .range-marker[index='100'] { left: calc(50% - 15px); }
body.pricing section.prices .price-picker .range-marker[index='200'] { left: calc(100% - 40px); }
body.pricing section.prices .price-picker input[type=range] { margin: 0 10px; background-color: transparent; -webkit-appearance: none; border-color: transparent; border-style: solid; border-width: 14px 0; height: 40px; cursor: pointer; /*TODO: Use one of the selectors from https://stackoverflow.com/a/20541859/7077589 and figure out
how to remove the virtical space around the range input in IE*/ }
body.pricing section.prices .price-picker input[type=range]:focus { outline: none; }
body.pricing section.prices .price-picker input[type=range]::-webkit-slider-runnable-track { background: #b9d2fc; border-top: none; border-radius: 0; width: 100%; height: 8px; cursor: pointer; }
body.pricing section.prices .price-picker input[type=range]::-moz-range-track { background: #b9d2fc; border: 1px solid transparent; border-radius: 0; width: 100%; height: 8px; cursor: pointer; }
body.pricing section.prices .price-picker input[type=range]::-ms-track { background: transparent; border-color: transparent; border-width: 14.8px 0; color: transparent; width: 100%; height: 8px; cursor: pointer; }
body.pricing section.prices .price-picker input[type=range]::-ms-fill-lower { background: #b9d2fc; border: none; border-radius: 0; }
body.pricing section.prices .price-picker input[type=range]::-ms-fill-upper { background: #b9d2fc; border: none; border-radius: 0; }
body.pricing section.prices .price-picker input[type=range]::-webkit-slider-thumb { margin-top: -13px; width: 32px; height: 32px; background: #0E63F4; border: none; border-radius: 16px; cursor: pointer; -webkit-appearance: none; }
body.pricing section.prices .price-picker input[type=range]::-moz-range-thumb { margin-top: -8px; width: 32px; height: 32px; background: #0E63F4; border: none; border-radius: 16px; cursor: pointer; }
body.pricing section.prices .price-picker input[type=range]::-ms-thumb { width: 16px; width: 32px; height: 32px; background: #0E63F4; border: none; border-radius: 16px; cursor: pointer; margin-top: 0px; /*Needed to keep the Edge thumb centred*/ }
@supports (-ms-ime-align: auto) { body.pricing section.prices .price-picker input[type=range] { /* Pre-Chromium Edge only styles, selector taken from hhttps://stackoverflow.com/a/32202953/7077589 */ margin: 0; /*Edge starts the margin from the thumb, not the track as other browsers do*/ } }
body.pricing section.prices .price-picker .range-stops { position: relative; top: -41px; margin-bottom: -41px; width: 100%; z-index: -1; padding: 0 6px; display: flex; justify-content: space-between; }
body.pricing section.prices .price-picker .range-stops .stop { cursor: pointer; height: 40px; width: 40px; margin: 0; padding: 0; background-color: #b9d2fc; border: none; border-radius: 20px; outline: none; }
body.pricing section.prices .price-picker .range-labels { display: flex; justify-content: space-between; }
body.pricing section.prices .price-picker .range-labels button { width: 100px; font-size: 1.2em; padding: 6px 0; font-weight: bold; text-transform: uppercase; letter-spacing: -1px; background-color: transparent; border: none; color: #2E4158; cursor: pointer; }
body.pricing section.prices .price-picker .range-labels button:focus { outline: none; }
body.pricing section.prices .price-picker .range-labels button:nth-child(1) { text-align: left; }
body.pricing section.prices .price-picker .range-labels button:nth-child(2) { text-align: center; }
body.pricing section.prices .price-picker .range-labels button:nth-child(3) { text-align: right; }
body.pricing section.prices .all-plans { flex: 0 0 380px; padding: 30px; }
body.pricing section.prices .all-plans h2 { font-size: 1.2em; text-align: center; color: #33C19F; text-transform: uppercase; }
body.pricing section.prices .all-plans ul, body.pricing section.prices .all-plans li { list-style: none; }
body.pricing section.prices .all-plans li { padding: 10px 20px; font-size: 1.4em; font-weight: 600; display: flex; align-items: center; }
body.pricing section.prices .all-plans li:nth-child(even) { background-color: white; }
body.pricing section.prices .all-plans li img { height: 32px; margin-right: 10px; }
@media (max-width: 900px) { body.pricing section.prices .container { flex-direction: column; align-items: center; }
body.pricing section.prices .price-picker, body.pricing section.prices .all-plans { flex: 0; max-width: 600px; width: 100%; } }
@media (max-width: 560px) { body.pricing section.prices .all-plans { padding: 30px 0; }
body.pricing section.prices .price-description .limit { flex-direction: column; } }
body.pricing section.more { padding: 100px 0; }
body.pricing section.more p { margin: 0 auto 30px; font-size: 1.4em; max-width: 700px; text-align: center; }
body.pricing section.more img { display: block; max-width: 900px; margin: 0 auto; }
@media (max-width: 768px) { body.pricing section.more { padding: 40px 0; }
body.pricing section.more img { max-width: 100%; /* safari won't figure out the correct image height on mobile without this. */ } }
body.pricing section.faq { padding: 40px 0; }
body.pricing section.faq h2 { font-size: 2.4em; margin-bottom: 60px; }
body.pricing section.faq .question { border: 2px solid #DDE4EB; border-radius: 6px; background-color: white; position: relative; padding: 40px; margin: 0 auto 40px; max-width: 780px; }
body.pricing section.faq .question h3 { font-size: 1.4em; line-height: 1em; margin: 0 40px 0 0; }
body.pricing section.faq .question p { font-size: 1.1em; max-width: 700px; margin: 20px 0 0; }
body.pricing section.faq .question label.expand { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: flex-end; cursor: pointer; }
body.pricing section.faq .question label.expand .icon { margin-right: 25px; text-align: center; font-size: 2em; font-weight: bolder; line-height: 42px; height: 48px; width: 48px; transition: 200ms background-color ease-in-out; }
body.pricing section.faq .question label.expand:hover .icon, body.pricing section.faq .question label.expand:active .icon, body.pricing section.faq .question label.expand:focus .icon { background-color: #DDE4EB; }
body.pricing section.faq .question input[type=radio] { position: absolute; opacity: 0; }
body.pricing section.faq .question .drawer { overflow: hidden; max-height: 0; transition: 500ms max-height ease-in-out; }
body.pricing section.faq .question input[type=radio]:checked ~ .drawer { max-height: 600px; }
body.pricing section.faq .question input[type=radio]:checked ~ label.expand { display: none; }
@media (max-width: 600px) { body.pricing section.faq .question { padding: 20px; }
body.pricing section.faq .question label.expand .icon { margin-right: 15px; } }
body.web-performance .about, body.web-performance-post .about { padding: 100px 0; }
body.web-performance .about .callout, body.web-performance-post .about .callout { align-items: center; }
body.web-performance .about .callout .picture, body.web-performance-post .about .callout .picture { flex: 1 1 60%; width: 100%; margin-right: 60px; }
body.web-performance .about .callout .blurb, body.web-performance-post .about .callout .blurb { flex: 1 1 40%; }
body.web-performance .about .callout .blurb h2, body.web-performance-post .about .callout .blurb h2 { font-size: 2.4em; line-height: 1.1em; }
body.web-performance .about .callout .blurb p, body.web-performance-post .about .callout .blurb p { font-size: 1.2em; }
body.web-performance .about .callout.left, body.web-performance-post .about .callout.left { flex-direction: row-reverse; }
body.web-performance .about .callout.left .picture, body.web-performance-post .about .callout.left .picture { margin: 0 0 0 60px; }
body.web-performance .about .cta-buttons, body.web-performance-post .about .cta-buttons { align-items: flex-start; }
body.web-performance .about .cta-buttons .btn, body.web-performance-post .about .cta-buttons .btn { margin-top: 5px; margin-right: 15px; }
body.web-performance .about .demo-btn.button, body.web-performance-post .about .demo-btn.button { margin-left: 15px; border: 1px solid #DDE4EB; background-color: #fafbfe; color: #2E4158; margin-right: 0; }
body.web-performance .about .demo-btn.button:hover, body.web-performance .about .demo-btn.button:focus, body.web-performance .about .demo-btn.button:active, body.web-performance-post .about .demo-btn.button:hover, body.web-performance-post .about .demo-btn.button:focus, body.web-performance-post .about .demo-btn.button:active { background-color: #d0d9f6; }
@media (max-width: 1200px) { body.web-performance .about .callout .picture, body.web-performance-post .about .callout .picture { margin: 0 30px 0 0; }
body.web-performance .about .callout.left .picture, body.web-performance-post .about .callout.left .picture { margin: 0 0 0 30px; } }
@media (max-width: 900px) { body.web-performance .about .callout, body.web-performance-post .about .callout { text-align: center; max-width: 600px; margin: 0 auto; flex-direction: column-reverse; }
body.web-performance .about .callout .picture, body.web-performance-post .about .callout .picture { margin: 10px 0 0; }
body.web-performance .about .callout.left, body.web-performance-post .about .callout.left { flex-direction: column-reverse; }
body.web-performance .about .callout.left .picture, body.web-performance-post .about .callout.left .picture { margin: 10px 0 0; }
body.web-performance .about .callout .cta-buttons, body.web-performance-post .about .callout .cta-buttons { justify-content: center; } }
body.web-performance .hero { padding: 40px 0; min-height: 640px; }
body.web-performance .hero .background-wrap { top: 10px; left: 0; right: 0; position: absolute; z-index: -1; }
body.web-performance .hero .background-wrap .background { width: 100%; }
body.web-performance .hero .container { align-items: center; }
body.web-performance .hero .cta { background-color: rgba(255, 255, 255, 0.6); margin-top: 20px; max-width: 50%; }
body.web-performance .hero .cta h1 { font-size: 3em; line-height: 1.1em; }
body.web-performance .hero .cta h2 { font-size: 1.4em; margin-top: 20px; color: #33C19F; }
body.web-performance .hero .cta p { margin: 20px 0; font-size: 18px; line-height: 1.5; }
@media (max-width: 1200px) { body.web-performance .hero { min-height: calc(100vw * (600/1135)); } }
@media (max-width: 900px) { body.web-performance .hero .cta { margin-top: 0; } }
@media (max-width: 768px) { body.web-performance .hero { padding-top: 0; }
body.web-performance .hero .background-wrap { position: relative; left: 0; top: 10px; flex-direction: column; }
body.web-performance .hero .background-wrap .background { height: auto; width: auto; margin: 0; max-width: 100%; }
body.web-performance .hero .cta { margin-top: 0; max-width: 100%; text-align: center; }
body.web-performance .hero .cta .cta-buttons { justify-content: center; } }
@media (max-width: 600px) { body.web-performance .hero .cta-buttons { flex-direction: column; }
body.web-performance .hero .cta-buttons > * { width: 100%; }
body.web-performance .hero .cta-buttons > * a.btn { margin: 0; }
body.web-performance .hero .cta-buttons > * .no-credit { display: none; } }
body.web-performance .tutorials { padding: 100px 0; }
body.web-performance .tutorials .container { display: flex; flex-direction: row; flex-wrap: wrap; }
body.web-performance .tutorials .tutorial { padding: 10px; flex: 0 0 33%; }
body.web-performance .tutorials .tutorial .box { height: 100%; background: white; border-radius: 6px; border: 2px solid #DDE4EB; padding: 40px; display: flex; flex-direction: column; }
body.web-performance .tutorials .tutorial.wide { flex: 0 0 66%; }
body.web-performance .tutorials .tutorial.wide h2 { font-size: 1.2em; }
body.web-performance .tutorials .tutorial .img-box { text-align: center; }
body.web-performance .tutorials .tutorial .img-box img { border-radius: 6px; }
body.web-performance .tutorials .tutorial h2 { font-size: 1em; margin: 32px 0 16px; }
body.web-performance .tutorials .tutorial .btn { max-width: 220px; margin-top: 16px; }
@media (max-width: 900px) { body.web-performance .tutorials .tutorial .box { padding: 20px; } }
@media (max-width: 768px) { body.web-performance .tutorials .tutorial { flex: 0 0 50%; }
body.web-performance .tutorials .tutorial.wide { flex: 0 0 100%; } }
@media (max-width: 600px) { body.web-performance .tutorials .tutorial { flex: 0 0 100%; }
body.web-performance .tutorials .tutorial img { display: none; }
body.web-performance .tutorials .tutorial h2 { margin-top: 0; }
body.web-performance .tutorials .tutorial.wide img { display: block; }
body.web-performance .tutorials .tutorial.wide h2 { margin-top: 32px; } }
body.web-performance-post .back { padding: 60px 15px; }
body.web-performance-post article { font-family: "Lora", "Times New Roman", Times, serif; font-size: 18px; font-weight: 400; color: #2E4158; line-height: 28px; text-rendering: optimizeLegibility; }
body.web-performance-post article h1 { font-size: 1.8em; margin-bottom: 15px; }
body.web-performance-post article h2 { font-size: 1.5em; margin-bottom: 30px; }
body.web-performance-post article h3 { font-size: 1.2em; }
body.web-performance-post article .container { flex-direction: column; background-color: white; max-width: 780px; border-radius: 8px; padding: 40px 40px 0; }
@media (max-width: 768px) { body.web-performance-post article .container { padding: 20px; } }
@media (max-width: 600px) { body.web-performance-post article .container { padding: 10px; } }
body.web-performance-post article .canonical { background-color: #DDE4EB; border-radius: 6px; padding: 30px; margin-bottom: 15px; }
body.web-performance-post article .updated { color: #8C9AA9; margin-bottom: 15px; }
body.web-performance-post article .share-items a { height: 60px; width: 60px; border-radius: 6px; display: flex; flex-direction: column; justify-content: center; text-align: center; opacity: 0.8; transition: background-color, opacity 100ms ease-in-out; }
body.web-performance-post article .share-items a:hover, body.web-performance-post article .share-items a:active, body.web-performance-post article .share-items a:focus { background-color: white; opacity: 1; }
body.web-performance-post article .share-items a.twitter { color: #4099FF; }
body.web-performance-post article .share-items a.linkedin { color: #008CC9; }
body.web-performance-post article .share-items a.hackernews { color: #ff6600; }
body.web-performance-post article .share-items a.reddit { color: #ff5700; }
body.web-performance-post article .share-items a.facebook { color: #3b5998; }
body.web-performance-post article .top-share { position: relative; }
body.web-performance-post article .top-share .share-items { position: absolute; left: -120px; top: 50px; }
body.web-performance-post article .top-share .share-items a { font-size: 2.4em; margin-bottom: 15px; }
@media (max-width: 900px) { body.web-performance-post article .top-share { display: none; } }
body.web-performance-post article picture.header-image { margin: 20px 0; text-align: center; }
body.web-performance-post article picture.header-image img { border-radius: 6px; }
@media (max-width: 600px) { body.web-performance-post article picture.header-image { display: none; } }
body.web-performance-post article .content { padding: 30px 0 0; }
body.web-performance-post article .content p, body.web-performance-post article .content img, body.web-performance-post article .content ul, body.web-performance-post article .content ol, body.web-performance-post article .content figure, body.web-performance-post article .content blockquote { margin-bottom: 30px; }
body.web-performance-post article .content a { text-decoration: underline; }
body.web-performance-post article .content ul, body.web-performance-post article .content ol { list-style-position: outside; margin-left: 20px; }
body.web-performance-post article .content figure { text-align: center; }
body.web-performance-post article .content figure figcaption { font-size: 0.8em; font-weight: 700; }
body.web-performance-post article .content figure.code { text-align: left; display: flex; justify-content: center; margin: 0 auto 30px; }
body.web-performance-post article .content figure.code .code-wrap { width: 850px; max-width: calc(100vw - 40px); flex-shrink: 0; }
body.web-performance-post article .content figure img { margin: 0; }
body.web-performance-post article .content aside.wide { text-align: left; display: flex; justify-content: center; margin: 60px auto; }
body.web-performance-post article .content aside.wide .wrap { width: 850px; max-width: calc(100vw - 40px); flex-shrink: 0; border: 2px solid #DDE4EB; border-radius: 6px; background-color: #fafbfe; padding: 30px; }
body.web-performance-post article .content aside .callout { font-size: 0.8em; padding: 100px 0; font-family: "Muli", Helvetica, Arial, sans-serif; align-items: center; flex-direction: row; }
body.web-performance-post article .content aside .callout.left { flex-direction: row-reverse; }
body.web-performance-post article .content aside .callout .picture { flex: 1 1 50%; width: 100%; margin-right: 60px; }
body.web-performance-post article .content aside .callout .blurb { flex: 1 1 50%; }
body.web-performance-post article .content aside .callout .blurb h2 { font-size: 2.4em; line-height: 1.1em; }
body.web-performance-post article .content aside .callout .blurb p { font-size: 1.2em; }
body.web-performance-post article .content aside .callout.left { flex-direction: row-reverse; }
body.web-performance-post article .content aside .callout.left .picture { margin: 0 0 0 60px; }
body.web-performance-post article .content aside .callout .cta-buttons { align-items: flex-start; }
body.web-performance-post article .content aside .callout .cta-buttons .btn { margin-top: 5px; margin-right: 15px; text-decoration: none; }
@media (max-width: 900px) { body.web-performance-post article .content aside .callout { text-align: center; max-width: 600px; margin: 0 auto; flex-direction: column-reverse; }
body.web-performance-post article .content aside .callout .picture { margin: 10px 0 0; }
body.web-performance-post article .content aside .callout.left { flex-direction: column-reverse; }
body.web-performance-post article .content aside .callout.left .picture { margin: 10px 0 0; }
body.web-performance-post article .content aside .callout .cta-buttons { justify-content: center; } }
body.web-performance-post article .content blockquote { color: #48668a; position: relative; padding: 15px 15px 15px 45px; font-size: 1em; letter-spacing: -1px; }
body.web-performance-post article .content blockquote::before { content: "\201C"; font-size: 60px; font-weight: 700; color: #8C9AA9; line-height: 1.2; position: absolute; left: 10px; top: 0px; }
body.web-performance-post article .content blockquote p { margin-bottom: 15px; }
body.web-performance-post article .content blockquote cite { font-style: italic; display: block; text-align: right; font-size: 0.8em; }
body.web-performance-post article .content hr { margin-bottom: 40px; position: relative; left: -40px; margin-right: -80px; border: 2px solid #DDE4EB; }
@media (max-width: 768px) { body.web-performance-post article .content hr { margin-right: -60px; } }
body.web-performance-post article .bottom-share { background-color: transparent; font-family: "Muli", Helvetica, Arial, sans-serif; justify-content: space-between; }
body.web-performance-post article .bottom-share .like-this a { color: #2E4158; align-items: center; }
body.web-performance-post article .bottom-share .like-this a i { font-size: 2em; border-radius: 30px; height: 50px; width: 50px; display: flex; align-items: center; }
body.web-performance-post article .bottom-share .like-this a span { padding-left: 5px; }
body.web-performance-post article .bottom-share .like-this a .icon-thumbs-up { display: flex; }
body.web-performance-post article .bottom-share .like-this a .icon-thumbs-up-alt { display: none; }
body.web-performance-post article .bottom-share .like-this a:hover, body.web-performance-post article .bottom-share .like-this a:active, body.web-performance-post article .bottom-share .like-this a:focus { color: #51729b; text-decoration: none; }
body.web-performance-post article .bottom-share .like-this a:hover i, body.web-performance-post article .bottom-share .like-this a:active i, body.web-performance-post article .bottom-share .like-this a:focus i { background-color: white; }
body.web-performance-post article .bottom-share .like-this a.liked .icon-thumbs-up { display: none; }
body.web-performance-post article .bottom-share .like-this a.liked .icon-thumbs-up-alt { display: flex; }
body.web-performance-post article .bottom-share .like-this a.liked span { font-weight: 700; }
body.web-performance-post article .bottom-share .share-items a { font-size: 1.8em; }
body.web-performance-post section.newsletter-cta { margin: 80px 0; padding: 40px 0; background-color: #E4E7EA; }
body.web-performance-post section.newsletter-cta .container { max-width: 780px; display: flex; flex-direction: row; align-items: center; }
body.web-performance-post section.newsletter-cta .illustration { padding: 20px; flex: 1 1 60%; }
body.web-performance-post section.newsletter-cta .cta { text-align: left; flex: 1 1 40%; }
body.web-performance-post section.newsletter-cta h2 { font-size: 1.4em; margin: 0; }
body.web-performance-post section.newsletter-cta p { font-size: 1.1em; }
@media (max-width: 768px) { body.web-performance-post section.newsletter-cta .container { flex-direction: column; }
body.web-performance-post section.newsletter-cta .container > * { width: 100%; flex: 1 1 100%; }
body.web-performance-post section.newsletter-cta .illustration { margin: 0; display: flex; justify-content: center; }
body.web-performance-post section.newsletter-cta .illustration img { width: 100%; max-width: 500px; }
body.web-performance-post section.newsletter-cta .cta { flex: 0 0 100%; text-align: center; } }
body.web-performance-post section.related .container { flex-direction: column; text-align: center; }
body.web-performance-post section.related .related-articles { margin-top: 20px; display: flex; flex-direction: row; padding: 30px; border: 2px solid #DDE4EB; border-radius: 6px; }
body.web-performance-post section.related .related-articles .article { flex: 1 1 33%; }
body.web-performance-post section.related .related-articles .article img { border-radius: 6px; }
body.web-performance-post section.related .related-articles .article ~ .article { margin-left: 30px; }
body.web-performance-post section.related h2 { font-size: 1.4em; margin: 0; }
@media (max-width: 900px) { body.web-performance-post section.related .related-articles { flex-direction: column; margin: 20px auto; max-width: 500px; }
body.web-performance-post section.related .related-articles .article ~ .article { margin-top: 30px; margin-left: 0; } }
body.docs { width: 100%; }
body.docs .docs-page .container { max-width: 1000px; }
body.docs h1 { font-size: 2.5em; }
body.docs h3 { font-size: 1.5em; }
body.docs h4 { font-size: 1.1em; }
body.docs h5 { font-size: 1em; }
body.docs h1, body.docs h2, body.docs h3, body.docs h4, body.docs h5 { margin-top: 5px; margin-bottom: 5px; }
body.docs ul { list-style: none; }
body.docs .doc-section { margin-top: 15px; margin-bottom: 15px; }
body.docs .box { height: 100%; width: 100%; background: white; border-radius: 6px; border: 2px solid #DDE4EB; padding: 40px; display: flex; flex-direction: column; overflow: hidden; margin-bottom: 30px; }
body.docs .box .sloth { position: absolute; top: 25px; width: 350px; right: 50px; }
body.docs code.block { overflow-x: auto; white-space: pre; display: block; }
body.docs figure.code pre { min-height: 0; font-size: 1.2em; word-wrap: initial; }
@media (max-width: 900px) { body.docs .container { padding: 15px; }
body.docs .box { min-width: 0; width: auto; margin-left: 10px; margin-right: 10px; }
body.docs .box .sloth { display: none; } }
.feature-wall { padding: 100px 0; }
.feature-wall .container { flex-direction: column; align-items: center; }
.feature-wall h2 { margin-bottom: 80px; }
.feature-wall .wall-container { width: 100%; overflow-x: hidden; }
.feature-wall .wall-container .wall-frame { position: relative; width: calc(100% + 440px); left: -200px; right: -200px; }
.feature-wall .wall-container .wall-frame .wall-row { padding: 0 186px; display: flex; flex-direction: row; justify-content: center; }
.feature-wall .wall-container .wall-frame .wall-row.odd { padding: 0px; }
.feature-wall .wall-container .wall-frame .wall-row a { display: block; min-width: 360px; margin: 12px; opacity: 0.5; border: 1px solid #CCD2D8; border-radius: 4px; position: relative; filter: grayscale(1); transition: 200ms opacity, filter, box-shadow ease-out; }
.feature-wall .wall-container .wall-frame .wall-row a img { width: 100%; height: 100%; border-radius: 4px; }
.feature-wall .wall-container .wall-frame .wall-row a h3 { position: absolute; width: 100%; text-align: center; bottom: 10px; opacity: 0; background-color: #212932; color: #F5F7FA; transition: 200ms opacity ease-out; }
.feature-wall .wall-container .wall-frame .wall-row a:hover, .feature-wall .wall-container .wall-frame .wall-row a:active, .feature-wall .wall-container .wall-frame .wall-row a:focus { opacity: 1; filter: grayscale(0); box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); }
.feature-wall .wall-container .wall-frame .wall-row a:hover h3, .feature-wall .wall-container .wall-frame .wall-row a:active h3, .feature-wall .wall-container .wall-frame .wall-row a:focus h3 { opacity: 1; }
@media (max-width: 768px) { .feature-wall .wall-container .wall-frame .wall-row { padding: 0 93px; }
.feature-wall .wall-container .wall-frame .wall-row a { min-width: 180px; margin: 6px; } }
.explainer { padding: 60px 0 0 0; }
.explainer .container { flex-direction: column; align-items: center; }
.explainer h2 {
font-size: 2.4em;
line-height: 1.1em;
}
.explainer .video {
padding: 40px;
border: 2px solid #DDE4EB;
border-radius: 6px;
background-color: white;
max-width: 780px;
width: 100%;
margin: 40px 0 0;
}
.explainer .video {
width: 100%;
position: relative;
}
.explainer .video iframe {
height: 392px;
width: 100%;
border-radius: 6px;
}
================================================
FILE: public/assets/css/main.css
================================================
@import url(/assets/vendor/fontello/css/fontello.css);
@import url(/assets/css/banner.css);
@import url(/assets/css/index.css);
* { box-sizing: border-box; }
/** Reset some basic elements */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }
/** Basic styling */
body { font: 400 16px/1.5 "Muli", Helvetica, Arial, sans-serif; color: #2E4158; background-color: #fafbfe; -webkit-text-size-adjust: 100%; -webkit-font-feature-settings: "kern" 1; -moz-font-feature-settings: "kern" 1; -o-font-feature-settings: "kern" 1; font-feature-settings: "kern" 1; font-kerning: normal; display: flex; min-height: 100vh; flex-direction: column; width: 100%; overscroll-behavior-x: none; }
/** Set `margin-bottom` to maintain vertical rhythm */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure { margin-bottom: 15px; }
h1, h2, h3, h4, h5, h6 { font: 600 16px/1.5 "Poppins", Helvetica, Arial, sans-serif; }
/** `main` element */
main { display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ }
/** Images */
img { max-width: 100%; height: auto; vertical-align: middle; }
/** Lists */
li > ul, li > ol { margin-bottom: 0; }
/** Headings */
h1, h2, h3, h4, h5, h6 { font-weight: bold; font-family: "Poppins", Helvetica, Arial, sans-serif; }
h2 { font-size: 1.2em; }
/** Links */
a { color: #0E63F4; text-decoration: none; }
a:hover { color: #2E4158; text-decoration: underline; }
.social-media-list a:hover { text-decoration: none; }
.social-media-list a:hover .username { text-decoration: underline; }
.container { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; display: flex; max-width: 1200px; min-width: 380px; }
@media (max-width: 900px) { .container { max-width: 900px; } }
@media (max-width: 768px) { .container { max-width: 768px; } }
@media (max-width: 600px) { .container { max-width: 600px; } }
.relative { position: relative; }
.flex { display: flex; flex-direction: row; }
.flex-column { display: flex; flex-direction: column; }
.justify-center { justify-content: center; }
.align-center { align-items: center; }
.text-center { text-align: center; }
.text-width { max-width: 700px; }
.btn { border: none; padding: 6px 12px; display: inline-block; text-align: center; border-radius: 6px; text-decoration: none; cursor: pointer; font-family: "Muli", Helvetica, Arial, sans-serif; font-size: 1em; line-height: 1.5em; }
.btn:active, .btn:hover, .btn:focus { text-decoration: none; }
.btn.btn-big { padding: 14px 30px; font-size: 1.2em; font-weight: 600; }
.btn.btn-small { padding: 3px 8px; font-size: 0.85em; }
.btn.btn-grey { border: 1px solid #8C9AA9; background-color: #fafbfe; color: #0E63F4; }
.btn.btn-grey:active, .btn.btn-grey:hover, .btn.btn-grey:focus { background-color: #c7d2f4; }
.btn.btn-green { background-color: #33C19F; color: white; }
.btn.btn-green:active, .btn.btn-green:hover, .btn.btn-green:focus { background-color: #269177; }
.btn.btn-blue { background-color: #0E63F4; color: white; }
.btn.btn-blue:active, .btn.btn-blue:hover, .btn.btn-blue:focus { background-color: #094bbc; }
.btn.btn-blue-inverse { background-color: white; color: #0E63F4; border: 1px solid #0E63F4; }
.btn.btn-blue-inverse:active, .btn.btn-blue-inverse:hover, .btn.btn-blue-inverse:focus { background-color: #e0e0e0; }
.btn[disabled] { background-color: #e5eafa; color: #8C9AA9; }
.btn[disabled]:active, .btn[disabled]:hover, .btn[disabled]:focus { background-color: #e5eafa; color: #8C9AA9; }
header.site-header .container { height: 88px; }
header.site-header .container .site-logo { padding: 12px 0; flex: 0 0 auto; }
header.site-header .container .site-logo img { height: 64px; }
header.site-header .container nav.site-nav { flex: 1 1 auto; }
header.site-header .container nav.site-nav a { display: block; height: 64px; line-height: 64px; font-family: "Poppins", Helvetica, Arial, sans-serif; font-size: 0.9em; padding: 0 20px; }
header.site-header .container nav.site-nav .site-links { padding: 12px 0 12px 20px; }
header.site-header .container nav.site-nav .site-links a { margin-right: 20px; color: #2E4158; }
header.site-header .container nav.site-nav .site-links a.current { font-weight: 600; }
header.site-header .container nav.site-nav .site-cta { padding: 12px 0; }
header.site-header .container nav.site-nav .site-cta a.signin { font-weight: 600; }
header.site-header .container nav.site-nav .site-cta a.signup { line-height: 1em; padding: 15px 25px; margin: 10px 0 10px 20px; height: auto; }
header.site-header .container nav.site-nav input[type=checkbox] { position: absolute; opacity: 0; }
header.site-header .container nav.site-nav .spacer { display: none; }
header.site-header .container nav.site-nav .hamburger, header.site-header .container nav.site-nav .hamburger-close { display: none; }
header.site-header .container nav.site-nav .drawer { height: 100%; width: 100%; display: flex; justify-content: space-between; }
@media (max-width: 1100px) { header.site-header .container { justify-content: space-between; }
header.site-header .container .spacer { display: block; width: 50px; }
header.site-header .container nav.site-nav { flex: none; }
header.site-header .container nav.site-nav .hamburger, header.site-header .container nav.site-nav .hamburger-close { display: block; height: 100%; width: 50px; display: flex; justify-content: center; align-items: center; }
header.site-header .container nav.site-nav .hamburger .icon, header.site-header .container nav.site-nav .hamburger-close .icon { font-size: 2.5em; }
header.site-header .container nav.site-nav .hamburger-close { display: none; }
header.site-header .container nav.site-nav .drawer { background: white; font-size: 1.2em; display: block; height: auto; position: absolute; z-index: 2; top: 88px; background: white; border-bottom: 2px solid #DDE4EB; left: 0; right: 0; overflow: hidden; max-height: 0; transition: 200ms max-height ease-out; }
header.site-header .container nav.site-nav .drawer .site-links, header.site-header .container nav.site-nav .drawer .site-cta { border-top: 1px solid #DDE4EB; flex-direction: column; padding: 0; }
header.site-header .container nav.site-nav .drawer a { display: block; }
header.site-header .container nav.site-nav .drawer a.signup { margin: 20px; }
header.site-header .container nav.site-nav #drawer-activator:checked ~ .drawer { max-height: 350px; }
header.site-header .container nav.site-nav #drawer-activator:checked ~ .hamburger { display: none; }
header.site-header .container nav.site-nav #drawer-activator:checked ~ .hamburger-close { display: flex; } }
figure.code { margin: 15px 0; }
figure.code .code-wrap { position: relative; border: 1px solid #CCD2D8; border-radius: 6px; overflow: hidden; }
figure.code pre { min-height: 80px; margin-bottom: 0; padding: 10px; overflow-x: auto; white-space: pre; word-wrap: initial; background-color: #212932; color: white; }
figure.code.oneliner pre { padding: 26px; }
figure.code .copy-button { border: 1px solid white; position: absolute; right: 20px; top: 20px; padding: 8px 18px; border-radius: 4px; cursor: pointer; background-color: transparent; color: white; }
figure.code .copy-button span { padding-left: 3px; font-size: 18px; }
figure.code .copy-button img { width: 20px; vertical-align: top; margin: 0; border: none; display: initial; }
figure.code .copy-button:hover, figure.code .copy-button:focus, figure.code .copy-button:active { background-color: #00bbe6; color: white; }
figure.code figcaption { font-family: "Muli", Helvetica, Arial, sans-serif; border-top: 1px solid grey; font-size: 12px; text-align: center; padding: 5px; background-color: #212932; line-height: 26px; }
figure.code figcaption a { color: #e8e8e8; font-size: 14px; text-align: center; padding: 5px; font-weight: 500; text-decoration: none; }
figure.code figcaption a:hover, figure.code figcaption a:active, figure.code figcaption a:focus { color: #00bbe6; }
/* https://github.com/Microsoft/vscode/blob/master/extensions/theme-defaults/themes/light_vs.json */
pre.prettyprint .pln { color: #9CDCFE; }
pre.prettyprint .str { color: #ce9178; }
pre.prettyprint .kwd { color: #569cd6; }
pre.prettyprint .com { color: #608b4e; font-style: italic; }
pre.prettyprint .typ { color: #4EC9B0; }
pre.prettyprint .lit { color: #0ddb90; }
pre.prettyprint .clo, pre.prettyprint .opn, pre.prettyprint .pun { color: #D4D4D4; }
pre.prettyprint .tag { color: #569CD6; }
pre.prettyprint .atn { color: #9CDCFE; }
pre.prettyprint .atv { color: #CE9178; }
pre.prettyprint .dec, pre.prettyprint .var { color: #B5CEA8; }
pre.prettyprint .fun { color: #569cd6; }
code.language-plaintext { font-family: monospace; background-color: #fff; border: 1px solid #ddd; padding: 0 8px; border-radius: 3px; color: #2D689E; }
footer.site-footer { background-color: #182368; color: #9ba7b4; }
footer.site-footer a { color: #fafbfe; }
footer.site-footer .container { padding: 60px 20px 0; }
footer.site-footer .footer-about { flex: 1 1 33%; }
footer.site-footer .footer-about .footer-logo { margin-bottom: 30px; }
footer.site-footer .footer-about .footer-logo img { height: 64px; }
footer.site-footer .footer-about .footer-social a { font-size: 3em; }
footer.site-footer .footer-about .footer-social a:hover, footer.site-footer .footer-about .footer-social a:active, footer.site-footer .footer-about .footer-social a:focus { color: #d0d9f6; }
footer.site-footer .footer-links { flex: 1 1 66%; margin-top: 60px; }
footer.site-footer .footer-links .footer-links-1, footer.site-footer .footer-links .footer-links-2 { flex: 1; padding: 0 60px; }
footer.site-footer .footer-links h3 { text-transform: uppercase; font-weight: 400; }
footer.site-footer .footer-links a { padding: 0 0 30px; font-size: 1.1em; }
footer.site-footer .legal { margin: 0 auto; }
@media (max-width: 768px) { footer.site-footer .container { flex-direction: column; }
footer.site-footer .footer-links .footer-links-1 { padding: 0 30px 0 0; }
footer.site-footer .footer-links .footer-links-2 { padding: 0 0 0 30px; } }
================================================
FILE: public/assets/images/favicon/site.webmanifest.json
================================================
{"name":"","short_name":"","icons":[{"src":"/assets/images/favicon/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/assets/images/favicon/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
================================================
FILE: public/assets/js/banner.js
================================================
/**
* This renders a Cookie/GDPR consent banner into the page.
*/
(function (ready) {
if (document.readyState === "complete") {
ready();
} else {
document.addEventListener('readystatechange', function(event) {
if (document.readyState === "complete") {
ready();
}
});
}
})(function main() { /* the document is now ready. */
var consentBannerEl = document.createElement("div");
consentBannerEl.classList.add("consent-banner");
consentBannerEl.innerHTML = "" +
"<div class='container'>" +
"<div class='copy'>" +
"<p>" +
"<strong>Privacy Notice</strong><br />Like every other site on the Internet, we use cookies so that we can measure who visits our page and what they are interested in. We don't know your name or anything else about you. It's okay." +
"</p>" +
"</div>" +
"<div class='control'>" +
"<button class='btn btn-big btn-grey'>I Understand</button>"+
"</div>" +
"</div>";
consentBannerEl.querySelector(".btn").addEventListener("click", function() {
// user accepted
document.body.removeChild(consentBannerEl);
});
document.body.insertBefore(consentBannerEl, document.body.children[0]);
});
================================================
FILE: public/assets/js/util/lazyloader.js
================================================
/**
* lazyLoader
* Check for elements in the document to be loaded later when visible to the user.
* @see https://developers.google.com/web/fundamentals/performance/lazy-loading-guidance/images-and-video/
* @example
* <element src="" data-src="/url/" data-srcset="..." />
*/
(function (ready) {
if (document.readyState === "complete" || document.readyState === "interactive") {
ready();
} else {
document.addEventListener("DOMContentLoaded", ready);
}
})(function lazyLoader() { /* the document is now ready. */
var lazyEls = [].slice.call(document.querySelectorAll("[data-src]"));
function load(el) {
var src = el.getAttribute("data-src");
var srcset = el.getAttribute("data-srcset");
// [NOTE] Todd We shouldn't hit this if data-src was null, but monitoring
// says it happens sometimes, so ¯\_(ツ)_/¯
if (src) { el.setAttribute("src", src); }
if (srcset) { el.setAttribute("srcset", srcset); }
el.removeAttribute("data-src");
el.removeAttribute("data-srcset");
}
if ("IntersectionObserver" in window) {
var lazyObserver = new IntersectionObserver(function(entries) {
entries.forEach(function(entry) {
if (entry.isIntersecting) {
var el = entry.target;
load(el);
lazyObserver.unobserve(el);
}
});
});
lazyEls.forEach(function(el) {
if (el.tagName === "SCRIPT") {
load(el);
}
else {
lazyObserver.observe(el);
}
});
}
else {
lazyEls.forEach(load);
}
});
================================================
FILE: public/assets/js/util/perf.js
================================================
/**
* Custom Real User Monitoring Performance Agent
* Demonstration for "Fundamentals of Web Performance"
* by Todd Gardner <todd@toddhgardner.com>
*
* Not for production use.
*/
(() => {
const payload = {
url: window.location.href,
dcl: 0,
load: 0,
fcp: 0,
lcp: 0,
cls: 0,
fid: 0
}
// Navigation Performance Timings
onDocumentReady(() => {
setTimeout(() => { // "load" isn't done until the next cycle
let navEntry = performance.getEntriesByType("navigation")[0];
payload.dcl = navEntry.domContentLoadedEventStart;
payload.load = navEntry.loadEventStart;
console.log('Navigation Performance Timing', navEntry);
}, 0);
});
// First Contentful Paint
new PerformanceObserver((entryList) => {
let entries = entryList.getEntries() || [];
entries.forEach((entry) => {
if (entry.name === "first-contentful-paint") {
payload.fcp = entry.startTime;
console.log(`FCP: ${payload.fcp}`);
}
});
}).observe({ type: "paint", buffered: true });
// Largest Contentful Paint
new PerformanceObserver((entryList) => {
let entries = entryList.getEntries() || [];
entries.forEach((entry) => {
if (entry.startTime > payload.lcp) {
payload.lcp = entry.startTime;
console.log(`LCP: ${payload.lcp}`);
}
});
}).observe({ type: "largest-contentful-paint", buffered: true });
// Cumulative Layout Shift
new PerformanceObserver((entryList) => {
let entries = entryList.getEntries() || [];
entries.forEach((entry) => {
if (!entry.hadRecentInput) {
payload.cls += entry.value;
console.log(`CLS: ${payload.cls}`);
}
});
}).observe({ type: "layout-shift", buffered: true });
// First Input Delay
new PerformanceObserver((entryList) => {
let entries = entryList.getEntries() || [];
entries.forEach((entry) => {
payload.fid = entry.processingStart - entry.startTime;
console.log(`FID: ${payload.fid}`);
});
}).observe({ type: "first-input", buffered: true });
window.addEventListener("visibilitychange", () => {
if (document.visibilityState === 'hidden') {
let data = JSON.stringify(payload);
navigator.sendBeacon("/api/perf", data);
console.log("Sending performance:", data);
}
});
})();
// Utility functions to make example easier to understand.
function onDocumentReady(onReady) {
if (document.readyState === "complete") { onReady(); }
else {
document.addEventListener('readystatechange', (event) => {
if (document.readyState === "complete") { onReady(); }
});
}
}
================================================
FILE: public/assets/vendor/chatty/bulky.js
================================================
/**
* The following code is a bunch of bulky library code to simulate the browser
* work to compile and evaluate an extensive JavaScript application. Ultimately,
* it does nothing.
*
* Specifically, this is loading the lottie/bodymovin animation library 10 times.
*/
var x0 = (function() {
"use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",initialDefaultFrame=-999999,subframeEnabled=!0,expressionsPlugin,isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),cachedColors={},bm_rounder=Math.round,bm_rnd,bm_pow=Math.pow,bm_sqrt=Math.sqrt,bm_abs=Math.abs,bm_floor=Math.floor,bm_max=Math.max,bm_min=Math.min,blitter=10,BMMath={};function ProjectInterface(){return{}}!function(){var t,e=["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"],i=e.length;for(t=0;t<i;t+=1)BMMath[e[t]]=Math[e[t]]}(),BMMath.random=Math.random,BMMath.abs=function(t){if("object"===typeof t&&t.length){var e,i=createSizedArray(t.length),r=t.length;for(e=0;e<r;e+=1)i[e]=Math.abs(t[e]);return i}return Math.abs(t)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.left=0,t.style.display="block",t.style.transformOrigin=t.style.webkitTransformOrigin="0 0",t.style.backfaceVisibility=t.style.webkitBackfaceVisibility="visible",t.style.transformStyle=t.style.webkitTransformStyle=t.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this.totalTime=i,this.direction=r<0?-1:1}function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,this.totalLoops=e,this.direction=r<0?-1:1}function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.totalFrames=i}function BMDestroyEvent(t,e){this.type=t,this.target=e}function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this.nativeError=t,this.currentTime=e}function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e,this.currentTime=currentTime}roundValues(!1);var createElementID=(G=0,function(){return"__lottie_element_"+ ++G}),G;function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=6*t-(n=Math.floor(6*t)))*e),p=i*(1-(1-o)*e),n%6){case 0:r=i,s=p,a=h;break;case 1:r=l,s=i,a=h;break;case 2:r=h,s=i,a=p;break;case 3:r=h,s=l,a=i;break;case 4:r=p,s=h,a=i;break;case 5:r=i,s=h,a=l}return[r,s,a]}function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a,o=0===s?0:n/s,h=s/255;switch(s){case a:r=0;break;case t:r=e-i+n*(e<i?6:0),r/=6*n;break;case e:r=i-t+2*n,r/=6*n;break;case i:r=t-e+4*n,r/=6*n}return[r,o,h]}function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[1]+=e,1<i[1]?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[2]+=e,1<i[2]?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[0]+=e/360,1<i[0]?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}var rgbToHex=function(){var t,e,r=[];for(t=0;t<256;t+=1)e=t.toString(16),r[t]=1==e.length?"0"+e:e;return function(t,e,i){return t<0&&(t=0),e<0&&(e=0),i<0&&(i=0),"#"+r[t]+r[e]+r[i]}}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(t,e){if(this._cbs[t])for(var i=this._cbs[t].length,r=0;r<i;r++)this._cbs[t][r](e)},addEventListener:function(t,e){return this._cbs[t]||(this._cbs[t]=[]),this._cbs[t].push(e),function(){this.removeEventListener(t,e)}.bind(this)},removeEventListener:function(t,e){if(e){if(this._cbs[t]){for(var i=0,r=this._cbs[t].length;i<r;)this._cbs[t][i]===e&&(this._cbs[t].splice(i,1),i-=1,r-=1),i+=1;this._cbs[t].length||(this._cbs[t]=null)}}else this._cbs[t]=null}};var createTypedArray="function"==typeof Uint8ClampedArray&&"function"==typeof Float32Array?function(t,e){return"float32"===t?new Float32Array(e):"int16"===t?new Int16Array(e):"uint8c"===t?new Uint8ClampedArray(e):void 0}:function(t,e){var i,r=0,s=[];switch(t){case"int16":case"uint8c":i=1;break;default:i=1.1}for(r=0;r<e;r+=1)s.push(i);return s};function createSizedArray(t){return Array.apply(null,{length:t})}function createNS(t){return document.createElementNS(svgNS,t)}function createTag(t){return document.createElement(t)}function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(t){-1===this.dynamicProperties.indexOf(t)&&(this.dynamicProperties.push(t),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){this._mdf=!1;var t,e=this.dynamicProperties.length;for(t=0;t<e;t+=1)this.dynamicProperties[t].getValue(),this.dynamicProperties[t]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(t){this.container=t,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var getBlendMode=(Pa={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"},function(t){return Pa[t]||""}),Pa,Matrix=function(){var s=Math.cos,a=Math.sin,n=Math.tan,r=Math.round;function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1)}function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1)}function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1)}function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1)}function l(t,e){return this._t(1,e,t,1,0,0)}function p(t,e){return this.shear(n(t),n(e))}function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,n(t),1,0,0,0,0,1,0,0,0,0,1)._t(i,-r,0,0,r,i,0,0,0,0,1,0,0,0,0,1)}function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._t(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1)}function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this.props[1]=e,this.props[2]=i,this.props[3]=r,this.props[4]=s,this.props[5]=a,this.props[6]=n,this.props[7]=o,this.props[8]=h,this.props[9]=l,this.props[10]=p,this.props[11]=m,this.props[12]=f,this.props[13]=c,this.props[14]=d,this.props[15]=u,this}function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,0,0,0,0,1,0,t,e,i,1):this}function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0===e&&0===i&&0===r&&0===s&&1===a&&0===n&&0===o&&0===h&&0===l&&1===p&&0===m)return y[12]=y[12]*t+y[15]*f,y[13]=y[13]*a+y[15]*c,y[14]=y[14]*p+y[15]*d,y[15]=y[15]*u,this._identityCalculated=!1,this;var g=y[0],v=y[1],b=y[2],E=y[3],x=y[4],P=y[5],S=y[6],_=y[7],C=y[8],A=y[9],T=y[10],k=y[11],M=y[12],D=y[13],w=y[14],F=y[15];return y[0]=g*t+v*s+b*h+E*f,y[1]=g*e+v*a+b*l+E*c,y[2]=g*i+v*n+b*p+E*d,y[3]=g*r+v*o+b*m+E*u,y[4]=x*t+P*s+S*h+_*f,y[5]=x*e+P*a+S*l+_*c,y[6]=x*i+P*n+S*p+_*d,y[7]=x*r+P*o+S*m+_*u,y[8]=C*t+A*s+T*h+k*f,y[9]=C*e+A*a+T*l+k*c,y[10]=C*i+A*n+T*p+k*d,y[11]=C*r+A*o+T*m+k*u,y[12]=M*t+D*s+w*h+F*f,y[13]=M*e+D*a+w*l+F*c,y[14]=M*i+D*n+w*p+F*d,y[15]=M*r+D*o+w*m+F*u,this._identityCalculated=!1,this}function y(){return this._identityCalculated||(this._identity=!(1!==this.props[0]||0!==this.props[1]||0!==this.props[2]||0!==this.props[3]||0!==this.props[4]||1!==this.props[5]||0!==this.props[6]||0!==this.props[7]||0!==this.props[8]||0!==this.props[9]||1!==this.props[10]||0!==this.props[11]||0!==this.props[12]||0!==this.props[13]||0!==this.props[14]||1!==this.props[15]),this._identityCalculated=!0),this._identity}function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;e+=1}return!0}function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[8]+this.props[12],y:t*this.props[1]+e*this.props[5]+i*this.props[9]+this.props[13],z:t*this.props[2]+e*this.props[6]+i*this.props[10]+this.props[14]}}function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]+this.props[12]}function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]+this.props[13]}function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10]+this.props[14]}function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[4],e=this.props[5]/t,i=-this.props[1]/t,r=-this.props[4]/t,s=this.props[0]/t,a=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/t,n=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/t,o=new Matrix;return o.props[0]=e,o.props[1]=i,o.props[4]=r,o.props[5]=s,o.props[12]=a,o.props[13]=n,o}function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1],t[2]||0)}function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity())r[0]=t[0],r[1]=t[1],r[2]=e[0],r[3]=e[1],r[4]=i[0],r[5]=i[1];else{var s=this.props[0],a=this.props[1],n=this.props[4],o=this.props[5],h=this.props[12],l=this.props[13];r[0]=t[0]*s+t[1]*n+h,r[1]=t[0]*a+t[1]*o+l,r[2]=e[0]*s+e[1]*n+h,r[3]=e[0]*a+e[1]*o+l,r[4]=i[0]*s+i[1]*n+h,r[5]=i[0]*a+i[1]*o+l}return r}function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*this.props[4]+i*this.props[8]+this.props[12],t*this.props[1]+e*this.props[5]+i*this.props[9]+this.props[13],t*this.props[2]+e*this.props[6]+i*this.props[10]+this.props[14]]}function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;return Math.round(100*(t*i[0]+e*i[4]+i[12]))/100+","+Math.round(100*(t*i[1]+e*i[5]+i[13]))/100}function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])/1e4,i+=15===t?")":",",t+=1;return i}function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(t[4])+","+w(t[5])+","+w(t[12])+","+w(t[13])+")"}return function(){this.reset=t,this.rotate=e,this.rotateX=i,this.rotateY=o,this.rotateZ=h,this.skew=p,this.skewFromAxis=m,this.shear=l,this.scale=f,this.setTransform=c,this.translate=d,this.transform=u,this.applyToPoint=E,this.applyToX=x,this.applyToY=P,this.applyToZ=S,this.applyToPointArray=k,this.applyToTriplePoints=T,this.applyToPointStringified=M,this.toCSS=D,this.to2dCSS=F,this.clone=v,this.cloneFromProps=b,this.equals=g,this.inversePoints=A,this.inversePoint=C,this.getInverseMatrix=_,this._t=this.transform,this.isIdentity=y,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();!function(o,h){var l,p=this,m=256,f=6,c="random",d=h.pow(m,f),u=h.pow(2,52),y=2*u,g=m-1;function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t=[i++]);r<m;)a[r]=r++;for(r=0;r<m;r++)a[r]=a[s=g&s+t[r%i]+(e=a[r])],a[s]=e;n.g=function(t){for(var e,i=0,r=n.i,s=n.j,a=n.S;t--;)e=a[r=g&r+1],i=i*m+a[g&(a[r]=a[s=g&s+e])+(a[s]=e)];return n.i=r,n.j=s,i}}function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])+r.charCodeAt(s++);return x(e)}function x(t){return String.fromCharCode.apply(0,t)}h["seed"+c]=function(t,e,i){var r=[],s=E(function t(e,i){var r,s=[],a=typeof e;if(i&&"object"==a)for(r in e)try{s.push(t(e[r],i-1))}catch(t){}return s.length?s:"string"==a?e:e+"\0"}((e=!0===e?{entropy:!0}:e||{}).entropy?[t,x(o)]:null===t?function(){try{if(l)return x(l.randomBytes(m));var t=new Uint8Array(m);return(p.crypto||p.msCrypto).getRandomValues(t),x(t)}catch(t){var e=p.navigator,i=e&&e.plugins;return[+new Date,p,i,p.screen,x(o)]}}():t,3),r),a=new v(r),n=function(){for(var t=a.g(f),e=d,i=0;t<u;)t=(t+i)*m,e*=m,i=a.g(1);for(;y<=t;)t/=2,e/=2,i>>>=1;return(t+i)/e};return n.int32=function(){return 0|a.g(4)},n.quick=function(){return a.g(4)/4294967296},n.double=n,E(x(a.S),o),(e.pass||i||function(t,e,i,r){return r&&(r.S&&b(r,a),t.state=function(){return b(a,{})}),i?(h[c]=t,e):t})(n,s,"global"in e?e.global:this==h,e.state)},E(h.random(),o)}([],BMMath);var BezierFactory=function(){var t={getBezierEasing:function(t,e,i,r,s){var a=s||("bez_"+t+"_"+e+"_"+i+"_"+r).replace(/\./g,"p");if(o[a])return o[a];var n=new h([t,e,i,r]);return o[a]=n}},o={};var l=11,p=1/(l-1),e="function"==typeof Float32Array;function r(t,e){return 1-3*e+3*t}function s(t,e){return 3*e-6*t}function a(t){return 3*t}function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Array(l),this._precomputed=!1,this.get=this.get.bind(this)}return h.prototype={get:function(t){var e=this._p[0],i=this._p[1],r=this._p[2],s=this._p[3];return this._precomputed||this._precompute(),e===i&&r===s?t:0===t?0:1===t?1:m(this._getTForX(t),i,s)},_precompute:function(){var t=this._p[0],e=this._p[1],i=this._p[2],r=this._p[3];this._precomputed=!0,t===e&&i===r||this._calcSampleValues()},_calcSampleValues:function(){for(var t=this._p[0],e=this._p[2],i=0;i<l;++i)this._mSampleValues[i]=m(i*p,t,e)},_getTForX:function(t){for(var e=this._p[0],i=this._p[2],r=this._mSampleValues,s=0,a=1,n=l-1;a!==n&&r[a]<=t;++a)s+=p;var o=s+(t-r[--a])/(r[a+1]-r[a])*p,h=f(o,e,i);return.001<=h?function(t,e,i,r){for(var s=0;s<4;++s){var a=f(e,i,r);if(0===a)return e;e-=(m(e,i,r)-t)/a}return e}(t,o,e,i):0===h?o:function(t,e,i,r,s){for(var a,n,o=0;0<(a=m(n=e+(i-e)/2,r,s)-t)?i=n:e=n,1e-7<Math.abs(a)&&++o<10;);return n}(t,s,s+p,e,i)}},t}();function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(var a in r=t[i].prototype)r.hasOwnProperty(a)&&(e.prototype[a]=r[a])}function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}function createProxyFunction(t){function e(){}return e.prototype=t,e}function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*r-a*t-i*e;return-.001<n&&n<.001}var p=function(t,e,i,r){var s,a,n,o,h,l,p=defaultCurveSegments,m=0,f=[],c=[],d=bezier_length_pool.newElement();for(n=i.length,s=0;s<p;s+=1){for(h=s/(p-1),a=l=0;a<n;a+=1)o=bm_pow(1-h,3)*t[a]+3*bm_pow(1-h,2)*h*i[a]+3*(1-h)*bm_pow(h,2)*r[a]+bm_pow(h,3)*e[a],f[a]=o,null!==c[a]&&(l+=bm_pow(f[a]-c[a],2)),c[a]=f[a];l&&(m+=l=bm_sqrt(l)),d.percents[s]=h,d.lengths[s]=m}return d.addedLength=m,d};function g(t){this.segmentLength=0,this.points=new Array(t)}function v(t,e){this.partialLength=t,this.point=e}var b,t=(b={},function(t,e,i,r){var s=(t[0]+"_"+t[1]+"_"+e[0]+"_"+e[1]+"_"+i[0]+"_"+i[1]+"_"+r[0]+"_"+r[1]).replace(/\./g,"p");if(!b[s]){var a,n,o,h,l,p,m,f=defaultCurveSegments,c=0,d=null;2===t.length&&(t[0]!=e[0]||t[1]!=e[1])&&y(t[0],t[1],e[0],e[1],t[0]+i[0],t[1]+i[1])&&y(t[0],t[1],e[0],e[1],e[0]+r[0],e[1]+r[1])&&(f=2);var u=new g(f);for(o=i.length,a=0;a<f;a+=1){for(m=createSizedArray(o),l=a/(f-1),n=p=0;n<o;n+=1)h=bm_pow(1-l,3)*t[n]+3*bm_pow(1-l,2)*l*(t[n]+i[n])+3*(1-l)*bm_pow(l,2)*(e[n]+r[n])+bm_pow(l,3)*e[n],m[n]=h,null!==d&&(p+=bm_pow(m[n]-d[n],2));c+=p=bm_sqrt(p),u.points[a]=new v(p,m),d=m}u.segmentLength=c,b[s]=u}return b[s]});function M(t,e){var i=e.percents,r=e.lengths,s=i.length,a=bm_floor((s-1)*t),n=t*e.addedLength,o=0;if(a===s-1||0===a||n===r[a])return i[a];for(var h=r[a]>n?-1:1,l=!0;l;)if(r[a]<=n&&r[a+1]>n?(o=(n-r[a])/(r[a+1]-r[a]),l=!1):a+=h,a<0||s-1<=a){if(a===s-1)return i[a];l=!1}return i[a]+(i[a+1]-i[a])*o}var D=createTypedArray("float32",8);return{getSegmentsLength:function(t){var e,i=segments_length_pool.newElement(),r=t.c,s=t.v,a=t.o,n=t.i,o=t._length,h=i.lengths,l=0;for(e=0;e<o-1;e+=1)h[e]=p(s[e],s[e+1],a[e],n[e+1]),l+=h[e].addedLength;return r&&o&&(h[e]=p(s[e],s[0],a[e],n[0]),l+=h[e].addedLength),i.totalLength=l,i},getNewSegment:function(t,e,i,r,s,a,n){var o,h=M(s=s<0?0:1<s?1:s,n),l=M(a=1<a?1:a,n),p=t.length,m=1-h,f=1-l,c=m*m*m,d=h*m*m*3,u=h*h*m*3,y=h*h*h,g=m*m*f,v=h*m*f+m*h*f+m*m*l,b=h*h*f+m*h*l+h*m*l,E=h*h*l,x=m*f*f,P=h*f*f+m*l*f+m*f*l,S=h*l*f+m*l*l+h*f*l,_=h*l*l,C=f*f*f,A=l*f*f+f*l*f+f*f*l,T=l*l*f+f*l*l+l*f*l,k=l*l*l;for(o=0;o<p;o+=1)D[4*o]=Math.round(1e3*(c*t[o]+d*i[o]+u*r[o]+y*e[o]))/1e3,D[4*o+1]=Math.round(1e3*(g*t[o]+v*i[o]+b*r[o]+E*e[o]))/1e3,D[4*o+2]=Math.round(1e3*(x*t[o]+P*i[o]+S*r[o]+_*e[o]))/1e3,D[4*o+3]=Math.round(1e3*(C*t[o]+A*i[o]+T*r[o]+k*e[o]))/1e3;return D},getPointInSegment:function(t,e,i,r,s,a){var n=M(s,a),o=1-n;return[Math.round(1e3*(o*o*o*t[0]+(n*o*o+o*n*o+o*o*n)*i[0]+(n*n*o+o*n*n+n*o*n)*r[0]+n*n*n*e[0]))/1e3,Math.round(1e3*(o*o*o*t[1]+(n*o*o+o*n*o+o*o*n)*i[1]+(n*n*o+o*n*n+n*o*n)*r[1]+n*n*n*e[1]))/1e3]},buildBezierData:t,pointOnLine2D:y,pointOnLine3D:function(t,e,i,r,s,a,n,o,h){if(0===i&&0===a&&0===h)return y(t,e,r,s,n,o);var l,p=Math.sqrt(Math.pow(r-t,2)+Math.pow(s-e,2)+Math.pow(a-i,2)),m=Math.sqrt(Math.pow(n-t,2)+Math.pow(o-e,2)+Math.pow(h-i,2)),f=Math.sqrt(Math.pow(n-r,2)+Math.pow(o-s,2)+Math.pow(h-a,2));return-1e-4<(l=m<p?f<p?p-m-f:f-m-p:m<f?f-m-p:m-p-f)&&l<1e-4}}}!function(){for(var a=0,t=["ms","moz","webkit","o"],e=0;e<t.length&&!window.requestAnimationFrame;++e)window.requestAnimationFrame=window[t[e]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[e]+"CancelAnimationFrame"]||window[t[e]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t,e){var i=(new Date).getTime(),r=Math.max(0,16-(i-a)),s=setTimeout(function(){t(i+r)},r);return a=i+r,s}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}();var bez=bezFunction();function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.length;for(s=0;s<l;s+=1)if("ks"in(r=t[s])&&!r.completed){if(r.completed=!0,r.tt&&(t[s-1].td=r.tt),[],-1,r.hasMask){var p=r.masksProperties;for(n=p.length,a=0;a<n;a+=1)if(p[a].pt.k.i)d(p[a].pt.k);else for(h=p[a].pt.k.length,o=0;o<h;o+=1)p[a].pt.k[o].s&&d(p[a].pt.k[o].s[0]),p[a].pt.k[o].e&&d(p[a].pt.k[o].e[0])}0===r.ty?(r.layers=f(r.refId,e),m(r.layers,e,i)):4===r.ty?c(r.shapes):5==r.ty&&u(r,i)}}function f(t,e){for(var i=0,r=e.length;i<r;){if(e[i].id===t)return e[i].layers.__used?JSON.parse(JSON.stringify(e[i].layers)):(e[i].layers.__used=!0,e[i].layers);i+=1}}function c(t){var e,i,r;for(e=t.length-1;0<=e;e-=1)if("sh"==t[e].ty){if(t[e].ks.k.i)d(t[e].ks.k);else for(r=t[e].ks.k.length,i=0;i<r;i+=1)t[e].ks.k[i].s&&d(t[e].ks.k[i].s[0]),t[e].ks.k[i].e&&d(t[e].ks.k[i].e[0]);!0}else"gr"==t[e].ty&&c(t[e].it)}function d(t){var e,i=t.i.length;for(e=0;e<i;e+=1)t.i[e][0]+=t.v[e][0],t.i[e][1]+=t.v[e][1],t.o[e][0]+=t.v[e][0],t.o[e][1]+=t.v[e][1]}function o(t,e){var i=e?e.split("."):[100,100,100];return t[0]>i[0]||!(i[0]>t[0])&&(t[1]>i[1]||!(i[1]>t[1])&&(t[2]>i[2]||!(i[2]>t[2])&&void 0))}var h,i=function(){var r=[4,4,14];function s(t){var e,i,r,s=t.length;for(e=0;e<s;e+=1)5===t[e].ty&&(i=t[e],void 0,r=i.t.d,i.t.d={k:[{s:r,t:0}]})}return function(t){if(o(r,t.v)&&(s(t.layers),t.assets)){var e,i=t.assets.length;for(e=0;e<i;e+=1)t.assets[e].layers&&s(t.assets[e].layers)}}}(),r=(h=[4,7,99],function(t){if(t.chars&&!o(h,t.v)){var e,i,r,s,a,n=t.chars.length;for(e=0;e<n;e+=1)if(t.chars[e].data&&t.chars[e].data.shapes)for(r=(a=t.chars[e].data.shapes[0].it).length,i=0;i<r;i+=1)(s=a[i].ks.k).__converted||(d(a[i].ks.k),s.__converted=!0)}}),s=function(){var r=[4,1,9];function a(t){var e,i,r,s=t.length;for(e=0;e<s;e+=1)if("gr"===t[e].ty)a(t[e].it);else if("fl"===t[e].ty||"st"===t[e].ty)if(t[e].c.k&&t[e].c.k[0].i)for(r=t[e].c.k.length,i=0;i<r;i+=1)t[e].c.k[i].s&&(t[e].c.k[i].s[0]/=255,t[e].c.k[i].s[1]/=255,t[e].c.k[i].s[2]/=255,t[e].c.k[i].s[3]/=255),t[e].c.k[i].e&&(t[e].c.k[i].e[0]/=255,t[e].c.k[i].e[1]/=255,t[e].c.k[i].e[2]/=255,t[e].c.k[i].e[3]/=255);else t[e].c.k[0]/=255,t[e].c.k[1]/=255,t[e].c.k[2]/=255,t[e].c.k[3]/=255}function s(t){var e,i=t.length;for(e=0;e<i;e+=1)4===t[e].ty&&a(t[e].shapes)}return function(t){if(o(r,t.v)&&(s(t.layers),t.assets)){var e,i=t.assets.length;for(e=0;e<i;e+=1)t.assets[e].layers&&s(t.assets[e].layers)}}}(),a=function(){var r=[4,4,18];function l(t){var e,i,r;for(e=t.length-1;0<=e;e-=1)if("sh"==t[e].ty){if(t[e].ks.k.i)t[e].ks.k.c=t[e].closed;else for(r=t[e].ks.k.length,i=0;i<r;i+=1)t[e].ks.k[i].s&&(t[e].ks.k[i].s[0].c=t[e].closed),t[e].ks.k[i].e&&(t[e].ks.k[i].e[0].c=t[e].closed);!0}else"gr"==t[e].ty&&l(t[e].it)}function s(t){var e,i,r,s,a,n,o=t.length;for(i=0;i<o;i+=1){if((e=t[i]).hasMask){var h=e.masksProperties;for(s=h.length,r=0;r<s;r+=1)if(h[r].pt.k.i)h[r].pt.k.c=h[r].cl;else for(n=h[r].pt.k.length,a=0;a<n;a+=1)h[r].pt.k[a].s&&(h[r].pt.k[a].s[0].c=h[r].cl),h[r].pt.k[a].e&&(h[r].pt.k[a].e[0].c=h[r].cl)}4===e.ty&&l(e.shapes)}}return function(t){if(o(r,t.v)&&(s(t.layers),t.assets)){var e,i=t.assets.length;for(e=0;e<i;e+=1)t.assets[e].layers&&s(t.assets[e].layers)}}}();function u(t,e){0!==t.t.a.length||"m"in t.t.p||(t.singleShape=!0)}var t={completeData:function(t,e){t.__complete||(s(t),i(t),r(t),a(t),m(t.layers,t.assets,e),t.__complete=!0)}};return t.checkColors=s,t.checkChars=r,t.checkShapes=a,t.completeLayers=m,t}var dataManager=dataFunctionManager(),FontManager=function(){var a={w:0,size:0,shapes:[]},t=[];function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=createTag("span");r.innerText="giItT1WQy@!-/#",i.style.position="absolute",i.style.left="-10000px",i.style.top="-10000px",i.style.fontSize="300px",i.style.fontVariant="normal",i.style.fontStyle="normal",i.style.fontWeight="normal",i.style.letterSpacing="0",i.appendChild(r),document.body.appendChild(i);var s=r.offsetWidth;return r.style.fontFamily=function(t){var e,i=t.split(","),r=i.length,s=[];for(e=0;e<r;e+=1)"sans-serif"!==i[e]&&"monospace"!==i[e]&&s.push(i[e]);return s.join(",")}(t)+", "+e,{node:r,w:s,parent:i}}t=t.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]);var e=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};return e.getCombinedCharacterCodes=function(){return t},e.prototype={addChars:function(t){if(t){this.chars||(this.chars=[]);var e,i,r,s=t.length,a=this.chars.length;for(e=0;e<s;e+=1){for(i=0,r=!1;i<a;)this.chars[i].style===t[e].style&&this.chars[i].fFamily===t[e].fFamily&&this.chars[i].ch===t[e].ch&&(r=!0),i+=1;r||(this.chars.push(t[e]),a+=1)}}},addFonts:function(t,e){if(t){if(this.chars)return this.isLoaded=!0,void(this.fonts=t.list);var i,r,s,a,n=t.list,o=n.length,h=o;for(i=0;i<o;i+=1){var l,p,m=!0;if(n[i].loaded=!1,n[i].monoCase=u(n[i].fFamily,"monospace"),n[i].sansCase=u(n[i].fFamily,"sans-serif"),n[i].fPath){if("p"===n[i].fOrigin||3===n[i].origin){if(0<(l=document.querySelectorAll('style[f-forigin="p"][f-family="'+n[i].fFamily+'"], style[f-origin="3"][f-family="'+n[i].fFamily+'"]')).length&&(m=!1),m){var f=createTag("style");f.setAttribute("f-forigin",n[i].fOrigin),f.setAttribute("f-origin",n[i].origin),f.setAttribute("f-family",n[i].fFamily),f.type="text/css",f.innerText="@font-face {font-family: "+n[i].fFamily+"; font-style: normal; src: url('"+n[i].fPath+"');}",e.appendChild(f)}}else if("g"===n[i].fOrigin||1===n[i].origin){for(l=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),p=0;p<l.length;p++)-1!==l[p].href.indexOf(n[i].fPath)&&(m=!1);if(m){var c=createTag("link");c.setAttribute("f-forigin",n[i].fOrigin),c.setAttribute("f-origin",n[i].origin),c.type="text/css",c.rel="stylesheet",c.href=n[i].fPath,document.body.appendChild(c)}}else if("t"===n[i].fOrigin||2===n[i].origin){for(l=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'),p=0;p<l.length;p++)n[i].fPath===l[p].src&&(m=!1);if(m){var d=createTag("link");d.setAttribute("f-forigin",n[i].fOrigin),d.setAttribute("f-origin",n[i].origin),d.setAttribute("rel","stylesheet"),d.setAttribute("href",n[i].fPath),e.appendChild(d)}}}else n[i].loaded=!0,h-=1;n[i].helper=(r=e,s=n[i],a=void 0,(a=createNS("text")).style.fontSize="100px",a.setAttribute("font-family",s.fFamily),a.setAttribute("font-style",s.fStyle),a.setAttribute("font-weight",s.fWeight),a.textContent="1",s.fClass?(a.style.fontFamily="inherit",a.setAttribute("class",s.fClass)):a.style.fontFamily=s.fFamily,r.appendChild(a),createTag("canvas").getContext("2d").font=s.fWeight+" "+s.fStyle+" 100px "+s.fFamily,a),n[i].cache={},this.fonts.push(n[i])}0===h?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}else this.isLoaded=!0},getCharData:function(t,e,i){for(var r=0,s=this.chars.length;r<s;){if(this.chars[r].ch===t&&this.chars[r].style===e&&this.chars[r].fFamily===i)return this.chars[r];r+=1}return("string"==typeof t&&13!==t.charCodeAt(0)||!t)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn("Missing character from exported characters list: ",t,e,i)),a},getFontByName:function(t){for(var e=0,i=this.fonts.length;e<i;){if(this.fonts[e].fName===t)return this.fonts[e];e+=1}return this.fonts[0]},measureText:function(t,e,i){var r=this.getFontByName(e),s=t.charCodeAt(0);if(!r.cache[s+1]){var a=r.helper;if(" "===t){a.textContent="|"+t+"|";var n=a.getComputedTextLength();a.textContent="||";var o=a.getComputedTextLength();r.cache[s+1]=(n-o)/100}else a.textContent=t,r.cache[s+1]=a.getComputedTextLength()/100}return r.cache[s+1]*i},checkLoadedFonts:function(){var t,e,i,r=this.fonts.length,s=r;for(t=0;t<r;t+=1)this.fonts[t].loaded?s-=1:"n"===this.fonts[t].fOrigin||0===this.fonts[t].origin?this.fonts[t].loaded=!0:(e=this.fonts[t].monoCase.node,i=this.fonts[t].monoCase.w,e.offsetWidth!==i?(s-=1,this.fonts[t].loaded=!0):(e=this.fonts[t].sansCase.node,i=this.fonts[t].sansCase.w,e.offsetWidth!==i&&(s-=1,this.fonts[t].loaded=!0)),this.fonts[t].loaded&&(this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent),this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));0!==s&&Date.now()-this.initTime<5e3?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)},setIsLoaded:function(){this.isLoaded=!0}},e}(),PropertyFactory=function(){var m=initialDefaultFrame,s=Math.abs;function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propType&&(i=createTypedArray("float32",this.pv.length));for(var s,a,n,o,h,l,p,m,f=e.lastIndex,c=f,d=this.keyframes.length-1,u=!0;u;){if(s=this.keyframes[c],a=this.keyframes[c+1],c===d-1&&t>=a.t-r){s.h&&(s=a),f=0;break}if(a.t-r>t){f=c;break}c<d-1?c+=1:(f=0,u=!1)}var y,g,v,b,E,x,P,S,_,C,A=a.t-r,T=s.t-r;if(s.to){s.bezierData||(s.bezierData=bez.buildBezierData(s.s,a.s||s.e,s.to,s.ti));var k=s.bezierData;if(A<=t||t<T){var M=A<=t?k.points.length-1:0;for(o=k.points[M].point.length,n=0;n<o;n+=1)i[n]=k.points[M].point[n]}else{s.__fnct?m=s.__fnct:(m=BezierFactory.getBezierEasing(s.o.x,s.o.y,s.i.x,s.i.y,s.n).get,s.__fnct=m),h=m((t-T)/(A-T));var D,w=k.segmentLength*h,F=e.lastFrame<t&&e._lastKeyframeIndex===c?e._lastAddedLength:0;for(p=e.lastFrame<t&&e._lastKeyframeIndex===c?e._lastPoint:0,u=!0,l=k.points.length;u;){if(F+=k.points[p].partialLength,0===w||0===h||p===k.points.length-1){for(o=k.points[p].point.length,n=0;n<o;n+=1)i[n]=k.points[p].point[n];break}if(F<=w&&w<F+k.points[p+1].partialLength){for(D=(w-F)/k.points[p+1].partialLength,o=k.points[p].point.length,n=0;n<o;n+=1)i[n]=k.points[p].point[n]+(k.points[p+1].point[n]-k.points[p].point[n])*D;break}p<l-1?p+=1:u=!1}e._lastPoint=p,e._lastAddedLength=F-k.points[p].partialLength,e._lastKeyframeIndex=c}}else{var I,V,B,R,L;if(d=s.s.length,y=a.s||s.e,this.sh&&1!==s.h)if(A<=t)i[0]=y[0],i[1]=y[1],i[2]=y[2];else if(t<=T)i[0]=s.s[0],i[1]=s.s[1],i[2]=s.s[2];else{var G=N(s.s),z=N(y);g=i,v=function(t,e,i){var r,s,a,n,o,h=[],l=t[0],p=t[1],m=t[2],f=t[3],c=e[0],d=e[1],u=e[2],y=e[3];(s=l*c+p*d+m*u+f*y)<0&&(s=-s,c=-c,d=-d,u=-u,y=-y);o=1e-6<1-s?(r=Math.acos(s),a=Math.sin(r),n=Math.sin((1-i)*r)/a,Math.sin(i*r)/a):(n=1-i,i);return h[0]=n*l+o*c,h[1]=n*p+o*d,h[2]=n*m+o*u,h[3]=n*f+o*y,h}(G,z,(t-T)/(A-T)),b=v[0],E=v[1],x=v[2],P=v[3],S=Math.atan2(2*E*P-2*b*x,1-2*E*E-2*x*x),_=Math.asin(2*b*E+2*x*P),C=Math.atan2(2*b*P-2*E*x,1-2*b*b-2*x*x),g[0]=S/degToRads,g[1]=_/degToRads,g[2]=C/degToRads}else for(c=0;c<d;c+=1)1!==s.h&&(h=A<=t?1:t<T?0:(s.o.x.constructor===Array?(s.__fnct||(s.__fnct=[]),s.__fnct[c]?m=s.__fnct[c]:(I=void 0===s.o.x[c]?s.o.x[0]:s.o.x[c],V=void 0===s.o.y[c]?s.o.y[0]:s.o.y[c],B=void 0===s.i.x[c]?s.i.x[0]:s.i.x[c],R=void 0===s.i.y[c]?s.i.y[0]:s.i.y[c],m=BezierFactory.getBezierEasing(I,V,B,R).get,s.__fnct[c]=m)):s.__fnct?m=s.__fnct:(I=s.o.x,V=s.o.y,B=s.i.x,R=s.i.y,m=BezierFactory.getBezierEasing(I,V,B,R).get,s.__fnct=m),m((t-T)/(A-T)))),y=a.s||s.e,L=1===s.h?s.s[c]:s.s[c]+(y[c]-s.s[c])*h,"multidimensional"===this.propType?i[c]=L:i=L}return e.lastIndex=f,i}function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=Math.cos(e/2),a=Math.cos(i/2),n=Math.cos(r/2),o=Math.sin(e/2),h=Math.sin(i/2),l=Math.sin(r/2);return[o*h*n+s*a*l,o*a*n+s*h*l,s*h*n-o*a*l,s*a*n-o*h*l]}function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==m&&(this._caching.lastFrame>=i&&i<=t||this._caching.lastFrame<e&&t<e))){this._caching.lastFrame>=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var r=this.interpolateValue(t,this._caching);this.pv=r}return this._caching.lastFrame=t,this.pv}function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e-5<s(this.v-e)&&(this.v=e,this._mdf=!0);else for(var i=0,r=this.v.length;i<r;)e=t[i]*this.mult,1e-5<s(this.v[i]-e)&&(this.v[i]=e,this._mdf=!0),i+=1}function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{this.lock=!0,this._mdf=this._isFirstFrame;var t,e=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(t=0;t<e;t+=1)i=this.effectsSequence[t](i);this.setVValue(i),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function y(t){this.effectsSequence.push(t),this.container.addDynamicProperty(this)}function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.data=e,this.v=i?e.k*i:e.k,this.pv=e.k,this._mdf=!1,this.elem=t,this.container=r,this.comp=t.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=u,this.setVValue=d,this.addEffect=y}function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this.data=e,this._mdf=!1,this.elem=t,this.container=r,this.comp=t.comp,this.k=!1,this.kf=!1,this.frameId=-1;var s,a=e.k.length;this.v=createTypedArray("float32",a),this.pv=createTypedArray("float32",a);createTypedArray("float32",a);for(this.vel=createTypedArray("float32",a),s=0;s<a;s+=1)this.v[s]=e.k[s]*this.mult,this.pv[s]=e.k[s];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=u,this.setVValue=d,this.addEffect=y}function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,this.offsetTime=t.data.st,this.frameId=-1,this._caching={lastFrame:m,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=e,this.mult=i||1,this.elem=t,this.container=r,this.comp=t.comp,this.v=m,this.pv=m,this._isFirstFrame=!0,this.getValue=u,this.setVValue=d,this.interpolateValue=f,this.effectsSequence=[c.bind(this)],this.addEffect=y}function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k.length;for(s=0;s<l-1;s+=1)e.k[s].to&&e.k[s].s&&e.k[s+1]&&e.k[s+1].s&&(a=e.k[s].s,n=e.k[s+1].s,o=e.k[s].to,h=e.k[s].ti,(2===a.length&&(a[0]!==n[0]||a[1]!==n[1])&&bez.pointOnLine2D(a[0],a[1],n[0],n[1],a[0]+o[0],a[1]+o[1])&&bez.pointOnLine2D(a[0],a[1],n[0],n[1],n[0]+h[0],n[1]+h[1])||3===a.length&&(a[0]!==n[0]||a[1]!==n[1]||a[2]!==n[2])&&bez.pointOnLine3D(a[0],a[1],a[2],n[0],n[1],n[2],a[0]+o[0],a[1]+o[1],a[2]+o[2])&&bez.pointOnLine3D(a[0],a[1],a[2],n[0],n[1],n[2],n[0]+h[0],n[1]+h[1],n[2]+h[2]))&&(e.k[s].to=null,e.k[s].ti=null),a[0]===n[0]&&a[1]===n[1]&&0===o[0]&&0===o[1]&&0===h[0]&&0===h[1]&&(2===a.length||a[2]===n[2]&&0===o[2]&&0===h[2])&&(e.k[s].to=null,e.k[s].ti=null));this.effectsSequence=[c.bind(this)],this.data=e,this.keyframes=e.k,this.offsetTime=t.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=i||1,this.elem=t,this.container=r,this.comp=t.comp,this.getValue=u,this.setVValue=d,this.interpolateValue=f,this.frameId=-1;var p=e.k[0].s.length;for(this.v=createTypedArray("float32",p),this.pv=createTypedArray("float32",p),s=0;s<p;s+=1)this.v[s]=m,this.pv[s]=m;this._caching={lastFrame:m,lastIndex:0,value:createTypedArray("float32",p)},this.addEffect=y}return{getProp:function(t,e,i,r,s){var a;if(e.k.length)if("number"==typeof e.k[0])a=new o(t,e,r,s);else switch(i){case 0:a=new h(t,e,r,s);break;case 1:a=new l(t,e,r,s)}else a=new n(t,e,r,s);return a.effectsSequence.length&&s.addDynamicProperty(a),a}}}(),TransformPropertyFactory=function(){var n=[0,0];function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transform",this.data=e,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(i||t),e.p&&e.p.s?(this.px=PropertyFactory.getProp(t,e.p.x,0,0,this),this.py=PropertyFactory.getProp(t,e.p.y,0,0,this),e.p.z&&(this.pz=PropertyFactory.getProp(t,e.p.z,0,0,this))):this.p=PropertyFactory.getProp(t,e.p||{k:[0,0,0]},1,0,this),e.rx){if(this.rx=PropertyFactory.getProp(t,e.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(t,e.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(t,e.rz,0,degToRads,this),e.or.k[0].ti){var r,s=e.or.k.length;for(r=0;r<s;r+=1)e.or.k[r].to=e.or.k[r].ti=null}this.or=PropertyFactory.getProp(t,e.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(t,e.r||{k:0},0,degToRads,this);e.sk&&(this.sk=PropertyFactory.getProp(t,e.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(t,e.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(t,e.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(t,e.s||{k:[100,100,100]},1,.01,this),e.o?this.o=PropertyFactory.getProp(t,e.o,0,.01,t):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}return r.prototype={applyToMatrix:function(t){var e=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||e,this.a&&t.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&t.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&t.skewFromAxis(-this.sk.v,this.sa.v),this.r?t.rotate(-this.r.v):t.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.data.p.s?this.data.p.z?t.translate(this.px.v,this.py.v,-this.pz.v):t.translate(this.px.v,this.py.v,0):t.translate(this.p.v[0],this.p.v[1],-this.p.v[2])},getValue:function(t){if(this.elem.globalData.frameId!==this.frameId){if(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||t){if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.autoOriented){var e,i,r=this.elem.globalData.frameRate;if(this.p&&this.p.keyframes&&this.p.getValueAtTime)i=this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(e=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/r,0),this.p.getValueAtTime(this.p.keyframes[0].t/r,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(e=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/r,0),this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/r,0)):(e=this.p.pv,this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/r,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){e=[],i=[];var s=this.px,a=this.py;s._caching.lastFrame+s.offsetTime<=s.keyframes[0].t?(e[0]=s.getValueAtTime((s.keyframes[0].t+.01)/r,0),e[1]=a.getValueAtTime((a.keyframes[0].t+.01)/r,0),i[0]=s.getValueAtTime(s.keyframes[0].t/r,0),i[1]=a.getValueAtTime(a.keyframes[0].t/r,0)):s._caching.lastFrame+s.offsetTime>=s.keyframes[s.keyframes.length-1].t?(e[0]=s.getValueAtTime(s.keyframes[s.keyframes.length-1].t/r,0),e[1]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/r,0),i[0]=s.getValueAtTime((s.keyframes[s.keyframes.length-1].t-.01)/r,0),i[1]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/r,0)):(e=[s.pv,a.pv],i[0]=s.getValueAtTime((s._caching.lastFrame+s.offsetTime-.01)/r,s.offsetTime),i[1]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/r,a.offsetTime))}else e=i=n;this.v.rotate(-Math.atan2(e[1]-i[1],e[0]-i[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(!this.a.k&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}if(this.r){if(this.r.effectsSequence.length)return;this.pre.rotate(-this.r.v),this.appliedTransformations=4}else this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],r),r.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},r.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,e,i){return new r(t,e,i)}}}();function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(t,e){this.c=t,this.setLength(e);for(var i=0;i<e;)this.v[i]=point_pool.newElement(),this.o[i]=point_pool.newElement(),this.i[i]=point_pool.newElement(),i+=1},ShapePath.prototype.setLength=function(t){for(;this._maxLength<t;)this.doubleArrayLength();this._length=t},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(t,e,i,r,s){var a;switch(this._length=Math.max(this._length,r+1),this._length>=this._maxLength&&this.doubleArrayLength(),i){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o}(!a[r]||a[r]&&!s)&&(a[r]=point_pool.newElement()),a[r][0]=t,a[r][1]=e},ShapePath.prototype.setTripleAt=function(t,e,i,r,s,a,n,o){this.setXYAt(t,e,"v",n,o),this.setXYAt(i,r,"o",n,o),this.setXYAt(s,a,"i",n,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,i=this.o,r=this.i,s=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],r[0][0],r[0][1],i[0][0],i[0][1],0,!1),s=1);var a,n=this._length-1,o=this._length;for(a=s;a<o;a+=1)t.setTripleAt(e[n][0],e[n][1],r[n][0],r[n][1],i[n][0],i[n][1],a,!1),n-=1;return t};var ShapePropertyFactory=function(){var s=-999999;function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;if(t<c[0].t-this.offsetTime)r=c[0].s[0],a=!0,f=0;else if(t>=c[c.length-1].t-this.offsetTime)r=c[c.length-1].s?c[c.length-1].s[0]:c[c.length-2].e[0],a=!0;else{for(var d,u,y=f,g=c.length-1,v=!0;v&&(d=c[y],!((u=c[y+1]).t-this.offsetTime>t));)y<g-1?y+=1:v=!1;if(f=y,!(a=1===d.h)){if(t>=u.t-this.offsetTime)p=1;else if(t<d.t-this.offsetTime)p=0;else{var b;d.__fnct?b=d.__fnct:(b=BezierFactory.getBezierEasing(d.o.x,d.o.y,d.i.x,d.i.y).get,d.__fnct=b),p=b((t-(d.t-this.offsetTime))/(u.t-this.offsetTime-(d.t-this.offsetTime)))}s=u.s?u.s[0]:d.e[0]}r=d.s[0]}for(h=e._length,l=r.i[0].length,i.lastIndex=f,n=0;n<h;n+=1)for(o=0;o<l;o+=1)m=a?r.i[n][o]:r.i[n][o]+(s.i[n][o]-r.i[n][o])*p,e.i[n][o]=m,m=a?r.o[n][o]:r.o[n][o]+(s.o[n][o]-r.o[n][o])*p,e.o[n][o]=m,m=a?r.v[n][o]:r.v[n][o]+(s.v[n][o]-r.v[n][o])*p,e.v[n][o]=m}function a(){this.paths=this.localShapeCollection}function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!1;var i,r=t._length;for(i=0;i<r;i+=1)if(t.v[i][0]!==e.v[i][0]||t.v[i][1]!==e.v[i][1]||t.o[i][0]!==e.o[i][0]||t.o[i][1]!==e.o[i][1]||t.i[i][0]!==e.i[i][0]||t.i[i][1]!==e.i[i][1])return!1;return!0})(this.v,t)||(this.v=shape_pool.clone(t),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{this.lock=!0,this._mdf=!1;var t,e=this.kf?this.pv:this.data.ks?this.data.ks.k:this.data.pt.k,i=this.effectsSequence.length;for(t=0;t<i;t+=1)e=this.effectsSequence[t](e);this.setVValue(e),this.lock=!1,this.frameId=this.elem.globalData.frameId}else this._mdf=!1}function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=t,this.elem=t,this.data=e,this.k=!1,this.kf=!1,this._mdf=!1;var r=3===i?e.pt.k:e.ks.k;this.v=shape_pool.clone(r),this.pv=shape_pool.clone(this.v),this.localShapeCollection=shapeCollection_pool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=a,this.effectsSequence=[]}function r(t){this.effectsSequence.push(t),this.container.addDynamicProperty(this)}function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,this.container=t,this.offsetTime=t.data.st,this.keyframes=3===i?e.pt.k:e.ks.k,this.k=!0,this.kf=!0;var r=this.keyframes[0].s[0].i.length;this.keyframes[0].s[0].i[0].length;this.v=shape_pool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,r),this.pv=shape_pool.clone(this.v),this.localShapeCollection=shapeCollection_pool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=s,this.reset=a,this._caching={lastFrame:s,lastIndex:0},this.effectsSequence=[function(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime,r=this._caching.lastFrame;return r!==s&&(r<e&&t<e||i<r&&i<t)||(this._caching.lastIndex=r<t?this._caching.lastIndex:0,this.interpolateShape(t,this.pv,this._caching)),this._caching.lastFrame=t,this.pv}.bind(this)]}n.prototype.interpolateShape=t,n.prototype.getValue=i,n.prototype.setVValue=e,n.prototype.addEffect=r,o.prototype.getValue=i,o.prototype.interpolateShape=t,o.prototype.setVValue=e,o.prototype.addEffect=r;var h=function(){var n=roundCorner;function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollection_pool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=e.d,this.elem=t,this.comp=t.comp,this.frameId=-1,this.initDynamicPropertyContainer(t),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.s=PropertyFactory.getProp(t,e.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return t.prototype={reset:a,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var t=this.p.v[0],e=this.p.v[1],i=this.s.v[0]/2,r=this.s.v[1]/2,s=3!==this.d,a=this.v;a.v[0][0]=t,a.v[0][1]=e-r,a.v[1][0]=s?t+i:t-i,a.v[1][1]=e,a.v[2][0]=t,a.v[2][1]=e+r,a.v[3][0]=s?t-i:t+i,a.v[3][1]=e,a.i[0][0]=s?t-i*n:t+i*n,a.i[0][1]=e-r,a.i[1][0]=s?t+i:t-i,a.i[1][1]=e-r*n,a.i[2][0]=s?t+i*n:t-i*n,a.i[2][1]=e+r,a.i[3][0]=s?t-i:t+i,a.i[3][1]=e+r*n,a.o[0][0]=s?t+i*n:t-i*n,a.o[0][1]=e-r,a.o[1][0]=s?t+i:t-i,a.o[1][1]=e+r*n,a.o[2][0]=s?t-i*n:t+i*n,a.o[2][1]=e+r,a.o[3][0]=s?t-i:t+i,a.o[3][1]=e-r*n}},extendPrototype([DynamicPropertyContainer],t),t}(),l=function(){function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),this.elem=t,this.comp=t.comp,this.data=e,this.frameId=-1,this.d=e.d,this.initDynamicPropertyContainer(t),1===e.sy?(this.ir=PropertyFactory.getProp(t,e.ir,0,0,this),this.is=PropertyFactory.getProp(t,e.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=PropertyFactory.getProp(t,e.pt,0,0,this),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.r=PropertyFactory.getProp(t,e.r,0,degToRads,this),this.or=PropertyFactory.getProp(t,e.or,0,0,this),this.os=PropertyFactory.getProp(t,e.os,0,.01,this),this.localShapeCollection=shapeCollection_pool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return t.prototype={reset:a,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var t,e,i,r,s=2*Math.floor(this.pt.v),a=2*Math.PI/s,n=!0,o=this.or.v,h=this.ir.v,l=this.os.v,p=this.is.v,m=2*Math.PI*o/(2*s),f=2*Math.PI*h/(2*s),c=-Math.PI/2;c+=this.r.v;var d=3===this.data.d?-1:1;for(t=this.v._length=0;t<s;t+=1){i=n?l:p,r=n?m:f;var u=(e=n?o:h)*Math.cos(c),y=e*Math.sin(c),g=0===u&&0===y?0:y/Math.sqrt(u*u+y*y),v=0===u&&0===y?0:-u/Math.sqrt(u*u+y*y);u+=+this.p.v[0],y+=+this.p.v[1],this.v.setTripleAt(u,y,u-g*r*i*d,y-v*r*i*d,u+g*r*i*d,y+v*r*i*d,t,!0),n=!n,c+=a*d}},convertPolygonToPath:function(){var t,e=Math.floor(this.pt.v),i=2*Math.PI/e,r=this.or.v,s=this.os.v,a=2*Math.PI*r/(4*e),n=-Math.PI/2,o=3===this.data.d?-1:1;for(n+=this.r.v,t=this.v._length=0;t<e;t+=1){var h=r*Math.cos(n),l=r*Math.sin(n),p=0===h&&0===l?0:l/Math.sqrt(h*h+l*l),m=0===h&&0===l?0:-h/Math.sqrt(h*h+l*l);h+=+this.p.v[0],l+=+this.p.v[1],this.v.setTripleAt(h,l,h-p*a*s*o,l-m*a*s*o,h+p*a*s*o,l+m*a*s*o,t,!0),n+=i*o}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],t),t}(),p=function(){function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollection_pool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=t,this.comp=t.comp,this.frameId=-1,this.d=e.d,this.initDynamicPropertyContainer(t),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.s=PropertyFactory.getProp(t,e.s,1,0,this),this.r=PropertyFactory.getProp(t,e.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return t.prototype={convertRectToPath:function(){var t=this.p.v[0],e=this.p.v[1],i=this.s.v[0]/2,r=this.s.v[1]/2,s=bm_min(i,r,this.r.v),a=s*(1-roundCorner);this.v._length=0,2===this.d||1===this.d?(this.v.setTripleAt(t+i,e-r+s,t+i,e-r+s,t+i,e-r+a,0,!0),this.v.setTripleAt(t+i,e+r-s,t+i,e+r-a,t+i,e+r-s,1,!0),0!==s?(this.v.setTripleAt(t+i-s,e+r,t+i-s,e+r,t+i-a,e+r,2,!0),this.v.setTripleAt(t-i+s,e+r,t-i+a,e+r,t-i+s,e+r,3,!0),this.v.setTripleAt(t-i,e+r-s,t-i,e+r-s,t-i,e+r-a,4,!0),this.v.setTripleAt(t-i,e-r+s,t-i,e-r+a,t-i,e-r+s,5,!0),this.v.setTripleAt(t-i+s,e-r,t-i+s,e-r,t-i+a,e-r,6,!0),this.v.setTripleAt(t+i-s,e-r,t+i-a,e-r,t+i-s,e-r,7,!0)):(this.v.setTripleAt(t-i,e+r,t-i+a,e+r,t-i,e+r,2),this.v.setTripleAt(t-i,e-r,t-i,e-r+a,t-i,e-r,3))):(this.v.setTripleAt(t+i,e-r+s,t+i,e-r+a,t+i,e-r+s,0,!0),0!==s?(this.v.setTripleAt(t+i-s,e-r,t+i-s,e-r,t+i-a,e-r,1,!0),this.v.setTripleAt(t-i+s,e-r,t-i+a,e-r,t-i+s,e-r,2,!0),this.v.setTripleAt(t-i,e-r+s,t-i,e-r+s,t-i,e-r+a,3,!0),this.v.setTripleAt(t-i,e+r-s,t-i,e+r-a,t-i,e+r-s,4,!0),this.v.setTripleAt(t-i+s,e+r,t-i+s,e+r,t-i+a,e+r,5,!0),this.v.setTripleAt(t+i-s,e+r,t+i-a,e+r,t+i-s,e+r,6,!0),this.v.setTripleAt(t+i,e+r-s,t+i,e+r-s,t+i,e+r-a,7,!0)):(this.v.setTripleAt(t-i,e-r,t-i+a,e-r,t-i,e-r,1,!0),this.v.setTripleAt(t-i,e+r,t-i,e+r-a,t-i,e+r,2,!0),this.v.setTripleAt(t+i,e+r,t+i-a,e+r,t+i,e+r,3,!0)))},getValue:function(t){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:a},extendPrototype([DynamicPropertyContainer],t),t}();var m={getShapeProp:function(t,e,i){var r;return 3===i||4===i?r=(3===i?e.pt:e.ks).k.length?new o(t,e,i):new n(t,e,i):5===i?r=new p(t,e):6===i?r=new h(t,e):7===i&&(r=new l(t,e)),r.k&&t.addDynamicProperty(r),r},getConstructorFunction:function(){return n},getKeyframedConstructorFunction:function(){return o}};return m}(),ShapeModifiers=(fs={},gs={},fs.registerModifier=function(t,e){gs[t]||(gs[t]=e)},fs.getModifier=function(t,e,i){return new gs[t](e,i)},fs),fs,gs;function ShapeModifier(){}function TrimModifier(){}function RoundCornersModifier(){}function PuckerAndBloatModifier(){}function RepeaterModifier(){}function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProps=createSizedArray(e.length),this.renderer=i,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",e.length?e.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(r);var s,a,n=e.length||0;for(s=0;s<n;s+=1)a=PropertyFactory.getProp(t,e[s].v,0,0,this),this.k=a.k||this.k,this.dataProps[s]={n:e[s].n,p:a};this.k||this.getValue(!0),this._isAnimated=this.k}function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("uint8c",4*e.p);var r=e.k.k[0].s?e.k.k[0].s.length-4*e.p:e.k.k.length-4*e.p;this.o=createTypedArray("float32",r),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=r,this.initDynamicPropertyContainer(i),this.prop=PropertyFactory.getProp(t,e.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(t){if(!this.closed){t.sh.container.addDynamicProperty(t.sh);var e={shape:t.sh,data:t,localShapeCollection:shapeCollection_pool.newShapeCollection()};this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated&&t.setAsAnimated()}},ShapeModifier.prototype.init=function(t,e){this.shapes=[],this.elem=t,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier),extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(t,e){this.s=PropertyFactory.getProp(t,e.s,0,.01,this),this.e=PropertyFactory.getProp(t,e.e,0,.01,this),this.o=PropertyFactory.getProp(t,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(t){t.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(t,e,i,r,s){var a=[];e<=1?a.push({s:t,e:e}):1<=t?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n,o,h=[],l=a.length;for(n=0;n<l;n+=1){var p,m;if((o=a[n]).e*s<r||o.s*s>r+i);else p=o.s*s<=r?0:(o.s*s-r)/i,m=o.e*s>=r+i?1:(o.e*s-r)/i,h.push([p,m])}return h.length||h.push([0,0]),h},TrimModifier.prototype.releasePathsData=function(t){var e,i=t.length;for(e=0;e<i;e+=1)segments_length_pool.release(t[e]);return t.length=0,t},TrimModifier.prototype.processShapes=function(t){var e,i,r;if(this._mdf||t){var s=this.o.v%360/360;if(s<0&&(s+=1),e=(1<this.s.v?1:this.s.v<0?0:this.s.v)+s,(i=(1<this.e.v?1:this.e.v<0?0:this.e.v)+s)<e){var a=e;e=i,i=a}e=1e-4*Math.round(1e4*e),i=1e-4*Math.round(1e4*i),this.sValue=e,this.eValue=i}else e=this.sValue,i=this.eValue;var n,o,h,l,p,m,f=this.shapes.length,c=0;if(i===e)for(n=0;n<f;n+=1)this.shapes[n].localShapeCollection.releaseShapes(),this.shapes[n].shape._mdf=!0,this.shapes[n].shape.paths=this.shapes[n].localShapeCollection,this._mdf&&(this.shapes[n].pathsData.length=0);else if(1===i&&0===e||0===i&&1===e){if(this._mdf)for(n=0;n<f;n+=1)this.shapes[n].pathsData.length=0,this.shapes[n].shape._mdf=!0}else{var d,u,y=[];for(n=0;n<f;n+=1)if((d=this.shapes[n]).shape._mdf||this._mdf||t||2===this.m){if(h=(r=d.shape.paths)._length,m=0,!d.shape._mdf&&d.pathsData.length)m=d.totalShapeLength;else{for(l=this.releasePathsData(d.pathsData),o=0;o<h;o+=1)p=bez.getSegmentsLength(r.shapes[o]),l.push(p),m+=p.totalLength;d.totalShapeLength=m,d.pathsData=l}c+=m,d.shape._mdf=!0}else d.shape.paths=d.localShapeCollection;var g,v=e,b=i,E=0;for(n=f-1;0<=n;n-=1)if((d=this.shapes[n]).shape._mdf){for((u=d.localShapeCollection).releaseShapes(),2===this.m&&1<f?(g=this.calculateShapeEdges(e,i,d.totalShapeLength,E,c),E+=d.totalShapeLength):g=[[v,b]],h=g.length,o=0;o<h;o+=1){v=g[o][0],b=g[o][1],y.length=0,b<=1?y.push({s:d.totalShapeLength*v,e:d.totalShapeLength*b}):1<=v?y.push({s:d.totalShapeLength*(v-1),e:d.totalShapeLength*(b-1)}):(y.push({s:d.totalShapeLength*v,e:d.totalShapeLength}),y.push({s:0,e:d.totalShapeLength*(b-1)}));var x=this.addShapes(d,y[0]);if(y[0].s!==y[0].e){if(1<y.length)if(d.shape.paths.shapes[d.shape.paths._length-1].c){var P=x.pop();this.addPaths(x,u),x=this.addShapes(d,y[1],P)}else this.addPaths(x,u),x=this.addShapes(d,y[1]);this.addPaths(x,u)}}d.shape.paths=u}}},TrimModifier.prototype.addPaths=function(t,e){var i,r=t.length;for(i=0;i<r;i+=1)e.addShape(t[i])},TrimModifier.prototype.addSegment=function(t,e,i,r,s,a,n){s.setXYAt(e[0],e[1],"o",a),s.setXYAt(i[0],i[1],"i",a+1),n&&s.setXYAt(t[0],t[1],"v",a),s.setXYAt(r[0],r[1],"v",a+1)},TrimModifier.prototype.addSegmentFromArray=function(t,e,i,r){e.setXYAt(t[1],t[5],"o",i),e.setXYAt(t[2],t[6],"i",i+1),r&&e.setXYAt(t[0],t[4],"v",i),e.setXYAt(t[3],t[7],"v",i+1)},TrimModifier.prototype.addShapes=function(t,e,i){var r,s,a,n,o,h,l,p,m=t.pathsData,f=t.shape.paths.shapes,c=t.shape.paths._length,d=0,u=[],y=!0;for(p=i?(o=i._length,i._length):(i=shape_pool.newElement(),o=0),u.push(i),r=0;r<c;r+=1){for(h=m[r].lengths,i.c=f[r].c,a=f[r].c?h.length:h.length+1,s=1;s<a;s+=1)if(d+(n=h[s-1]).addedLength<e.s)d+=n.addedLength,i.c=!1;else{if(d>e.e){i.c=!1;break}e.s<=d&&e.e>=d+n.addedLength?(this.addSegment(f[r].v[s-1],f[r].o[s-1],f[r].i[s],f[r].v[s],i,o,y),y=!1):(l=bez.getNewSegment(f[r].v[s-1],f[r].v[s],f[r].o[s-1],f[r].i[s],(e.s-d)/n.addedLength,(e.e-d)/n.addedLength,h[s-1]),this.addSegmentFromArray(l,i,o,y),y=!1,i.c=!1),d+=n.addedLength,o+=1}if(f[r].c&&h.length){if(n=h[s-1],d<=e.e){var g=h[s-1].addedLength;e.s<=d&&e.e>=d+g?(this.addSegment(f[r].v[s-1],f[r].o[s-1],f[r].i[0],f[r].v[0],i,o,y),y=!1):(l=bez.getNewSegment(f[r].v[s-1],f[r].v[0],f[r].o[s-1],f[r].i[0],(e.s-d)/g,(e.e-d)/g,h[s-1]),this.addSegmentFromArray(l,i,o,y),y=!1,i.c=!1)}else i.c=!1;d+=n.addedLength,o+=1}if(i._length&&(i.setXYAt(i.v[p][0],i.v[p][1],"i",p),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),d>e.e)break;r<c-1&&(i=shape_pool.newElement(),y=!0,u.push(i),o=0)}return u},ShapeModifiers.registerModifier("tm",TrimModifier),extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(t,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(t,e){var i=shape_pool.newElement();i.c=t.c;var r,s,a,n,o,h,l,p,m,f,c,d,u,y=t._length,g=0;for(r=0;r<y;r+=1)s=t.v[r],n=t.o[r],a=t.i[r],s[0]===n[0]&&s[1]===n[1]&&s[0]===a[0]&&s[1]===a[1]?0!==r&&r!==y-1||t.c?(o=0===r?t.v[y-1]:t.v[r-1],l=(h=Math.sqrt(Math.pow(s[0]-o[0],2)+Math.pow(s[1]-o[1],2)))?Math.min(h/2,e)/h:0,p=d=s[0]+(o[0]-s[0])*l,m=u=s[1]-(s[1]-o[1])*l,f=p-(p-s[0])*roundCorner,c=m-(m-s[1])*roundCorner,i.setTripleAt(p,m,f,c,d,u,g),g+=1,o=r===y-1?t.v[0]:t.v[r+1],l=(h=Math.sqrt(Math.pow(s[0]-o[0],2)+Math.pow(s[1]-o[1],2)))?Math.min(h/2,e)/h:0,p=f=s[0]+(o[0]-s[0])*l,m=c=s[1]+(o[1]-s[1])*l,d=p-(p-s[0])*roundCorner,u=m-(m-s[1])*roundCorner,i.setTripleAt(p,m,f,c,d,u,g)):i.setTripleAt(s[0],s[1],n[0],n[1],a[0],a[1],g):i.setTripleAt(t.v[r][0],t.v[r][1],t.o[r][0],t.o[r][1],t.i[r][0],t.i[r][1],g),g+=1;return i},RoundCornersModifier.prototype.processShapes=function(t){var e,i,r,s,a,n,o=this.shapes.length,h=this.rd.v;if(0!==h)for(i=0;i<o;i+=1){if((a=this.shapes[i]).shape.paths,n=a.localShapeCollection,a.shape._mdf||this._mdf||t)for(n.releaseShapes(),a.shape._mdf=!0,e=a.shape.paths.shapes,s=a.shape.paths._length,r=0;r<s;r+=1)n.addShape(this.processPath(e[r],h));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},ShapeModifiers.registerModifier("rd",RoundCornersModifier),extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(t,e){var i=e/100,r=[0,0],s=t._length,a=0;for(a=0;a<s;a+=1)r[0]+=t.v[a][0],r[1]+=t.v[a][1];r[0]/=s,r[1]/=s;var n,o,h,l,p,m,f=shape_pool.newElement();for(f.c=t.c,a=0;a<s;a+=1)n=t.v[a][0]+(r[0]-t.v[a][0])*i,o=t.v[a][1]+(r[1]-t.v[a][1])*i,h=t.o[a][0]+(r[0]-t.o[a][0])*-i,l=t.o[a][1]+(r[1]-t.o[a][1])*-i,p=t.i[a][0]+(r[0]-t.i[a][0])*-i,m=t.i[a][1]+(r[1]-t.i[a][1])*-i,f.setTripleAt(n,o,h,l,p,m,a);return f},PuckerAndBloatModifier.prototype.processShapes=function(t){var e,i,r,s,a,n,o=this.shapes.length,h=this.amount.v;if(0!==h)for(i=0;i<o;i+=1){if((a=this.shapes[i]).shape.paths,n=a.localShapeCollection,a.shape._mdf||this._mdf||t)for(n.releaseShapes(),a.shape._mdf=!0,e=a.shape.paths.shapes,s=a.shape.paths._length,r=0;r<s;r+=1)n.addShape(this.processPath(e[r],h));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(t,e.c,0,null,this),this.o=PropertyFactory.getProp(t,e.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(t,e.tr,this),this.so=PropertyFactory.getProp(t,e.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(t,e.tr.eo,0,.01,this),this.data=e,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(t,e,i,r,s,a){var n=a?-1:1,o=r.s.v[0]+(1-r.s.v[0])*(1-s),h=r.s.v[1]+(1-r.s.v[1])*(1-s);t.translate(r.p.v[0]*n*s,r.p.v[1]*n*s,r.p.v[2]),e.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),e.rotate(-r.r.v*n*s),e.translate(r.a.v[0],r.a.v[1],r.a.v[2]),i.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),i.scale(a?1/o:o,a?1/h:h),i.translate(r.a.v[0],r.a.v[1],r.a.v[2])},RepeaterModifier.prototype.init=function(t,e,i,r){this.elem=t,this.arr=e,this.pos=i,this.elemsData=r,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e[i]);for(;0<i;)i-=1,this._elements.unshift(e[i]),1;this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(t){var e,i=t.length;for(e=0;e<i;e+=1)t[e]._processed=!1,"gr"===t[e].ty&&this.resetElements(t[e].it)},RepeaterModifier.prototype.cloneElements=function(t){t.length;var e=JSON.parse(JSON.stringify(t));return this.resetElements(e),e},RepeaterModifier.prototype.changeGroupRender=function(t,e){var i,r=t.length;for(i=0;i<r;i+=1)t[i]._render=e,"gr"===t[i].ty&&this.changeGroupRender(t[i].it,e)},RepeaterModifier.prototype.processShapes=function(t){var e,i,r,s,a;if(this._mdf||t){var n,o=Math.ceil(this.c.v);if(this._groups.length<o){for(;this._groups.length<o;){var h={it:this.cloneElements(this._elements),ty:"gr"};h.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,h),this._groups.splice(0,0,h),this._currentCopies+=1}this.elem.reloadShapes()}for(r=a=0;r<=this._groups.length-1;r+=1)n=a<o,this._groups[r]._render=n,this.changeGroupRender(this._groups[r].it,n),a+=1;this._currentCopies=o;var l=this.o.v,p=l%1,m=0<l?Math.floor(l):Math.ceil(l),f=(this.tr.v.props,this.pMatrix.props),c=this.rMatrix.props,d=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var u,y,g=0;if(0<l){for(;g<m;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),g+=1;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,p,!1),g+=p)}else if(l<0){for(;m<g;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),g-=1;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-p,!0),g-=p)}for(r=1===this.data.m?0:this._currentCopies-1,s=1===this.data.m?1:-1,a=this._currentCopies;a;){if(y=(i=(e=this.elemsData[r].it)[e.length-1].transform.mProps.v.props).length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this.so.v+(this.eo.v-this.so.v)*(r/(this._currentCopies-1)),0!==g){for((0!==r&&1===s||r!==this._currentCopies-1&&-1===s)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13],c[14],c[15]),this.matrix.transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9],d[10],d[11],d[12],d[13],d[14],d[15]),this.matrix.transform(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9],f[10],f[11],f[12],f[13],f[14],f[15]),u=0;u<y;u+=1)i[u]=this.matrix.props[u];this.matrix.reset()}else for(this.matrix.reset(),u=0;u<y;u+=1)i[u]=this.matrix.props[u];g+=1,a-=1,r+=s}}else for(a=this._currentCopies,r=0,s=1;a;)i=(e=this.elemsData[r].it)[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,a-=1,r+=s},RepeaterModifier.prototype.addShape=function(){},ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeCollection.prototype.addShape=function(t){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=t,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var t;for(t=0;t<this._length;t+=1)shape_pool.release(this.shapes[t]);this._length=0},DashProperty.prototype.getValue=function(t){if((this.elem.globalData.frameId!==this.frameId||t)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||t,this._mdf)){var e=0,i=this.dataProps.length;for("svg"===this.renderer&&(this.dashStr=""),e=0;e<i;e+=1)"o"!=this.dataProps[e].n?"svg"===this.renderer?this.dashStr+=" "+this.dataProps[e].p.v:this.dashArray[e]=this.dataProps[e].p.v:this.dashoffset[0]=this.dataProps[e].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty),GradientProperty.prototype.comparePoints=function(t,e){for(var i=0,r=this.o.length/2;i<r;){if(.01<Math.abs(t[4*i]-t[4*e+2*i]))return!1;i+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t<e;){if(!this.comparePoints(this.data.k.k[t].s,this.data.p))return!1;t+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(t){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||t){var e,i,r,s=4*this.data.p;for(e=0;e<s;e+=1)i=e%4==0?100:255,r=Math.round(this.prop.v[e]*i),this.c[e]!==r&&(this.c[e]=r,this._cmdf=!t);if(this.o.length)for(s=this.prop.v.length,e=4*this.data.p;e<s;e+=1)i=e%2==0?100:1,r=e%2==0?Math.round(100*this.prop.v[e]):this.prop.v[e],this.o[e-4*this.data.p]!==r&&(this.o[e-4*this.data.p]=r,this._omdf=!t);this._mdf=!t}},extendPrototype([DynamicPropertyContainer],GradientProperty);var buildShapeString=function(t,e,i,r){if(0===e)return"";var s,a=t.o,n=t.i,o=t.v,h=" M"+r.applyToPointStringified(o[0][0],o[0][1]);for(s=1;s<e;s+=1)h+=" C"+r.applyToPointStringified(a[s-1][0],a[s-1][1])+" "+r.applyToPointStringified(n[s][0],n[s][1])+" "+r.applyToPointStringified(o[s][0],o[s][1]);return i&&e&&(h+=" C"+r.applyToPointStringified(a[s-1][0],a[s-1][1])+" "+r.applyToPointStringified(n[0][0],n[0][1])+" "+r.applyToPointStringified(o[0][0],o[0][1]),h+="z"),h},audioControllerFactory=function(){function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._isMuted=!1}return t.prototype={addAudio:function(t){this.audios.push(t)},pause:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].pause()},resume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].resume()},setRate:function(t){var e,i=this.audios.length;for(e=0;e<i;e+=1)this.audios[e].setRate(t)},createAudio:function(t){return this.audioFactory?this.audioFactory(t):Howl?new Howl({src:[t]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(t){this.audioFactory=t},setVolume:function(t){this._volume=t,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(t){return this._volume},_updateVolume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].volume(this._volume*(this._isMuted?0:1))}},function(){return new t}}(),ImagePreloader=function(){var s=function(){var t=createTag("canvas");t.width=1,t.height=1;var e=t.getContext("2d");return e.fillStyle="rgba(0,0,0,0)",e.fillRect(0,0,1,1),t}();function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.indexOf("images/")&&(s=s.split("/")[1]),r=e+s}else r=i,r+=t.u?t.u:"",r+=t.p;return r}function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=function(t){var e=0,i=setInterval(function(){(t.getBBox().width||500<e)&&(this._imageLoaded(),clearInterval(i)),e+=1}.bind(this),50)}.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.loadedAssets=0,this.imagesLoadedCb=null,this.images=[]}return t.prototype={loadAssets:function(t,e){this.imagesLoadedCb=e;var i,r=t.length;for(i=0;i<r;i+=1)t[i].layers||(this.totalImages+=1,this.images.push(this._createImageData(t[i])))},setAssetsPath:function(t){this.assetsPath=t||""},setPath:function(t){this.path=t||""},loaded:function(){return this.totalImages===this.loadedAssets},destroy:function(){this.imagesLoadedCb=null,this.images.length=0},getImage:function(t){for(var e=0,i=this.images.length;e<i;){if(this.images[e].assetData===t)return this.images[e].img;e+=1}},createImgData:function(t){var e=a(t,this.assetsPath,this.path),i=createTag("img");i.crossOrigin="anonymous",i.addEventListener("load",this._imageLoaded,!1),i.addEventListener("error",function(){r.img=s,this._imageLoaded()}.bind(this),!1),i.src=e;var r={img:i,assetData:t};return r},createImageData:function(t){var e=a(t,this.assetsPath,this.path),i=createNS("image");isSafari?this.testImageLoaded(i):i.addEventListener("load",this._imageLoaded,!1),i.addEventListener("error",function(){r.img=s,this._imageLoaded()}.bind(this),!1),i.setAttributeNS("http://www.w3.org/1999/xlink","href",e),this._elementHelper.append(i);var r={img:i,assetData:t};return r},imageLoaded:e,setCacheType:function(t,e){this._createImageData="svg"===t?(this._elementHelper=e,this.createImageData.bind(this)):this.createImgData.bind(this)}},t}(),featureSupport=(Ax={maskType:!0},(/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))&&(Ax.maskType=!1),Ax),Ax,filtersFactory=(Bx={},Bx.createFilter=function(t){var e=createNS("filter");return e.setAttribute("id",t),e.setAttribute("filterUnits","objectBoundingBox"),e.setAttribute("x","0%"),e.setAttribute("y","0%"),e.setAttribute("width","100%"),e.setAttribute("height","100%"),e},Bx.createAlphaToLuminanceFilter=function(){var t=createNS("feColorMatrix");return t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),t},Bx),Bx,assetLoader=function(){function a(t){return t.response&&"object"==typeof t.response?t.response:t.response&&"string"==typeof t.response?JSON.parse(t.response):t.responseText?JSON.parse(t.responseText):void 0}return{load:function(t,e,i){var r,s=new XMLHttpRequest;s.open("GET",t,!0);try{s.responseType="json"}catch(t){}s.send(),s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status)r=a(s),e(r);else try{r=a(s),e(r)}catch(t){i&&i(t)}}}}}();function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i)}function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyFactory.getProp,a=e.a;this.a={r:a.r?s(t,a.r,0,degToRads,i):r,rx:a.rx?s(t,a.rx,0,degToRads,i):r,ry:a.ry?s(t,a.ry,0,degToRads,i):r,sk:a.sk?s(t,a.sk,0,degToRads,i):r,sa:a.sa?s(t,a.sa,0,degToRads,i):r,s:a.s?s(t,a.s,1,.01,i):r,a:a.a?s(t,a.a,1,0,i):r,o:a.o?s(t,a.o,0,.01,i):r,p:a.p?s(t,a.p,1,0,i):r,sw:a.sw?s(t,a.sw,0,0,i):r,sc:a.sc?s(t,a.sc,1,0,i):r,fc:a.fc?s(t,a.fc,1,0,i):r,fh:a.fh?s(t,a.fh,0,0,i):r,fs:a.fs?s(t,a.fs,0,.01,i):r,fb:a.fb?s(t,a.fb,0,.01,i):r,t:a.t?s(t,a.t,0,0,i):r},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,i),this.s.t=e.s.t}function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r,this.m=s,this.p=a,this._mdf={o:!0,sw:!!e,sc:!!i,fc:!!r,m:!0,p:!0}}function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,this.data=e,this.elem=t,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}TextAnimatorProperty.prototype.searchProperties=function(){var t,e,i=this._textData.a.length,r=PropertyFactory.getProp;for(t=0;t<i;t+=1)e=this._textData.a[t],this._animatorsData[t]=new TextAnimatorDataProperty(this._elem,e,this);this._textData.p&&"m"in this._textData.p?(this._pathData={f:r(this._elem,this._textData.p.f,0,0,this),l:r(this._elem,this._textData.p.l,0,0,this),r:this._textData.p.r,m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=r(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(t,e){if(this.lettersChangedFlag=e,this._mdf||this._isFirstFrame||e||this._hasMaskedPath&&this._pathData.m._mdf){this._isFirstFrame=!1;var i,r,s,a,n,o,h,l,p,m,f,c,d,u,y,g,v,b,E,x=this._moreOptions.alignment.v,P=this._animatorsData,S=this._textData,_=this.mHelper,C=this._renderType,A=this.renderedLetters.length,T=(this.data,t.l);if(this._hasMaskedPath){if(E=this._pathData.m,!this._pathData.n||this._pathData._mdf){var k,M=E.v;for(this._pathData.r&&(M=M.reverse()),n={tLength:0,segments:[]},a=M._length-1,s=g=0;s<a;s+=1)k=bez.buildBezierData(M.v[s],M.v[s+1],[M.o[s][0]-M.v[s][0],M.o[s][1]-M.v[s][1]],[M.i[s+1][0]-M.v[s+1][0],M.i[s+1][1]-M.v[s+1][1]]),n.tLength+=k.segmentLength,n.segments.push(k),g+=k.segmentLength;s=a,E.v.c&&(k=bez.buildBezierData(M.v[s],M.v[0],[M.o[s][0]-M.v[s][0],M.o[s][1]-M.v[s][1]],[M.i[0][0]-M.v[0][0],M.i[0][1]-M.v[0][1]]),n.tLength+=k.segmentLength,n.segments.push(k),g+=k.segmentLength),this._pathData.pi=n}if(n=this._pathData.pi,o=this._pathData.f.v,m=1,p=!(l=f=0),u=n.segments,o<0&&E.v.c)for(n.tLength<Math.abs(o)&&(o=-Math.abs(o)%n.tLength),m=(d=u[f=u.length-1].points).length-1;o<0;)o+=d[m].partialLength,(m-=1)<0&&(m=(d=u[f-=1].points).length-1);c=(d=u[f].points)[m-1],y=(h=d[m]).partialLength}a=T.length,r=i=0;var D,w,F,I,V=1.2*t.finalSize*.714,B=!0;F=P.length;var R,L,G,z,N,O,H,j,q,W,Y,X,K,$=-1,Z=o,J=f,U=m,Q=-1,tt="",et=this.defaultPropsArray;if(2===t.j||1===t.j){var it=0,rt=0,st=2===t.j?-.5:-1,at=0,nt=!0;for(s=0;s<a;s+=1)if(T[s].n){for(it&&(it+=rt);at<s;)T[at].animatorJustifyOffset=it,at+=1;nt=!(it=0)}else{for(w=0;w<F;w+=1)(D=P[w].a).t.propType&&(nt&&2===t.j&&(rt+=D.t.v*st),(R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars)).length?it+=D.t.v*R[0]*st:it+=D.t.v*R*st);nt=!1}for(it&&(it+=rt);at<s;)T[at].animatorJustifyOffset=it,at+=1}for(s=0;s<a;s+=1){if(_.reset(),N=1,T[s].n)i=0,r+=t.yOffset,r+=B?1:0,o=Z,B=!1,0,this._hasMaskedPath&&(m=U,c=(d=u[f=J].points)[m-1],y=(h=d[m]).partialLength,l=0),K=W=X=tt="",et=this.defaultPropsArray;else{if(this._hasMaskedPath){if(Q!==T[s].line){switch(t.j){case 1:o+=g-t.lineWidths[T[s].line];break;case 2:o+=(g-t.lineWidths[T[s].line])/2}Q=T[s].line}$!==T[s].ind&&(T[$]&&(o+=T[$].extra),o+=T[s].an/2,$=T[s].ind),o+=x[0]*T[s].an/200;var ot=0;for(w=0;w<F;w+=1)(D=P[w].a).p.propType&&((R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars)).length?ot+=D.p.v[0]*R[0]:ot+=D.p.v[0]*R),D.a.propType&&((R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars)).length?ot+=D.a.v[0]*R[0]:ot+=D.a.v[0]*R);for(p=!0;p;)o+ot<=l+y||!d?(v=(o+ot-l)/h.partialLength,G=c.point[0]+(h.point[0]-c.point[0])*v,z=c.point[1]+(h.point[1]-c.point[1])*v,_.translate(-x[0]*T[s].an/200,-x[1]*V/100),p=!1):d&&(l+=h.partialLength,(m+=1)>=d.length&&(m=0,d=u[f+=1]?u[f].points:E.v.c?u[f=m=0].points:(l-=h.partialLength,null)),d&&(c=h,y=(h=d[m]).partialLength));L=T[s].an/2-T[s].add,_.translate(-L,0,0)}else L=T[s].an/2-T[s].add,_.translate(-L,0,0),_.translate(-x[0]*T[s].an/200,-x[1]*V/100,0);for(T[s].l/2,w=0;w<F;w+=1)(D=P[w].a).t.propType&&(R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars),0===i&&0===t.j||(this._hasMaskedPath?R.length?o+=D.t.v*R[0]:o+=D.t.v*R:R.length?i+=D.t.v*R[0]:i+=D.t.v*R));for(T[s].l/2,t.strokeWidthAnim&&(H=t.sw||0),t.strokeColorAnim&&(O=t.sc?[t.sc[0],t.sc[1],t.sc[2]]:[0,0,0]),t.fillColorAnim&&t.fc&&(j=[t.fc[0],t.fc[1],t.fc[2]]),w=0;w<F;w+=1)(D=P[w].a).a.propType&&((R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars)).length?_.translate(-D.a.v[0]*R[0],-D.a.v[1]*R[1],D.a.v[2]*R[2]):_.translate(-D.a.v[0]*R,-D.a.v[1]*R,D.a.v[2]*R));for(w=0;w<F;w+=1)(D=P[w].a).s.propType&&((R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars)).length?_.scale(1+(D.s.v[0]-1)*R[0],1+(D.s.v[1]-1)*R[1],1):_.scale(1+(D.s.v[0]-1)*R,1+(D.s.v[1]-1)*R,1));for(w=0;w<F;w+=1){if(D=P[w].a,R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars),D.sk.propType&&(R.length?_.skewFromAxis(-D.sk.v*R[0],D.sa.v*R[1]):_.skewFromAxis(-D.sk.v*R,D.sa.v*R)),D.r.propType&&(R.length?_.rotateZ(-D.r.v*R[2]):_.rotateZ(-D.r.v*R)),D.ry.propType&&(R.length?_.rotateY(D.ry.v*R[1]):_.rotateY(D.ry.v*R)),D.rx.propType&&(R.length?_.rotateX(D.rx.v*R[0]):_.rotateX(D.rx.v*R)),D.o.propType&&(R.length?N+=(D.o.v*R[0]-N)*R[0]:N+=(D.o.v*R-N)*R),t.strokeWidthAnim&&D.sw.propType&&(R.length?H+=D.sw.v*R[0]:H+=D.sw.v*R),t.strokeColorAnim&&D.sc.propType)for(q=0;q<3;q+=1)R.length?O[q]=O[q]+(D.sc.v[q]-O[q])*R[0]:O[q]=O[q]+(D.sc.v[q]-O[q])*R;if(t.fillColorAnim&&t.fc){if(D.fc.propType)for(q=0;q<3;q+=1)R.length?j[q]=j[q]+(D.fc.v[q]-j[q])*R[0]:j[q]=j[q]+(D.fc.v[q]-j[q])*R;D.fh.propType&&(j=R.length?addHueToRGB(j,D.fh.v*R[0]):addHueToRGB(j,D.fh.v*R)),D.fs.propType&&(j=R.length?addSaturationToRGB(j,D.fs.v*R[0]):addSaturationToRGB(j,D.fs.v*R)),D.fb.propType&&(j=R.length?addBrightnessToRGB(j,D.fb.v*R[0]):addBrightnessToRGB(j,D.fb.v*R))}}for(w=0;w<F;w+=1)(D=P[w].a).p.propType&&(R=P[w].s.getMult(T[s].anIndexes[w],S.a[w].s.totalChars),this._hasMaskedPath?R.length?_.translate(0,D.p.v[1]*R[0],-D.p.v[2]*R[1]):_.translate(0,D.p.v[1]*R,-D.p.v[2]*R):R.length?_.translate(D.p.v[0]*R[0],D.p.v[1]*R[1],-D.p.v[2]*R[2]):_.translate(D.p.v[0]*R,D.p.v[1]*R,-D.p.v[2]*R));if(t.strokeWidthAnim&&(W=H<0?0:H),t.strokeColorAnim&&(Y="rgb("+Math.round(255*O[0])+","+Math.round(255*O[1])+","+Math.round(255*O[2])+")"),t.fillColorAnim&&t.fc&&(X="rgb("+Math.round(255*j[0])+","+Math.round(255*j[1])+","+Math.round(255*j[2])+")"),this._hasMaskedPath){if(_.translate(0,-t.ls),_.translate(0,x[1]*V/100+r,0),S.p.p){b=(h.point[1]-c.point[1])/(h.point[0]-c.point[0]);var ht=180*Math.atan(b)/Math.PI;h.point[0]<c.point[0]&&(ht+=180),_.rotate(-ht*Math.PI/180)}_.translate(G,z,0),o-=x[0]*T[s].an/200,T[s+1]&&$!==T[s+1].ind&&(o+=T[s].an/2,o+=t.tr/1e3*t.finalSize)}else{switch(_.translate(i,r,0),t.ps&&_.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:_.translate(T[s].animatorJustifyOffset+t.justifyOffset+(t.boxWidth-t.lineWidths[T[s].line]),0,0);break;case 2:_.translate(T[s].animatorJustifyOffset+t.justifyOffset+(t.boxWidth-t.lineWidths[T[s].line])/2,0,0)}_.translate(0,-t.ls),_.translate(L,0,0),_.translate(x[0]*T[s].an/200,x[1]*V/100,0),i+=T[s].l+t.tr/1e3*t.finalSize}"html"===C?tt=_.toCSS():"svg"===C?tt=_.to2dCSS():et=[_.props[0],_.props[1],_.props[2],_.props[3],_.props[4],_.props[5],_.props[6],_.props[7],_.props[8],_.props[9],_.props[10],_.props[11],_.props[12],_.props[13],_.props[14],_.props[15]],K=N}this.lettersChangedFlag=A<=s?(I=new LetterProps(K,W,Y,X,tt,et),this.renderedLetters.push(I),A+=1,!0):(I=this.renderedLetters[s]).update(K,W,Y,X,tt,et)||this.lettersChangedFlag}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty),LetterProps.prototype.update=function(t,e,i,r,s,a){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1;var n=this._mdf.p=!1;return this.o!==t&&(this.o=t,n=this._mdf.o=!0),this.sw!==e&&(this.sw=e,n=this._mdf.sw=!0),this.sc!==i&&(this.sc=i,n=this._mdf.sc=!0),this.fc!==r&&(this.fc=r,n=this._mdf.fc=!0),this.m!==s&&(this.m=s,n=this._mdf.m=!0),!a.length||this.p[0]===a[0]&&this.p[1]===a[1]&&this.p[4]===a[4]&&this.p[5]===a[5]&&this.p[12]===a[12]&&this.p[13]===a[13]||(this.p=a,n=this._mdf.p=!0),n},TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t},TextProperty.prototype.setCurrentData=function(t){t.__complete||this.completeTextData(t),this.currentData=t,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=1<this.data.d.k.length,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(t){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||t){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{this.lock=!0,this._mdf=!1;var r,s=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(r=0;r<s;r+=1)a=i!==this.keysIndex?this.effectsSequence[r](a,a.t):this.effectsSequence[r](this.currentData,a.t);e!==a&&this.setCurrentData(a),this.pv=this.v=this.currentData,this.lock=!1,this.frameId=this.elem.globalData.frameId}}},TextProperty.prototype.getKeyframeValue=function(){for(var t=this.data.d.k,e=this.elem.comp.renderedFrame,i=0,r=t.length;i<=r-1&&(t[i].s,!(i===r-1||t[i+1].t>e));)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,i=FontManager.getCombinedCharacterCodes(),r=[],s=0,a=t.length;s<a;)e=t.charCodeAt(s),-1!==i.indexOf(e)?r[r.length-1]+=t.charAt(s):55296<=e&&e<=56319&&56320<=(e=t.charCodeAt(s+1))&&e<=57343?(r.push(t.substr(s,2)),++s):r.push(t.charAt(s)),s+=1;return r},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e,i,r,s,a,n,o,h=this.elem.globalData.fontManager,l=this.data,p=[],m=0,f=l.m.g,c=0,d=0,u=0,y=[],g=0,v=0,b=h.getFontByName(t.f),E=0,x=b.fStyle?b.fStyle.split(" "):[],P="normal",S="normal";for(i=x.length,e=0;e<i;e+=1)switch(x[e].toLowerCase()){case"italic":S="italic";break;case"bold":P="700";break;case"black":P="900";break;case"medium":P="500";break;case"regular":case"normal":P="400";break;case"light":case"thin":P="200"}t.fWeight=b.fWeight||P,t.fStyle=S,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),i=t.finalText.length,t.finalLineHeight=t.lh;var _,C=t.tr/1e3*t.finalSize;if(t.sz)for(var A,T,k=!0,M=t.sz[0],D=t.sz[1];k;){g=A=0,i=(T=this.buildFinalText(t.t)).length,C=t.tr/1e3*t.finalSize;var w=-1;for(e=0;e<i;e+=1)_=T[e].charCodeAt(0),r=!1," "===T[e]?w=e:13!==_&&3!==_||(r=!(g=0),A+=t.finalLineHeight||1.2*t.finalSize),M<g+(E=h.chars?(o=h.getCharData(T[e],b.fStyle,b.fFamily),r?0:o.w*t.finalSize/100):h.measureText(T[e],t.f,t.finalSize))&&" "!==T[e]?(-1===w?i+=1:e=w,A+=t.finalLineHeight||1.2*t.finalSize,T.splice(e,w===e?1:0,"\r"),w=-1,g=0):(g+=E,g+=C);A+=b.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&D<A?(t.finalSize-=1,t.finalLineHeight=t.finalSize*t.lh/t.s):(t.finalText=T,i=t.finalText.length,k=!1)}g=-C;var F,I=E=0;for(e=0;e<i;e+=1)if(r=!1,13===(_=(F=t.finalText[e]).charCodeAt(0))||3===_?(I=0,y.push(g),v=v<g?g:v,g=-2*C,r=!(s=""),u+=1):s=F,E=h.chars?(o=h.getCharData(F,b.fStyle,h.getFontByName(t.f).fFamily),r?0:o.w*t.finalSize/100):h.measureText(s,t.f,t.finalSize)," "===F?I+=E+C:(g+=E+C+I,I=0),p.push({l:E,an:E,add:c,n:r,anIndexes:[],val:s,line:u,animatorJustifyOffset:0}),2==f){if(c+=E,""===s||" "===s||e===i-1){for(""!==s&&" "!==s||(c-=E);d<=e;)p[d].an=c,p[d].ind=m,p[d].extra=E,d+=1;m+=1,c=0}}else if(3==f){if(c+=E,""===s||e===i-1){for(""===s&&(c-=E);d<=e;)p[d].an=c,p[d].ind=m,p[d].extra=E,d+=1;c=0,m+=1}}else p[m].ind=m,p[m].extra=0,m+=1;if(t.l=p,v=v<g?g:v,y.push(g),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=y;var V,B,R=l.a;n=R.length;var L,G,z=[];for(a=0;a<n;a+=1){for((V=R[a]).a.sc&&(t.strokeColorAnim=!0),V.a.sw&&(t.strokeWidthAnim=!0),(V.a.fc||V.a.fh||V.a.fs||V.a.fb)&&(t.fillColorAnim=!0),G=0,L=V.s.b,e=0;e<i;e+=1)(B=p[e]).anIndexes[a]=G,(1==L&&""!==B.val||2==L&&""!==B.val&&" "!==B.val||3==L&&(B.n||" "==B.val||e==i-1)||4==L&&(B.n||e==i-1))&&(1===V.s.rn&&z.push(G),G+=1);l.a[a].s.totalChars=G;var N,O=-1;if(1===V.s.rn)for(e=0;e<i;e+=1)O!=(B=p[e]).anIndexes[a]&&(O=B.anIndexes[a],N=z.splice(Math.floor(Math.random()*z.length),1)[0]),B.anIndexes[a]=N}t.yOffset=t.finalLineHeight||1.2*t.finalSize,t.ls=t.ls||0,t.ascent=b.ascent*t.finalSize/100},TextProperty.prototype.updateDocumentData=function(t,e){e=void 0===e?this.keysIndex:e;var i=this.copyData({},this.data.d.k[e].s);i=this.copyData(i,t),this.data.d.k[e].s=i,this.recalculate(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(t){var e=this.data.d.k[t].s;e.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(e)},TextProperty.prototype.canResizeFont=function(t){this.canResize=t,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(t){this.minimumFontSize=Math.floor(t)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var c=Math.max,d=Math.min,u=Math.floor;function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.elem=t,this.comp=t.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(t),this.s=PropertyFactory.getProp(t,e.s||{k:0},0,0,this),this.e="e"in e?PropertyFactory.getProp(t,e.e,0,0,this):{v:100},this.o=PropertyFactory.getProp(t,e.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(t,e.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(t,e.ne||{k:0},0,0,this),this.a=PropertyFactory.getProp(t,e.a,0,.01,this),this.dynamicProperties.length||this.getValue()}return r.prototype={getMult:function(t){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var e=0,i=0,r=1,s=1;0<this.ne.v?e=this.ne.v/100:i=-this.ne.v/100,0<this.xe.v?r=1-this.xe.v/100:s=1+this.xe.v/100;var a=BezierFactory.getBezierEasing(e,i,r,s).get,n=0,o=this.finalS,h=this.finalE,l=this.data.sh;if(2===l)n=a(n=h===o?h<=t?1:0:c(0,d(.5/(h-o)+(t-o)/(h-o),1)));else if(3===l)n=a(n=h===o?h<=t?0:1:1-c(0,d(.5/(h-o)+(t-o)/(h-o),1)));else if(4===l)h===o?n=0:(n=c(0,d(.5/(h-o)+(t-o)/(h-o),1)))<.5?n*=2:n=1-2*(n-.5),n=a(n);else if(5===l){if(h===o)n=0;else{var p=h-o,m=-p/2+(t=d(c(0,t+.5-o),h-o)),f=p/2;n=Math.sqrt(1-m*m/(f*f))}n=a(n)}else n=6===l?a(n=h===o?0:(t=d(c(0,t+.5-o),h-o),(1+Math.cos(Math.PI+2*Math.PI*t/(h-o)))/2)):(t>=u(o)&&(n=c(0,d(t-o<0?d(h,1)-(o-t):h-t,1))),a(n));return n*this.a.v},getValue:function(t){this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&2===this.data.r&&(this.e.v=this._currentTextLength);var e=2===this.data.r?1:100/this.data.totalChars,i=this.o.v/e,r=this.s.v/e+i,s=this.e.v/e+i;if(s<r){var a=r;r=s,s=a}this.finalS=r,this.finalE=s}},extendPrototype([DynamicPropertyContainer],r),{getTextSelectorProp:function(t,e,i){return new r(t,e,i)}}}(),pool_factory=function(t,e,i,r){var s=0,a=t,n=createSizedArray(a);function o(){return s?n[s-=1]:e()}return{newElement:o,release:function(t){s===a&&(n=pooling.double(n),a*=2),i&&i(t),n[s]=t,s+=1}}},pooling={double:function(t){return t.concat(createSizedArray(t.length))}},point_pool=pool_factory(8,function(){return createTypedArray("float32",2)}),shape_pool=(SB=pool_factory(4,function(){return new ShapePath},function(t){var e,i=t._length;for(e=0;e<i;e+=1)point_pool.release(t.v[e]),point_pool.release(t.i[e]),point_pool.release(t.o[e]),t.v[e]=null,t.i[e]=null,t.o[e]=null;t._length=0,t.c=!1}),SB.clone=function(t){var e,i=SB.newElement(),r=void 0===t._length?t.v.length:t._length;for(i.setLength(r),i.c=t.c,e=0;e<r;e+=1)i.setTripleAt(t.v[e][0],t.v[e][1],t.o[e][0],t.o[e][1],t.i[e][0],t.i[e][1],e);return i},SB),SB,shapeCollection_pool=(_B={newShapeCollection:function(){var t;t=aC?cC[aC-=1]:new ShapeCollection;return t},release:function(t){var e,i=t._length;for(e=0;e<i;e+=1)shape_pool.release(t.shapes[e]);t._length=0,aC===bC&&(cC=pooling.double(cC),bC*=2);cC[aC]=t,aC+=1}},aC=0,bC=4,cC=createSizedArray(bC),_B),_B,aC,bC,cC,segments_length_pool=pool_factory(8,function(){return{lengths:[],totalLength:0}},function(t){var e,i=t.lengths.length;for(e=0;e<i;e+=1)bezier_length_pool.release(t.lengths[e]);t.lengths.length=0}),bezier_length_pool=pool_factory(8,function(){return{addedLength:0,percents:createTypedArray("float32",defaultCurveSegments),lengths:createTypedArray("float32",defaultCurveSegments)}});function BaseRenderer(){}function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var i="";if(e&&e.title){var r=createNS("title"),s=createElementID();r.setAttribute("id",s),r.textContent=e.title,this.svgElement.appendChild(r),i+=s}if(e&&e.description){var a=createNS("desc"),n=createElementID();a.setAttribute("id",n),a.textContent=e.description,this.svgElement.appendChild(a),i+=" "+n}i&&this.svgElement.setAttribute("aria-labelledby",i);var o=createNS("defs");this.svgElement.appendChild(o);var h=createNS("g");this.svgElement.appendChild(h),this.layerElement=h,this.renderConfig={preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",progressiveLoad:e&&e.progressiveLoad||!1,hideOnTransparent:!e||!1!==e.hideOnTransparent,viewBoxOnly:e&&e.viewBoxOnly||!1,viewBoxSize:e&&e.viewBoxSize||!1,className:e&&e.className||"",id:e&&e.id||"",focusable:e&&e.focusable,filterSize:{width:e&&e.filterSize&&e.filterSize.width||"100%",height:e&&e.filterSize&&e.filterSize.height||"100%",x:e&&e.filterSize&&e.filterSize.x||"0%",y:e&&e.filterSize&&e.filterSize.y||"0%"}},this.globalData={_mdf:!1,frameNum:-1,defs:o,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={clearCanvas:!e||void 0===e.clearCanvas||e.clearCanvas,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",className:e&&e.className||"",id:e&&e.id||""},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas"}function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:e&&e.className||"",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!e||!1!==e.hideOnTransparent,filterSize:{width:e&&e.filterSize&&e.filterSize.width||"400%",height:e&&e.filterSize&&e.filterSize.height||"400%",x:e&&e.filterSize&&e.filterSize.x||"-100%",y:e&&e.filterSize&&e.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var r,s=this.globalData.defs,a=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(a),this.solidPath="";var n,o,h,l,p,m,f,c=this.masksProperties,d=0,u=[],y=createElementID(),g="clipPath",v="clip-path";for(r=0;r<a;r++)if(("a"!==c[r].mode&&"n"!==c[r].mode||c[r].inv||100!==c[r].o.k||c[r].o.x)&&(v=g="mask"),"s"!=c[r].mode&&"i"!=c[r].mode||0!==d?l=null:((l=createNS("rect")).setAttribute("fill","#ffffff"),l.setAttribute("width",this.element.comp.data.w||0),l.setAttribute("height",this.element.comp.data.h||0),u.push(l)),n=createNS("path"),"n"!=c[r].mode){var b;if(d+=1,n.setAttribute("fill","s"===c[r].mode?"#000000":"#ffffff"),n.setAttribute("clip-rule","nonzero"),0!==c[r].x.k?(v=g="mask",f=PropertyFactory.getProp(this.element,c[r].x,0,null,this.element),b=createElementID(),(p=createNS("filter")).setAttribute("id",b),(m=createNS("feMorphology")).setAttribute("operator","erode"),m.setAttribute("in","SourceGraphic"),m.setAttribute("radius","0"),p.appendChild(m),s.appendChild(p),n.setAttribute("stroke","s"===c[r].mode?"#000000":"#ffffff")):f=m=null,this.storedData[r]={elem:n,x:f,expan:m,lastPath:"",lastOperator:"",filterId:b,lastRadius:0},"i"==c[r].mode){h=u.length;var E=createNS("g");for(o=0;o<h;o+=1)E.appendChild(u[o]);var x=createNS("mask");x.setAttribute("mask-type","alpha"),x.setAttribute("id",y+"_"+d),x.appendChild(n),s.appendChild(x),E.setAttribute("mask","url("+locationHref+"#"+y+"_"+d+")"),u.length=0,u.push(E)}else u.push(n);c[r].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[r]={elem:n,lastPath:"",op:PropertyFactory.getProp(this.element,c[r].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,c[r],3),invRect:l},this.viewData[r].prop.k||this.drawPath(c[r],this.viewData[r].prop.v,this.viewData[r])}else this.viewData[r]={op:PropertyFactory.getProp(this.element,c[r].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,c[r],3),elem:n,lastPath:""},s.appendChild(n);for(this.maskElement=createNS(g),a=u.length,r=0;r<a;r+=1)this.maskElement.appendChild(u[r]);0<d&&(this.maskElement.setAttribute("id",y),this.element.maskedElement.setAttribute(v,"url("+locationHref+"#"+y+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}function HierarchyElement(){}function FrameElement(){}function TransformElement(){}function RenderableElement(){}function RenderableDOMElement(){}function ProcessedElement(t,e){this.elem=t,this.pos=e}function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl=e,this._mdf=!1,this.closed=!0===t.hd,this.pElem=createNS("path"),this.msElem=null}function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transformers=t,this.lStr="",this.sh=i,this.lvl=e,this._isAnimated=!!i.k;for(var r=0,s=t.length;r<s;){if(t[r].mProps.dynamicProperties.length){this._isAnimated=!0;break}r+=1}}function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container:i},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.w=PropertyFactory.getProp(t,e.w,0,null,this),this.d=new DashProperty(t,e.d||{},"svg",this),this.c=PropertyFactory.getProp(t,e.c,1,255,this),this.style=i,this._isAnimated=!!this._isAnimated}function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.c=PropertyFactory.getProp(t,e.c,1,255,this),this.style=i}function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.initGradientData(t,e,i)}function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(t,e.w,0,null,this),this.d=new DashProperty(t,e.d||{},"svg",this),this.initGradientData(t,e,i),this._isAnimated=!!this._isAnimated}function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}BaseRenderer.prototype.checkLayers=function(t){var e,i,r=this.layers.length;for(this.completeLayers=!0,e=r-1;0<=e;e--)this.elements[e]||(i=this.layers[e]).ip-i.st<=t-this.layers[e].st&&i.op-i.st>t-this.layers[e].st&&this.buildItem(e),this.completeLayers=!!this.elements[e]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t)}return this.createNull(t)},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t<e;t+=1)this.buildItem(t);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(t){this.completeLayers=!1;var e,i,r=t.length,s=this.layers.length;for(e=0;e<r;e+=1)for(i=0;i<s;){if(this.layers[i].id==t[e].id){this.layers[i]=t[e];break}i+=1}},BaseRenderer.prototype.setProjectInterface=function(t){this.globalData.projectInterface=t},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(t,e,i){for(var r=this.elements,s=this.layers,a=0,n=s.length;a<n;)s[a].ind==e&&(r[a]&&!0!==r[a]?(i.push(r[a]),r[a].setAsParent(),void 0!==s[a].parent?this.buildElementParenting(t,s[a].parent,i):t.setHierarchy(i)):(this.buildItem(a),this.addPendingElement(t))),a+=1},BaseRenderer.prototype.addPendingElement=function(t){this.pendingElements.push(t)},BaseRenderer.prototype.searchExtraCompositions=function(t){var e,i=t.length;for(e=0;e<i;e+=1)if(t[e].xt){var r=this.createComp(t[e]);r.initExpressions(),this.globalData.projectInterface.registerComposition(r)}},BaseRenderer.prototype.setupGlobalData=function(t,e){this.globalData.fontManager=new FontManager,this.globalData.fontManager.addChars(t.chars),this.globalData.fontManager.addFonts(t.fonts,e),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=t.fr,this.globalData.nm=t.nm,this.globalData.compSize={w:t.w,h:t.h}},extendPrototype([BaseRenderer],SVGRenderer),SVGRenderer.prototype.createNull=function(t){return new NullElement(t,this.globalData,this)},SVGRenderer.prototype.createShape=function(t){return new SVGShapeElement(t,this.globalData,this)},SVGRenderer.prototype.createText=function(t){return new SVGTextElement(t,this.globalData,this)},SVGRenderer.prototype.createImage=function(t){return new IImageElement(t,this.globalData,this)},SVGRenderer.prototype.createComp=function(t){return new SVGCompElement(t,this.globalData,this)},SVGRenderer.prototype.createSolid=function(t){return new ISolidElement(t,this.globalData,this)},SVGRenderer.prototype.configAnimation=function(t){this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize):this.svgElement.setAttribute("viewBox","0 0 "+t.w+" "+t.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute("width",t.w),this.svgElement.setAttribute("height",t.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)"),this.renderConfig.className&&this.svgElement.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute("id",this.renderConfig.id),void 0!==this.renderConfig.focusable&&this.svgElement.setAttribute("focusable",this.renderConfig.focusable),this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var e=this.globalData.defs;this.setupGlobalData(t,e),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=t;var i=createNS("clipPath"),r=createNS("rect");r.setAttribute("width",t.w),r.setAttribute("height",t.h),r.setAttribute("x",0),r.setAttribute("y",0);var s=createElementID();i.setAttribute("id",s),i.appendChild(r),this.layerElement.setAttribute("clip-path","url("+locationHref+"#"+s+")"),e.appendChild(i),this.layers=t.layers,this.elements=createSizedArray(t.layers.length)},SVGRenderer.prototype.destroy=function(){this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.layerElement=null,this.globalData.defs=null;var t,e=this.layers?this.layers.length:0;for(t=0;t<e;t++)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRenderer.prototype.updateContainerSize=function(){},SVGRenderer.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!=this.layers[t].ty){e[t]=!0;var i=this.createItem(this.layers[t]);e[t]=i,expressionsPlugin&&(0===this.layers[t].ty&&this.globalData.projectInterface.registerComposition(i),i.initExpressions()),this.appendElementInPos(i,t),this.layers[t].tt&&(this.elements[t-1]&&!0!==this.elements[t-1]?i.setMatte(e[t-1].layerId):(this.buildItem(t-1),this.addPendingElement(i)))}},SVGRenderer.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var t=this.pendingElements.pop();if(t.checkParenting(),t.data.tt)for(var e=0,i=this.elements.length;e<i;){if(this.elements[e]===t){t.setMatte(this.elements[e-1].layerId);break}e+=1}}},SVGRenderer.prototype.renderFrame=function(t){if(this.renderedFrame!==t&&!this.destroyed){null===t?t=this.renderedFrame:this.renderedFrame=t,this.globalData.frameNum=t,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=t,this.globalData._mdf=!1;var e,i=this.layers.length;for(this.completeLayers||this.checkLayers(t),e=i-1;0<=e;e--)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e<i;e+=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()}},SVGRenderer.prototype.appendElementInPos=function(t,e){var i=t.getBaseElement();if(i){for(var r,s=0;s<e;)this.elements[s]&&!0!==this.elements[s]&&this.elements[s].getBaseElement()&&(r=this.elements[s].getBaseElement()),s+=1;r?this.layerElement.insertBefore(i,r):this.layerElement.appendChild(i)}},SVGRenderer.prototype.hide=function(){this.layerElement.style.display="none"},SVGRenderer.prototype.show=function(){this.layerElement.style.display="block"},extendPrototype([BaseRenderer],CanvasRenderer),CanvasRenderer.prototype.createShape=function(t){return new CVShapeElement(t,this.globalData,this)},CanvasRenderer.prototype.createText=function(t){return new CVTextElement(t,this.globalData,this)},CanvasRenderer.prototype.createImage=function(t){return new CVImageElement(t,this.globalData,this)},CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},CanvasRenderer.prototype.createSolid=function(t){return new CVSolidElement(t,this.globalData,this)},CanvasRenderer.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRenderer.prototype.ctxTransform=function(t){if(1!==t[0]||0!==t[1]||0!==t[4]||1!==t[5]||0!==t[12]||0!==t[13])if(this.renderConfig.clearCanvas){this.transformMat.cloneFromProps(t);var e=this.contextData.cTr.props;this.transformMat.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.contextData.cTr.cloneFromProps(this.transformMat.props);var i=this.contextData.cTr.props;this.canvasContext.setTransform(i[0],i[1],i[4],i[5],i[12],i[13])}else this.canvasContext.transform(t[0],t[1],t[4],t[5],t[12],t[13])},CanvasRenderer.prototype.ctxOpacity=function(t){if(!this.renderConfig.clearCanvas)return this.canvasContext.globalAlpha*=t<0?0:t,void(this.globalData.currentGlobalAlpha=this.contextData.cO);this.contextData.cO*=t<0?0:t,this.globalData.currentGlobalAlpha!==this.contextData.cO&&(this.canvasContext.globalAlpha=this.contextData.cO,this.globalData.currentGlobalAlpha=this.contextData.cO)},CanvasRenderer.prototype.reset=function(){this.renderConfig.clearCanvas?this.contextData.reset():this.canvasContext.restore()},CanvasRenderer.prototype.save=function(t){if(this.renderConfig.clearCanvas){t&&this.canvasContext.save();var e=this.contextData.cTr.props;this.contextData._length<=this.contextData.cArrPos&&this.contextData.duplicate();var i,r=this.contextData.saved[this.contextData.cArrPos];for(i=0;i<16;i+=1)r[i]=e[i];this.contextData.savedOp[this.contextData.cArrPos]=this.contextData.cO,this.contextData.cArrPos+=1}else this.canvasContext.save()},CanvasRenderer.prototype.restore=function(t){if(this.renderConfig.clearCanvas){t&&(this.canvasContext.restore(),this.globalData.blendMode="source-over"),this.contextData.cArrPos-=1;var e,i=this.contextData.saved[this.contextData.cArrPos],r=this.contextData.cTr.props;for(e=0;e<16;e+=1)r[e]=i[e];this.canvasContext.setTransform(i[0],i[1],i[4],i[5],i[12],i[13]),i=this.contextData.savedOp[this.contextData.cArrPos],this.contextData.cO=i,this.globalData.currentGlobalAlpha!==i&&(this.canvasContext.globalAlpha=i,this.globalData.currentGlobalAlpha=i)}else this.canvasContext.restore()},CanvasRenderer.prototype.configAnimation=function(t){this.animationItem.wrapper?(this.animationItem.container=createTag("canvas"),this.animationItem.container.style.width="100%",this.animationItem.container.style.height="100%",this.animationItem.container.style.transformOrigin=this.animationItem.container.style.mozTransformOrigin=this.animationItem.container.style.webkitTransformOrigin=this.animationItem.container.style["-webkit-transform"]="0px 0px 0px",this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className&&this.animationItem.container.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.animationItem.container.setAttribute("id",this.renderConfig.id)):this.canvasContext=this.renderConfig.context,this.data=t,this.layers=t.layers,this.transformCanvas={w:t.w,h:t.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(t,document.body),this.globalData.canvasContext=this.canvasContext,(this.globalData.renderer=this).globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(t.layers.length),this.updateContainerSize()},CanvasRenderer.prototype.updateContainerSize=function(){var t,e,i,r;if(this.reset(),this.animationItem.wrapper&&this.animationItem.container?(t=this.animationItem.wrapper.offsetWidth,e=this.animationItem.wrapper.offsetHeight,this.animationItem.container.setAttribute("width",t*this.renderConfig.dpr),this.animationItem.container.setAttribute("height",e*this.renderConfig.dpr)):(t=this.canvasContext.canvas.width*this.renderConfig.dpr,e=this.canvasContext.canvas.height*this.renderConfig.dpr),-1!==this.renderConfig.preserveAspectRatio.indexOf("meet")||-1!==this.renderConfig.preserveAspectRatio.indexOf("slice")){var s=this.renderConfig.preserveAspectRatio.split(" "),a=s[1]||"meet",n=s[0]||"xMidYMid",o=n.substr(0,4),h=n.substr(4);i=t/e,r=this.transformCanvas.w/this.transformCanvas.h,this.transformCanvas.sy=i<r&&"meet"===a||r<i&&"slice"===a?(this.transformCanvas.sx=t/(this.transformCanvas.w/this.renderConfig.dpr),t/(this.transformCanvas.w/this.renderConfig.dpr)):(this.transformCanvas.sx=e/(this.transformCanvas.h/this.renderConfig.dpr),e/(this.transformCanvas.h/this.renderConfig.dpr)),this.transformCanvas.tx="xMid"===o&&(r<i&&"meet"===a||i<r&&"slice"===a)?(t-this.transformCanvas.w*(e/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===o&&(r<i&&"meet"===a||i<r&&"slice"===a)?(t-this.transformCanvas.w*(e/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty="YMid"===h&&(i<r&&"meet"===a||r<i&&"slice"===a)?(e-this.transformCanvas.h*(t/this.transformCanvas.w))/2*this.renderConfig.dpr:"YMax"===h&&(i<r&&"meet"===a||r<i&&"slice"===a)?(e-this.transformCanvas.h*(t/this.transformCanvas.w))*this.renderConfig.dpr:0}else"none"==this.renderConfig.preserveAspectRatio?(this.transformCanvas.sx=t/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=e/(this.transformCanvas.h/this.renderConfig.dpr)):(this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0;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],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRenderer.prototype.destroy=function(){var t;for(this.renderConfig.clearCanvas&&this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),t=(this.layers?this.layers.length:0)-1;0<=t;t-=1)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRenderer.prototype.renderFrame=function(t,e){if((this.renderedFrame!==t||!0!==this.renderConfig.clearCanvas||e)&&!this.destroyed&&-1!==t){this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var i,r=this.layers.length;for(this.completeLayers||this.checkLayers(t),i=0;i<r;i++)(this.completeLayers||this.elements[i])&&this.elements[i].prepareFrame(t-this.layers[i].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),i=r-1;0<=i;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRenderer.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!=this.layers[t].ty){var i=this.createItem(this.layers[t],this,this.globalData);(e[t]=i).initExpressions()}},CanvasRenderer.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){this.pendingElements.pop().checkParenting()}},CanvasRenderer.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRenderer.prototype.show=function(){this.animationItem.container.style.display="block"},extendPrototype([BaseRenderer],HybridRenderer),HybridRenderer.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRenderer.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){this.pendingElements.pop().checkParenting()}},HybridRenderer.prototype.appendElementInPos=function(t,e){var i=t.getBaseElement();if(i){var r=this.layers[e];if(r.ddd&&this.supports3d)this.addTo3dContainer(i,e);else if(this.threeDElements)this.addTo3dContainer(i,e);else{for(var s,a,n=0;n<e;)this.elements[n]&&!0!==this.elements[n]&&this.elements[n].getBaseElement&&(a=this.elements[n],s=(this.layers[n].ddd?this.getThreeDContainerByPos(n):a.getBaseElement())||s),n+=1;s?r.ddd&&this.supports3d||this.layerElement.insertBefore(i,s):r.ddd&&this.supports3d||this.layerElement.appendChild(i)}}},HybridRenderer.prototype.createShape=function(t){return this.supports3d?new HShapeElement(t,this.globalData,this):new SVGShapeElement(t,this.globalData,this)},HybridRenderer.prototype.createText=function(t){return this.supports3d?new HTextElement(t,this.globalData,this):new SVGTextElement(t,this.globalData,this)},HybridRenderer.prototype.createCamera=function(t){return this.camera=new HCameraElement(t,this.globalData,this),this.camera},HybridRenderer.prototype.createImage=function(t){return this.supports3d?new HImageElement(t,this.globalData,this):new IImageElement(t,this.globalData,this)},HybridRenderer.prototype.createComp=function(t){return this.supports3d?new HCompElement(t,this.globalData,this):new SVGCompElement(t,this.globalData,this)},HybridRenderer.prototype.createSolid=function(t){return this.supports3d?new HSolidElement(t,this.globalData,this):new ISolidElement(t,this.globalData,this)},HybridRenderer.prototype.createNull=SVGRenderer.prototype.createNull,HybridRenderer.prototype.getThreeDContainerByPos=function(t){for(var e=0,i=this.threeDElements.length;e<i;){if(this.threeDElements[e].startPos<=t&&this.threeDElements[e].endPos>=t)return this.threeDElements[e].perspectiveElem;e+=1}},HybridRenderer.prototype.createThreeDContainer=function(t,e){var i=createTag("div");styleDiv(i);var r=createTag("div");styleDiv(r),"3d"===e&&(i.style.width=this.globalData.compSize.w+"px",i.style.height=this.globalData.compSize.h+"px",i.style.transformOrigin=i.style.mozTransformOrigin=i.style.webkitTransformOrigin="50% 50%",r.style.transform=r.style.webkitTransform="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"),i.appendChild(r);var s={container:r,perspectiveElem:i,startPos:t,endPos:t,type:e};return this.threeDElements.push(s),s},HybridRenderer.prototype.build3dContainers=function(){var t,e,i=this.layers.length,r="";for(t=0;t<i;t+=1)this.layers[t].ddd&&3!==this.layers[t].ty?"3d"!==r&&(r="3d",e=this.createThreeDContainer(t,"3d")):"2d"!==r&&(r="2d",e=this.createThreeDContainer(t,"2d")),e.endPos=Math.max(e.endPos,t);for(t=(i=this.threeDElements.length)-1;0<=t;t--)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)},HybridRenderer.prototype.addTo3dContainer=function(t,e){for(var i=0,r=this.threeDElements.length;i<r;){if(e<=this.threeDElements[i].endPos){for(var s,a=this.threeDElements[i].startPos;a<e;)this.elements[a]&&this.elements[a].getBaseElement&&(s=this.elements[a].getBaseElement()),a+=1;s?this.threeDElements[i].container.insertBefore(t,s):this.threeDElements[i].container.appendChild(t);break}i+=1}},HybridRenderer.prototype.configAnimation=function(t){var e=createTag("div"),i=this.animationItem.wrapper;e.style.width=t.w+"px",e.style.height=t.h+"px",styleDiv(this.resizerElem=e),e.style.transformStyle=e.style.webkitTransformStyle=e.style.mozTransformStyle="flat",this.renderConfig.className&&e.setAttribute("class",this.renderConfig.className),i.appendChild(e),e.style.overflow="hidden";var r=createNS("svg");r.setAttribute("width","1"),r.setAttribute("height","1"),styleDiv(r),this.resizerElem.appendChild(r);var s=createNS("defs");r.appendChild(s),this.data=t,this.setupGlobalData(t,r),this.globalData.defs=s,this.layers=t.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRenderer.prototype.destroy=function(){this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.animationItem.container=null,this.globalData.defs=null;var t,e=this.layers?this.layers.length:0;for(t=0;t<e;t++)this.elements[t].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRenderer.prototype.updateContainerSize=function(){var t,e,i,r,s=this.animationItem.wrapper.offsetWidth,a=this.animationItem.wrapper.offsetHeight;r=s/a<this.globalData.compSize.w/this.globalData.compSize.h?(t=s/this.globalData.compSize.w,e=s/this.globalData.compSize.w,i=0,(a-this.globalData.compSize.h*(s/this.globalData.compSize.w))/2):(t=a/this.globalData.compSize.h,e=a/this.globalData.compSize.h,i=(s-this.globalData.compSize.w*(a/this.globalData.compSize.h))/2,0),this.resizerElem.style.transform=this.resizerElem.style.webkitTransform="matrix3d("+t+",0,0,0,0,"+e+",0,0,0,0,1,0,"+i+","+r+",0,1)"},HybridRenderer.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRenderer.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRenderer.prototype.show=function(){this.resizerElem.style.display="block"},HybridRenderer.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var t,e=this.globalData.compSize.w,i=this.globalData.compSize.h,r=this.threeDElements.length;for(t=0;t<r;t+=1)this.threeDElements[t].perspectiveElem.style.perspective=this.threeDElements[t].perspectiveElem.style.webkitPerspective=Math.sqrt(Math.pow(e,2)+Math.pow(i,2))+"px"}},HybridRenderer.prototype.searchExtraCompositions=function(t){var e,i=t.length,r=createTag("div");for(e=0;e<i;e+=1)if(t[e].xt){var s=this.createComp(t[e],r,this.globalData.comp,null);s.initExpressions(),this.globalData.projectInterface.registerComposition(s)}},MaskElement.prototype.getMaskProperty=function(t){return this.viewData[t].prop},MaskElement.prototype.renderFrame=function(t){var e,i=this.element.finalTransform.mat,r=this.masksProperties.length;for(e=0;e<r;e++)if((this.viewData[e].prop._mdf||t)&&this.drawPath(this.masksProperties[e],this.viewData[e].prop.v,this.viewData[e]),(this.viewData[e].op._mdf||t)&&this.viewData[e].elem.setAttribute("fill-opacity",this.viewData[e].op.v),"n"!==this.masksProperties[e].mode&&(this.viewData[e].invRect&&(this.element.finalTransform.mProp._mdf||t)&&this.viewData[e].invRect.setAttribute("transform",i.getInverseMatrix().to2dCSS()),this.storedData[e].x&&(this.storedData[e].x._mdf||t))){var s=this.storedData[e].expan;this.storedData[e].x.v<0?("erode"!==this.storedData[e].lastOperator&&(this.storedData[e].lastOperator="erode",this.storedData[e].elem.setAttribute("filter","url("+locationHref+"#"+this.storedData[e].filterId+")")),s.setAttribute("radius",-this.storedData[e].x.v)):("dilate"!==this.storedData[e].lastOperator&&(this.storedData[e].lastOperator="dilate",this.storedData[e].elem.setAttribute("filter",null)),this.storedData[e].elem.setAttribute("stroke-width",2*this.storedData[e].x.v))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var t="M0,0 ";return t+=" h"+this.globalData.compSize.w,t+=" v"+this.globalData.compSize.h,t+=" h-"+this.globalData.compSize.w,t+=" v-"+this.globalData.compSize.h+" "},MaskElement.prototype.drawPath=function(t,e,i){var r,s,a=" M"+e.v[0][0]+","+e.v[0][1];for(s=e._length,r=1;r<s;r+=1)a+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[r][0]+","+e.i[r][1]+" "+e.v[r][0]+","+e.v[r][1];if(e.c&&1<s&&(a+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),i.lastPath!==a){var n="";i.elem&&(e.c&&(n=t.inv?this.solidPath+a:a),i.elem.setAttribute("d",n)),i.lastPath=a}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null},HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(t){this.hierarchy=t},setAsParent:function(){this._isParent=!0},checkParenting:function(){void 0!==this.data.parent&&this.comp.buildElementParenting(this,this.data.parent,[])}},FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(t,e){var i,r=this.dynamicProperties.length;for(i=0;i<r;i+=1)(e||this._isParent&&"transform"===this.dynamicProperties[i].propType)&&(this.dynamicProperties[i].getValue(),this.dynamicProperties[i]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(t){-1===this.dynamicProperties.indexOf(t)&&this.dynamicProperties.push(t)}},TransformElement.prototype={initTransform:function(){this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_opMdf:!1,mat:new Matrix},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var t,e=this.finalTransform.mat,i=0,r=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;i<r;){if(this.hierarchy[i].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}i+=1}if(this.finalTransform._matMdf)for(t=this.finalTransform.mProp.v.props,e.cloneFromProps(t),i=0;i<r;i+=1)t=this.hierarchy[i].finalTransform.mProp.v.props,e.transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}},globalToLocal:function(t){var e=[];e.push(this.finalTransform);for(var i=!0,r=this.comp;i;)r.finalTransform?(r.data.hasMask&&e.splice(0,0,r.finalTransform),r=r.comp):i=!1;var s,a,n=e.length;for(s=0;s<n;s+=1)a=e[s].mat.applyToPointArray(0,0,0),t=[t[0]-a[0],t[1]-a[1],0];return t},mHelper:new Matrix},RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(t){-1===this.renderableComponents.indexOf(t)&&this.renderableComponents.push(t)},removeRenderableComponent:function(t){-1!==this.renderableComponents.indexOf(t)&&this.renderableComponents.splice(this.renderableComponents.indexOf(t),1)},prepareRenderableFrame:function(t){this.checkLayerLimits(t)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(t){this.data.ip-this.data.st<=t&&this.data.op-this.data.st>t?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t<e;t+=1)this.renderableComponents[t].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return 5===this.data.ty?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}},extendPrototype([RenderableElement,createProxyFunction({initElement:function(t,e,i){this.initFrame(),this.initBaseData(t,e,i),this.initTransform(t,e,i),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){this.hidden||this.isInRange&&!this.isTransparent||((this.baseElement||this.layerElement).style.display="none",this.hidden=!0)},show:function(){this.isInRange&&!this.isTransparent&&(this.data.hd||((this.baseElement||this.layerElement).style.display="block"),this.hidden=!1,this._isFirstFrame=!0)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(t){this._mdf=!1,this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}})],RenderableDOMElement),SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1},SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0},extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData),extendPrototype([DynamicPropertyContainer],SVGFillStyleData),SVGGradientFillStyleData.prototype.initGradientData=function(t,e,i){this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.s=PropertyFactory.getProp(t,e.s,1,null,this),this.e=PropertyFactory.getProp(t,e.e,1,null,this),this.h=PropertyFactory.getProp(t,e.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(t,e.a||{k:0},0,degToRads,this),this.g=new GradientProperty(t,e.g,this),this.style=i,this.stops=[],this.setGradientData(i.pElem,e),this.setGradientOpacity(e,i),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(t,e){var i=createElementID(),r=createNS(1===e.t?"linearGradient":"radialGradient");r.setAttribute("id",i),r.setAttribute("spreadMethod","pad"),r.setAttribute("gradientUnits","userSpaceOnUse");var s,a,n,o=[];for(n=4*e.g.p,a=0;a<n;a+=4)s=createNS("stop"),r.appendChild(s),o.push(s);t.setAttribute("gf"===e.ty?"fill":"stroke","url("+locationHref+"#"+i+")"),this.gf=r,this.cst=o},SVGGradientFillStyleData.prototype.setGradientOpacity=function(t,e){if(this.g._hasOpacity&&!this.g._collapsable){var i,r,s,a=createNS("mask"),n=createNS("path");a.appendChild(n);var o=createElementID(),h=createElementID();a.setAttribute("id",h);var l=createNS(1===t.t?"linearGradient":"radialGradient");l.setAttribute("id",o),l.setAttribute("spreadMethod","pad"),l.setAttribute("gradientUnits","userSpaceOnUse"),s=t.g.k.k[0].s?t.g.k.k[0].s.length:t.g.k.k.length;var p=this.stops;for(r=4*t.g.p;r<s;r+=2)(i=createNS("stop")).setAttribute("stop-color","rgb(255,255,255)"),l.appendChild(i),p.push(i);n.setAttribute("gf"===t.ty?"fill":"stroke","url("+locationHref+"#"+o+")"),this.of=l,this.ms=a,this.ost=p,this.maskId=h,e.msElem=n}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData),extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);var SVGElementsRenderer=function(){var y=new Matrix,g=new Matrix;function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAttribute("opacity",e.transform.op.v),(i||e.transform.mProps._mdf)&&e.transform.container.setAttribute("transform",e.transform.mProps.v.to2dCSS())}function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;for(h=0;h<d;h+=1){if(n=e.sh._mdf||i,e.styles[h].lvl<u){for(p=g.reset(),f=u-e.styles[h].lvl,c=e.transformers.length-1;!n&&0<f;)n=e.transformers[c].mProps._mdf||n,f--,c--;if(n)for(f=u-e.styles[h].lvl,c=e.transformers.length-1;0<f;)m=e.transformers[c].mProps.v.props,p.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),f--,c--}else p=y;if(s=(l=e.sh.paths)._length,n){for(a="",r=0;r<s;r+=1)(o=l.shapes[r])&&o._length&&(a+=buildShapeString(o,o._length,o.c,p));e.caches[h]=a}else a=e.caches[h];e.styles[h].d+=!0===t.hd?"":a,e.styles[h]._mdf=n||e.styles[h]._mdf}}function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fill","rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o._mdf||i)&&r.pElem.setAttribute("fill-opacity",e.o.v)}function s(t,e,i){a(t,e,i),n(t,e,i)}function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v;if(e.o._mdf||i){var f="gf"===t.ty?"fill-opacity":"stroke-opacity";e.style.pElem.setAttribute(f,e.o.v)}if(e.s._mdf||i){var c=1===t.t?"x1":"cx",d="x1"===c?"y1":"cy";h.setAttribute(c,p[0]),h.setAttribute(d,p[1]),l&&!e.g._collapsable&&(e.of.setAttribute(c,p[0]),e.of.setAttribute(d,p[1]))}if(e.g._cmdf||i){r=e.cst;var u=e.g.c;for(a=r.length,s=0;s<a;s+=1)(n=r[s]).setAttribute("offset",u[4*s]+"%"),n.setAttribute("stop-color","rgb("+u[4*s+1]+","+u[4*s+2]+","+u[4*s+3]+")")}if(l&&(e.g._omdf||i)){var y=e.g.o;for(a=(r=e.g._collapsable?e.cst:e.ost).length,s=0;s<a;s+=1)n=r[s],e.g._collapsable||n.setAttribute("offset",y[2*s]+"%"),n.setAttribute("stop-opacity",y[2*s+1])}if(1===t.t)(e.e._mdf||i)&&(h.setAttribute("x2",m[0]),h.setAttribute("y2",m[1]),l&&!e.g._collapsable&&(e.of.setAttribute("x2",m[0]),e.of.setAttribute("y2",m[1])));else if((e.s._mdf||e.e._mdf||i)&&(o=Math.sqrt(Math.pow(p[0]-m[0],2)+Math.pow(p[1]-m[1],2)),h.setAttribute("r",o),l&&!e.g._collapsable&&e.of.setAttribute("r",o)),e.e._mdf||e.h._mdf||e.a._mdf||i){o||(o=Math.sqrt(Math.pow(p[0]-m[0],2)+Math.pow(p[1]-m[1],2)));var g=Math.atan2(m[1]-p[1],m[0]-p[0]),v=o*(1<=e.h.v?.99:e.h.v<=-1?-.99:e.h.v),b=Math.cos(g+e.a.v)*v+p[0],E=Math.sin(g+e.a.v)*v+p[1];h.setAttribute("fx",b),h.setAttribute("fy",E),l&&!e.g._collapsable&&(e.of.setAttribute("fx",b),e.of.setAttribute("fy",E))}}function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pElem.setAttribute("stroke-dasharray",s.dashStr),r.pElem.setAttribute("stroke-dashoffset",s.dashoffset[0])),e.c&&(e.c._mdf||i)&&r.pElem.setAttribute("stroke","rgb("+bm_floor(e.c.v[0])+","+bm_floor(e.c.v[1])+","+bm_floor(e.c.v[2])+")"),(e.o._mdf||i)&&r.pElem.setAttribute("stroke-opacity",e.o.v),(e.w._mdf||i)&&(r.pElem.setAttribute("stroke-width",e.w.v),r.msElem&&r.msElem.setAttribute("stroke-width",e.w.v))}return{createRenderFunction:function(t){t.ty;switch(t.ty){case"fl":return r;case"gf":return a;case"gs":return s;case"st":return n;case"sh":case"el":case"rc":case"sr":return i;case"tr":return e}}}}();function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var s=4;"rc"==e.ty?s=5:"el"==e.ty?s=6:"sr"==e.ty&&(s=7),this.sh=ShapePropertyFactory.getShapeProp(t,e,s,t);var a,n,o=i.length;for(a=0;a<o;a+=1)i[a].closed||(n={transforms:r.addTransformSequence(i[a].transforms),trNodes:[]},this.styledShapes.push(n),i[a].elements.push(n))}function BaseElement(){}function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),this.initFrame(),this.initTransform(t,e,i),this.initHierarchy()}function SVGBaseElement(){}function IShapeElement(){}function ITextElement(){}function ICompElement(){}function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),this.initElement(t,e,i),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}function ISolidElement(t,e,i){this.initElement(t,e,i)}function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(t.refId),this.initBaseData(t,e,i),this._isPlaying=!1,this._canPlay=!1;var r=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(r),this._currentTime=0,this.globalData.audioController.addAudio(this),this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0}}function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(t,e,i),this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0}}function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",this.initElement(t,e,i)}function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,i),this.prevViewData=[]}function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColorMatrix");if(i.setAttribute("type","matrix"),i.setAttribute("color-interpolation-filters","linearRGB"),i.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"),i.setAttribute("result","f1"),t.appendChild(i),(i=createNS("feColorMatrix"
gitextract_833fx47r/
├── .gitignore
├── .nvmrc
├── LICENSE
├── README.md
├── package.json
├── public/
│ ├── assets/
│ │ ├── css/
│ │ │ ├── banner.css
│ │ │ ├── index.css
│ │ │ └── main.css
│ │ ├── images/
│ │ │ └── favicon/
│ │ │ └── site.webmanifest.json
│ │ ├── js/
│ │ │ ├── banner.js
│ │ │ └── util/
│ │ │ ├── lazyloader.js
│ │ │ └── perf.js
│ │ └── vendor/
│ │ ├── chatty/
│ │ │ ├── bulky.js
│ │ │ ├── chatty.css
│ │ │ ├── chatty.js
│ │ │ └── index.html
│ │ └── fontello/
│ │ ├── LICENSE.txt
│ │ ├── README.txt
│ │ ├── config.json
│ │ ├── css/
│ │ │ ├── animation.css
│ │ │ ├── fontello-codes.css
│ │ │ ├── fontello-embedded.css
│ │ │ ├── fontello-ie7-codes.css
│ │ │ ├── fontello-ie7.css
│ │ │ └── fontello.css
│ │ └── demo.html
│ └── index.html
├── server/
│ └── server.js
└── tools/
└── imageOptimizer.js
Showing preview only (256K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2595 symbols across 4 files)
FILE: public/assets/js/util/lazyloader.js
function load (line 19) | function load(el) {
FILE: public/assets/js/util/perf.js
function onDocumentReady (line 86) | function onDocumentReady(onReady) {
FILE: public/assets/vendor/chatty/bulky.js
function ProjectInterface (line 9) | function ProjectInterface(){return{}}
function roundValues (line 9) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 9) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 9) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 9) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 9) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 9) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 9) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 9) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 9) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 9) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 9) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 9) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 9) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 9) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 9) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 9) | function BaseEvent(){}
function createSizedArray (line 9) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 9) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 9) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 9) | function DynamicPropertyContainer(){}
function t (line 9) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 9) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 9) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 9) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 9) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 9) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 9) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 9) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 9) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 9) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 9) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 9) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 9) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 9) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 9) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 9) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 9) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 9) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 9) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 9) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 9) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 9) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 9) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 9) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 9) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 9) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 9) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 9) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 9) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 9) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 9) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 9) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 9) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 9) | function r(t,e){return 1-3*e+3*t}
function s (line 9) | function s(t,e){return 3*e-6*t}
function a (line 9) | function a(t){return 3*t}
function m (line 9) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 9) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 9) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 9) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 9) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 9) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 9) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 9) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 9) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 9) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 9) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 9) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 9) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 9) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 9) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 9) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 9) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 9) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 9) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 9) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 9) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 9) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 9) | function a(){this.paths=this.localShapeCollection}
function e (line 9) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 9) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 9) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 9) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 9) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 9) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 9) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 9) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 9) | function ShapeModifier(){}
function TrimModifier (line 9) | function TrimModifier(){}
function RoundCornersModifier (line 9) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 9) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 9) | function RepeaterModifier(){}
function ShapeCollection (line 9) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 9) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 9) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 9) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 9) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 9) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 9) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 9) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 9) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 9) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 9) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 9) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 9) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 9) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 9) | function BaseRenderer(){}
function SVGRenderer (line 9) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 9) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 9) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 9) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 9) | function HierarchyElement(){}
function FrameElement (line 9) | function FrameElement(){}
function TransformElement (line 9) | function TransformElement(){}
function RenderableElement (line 9) | function RenderableElement(){}
function RenderableDOMElement (line 9) | function RenderableDOMElement(){}
function ProcessedElement (line 9) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 9) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 9) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 9) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 9) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 9) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 9) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 9) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 9) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 9) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 9) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 9) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 9) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 9) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 9) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 9) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 9) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 9) | function BaseElement(){}
function NullElement (line 9) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 9) | function SVGBaseElement(){}
function IShapeElement (line 9) | function IShapeElement(){}
function ITextElement (line 9) | function ITextElement(){}
function ICompElement (line 9) | function ICompElement(){}
function IImageElement (line 9) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 9) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 9) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 9) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 9) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 9) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 9) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 9) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 9) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 9) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 9) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 9) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 9) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 9) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 9) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 9) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 9) | function CVBaseElement(){}
function CVImageElement (line 9) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 9) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 9) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 9) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 9) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 9) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 9) | function CVEffects(){}
function HBaseElement (line 9) | function HBaseElement(t,e,i){}
function HSolidElement (line 9) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 9) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 9) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 9) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 9) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 9) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 9) | function HEffects(){}
function i (line 9) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 9) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 9) | function p(){n+=1,d()}
function m (line 9) | function m(){n-=1}
function f (line 9) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 9) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 9) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 9) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 9) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 9) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 9) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 9) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 9) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 9) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 9) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 9) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 9) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 9) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 9) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 9) | function degreesToRadians(t){return t*degToRads}
function length (line 9) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 9) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 9) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 9) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 9) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 9) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 9) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 9) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 9) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 9) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 9) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 9) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 9) | function i(){}
function s (line 9) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 9) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 9) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 9) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 9) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 9) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 9) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 9) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 9) | function c(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function d (line 9) | function d(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function u (line 9) | function u(e,t,i){function r(t){if(e.r.ix===t||"Round Corners 1"===t)ret...
function y (line 9) | function y(e,t,i){function r(t){return e.c.ix===t||"Copies"===t?r.copies...
function i (line 9) | function i(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?r:s[t-...
function r (line 9) | function r(t){switch(t){case"ADBE Text Document":return r.sourceText}}
function s (line 9) | function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mPro...
function a (line 9) | function a(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function n (line 9) | function n(t,e){var i=this.getMatrix(e);return this.applyPoint(i,t)}
function o (line 9) | function o(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function h (line 9) | function h(t,e){var i=this.getMatrix(e);return this.invertPoint(i,t)}
function l (line 9) | function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function p (line 9) | function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function m (line 9) | function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mP...
function f (line 9) | function f(){return[1,1,1,1]}
function r (line 9) | function r(t){switch(t){case"ADBE Root Vectors Group":case"Contents":cas...
function t (line 9) | function t(t){for(var e=0,i=r.layers.length;e<i;){if(r.layers[e].nm===t|...
function e (line 9) | function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:...
function e (line 9) | function e(t){this.compositions.push(t)}
function t (line 9) | function t(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compo...
function l (line 9) | function l(s,t,e,i){function r(t){for(var e=s.ef,i=0,r=e.length;i<r;){if...
function p (line 9) | function p(t,e,i,r){var s=ExpressionPropertyInterface(t.p);return t.p.se...
function a (line 9) | function a(t,e){this._mask=t,this._data=e}
function o (line 9) | function o(r,s,a){Object.defineProperty(r,"velocity",{get:function(){ret...
function e (line 9) | function e(){return s}
function SliderEffect (line 9) | function SliderEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function AngleEffect (line 9) | function AngleEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function ColorEffect (line 9) | function ColorEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function PointEffect (line 9) | function PointEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function LayerIndexEffect (line 9) | function LayerIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,...
function MaskIndexEffect (line 9) | function MaskIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0...
function CheckboxEffect (line 9) | function CheckboxEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function NoValueEffect (line 9) | function NoValueEffect(){this.p={}}
function EffectsManager (line 9) | function EffectsManager(t,e){var i=t.ef||[];this.effectElements=[];var r...
function GroupEffect (line 9) | function GroupEffect(t,e){this.init(t,e)}
function i (line 9) | function i(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.g...
function setLocationHref (line 9) | function setLocationHref(t){locationHref=t}
function searchAnimations (line 9) | function searchAnimations(){!0===standalone?animationManager.searchAnima...
function setSubframeRendering (line 9) | function setSubframeRendering(t){subframeEnabled=t}
function loadAnimation (line 9) | function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.p...
function setQuality (line 9) | function setQuality(t){if("string"==typeof t)switch(t){case"high":defaul...
function inBrowser (line 9) | function inBrowser(){return"undefined"!=typeof navigator}
function installPlugin (line 9) | function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}
function getFactory (line 9) | function getFactory(t){switch(t){case"propertyFactory":return PropertyFa...
function checkReady (line 9) | function checkReady(){"complete"===document.readyState&&(clearInterval(r...
function getQueryVariable (line 9) | function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i<e.le...
function ProjectInterface (line 13) | function ProjectInterface(){return{}}
function roundValues (line 13) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 13) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 13) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 13) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 13) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 13) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 13) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 13) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 13) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 13) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 13) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 13) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 13) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 13) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 13) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 13) | function BaseEvent(){}
function createSizedArray (line 13) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 13) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 13) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 13) | function DynamicPropertyContainer(){}
function t (line 13) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 13) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 13) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 13) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 13) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 13) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 13) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 13) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 13) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 13) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 13) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 13) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 13) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 13) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 13) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 13) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 13) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 13) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 13) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 13) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 13) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 13) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 13) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 13) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 13) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 13) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 13) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 13) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 13) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 13) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 13) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 13) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 13) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 13) | function r(t,e){return 1-3*e+3*t}
function s (line 13) | function s(t,e){return 3*e-6*t}
function a (line 13) | function a(t){return 3*t}
function m (line 13) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 13) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 13) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 13) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 13) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 13) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 13) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 13) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 13) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 13) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 13) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 13) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 13) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 13) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 13) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 13) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 13) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 13) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 13) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 13) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 13) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 13) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 13) | function a(){this.paths=this.localShapeCollection}
function e (line 13) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 13) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 13) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 13) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 13) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 13) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 13) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 13) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 13) | function ShapeModifier(){}
function TrimModifier (line 13) | function TrimModifier(){}
function RoundCornersModifier (line 13) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 13) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 13) | function RepeaterModifier(){}
function ShapeCollection (line 13) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 13) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 13) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 13) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 13) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 13) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 13) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 13) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 13) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 13) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 13) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 13) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 13) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 13) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 13) | function BaseRenderer(){}
function SVGRenderer (line 13) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 13) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 13) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 13) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 13) | function HierarchyElement(){}
function FrameElement (line 13) | function FrameElement(){}
function TransformElement (line 13) | function TransformElement(){}
function RenderableElement (line 13) | function RenderableElement(){}
function RenderableDOMElement (line 13) | function RenderableDOMElement(){}
function ProcessedElement (line 13) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 13) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 13) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 13) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 13) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 13) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 13) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 13) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 13) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 13) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 13) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 13) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 13) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 13) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 13) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 13) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 13) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 13) | function BaseElement(){}
function NullElement (line 13) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 13) | function SVGBaseElement(){}
function IShapeElement (line 13) | function IShapeElement(){}
function ITextElement (line 13) | function ITextElement(){}
function ICompElement (line 13) | function ICompElement(){}
function IImageElement (line 13) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 13) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 13) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 13) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 13) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 13) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 13) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 13) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 13) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 13) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 13) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 13) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 13) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 13) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 13) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 13) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 13) | function CVBaseElement(){}
function CVImageElement (line 13) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 13) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 13) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 13) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 13) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 13) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 13) | function CVEffects(){}
function HBaseElement (line 13) | function HBaseElement(t,e,i){}
function HSolidElement (line 13) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 13) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 13) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 13) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 13) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 13) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 13) | function HEffects(){}
function i (line 13) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 13) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 13) | function p(){n+=1,d()}
function m (line 13) | function m(){n-=1}
function f (line 13) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 13) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 13) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 13) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 13) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 13) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 13) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 13) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 13) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 13) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 13) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 13) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 13) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 13) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 13) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 13) | function degreesToRadians(t){return t*degToRads}
function length (line 13) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 13) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 13) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 13) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 13) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 13) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 13) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 13) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 13) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 13) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 13) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 13) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 13) | function i(){}
function s (line 13) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 13) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 13) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 13) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 13) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 13) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 13) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 13) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 13) | function c(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function d (line 13) | function d(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function u (line 13) | function u(e,t,i){function r(t){if(e.r.ix===t||"Round Corners 1"===t)ret...
function y (line 13) | function y(e,t,i){function r(t){return e.c.ix===t||"Copies"===t?r.copies...
function i (line 13) | function i(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?r:s[t-...
function r (line 13) | function r(t){switch(t){case"ADBE Text Document":return r.sourceText}}
function s (line 13) | function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mPro...
function a (line 13) | function a(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function n (line 13) | function n(t,e){var i=this.getMatrix(e);return this.applyPoint(i,t)}
function o (line 13) | function o(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function h (line 13) | function h(t,e){var i=this.getMatrix(e);return this.invertPoint(i,t)}
function l (line 13) | function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function p (line 13) | function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function m (line 13) | function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mP...
function f (line 13) | function f(){return[1,1,1,1]}
function r (line 13) | function r(t){switch(t){case"ADBE Root Vectors Group":case"Contents":cas...
function t (line 13) | function t(t){for(var e=0,i=r.layers.length;e<i;){if(r.layers[e].nm===t|...
function e (line 13) | function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:...
function e (line 13) | function e(t){this.compositions.push(t)}
function t (line 13) | function t(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compo...
function l (line 13) | function l(s,t,e,i){function r(t){for(var e=s.ef,i=0,r=e.length;i<r;){if...
function p (line 13) | function p(t,e,i,r){var s=ExpressionPropertyInterface(t.p);return t.p.se...
function a (line 13) | function a(t,e){this._mask=t,this._data=e}
function o (line 13) | function o(r,s,a){Object.defineProperty(r,"velocity",{get:function(){ret...
function e (line 13) | function e(){return s}
function SliderEffect (line 13) | function SliderEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function AngleEffect (line 13) | function AngleEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function ColorEffect (line 13) | function ColorEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function PointEffect (line 13) | function PointEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function LayerIndexEffect (line 13) | function LayerIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,...
function MaskIndexEffect (line 13) | function MaskIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0...
function CheckboxEffect (line 13) | function CheckboxEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function NoValueEffect (line 13) | function NoValueEffect(){this.p={}}
function EffectsManager (line 13) | function EffectsManager(t,e){var i=t.ef||[];this.effectElements=[];var r...
function GroupEffect (line 13) | function GroupEffect(t,e){this.init(t,e)}
function i (line 13) | function i(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.g...
function setLocationHref (line 13) | function setLocationHref(t){locationHref=t}
function searchAnimations (line 13) | function searchAnimations(){!0===standalone?animationManager.searchAnima...
function setSubframeRendering (line 13) | function setSubframeRendering(t){subframeEnabled=t}
function loadAnimation (line 13) | function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.p...
function setQuality (line 13) | function setQuality(t){if("string"==typeof t)switch(t){case"high":defaul...
function inBrowser (line 13) | function inBrowser(){return"undefined"!=typeof navigator}
function installPlugin (line 13) | function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}
function getFactory (line 13) | function getFactory(t){switch(t){case"propertyFactory":return PropertyFa...
function checkReady (line 13) | function checkReady(){"complete"===document.readyState&&(clearInterval(r...
function getQueryVariable (line 13) | function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i<e.le...
function ProjectInterface (line 17) | function ProjectInterface(){return{}}
function roundValues (line 17) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 17) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 17) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 17) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 17) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 17) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 17) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 17) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 17) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 17) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 17) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 17) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 17) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 17) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 17) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 17) | function BaseEvent(){}
function createSizedArray (line 17) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 17) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 17) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 17) | function DynamicPropertyContainer(){}
function t (line 17) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 17) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 17) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 17) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 17) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 17) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 17) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 17) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 17) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 17) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 17) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 17) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 17) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 17) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 17) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 17) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 17) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 17) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 17) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 17) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 17) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 17) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 17) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 17) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 17) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 17) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 17) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 17) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 17) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 17) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 17) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 17) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 17) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 17) | function r(t,e){return 1-3*e+3*t}
function s (line 17) | function s(t,e){return 3*e-6*t}
function a (line 17) | function a(t){return 3*t}
function m (line 17) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 17) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 17) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 17) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 17) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 17) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 17) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 17) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 17) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 17) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 17) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 17) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 17) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 17) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 17) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 17) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 17) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 17) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 17) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 17) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 17) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 17) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 17) | function a(){this.paths=this.localShapeCollection}
function e (line 17) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 17) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 17) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 17) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 17) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 17) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 17) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 17) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 17) | function ShapeModifier(){}
function TrimModifier (line 17) | function TrimModifier(){}
function RoundCornersModifier (line 17) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 17) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 17) | function RepeaterModifier(){}
function ShapeCollection (line 17) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 17) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 17) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 17) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 17) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 17) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 17) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 17) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 17) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 17) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 17) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 17) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 17) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 17) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 17) | function BaseRenderer(){}
function SVGRenderer (line 17) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 17) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 17) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 17) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 17) | function HierarchyElement(){}
function FrameElement (line 17) | function FrameElement(){}
function TransformElement (line 17) | function TransformElement(){}
function RenderableElement (line 17) | function RenderableElement(){}
function RenderableDOMElement (line 17) | function RenderableDOMElement(){}
function ProcessedElement (line 17) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 17) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 17) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 17) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 17) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 17) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 17) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 17) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 17) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 17) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 17) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 17) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 17) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 17) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 17) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 17) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 17) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 17) | function BaseElement(){}
function NullElement (line 17) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 17) | function SVGBaseElement(){}
function IShapeElement (line 17) | function IShapeElement(){}
function ITextElement (line 17) | function ITextElement(){}
function ICompElement (line 17) | function ICompElement(){}
function IImageElement (line 17) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 17) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 17) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 17) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 17) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 17) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 17) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 17) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 17) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 17) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 17) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 17) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 17) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 17) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 17) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 17) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 17) | function CVBaseElement(){}
function CVImageElement (line 17) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 17) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 17) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 17) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 17) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 17) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 17) | function CVEffects(){}
function HBaseElement (line 17) | function HBaseElement(t,e,i){}
function HSolidElement (line 17) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 17) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 17) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 17) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 17) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 17) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 17) | function HEffects(){}
function i (line 17) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 17) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 17) | function p(){n+=1,d()}
function m (line 17) | function m(){n-=1}
function f (line 17) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 17) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 17) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 17) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 17) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 17) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 17) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 17) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 17) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 17) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 17) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 17) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 17) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 17) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 17) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 17) | function degreesToRadians(t){return t*degToRads}
function length (line 17) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 17) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 17) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 17) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 17) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 17) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 17) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 17) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 17) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 17) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 17) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 17) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 17) | function i(){}
function s (line 17) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 17) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 17) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 17) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 17) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 17) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 17) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 17) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 17) | function c(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function d (line 17) | function d(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function u (line 17) | function u(e,t,i){function r(t){if(e.r.ix===t||"Round Corners 1"===t)ret...
function y (line 17) | function y(e,t,i){function r(t){return e.c.ix===t||"Copies"===t?r.copies...
function i (line 17) | function i(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?r:s[t-...
function r (line 17) | function r(t){switch(t){case"ADBE Text Document":return r.sourceText}}
function s (line 17) | function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mPro...
function a (line 17) | function a(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function n (line 17) | function n(t,e){var i=this.getMatrix(e);return this.applyPoint(i,t)}
function o (line 17) | function o(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function h (line 17) | function h(t,e){var i=this.getMatrix(e);return this.invertPoint(i,t)}
function l (line 17) | function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function p (line 17) | function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function m (line 17) | function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mP...
function f (line 17) | function f(){return[1,1,1,1]}
function r (line 17) | function r(t){switch(t){case"ADBE Root Vectors Group":case"Contents":cas...
function t (line 17) | function t(t){for(var e=0,i=r.layers.length;e<i;){if(r.layers[e].nm===t|...
function e (line 17) | function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:...
function e (line 17) | function e(t){this.compositions.push(t)}
function t (line 17) | function t(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compo...
function l (line 17) | function l(s,t,e,i){function r(t){for(var e=s.ef,i=0,r=e.length;i<r;){if...
function p (line 17) | function p(t,e,i,r){var s=ExpressionPropertyInterface(t.p);return t.p.se...
function a (line 17) | function a(t,e){this._mask=t,this._data=e}
function o (line 17) | function o(r,s,a){Object.defineProperty(r,"velocity",{get:function(){ret...
function e (line 17) | function e(){return s}
function SliderEffect (line 17) | function SliderEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function AngleEffect (line 17) | function AngleEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function ColorEffect (line 17) | function ColorEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function PointEffect (line 17) | function PointEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function LayerIndexEffect (line 17) | function LayerIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,...
function MaskIndexEffect (line 17) | function MaskIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0...
function CheckboxEffect (line 17) | function CheckboxEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function NoValueEffect (line 17) | function NoValueEffect(){this.p={}}
function EffectsManager (line 17) | function EffectsManager(t,e){var i=t.ef||[];this.effectElements=[];var r...
function GroupEffect (line 17) | function GroupEffect(t,e){this.init(t,e)}
function i (line 17) | function i(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.g...
function setLocationHref (line 17) | function setLocationHref(t){locationHref=t}
function searchAnimations (line 17) | function searchAnimations(){!0===standalone?animationManager.searchAnima...
function setSubframeRendering (line 17) | function setSubframeRendering(t){subframeEnabled=t}
function loadAnimation (line 17) | function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.p...
function setQuality (line 17) | function setQuality(t){if("string"==typeof t)switch(t){case"high":defaul...
function inBrowser (line 17) | function inBrowser(){return"undefined"!=typeof navigator}
function installPlugin (line 17) | function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}
function getFactory (line 17) | function getFactory(t){switch(t){case"propertyFactory":return PropertyFa...
function checkReady (line 17) | function checkReady(){"complete"===document.readyState&&(clearInterval(r...
function getQueryVariable (line 17) | function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i<e.le...
function ProjectInterface (line 21) | function ProjectInterface(){return{}}
function roundValues (line 21) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 21) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 21) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 21) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 21) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 21) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 21) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 21) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 21) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 21) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 21) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 21) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 21) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 21) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 21) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 21) | function BaseEvent(){}
function createSizedArray (line 21) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 21) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 21) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 21) | function DynamicPropertyContainer(){}
function t (line 21) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 21) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 21) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 21) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 21) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 21) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 21) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 21) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 21) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 21) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 21) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 21) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 21) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 21) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 21) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 21) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 21) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 21) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 21) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 21) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 21) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 21) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 21) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 21) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 21) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 21) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 21) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 21) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 21) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 21) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 21) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 21) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 21) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 21) | function r(t,e){return 1-3*e+3*t}
function s (line 21) | function s(t,e){return 3*e-6*t}
function a (line 21) | function a(t){return 3*t}
function m (line 21) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 21) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 21) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 21) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 21) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 21) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 21) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 21) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 21) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 21) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 21) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 21) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 21) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 21) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 21) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 21) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 21) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 21) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 21) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 21) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 21) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 21) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 21) | function a(){this.paths=this.localShapeCollection}
function e (line 21) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 21) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 21) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 21) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 21) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 21) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 21) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 21) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 21) | function ShapeModifier(){}
function TrimModifier (line 21) | function TrimModifier(){}
function RoundCornersModifier (line 21) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 21) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 21) | function RepeaterModifier(){}
function ShapeCollection (line 21) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 21) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 21) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 21) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 21) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 21) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 21) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 21) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 21) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 21) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 21) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 21) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 21) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 21) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 21) | function BaseRenderer(){}
function SVGRenderer (line 21) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 21) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 21) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 21) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 21) | function HierarchyElement(){}
function FrameElement (line 21) | function FrameElement(){}
function TransformElement (line 21) | function TransformElement(){}
function RenderableElement (line 21) | function RenderableElement(){}
function RenderableDOMElement (line 21) | function RenderableDOMElement(){}
function ProcessedElement (line 21) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 21) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 21) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 21) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 21) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 21) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 21) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 21) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 21) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 21) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 21) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 21) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 21) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 21) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 21) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 21) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 21) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 21) | function BaseElement(){}
function NullElement (line 21) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 21) | function SVGBaseElement(){}
function IShapeElement (line 21) | function IShapeElement(){}
function ITextElement (line 21) | function ITextElement(){}
function ICompElement (line 21) | function ICompElement(){}
function IImageElement (line 21) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 21) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 21) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 21) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 21) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 21) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 21) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 21) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 21) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 21) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 21) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 21) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 21) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 21) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 21) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 21) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 21) | function CVBaseElement(){}
function CVImageElement (line 21) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 21) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 21) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 21) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 21) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 21) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 21) | function CVEffects(){}
function HBaseElement (line 21) | function HBaseElement(t,e,i){}
function HSolidElement (line 21) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 21) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 21) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 21) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 21) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 21) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 21) | function HEffects(){}
function i (line 21) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 21) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 21) | function p(){n+=1,d()}
function m (line 21) | function m(){n-=1}
function f (line 21) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 21) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 21) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 21) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 21) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 21) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 21) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 21) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 21) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 21) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 21) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 21) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 21) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 21) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 21) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 21) | function degreesToRadians(t){return t*degToRads}
function length (line 21) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 21) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 21) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 21) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 21) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 21) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 21) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 21) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 21) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 21) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 21) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 21) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 21) | function i(){}
function s (line 21) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 21) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 21) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 21) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 21) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 21) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 21) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 21) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 21) | function c(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function d (line 21) | function d(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function u (line 21) | function u(e,t,i){function r(t){if(e.r.ix===t||"Round Corners 1"===t)ret...
function y (line 21) | function y(e,t,i){function r(t){return e.c.ix===t||"Copies"===t?r.copies...
function i (line 21) | function i(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?r:s[t-...
function r (line 21) | function r(t){switch(t){case"ADBE Text Document":return r.sourceText}}
function s (line 21) | function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mPro...
function a (line 21) | function a(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function n (line 21) | function n(t,e){var i=this.getMatrix(e);return this.applyPoint(i,t)}
function o (line 21) | function o(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function h (line 21) | function h(t,e){var i=this.getMatrix(e);return this.invertPoint(i,t)}
function l (line 21) | function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function p (line 21) | function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function m (line 21) | function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mP...
function f (line 21) | function f(){return[1,1,1,1]}
function r (line 21) | function r(t){switch(t){case"ADBE Root Vectors Group":case"Contents":cas...
function t (line 21) | function t(t){for(var e=0,i=r.layers.length;e<i;){if(r.layers[e].nm===t|...
function e (line 21) | function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:...
function e (line 21) | function e(t){this.compositions.push(t)}
function t (line 21) | function t(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compo...
function l (line 21) | function l(s,t,e,i){function r(t){for(var e=s.ef,i=0,r=e.length;i<r;){if...
function p (line 21) | function p(t,e,i,r){var s=ExpressionPropertyInterface(t.p);return t.p.se...
function a (line 21) | function a(t,e){this._mask=t,this._data=e}
function o (line 21) | function o(r,s,a){Object.defineProperty(r,"velocity",{get:function(){ret...
function e (line 21) | function e(){return s}
function SliderEffect (line 21) | function SliderEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function AngleEffect (line 21) | function AngleEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function ColorEffect (line 21) | function ColorEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function PointEffect (line 21) | function PointEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function LayerIndexEffect (line 21) | function LayerIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,...
function MaskIndexEffect (line 21) | function MaskIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0...
function CheckboxEffect (line 21) | function CheckboxEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function NoValueEffect (line 21) | function NoValueEffect(){this.p={}}
function EffectsManager (line 21) | function EffectsManager(t,e){var i=t.ef||[];this.effectElements=[];var r...
function GroupEffect (line 21) | function GroupEffect(t,e){this.init(t,e)}
function i (line 21) | function i(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.g...
function setLocationHref (line 21) | function setLocationHref(t){locationHref=t}
function searchAnimations (line 21) | function searchAnimations(){!0===standalone?animationManager.searchAnima...
function setSubframeRendering (line 21) | function setSubframeRendering(t){subframeEnabled=t}
function loadAnimation (line 21) | function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.p...
function setQuality (line 21) | function setQuality(t){if("string"==typeof t)switch(t){case"high":defaul...
function inBrowser (line 21) | function inBrowser(){return"undefined"!=typeof navigator}
function installPlugin (line 21) | function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}
function getFactory (line 21) | function getFactory(t){switch(t){case"propertyFactory":return PropertyFa...
function checkReady (line 21) | function checkReady(){"complete"===document.readyState&&(clearInterval(r...
function getQueryVariable (line 21) | function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i<e.le...
function ProjectInterface (line 25) | function ProjectInterface(){return{}}
function roundValues (line 25) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 25) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 25) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 25) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 25) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 25) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 25) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 25) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 25) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 25) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 25) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 25) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 25) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 25) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 25) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 25) | function BaseEvent(){}
function createSizedArray (line 25) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 25) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 25) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 25) | function DynamicPropertyContainer(){}
function t (line 25) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 25) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 25) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 25) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 25) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 25) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 25) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 25) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 25) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 25) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 25) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 25) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 25) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 25) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 25) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 25) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 25) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 25) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 25) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 25) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 25) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 25) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 25) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 25) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 25) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 25) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 25) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 25) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 25) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 25) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 25) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 25) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 25) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 25) | function r(t,e){return 1-3*e+3*t}
function s (line 25) | function s(t,e){return 3*e-6*t}
function a (line 25) | function a(t){return 3*t}
function m (line 25) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 25) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 25) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 25) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 25) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 25) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 25) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 25) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 25) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 25) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 25) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 25) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 25) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 25) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 25) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 25) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 25) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 25) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 25) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 25) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 25) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 25) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 25) | function a(){this.paths=this.localShapeCollection}
function e (line 25) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 25) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 25) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 25) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 25) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 25) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 25) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 25) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 25) | function ShapeModifier(){}
function TrimModifier (line 25) | function TrimModifier(){}
function RoundCornersModifier (line 25) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 25) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 25) | function RepeaterModifier(){}
function ShapeCollection (line 25) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 25) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 25) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 25) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 25) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 25) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 25) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 25) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 25) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 25) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 25) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 25) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 25) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 25) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 25) | function BaseRenderer(){}
function SVGRenderer (line 25) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 25) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 25) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 25) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 25) | function HierarchyElement(){}
function FrameElement (line 25) | function FrameElement(){}
function TransformElement (line 25) | function TransformElement(){}
function RenderableElement (line 25) | function RenderableElement(){}
function RenderableDOMElement (line 25) | function RenderableDOMElement(){}
function ProcessedElement (line 25) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 25) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 25) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 25) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 25) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 25) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 25) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 25) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 25) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 25) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 25) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 25) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 25) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 25) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 25) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 25) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 25) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 25) | function BaseElement(){}
function NullElement (line 25) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 25) | function SVGBaseElement(){}
function IShapeElement (line 25) | function IShapeElement(){}
function ITextElement (line 25) | function ITextElement(){}
function ICompElement (line 25) | function ICompElement(){}
function IImageElement (line 25) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 25) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 25) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 25) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 25) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 25) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 25) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 25) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 25) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 25) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 25) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 25) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 25) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 25) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 25) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 25) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 25) | function CVBaseElement(){}
function CVImageElement (line 25) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 25) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 25) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 25) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 25) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 25) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 25) | function CVEffects(){}
function HBaseElement (line 25) | function HBaseElement(t,e,i){}
function HSolidElement (line 25) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 25) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 25) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 25) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 25) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 25) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 25) | function HEffects(){}
function i (line 25) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 25) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 25) | function p(){n+=1,d()}
function m (line 25) | function m(){n-=1}
function f (line 25) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 25) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 25) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 25) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 25) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 25) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 25) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 25) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 25) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 25) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 25) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 25) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 25) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 25) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 25) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 25) | function degreesToRadians(t){return t*degToRads}
function length (line 25) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 25) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 25) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 25) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 25) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 25) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 25) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 25) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 25) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 25) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 25) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 25) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 25) | function i(){}
function s (line 25) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 25) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 25) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 25) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 25) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 25) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 25) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 25) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 25) | function c(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function d (line 25) | function d(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function u (line 25) | function u(e,t,i){function r(t){if(e.r.ix===t||"Round Corners 1"===t)ret...
function y (line 25) | function y(e,t,i){function r(t){return e.c.ix===t||"Copies"===t?r.copies...
function i (line 25) | function i(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?r:s[t-...
function r (line 25) | function r(t){switch(t){case"ADBE Text Document":return r.sourceText}}
function s (line 25) | function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mPro...
function a (line 25) | function a(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function n (line 25) | function n(t,e){var i=this.getMatrix(e);return this.applyPoint(i,t)}
function o (line 25) | function o(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function h (line 25) | function h(t,e){var i=this.getMatrix(e);return this.invertPoint(i,t)}
function l (line 25) | function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function p (line 25) | function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function m (line 25) | function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mP...
function f (line 25) | function f(){return[1,1,1,1]}
function r (line 25) | function r(t){switch(t){case"ADBE Root Vectors Group":case"Contents":cas...
function t (line 25) | function t(t){for(var e=0,i=r.layers.length;e<i;){if(r.layers[e].nm===t|...
function e (line 25) | function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:...
function e (line 25) | function e(t){this.compositions.push(t)}
function t (line 25) | function t(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compo...
function l (line 25) | function l(s,t,e,i){function r(t){for(var e=s.ef,i=0,r=e.length;i<r;){if...
function p (line 25) | function p(t,e,i,r){var s=ExpressionPropertyInterface(t.p);return t.p.se...
function a (line 25) | function a(t,e){this._mask=t,this._data=e}
function o (line 25) | function o(r,s,a){Object.defineProperty(r,"velocity",{get:function(){ret...
function e (line 25) | function e(){return s}
function SliderEffect (line 25) | function SliderEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function AngleEffect (line 25) | function AngleEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function ColorEffect (line 25) | function ColorEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function PointEffect (line 25) | function PointEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function LayerIndexEffect (line 25) | function LayerIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,...
function MaskIndexEffect (line 25) | function MaskIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0...
function CheckboxEffect (line 25) | function CheckboxEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function NoValueEffect (line 25) | function NoValueEffect(){this.p={}}
function EffectsManager (line 25) | function EffectsManager(t,e){var i=t.ef||[];this.effectElements=[];var r...
function GroupEffect (line 25) | function GroupEffect(t,e){this.init(t,e)}
function i (line 25) | function i(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.g...
function setLocationHref (line 25) | function setLocationHref(t){locationHref=t}
function searchAnimations (line 25) | function searchAnimations(){!0===standalone?animationManager.searchAnima...
function setSubframeRendering (line 25) | function setSubframeRendering(t){subframeEnabled=t}
function loadAnimation (line 25) | function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.p...
function setQuality (line 25) | function setQuality(t){if("string"==typeof t)switch(t){case"high":defaul...
function inBrowser (line 25) | function inBrowser(){return"undefined"!=typeof navigator}
function installPlugin (line 25) | function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}
function getFactory (line 25) | function getFactory(t){switch(t){case"propertyFactory":return PropertyFa...
function checkReady (line 25) | function checkReady(){"complete"===document.readyState&&(clearInterval(r...
function getQueryVariable (line 25) | function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i<e.le...
function ProjectInterface (line 29) | function ProjectInterface(){return{}}
function roundValues (line 29) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 29) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 29) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 29) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 29) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 29) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 29) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 29) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 29) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 29) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 29) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 29) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 29) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 29) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 29) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 29) | function BaseEvent(){}
function createSizedArray (line 29) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 29) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 29) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 29) | function DynamicPropertyContainer(){}
function t (line 29) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 29) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 29) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 29) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 29) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 29) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 29) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 29) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 29) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 29) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 29) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 29) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 29) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 29) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 29) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 29) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 29) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 29) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 29) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 29) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 29) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 29) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 29) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 29) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 29) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 29) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 29) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 29) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 29) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 29) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 29) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 29) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 29) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 29) | function r(t,e){return 1-3*e+3*t}
function s (line 29) | function s(t,e){return 3*e-6*t}
function a (line 29) | function a(t){return 3*t}
function m (line 29) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 29) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 29) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 29) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 29) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 29) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 29) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 29) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 29) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 29) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 29) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 29) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 29) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 29) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 29) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 29) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 29) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 29) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 29) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 29) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 29) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 29) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 29) | function a(){this.paths=this.localShapeCollection}
function e (line 29) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 29) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 29) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 29) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 29) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 29) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 29) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 29) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 29) | function ShapeModifier(){}
function TrimModifier (line 29) | function TrimModifier(){}
function RoundCornersModifier (line 29) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 29) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 29) | function RepeaterModifier(){}
function ShapeCollection (line 29) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 29) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 29) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 29) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 29) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 29) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 29) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 29) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 29) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 29) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 29) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 29) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 29) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 29) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 29) | function BaseRenderer(){}
function SVGRenderer (line 29) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 29) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 29) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 29) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 29) | function HierarchyElement(){}
function FrameElement (line 29) | function FrameElement(){}
function TransformElement (line 29) | function TransformElement(){}
function RenderableElement (line 29) | function RenderableElement(){}
function RenderableDOMElement (line 29) | function RenderableDOMElement(){}
function ProcessedElement (line 29) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 29) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 29) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 29) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 29) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 29) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 29) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 29) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 29) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 29) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 29) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 29) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 29) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 29) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 29) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 29) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 29) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 29) | function BaseElement(){}
function NullElement (line 29) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 29) | function SVGBaseElement(){}
function IShapeElement (line 29) | function IShapeElement(){}
function ITextElement (line 29) | function ITextElement(){}
function ICompElement (line 29) | function ICompElement(){}
function IImageElement (line 29) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 29) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 29) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 29) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 29) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 29) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 29) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 29) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 29) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 29) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 29) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 29) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 29) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 29) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 29) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 29) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 29) | function CVBaseElement(){}
function CVImageElement (line 29) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 29) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 29) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 29) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 29) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 29) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 29) | function CVEffects(){}
function HBaseElement (line 29) | function HBaseElement(t,e,i){}
function HSolidElement (line 29) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 29) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 29) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 29) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 29) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 29) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 29) | function HEffects(){}
function i (line 29) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 29) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 29) | function p(){n+=1,d()}
function m (line 29) | function m(){n-=1}
function f (line 29) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 29) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 29) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 29) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 29) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 29) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 29) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 29) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 29) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 29) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 29) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 29) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 29) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 29) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 29) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 29) | function degreesToRadians(t){return t*degToRads}
function length (line 29) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 29) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 29) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 29) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 29) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 29) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 29) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 29) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 29) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 29) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 29) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 29) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 29) | function i(){}
function s (line 29) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 29) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 29) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 29) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 29) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 29) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 29) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 29) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 29) | function c(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function d (line 29) | function d(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function u (line 29) | function u(e,t,i){function r(t){if(e.r.ix===t||"Round Corners 1"===t)ret...
function y (line 29) | function y(e,t,i){function r(t){return e.c.ix===t||"Copies"===t?r.copies...
function i (line 29) | function i(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?r:s[t-...
function r (line 29) | function r(t){switch(t){case"ADBE Text Document":return r.sourceText}}
function s (line 29) | function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mPro...
function a (line 29) | function a(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function n (line 29) | function n(t,e){var i=this.getMatrix(e);return this.applyPoint(i,t)}
function o (line 29) | function o(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function h (line 29) | function h(t,e){var i=this.getMatrix(e);return this.invertPoint(i,t)}
function l (line 29) | function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function p (line 29) | function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function m (line 29) | function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mP...
function f (line 29) | function f(){return[1,1,1,1]}
function r (line 29) | function r(t){switch(t){case"ADBE Root Vectors Group":case"Contents":cas...
function t (line 29) | function t(t){for(var e=0,i=r.layers.length;e<i;){if(r.layers[e].nm===t|...
function e (line 29) | function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:...
function e (line 29) | function e(t){this.compositions.push(t)}
function t (line 29) | function t(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compo...
function l (line 29) | function l(s,t,e,i){function r(t){for(var e=s.ef,i=0,r=e.length;i<r;){if...
function p (line 29) | function p(t,e,i,r){var s=ExpressionPropertyInterface(t.p);return t.p.se...
function a (line 29) | function a(t,e){this._mask=t,this._data=e}
function o (line 29) | function o(r,s,a){Object.defineProperty(r,"velocity",{get:function(){ret...
function e (line 29) | function e(){return s}
function SliderEffect (line 29) | function SliderEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function AngleEffect (line 29) | function AngleEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function ColorEffect (line 29) | function ColorEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function PointEffect (line 29) | function PointEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function LayerIndexEffect (line 29) | function LayerIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,...
function MaskIndexEffect (line 29) | function MaskIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0...
function CheckboxEffect (line 29) | function CheckboxEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function NoValueEffect (line 29) | function NoValueEffect(){this.p={}}
function EffectsManager (line 29) | function EffectsManager(t,e){var i=t.ef||[];this.effectElements=[];var r...
function GroupEffect (line 29) | function GroupEffect(t,e){this.init(t,e)}
function i (line 29) | function i(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.g...
function setLocationHref (line 29) | function setLocationHref(t){locationHref=t}
function searchAnimations (line 29) | function searchAnimations(){!0===standalone?animationManager.searchAnima...
function setSubframeRendering (line 29) | function setSubframeRendering(t){subframeEnabled=t}
function loadAnimation (line 29) | function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.p...
function setQuality (line 29) | function setQuality(t){if("string"==typeof t)switch(t){case"high":defaul...
function inBrowser (line 29) | function inBrowser(){return"undefined"!=typeof navigator}
function installPlugin (line 29) | function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}
function getFactory (line 29) | function getFactory(t){switch(t){case"propertyFactory":return PropertyFa...
function checkReady (line 29) | function checkReady(){"complete"===document.readyState&&(clearInterval(r...
function getQueryVariable (line 29) | function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i<e.le...
function ProjectInterface (line 33) | function ProjectInterface(){return{}}
function roundValues (line 33) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 33) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 33) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 33) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 33) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 33) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 33) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 33) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 33) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 33) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 33) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 33) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 33) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 33) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 33) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 33) | function BaseEvent(){}
function createSizedArray (line 33) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 33) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 33) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 33) | function DynamicPropertyContainer(){}
function t (line 33) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 33) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 33) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 33) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 33) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 33) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 33) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 33) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 33) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 33) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 33) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 33) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 33) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 33) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 33) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 33) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 33) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 33) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 33) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 33) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 33) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 33) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 33) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 33) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 33) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 33) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 33) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 33) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 33) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 33) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 33) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 33) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 33) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 33) | function r(t,e){return 1-3*e+3*t}
function s (line 33) | function s(t,e){return 3*e-6*t}
function a (line 33) | function a(t){return 3*t}
function m (line 33) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 33) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 33) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 33) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 33) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 33) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 33) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 33) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 33) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 33) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 33) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 33) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 33) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 33) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 33) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 33) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 33) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 33) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 33) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 33) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 33) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 33) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 33) | function a(){this.paths=this.localShapeCollection}
function e (line 33) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 33) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 33) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 33) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 33) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 33) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 33) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 33) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 33) | function ShapeModifier(){}
function TrimModifier (line 33) | function TrimModifier(){}
function RoundCornersModifier (line 33) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 33) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 33) | function RepeaterModifier(){}
function ShapeCollection (line 33) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 33) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 33) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 33) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 33) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 33) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 33) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 33) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 33) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 33) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 33) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 33) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 33) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 33) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 33) | function BaseRenderer(){}
function SVGRenderer (line 33) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 33) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 33) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 33) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 33) | function HierarchyElement(){}
function FrameElement (line 33) | function FrameElement(){}
function TransformElement (line 33) | function TransformElement(){}
function RenderableElement (line 33) | function RenderableElement(){}
function RenderableDOMElement (line 33) | function RenderableDOMElement(){}
function ProcessedElement (line 33) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 33) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 33) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 33) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 33) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 33) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 33) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 33) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 33) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 33) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 33) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 33) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 33) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 33) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 33) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 33) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 33) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 33) | function BaseElement(){}
function NullElement (line 33) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 33) | function SVGBaseElement(){}
function IShapeElement (line 33) | function IShapeElement(){}
function ITextElement (line 33) | function ITextElement(){}
function ICompElement (line 33) | function ICompElement(){}
function IImageElement (line 33) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 33) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 33) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 33) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 33) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 33) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 33) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 33) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 33) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 33) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 33) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 33) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 33) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 33) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 33) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 33) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 33) | function CVBaseElement(){}
function CVImageElement (line 33) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 33) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 33) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 33) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 33) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 33) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 33) | function CVEffects(){}
function HBaseElement (line 33) | function HBaseElement(t,e,i){}
function HSolidElement (line 33) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 33) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 33) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 33) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 33) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 33) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 33) | function HEffects(){}
function i (line 33) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 33) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 33) | function p(){n+=1,d()}
function m (line 33) | function m(){n-=1}
function f (line 33) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 33) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 33) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 33) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 33) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 33) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 33) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 33) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 33) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 33) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 33) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 33) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 33) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 33) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 33) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 33) | function degreesToRadians(t){return t*degToRads}
function length (line 33) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 33) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 33) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 33) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 33) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 33) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 33) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 33) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 33) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 33) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 33) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 33) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 33) | function i(){}
function s (line 33) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 33) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 33) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 33) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 33) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 33) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 33) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 33) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 33) | function c(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function d (line 33) | function d(e,t,i){function r(t){return e.p.ix===t?r.position:e.r.ix===t?...
function u (line 33) | function u(e,t,i){function r(t){if(e.r.ix===t||"Round Corners 1"===t)ret...
function y (line 33) | function y(e,t,i){function r(t){return e.c.ix===t||"Copies"===t?r.copies...
function i (line 33) | function i(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?r:s[t-...
function r (line 33) | function r(t){switch(t){case"ADBE Text Document":return r.sourceText}}
function s (line 33) | function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mPro...
function a (line 33) | function a(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function n (line 33) | function n(t,e){var i=this.getMatrix(e);return this.applyPoint(i,t)}
function o (line 33) | function o(t,e){var i=this.getMatrix(e);return i.props[12]=i.props[13]=i...
function h (line 33) | function h(t,e){var i=this.getMatrix(e);return this.invertPoint(i,t)}
function l (line 33) | function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function p (line 33) | function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){va...
function m (line 33) | function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mP...
function f (line 33) | function f(){return[1,1,1,1]}
function r (line 33) | function r(t){switch(t){case"ADBE Root Vectors Group":case"Contents":cas...
function t (line 33) | function t(t){for(var e=0,i=r.layers.length;e<i;){if(r.layers[e].nm===t|...
function e (line 33) | function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:...
function e (line 33) | function e(t){this.compositions.push(t)}
function t (line 33) | function t(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compo...
function l (line 33) | function l(s,t,e,i){function r(t){for(var e=s.ef,i=0,r=e.length;i<r;){if...
function p (line 33) | function p(t,e,i,r){var s=ExpressionPropertyInterface(t.p);return t.p.se...
function a (line 33) | function a(t,e){this._mask=t,this._data=e}
function o (line 33) | function o(r,s,a){Object.defineProperty(r,"velocity",{get:function(){ret...
function e (line 33) | function e(){return s}
function SliderEffect (line 33) | function SliderEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function AngleEffect (line 33) | function AngleEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function ColorEffect (line 33) | function ColorEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function PointEffect (line 33) | function PointEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,1,0,i)}
function LayerIndexEffect (line 33) | function LayerIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,...
function MaskIndexEffect (line 33) | function MaskIndexEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0...
function CheckboxEffect (line 33) | function CheckboxEffect(t,e,i){this.p=PropertyFactory.getProp(e,t.v,0,0,i)}
function NoValueEffect (line 33) | function NoValueEffect(){this.p={}}
function EffectsManager (line 33) | function EffectsManager(t,e){var i=t.ef||[];this.effectElements=[];var r...
function GroupEffect (line 33) | function GroupEffect(t,e){this.init(t,e)}
function i (line 33) | function i(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.g...
function setLocationHref (line 33) | function setLocationHref(t){locationHref=t}
function searchAnimations (line 33) | function searchAnimations(){!0===standalone?animationManager.searchAnima...
function setSubframeRendering (line 33) | function setSubframeRendering(t){subframeEnabled=t}
function loadAnimation (line 33) | function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.p...
function setQuality (line 33) | function setQuality(t){if("string"==typeof t)switch(t){case"high":defaul...
function inBrowser (line 33) | function inBrowser(){return"undefined"!=typeof navigator}
function installPlugin (line 33) | function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}
function getFactory (line 33) | function getFactory(t){switch(t){case"propertyFactory":return PropertyFa...
function checkReady (line 33) | function checkReady(){"complete"===document.readyState&&(clearInterval(r...
function getQueryVariable (line 33) | function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i<e.le...
function ProjectInterface (line 37) | function ProjectInterface(){return{}}
function roundValues (line 37) | function roundValues(t){bm_rnd=t?Math.round:function(t){return t}}
function styleDiv (line 37) | function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.l...
function BMEnterFrameEvent (line 37) | function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this....
function BMCompleteEvent (line 37) | function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}
function BMCompleteLoopEvent (line 37) | function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,thi...
function BMSegmentStartEvent (line 37) | function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.t...
function BMDestroyEvent (line 37) | function BMDestroyEvent(t,e){this.type=t,this.target=e}
function BMRenderFrameErrorEvent (line 37) | function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this....
function BMConfigErrorEvent (line 37) | function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}
function BMAnimationConfigErrorEvent (line 37) | function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e...
function HSVtoRGB (line 37) | function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=...
function RGBtoHSV (line 37) | function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a...
function addSaturationToRGB (line 37) | function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addBrightnessToRGB (line 37) | function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[...
function addHueToRGB (line 37) | function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);ret...
function BaseEvent (line 37) | function BaseEvent(){}
function createSizedArray (line 37) | function createSizedArray(t){return Array.apply(null,{length:t})}
function createNS (line 37) | function createNS(t){return document.createElementNS(svgNS,t)}
function createTag (line 37) | function createTag(t){return document.createElement(t)}
function DynamicPropertyContainer (line 37) | function DynamicPropertyContainer(){}
function t (line 37) | function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this...
function e (line 37) | function e(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function i (line 37) | function i(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(1,0,...
function o (line 37) | function o(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,0,...
function h (line 37) | function h(t){if(0===t)return this;var e=s(t),i=a(t);return this._t(e,-i...
function l (line 37) | function l(t,e){return this._t(1,e,t,1,0,0)}
function p (line 37) | function p(t,e){return this.shear(n(t),n(e))}
function m (line 37) | function m(t,e){var i=s(e),r=a(e);return this._t(i,r,0,0,-r,i,0,0,0,0,1,...
function f (line 37) | function f(t,e,i){return i||0===i||(i=1),1===t&&1===e&&1===i?this:this._...
function c (line 37) | function c(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this....
function d (line 37) | function d(t,e,i){return i=i||0,0!==t||0!==e||0!==i?this._t(1,0,0,0,0,1,...
function u (line 37) | function u(t,e,i,r,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0...
function y (line 37) | function y(){return this._identityCalculated||(this._identity=!(1!==this...
function g (line 37) | function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;...
function v (line 37) | function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}
function b (line 37) | function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}
function E (line 37) | function E(t,e,i){return{x:t*this.props[0]+e*this.props[4]+i*this.props[...
function x (line 37) | function x(t,e,i){return t*this.props[0]+e*this.props[4]+i*this.props[8]...
function P (line 37) | function P(t,e,i){return t*this.props[1]+e*this.props[5]+i*this.props[9]...
function S (line 37) | function S(t,e,i){return t*this.props[2]+e*this.props[6]+i*this.props[10...
function _ (line 37) | function _(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[...
function C (line 37) | function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1]...
function A (line 37) | function A(t){var e,i=t.length,r=[];for(e=0;e<i;e+=1)r[e]=C(t[e]);return r}
function T (line 37) | function T(t,e,i){var r=createTypedArray("float32",6);if(this.isIdentity...
function k (line 37) | function k(t,e,i){return this.isIdentity()?[t,e,i]:[t*this.props[0]+e*th...
function M (line 37) | function M(t,e){if(this.isIdentity())return t+","+e;var i=this.props;ret...
function D (line 37) | function D(){for(var t=0,e=this.props,i="matrix3d(";t<16;)i+=r(1e4*e[t])...
function w (line 37) | function w(t){return t<1e-6&&0<t||-1e-6<t&&t<0?r(1e4*t)/1e4:t}
function F (line 37) | function F(){var t=this.props;return"matrix("+w(t[0])+","+w(t[1])+","+w(...
function v (line 37) | function v(t){var e,i=t.length,n=this,r=0,s=n.i=n.j=0,a=n.S=[];for(i||(t...
function b (line 37) | function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}
function E (line 37) | function E(t,e){for(var i,r=t+"",s=0;s<r.length;)e[g&s]=g&(i^=19*e[g&s])...
function x (line 37) | function x(t){return String.fromCharCode.apply(0,t)}
function r (line 37) | function r(t,e){return 1-3*e+3*t}
function s (line 37) | function s(t,e){return 3*e-6*t}
function a (line 37) | function a(t){return 3*t}
function m (line 37) | function m(t,e,i){return((r(e,i)*t+s(e,i))*t+a(e))*t}
function f (line 37) | function f(t,e,i){return 3*r(e,i)*t*t+2*s(e,i)*t+a(e)}
function h (line 37) | function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Ar...
function extendPrototype (line 37) | function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(va...
function getDescriptor (line 37) | function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}
function createProxyFunction (line 37) | function createProxyFunction(t){function e(){}return e.prototype=t,e}
function bezFunction (line 37) | function bezFunction(){Math;function y(t,e,i,r,s,a){var n=t*r+e*s+i*a-s*...
function dataFunctionManager (line 37) | function dataFunctionManager(){function m(t,e,i){var r,s,a,n,o,h,l=t.len...
function u (line 37) | function u(t,e){var i=createTag("span");i.style.fontFamily=e;var r=creat...
function f (line 37) | function f(t,e){var i,r=this.offsetTime;"multidimensional"===this.propTy...
function N (line 37) | function N(t){var e=t[0]*degToRads,i=t[1]*degToRads,r=t[2]*degToRads,s=M...
function c (line 37) | function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyfra...
function d (line 37) | function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e...
function u (line 37) | function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effect...
function y (line 37) | function y(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function n (line 37) | function n(t,e,i,r){this.propType="unidimensional",this.mult=i||1,this.d...
function o (line 37) | function o(t,e,i,r){this.propType="multidimensional",this.mult=i||1,this...
function h (line 37) | function h(t,e,i,r){this.propType="unidimensional",this.keyframes=e.k,th...
function l (line 37) | function l(t,e,i,r){this.propType="multidimensional";var s,a,n,o,h,l=e.k...
function r (line 37) | function r(t,e,i){if(this.elem=t,this.frameId=-1,this.propType="transfor...
function ShapePath (line 37) | function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=c...
function t (line 37) | function t(t,e,i){var r,s,a,n,o,h,l,p,m,f=i.lastIndex,c=this.keyframes;i...
function a (line 37) | function a(){this.paths=this.localShapeCollection}
function e (line 37) | function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!...
function i (line 37) | function i(){if(this.elem.globalData.frameId!==this.frameId)if(this.effe...
function n (line 37) | function n(t,e,i){this.propType="shape",this.comp=t.comp,this.container=...
function r (line 37) | function r(t){this.effectsSequence.push(t),this.container.addDynamicProp...
function o (line 37) | function o(t,e,i){this.propType="shape",this.comp=t.comp,this.elem=t,thi...
function t (line 37) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,4),...
function t (line 37) | function t(t,e){this.v=shape_pool.newElement(),this.v.setPathData(!0,0),...
function t (line 37) | function t(t,e){this.v=shape_pool.newElement(),this.v.c=!0,this.localSha...
function ShapeModifier (line 37) | function ShapeModifier(){}
function TrimModifier (line 37) | function TrimModifier(){}
function RoundCornersModifier (line 37) | function RoundCornersModifier(){}
function PuckerAndBloatModifier (line 37) | function PuckerAndBloatModifier(){}
function RepeaterModifier (line 37) | function RepeaterModifier(){}
function ShapeCollection (line 37) | function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=...
function DashProperty (line 37) | function DashProperty(t,e,i,r){this.elem=t,this.frameId=-1,this.dataProp...
function GradientProperty (line 37) | function GradientProperty(t,e,i){this.data=e,this.c=createTypedArray("ui...
function t (line 37) | function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._is...
function e (line 37) | function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&...
function a (line 37) | function a(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.inde...
function t (line 37) | function t(t){this._imageLoaded=e.bind(this),this.testImageLoaded=functi...
function a (line 37) | function a(t){return t.response&&"object"==typeof t.response?t.response:...
function TextAnimatorProperty (line 37) | function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMask...
function TextAnimatorDataProperty (line 37) | function TextAnimatorDataProperty(t,e,i){var r={propType:!1},s=PropertyF...
function LetterProps (line 37) | function LetterProps(t,e,i,r,s,a){this.o=t,this.sw=e,this.sc=i,this.fc=r...
function TextProperty (line 37) | function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",...
function r (line 37) | function r(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.el...
function o (line 37) | function o(){return s?n[s-=1]:e()}
function BaseRenderer (line 37) | function BaseRenderer(){}
function SVGRenderer (line 37) | function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.ren...
function CanvasRenderer (line 37) | function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={cle...
function HybridRenderer (line 37) | function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this....
function MaskElement (line 37) | function MaskElement(t,e,i){this.data=t,this.element=e,this.globalData=i...
function HierarchyElement (line 37) | function HierarchyElement(){}
function FrameElement (line 37) | function FrameElement(){}
function TransformElement (line 37) | function TransformElement(){}
function RenderableElement (line 37) | function RenderableElement(){}
function RenderableDOMElement (line 37) | function RenderableDOMElement(){}
function ProcessedElement (line 37) | function ProcessedElement(t,e){this.elem=t,this.pos=e}
function SVGStyleData (line 37) | function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl...
function SVGShapeData (line 37) | function SVGShapeData(t,e,i){this.caches=[],this.styles=[],this.transfor...
function SVGTransformData (line 37) | function SVGTransformData(t,e,i){this.transform={mProps:t,op:e,container...
function SVGStrokeStyleData (line 37) | function SVGStrokeStyleData(t,e,i){this.initDynamicPropertyContainer(t),...
function SVGFillStyleData (line 37) | function SVGFillStyleData(t,e,i){this.initDynamicPropertyContainer(t),th...
function SVGGradientFillStyleData (line 37) | function SVGGradientFillStyleData(t,e,i){this.initDynamicPropertyContain...
function SVGGradientStrokeStyleData (line 37) | function SVGGradientStrokeStyleData(t,e,i){this.initDynamicPropertyConta...
function ShapeGroupData (line 37) | function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=create...
function e (line 37) | function e(t,e,i){(i||e.transform.op._mdf)&&e.transform.container.setAtt...
function i (line 37) | function i(t,e,i){var r,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;fo...
function r (line 37) | function r(t,e,i){var r=e.style;(e.c._mdf||i)&&r.pElem.setAttribute("fil...
function s (line 37) | function s(t,e,i){a(t,e,i),n(t,e,i)}
function a (line 37) | function a(t,e,i){var r,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v...
function n (line 37) | function n(t,e,i){var r=e.style,s=e.d;s&&(s._mdf||i)&&s.dashStr&&(r.pEle...
function ShapeTransformManager (line 37) | function ShapeTransformManager(){this.sequences={},this.sequenceList=[],...
function CVShapeData (line 37) | function CVShapeData(t,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0]...
function BaseElement (line 37) | function BaseElement(){}
function NullElement (line 37) | function NullElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i),th...
function SVGBaseElement (line 37) | function SVGBaseElement(){}
function IShapeElement (line 37) | function IShapeElement(){}
function ITextElement (line 37) | function ITextElement(){}
function ICompElement (line 37) | function ICompElement(){}
function IImageElement (line 37) | function IImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function ISolidElement (line 37) | function ISolidElement(t,e,i){this.initElement(t,e,i)}
function AudioElement (line 37) | function AudioElement(t,e,i){this.initFrame(),this.initRenderable(),this...
function SVGCompElement (line 37) | function SVGCompElement(t,e,i){this.layers=t.layers,this.supports3d=!0,t...
function SVGTextElement (line 37) | function SVGTextElement(t,e,i){this.textSpans=[],this.renderType="svg",t...
function SVGShapeElement (line 37) | function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,...
function SVGTintFilter (line 37) | function SVGTintFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGFillFilter (line 37) | function SVGFillFilter(t,e){this.filterManager=e;var i=createNS("feColor...
function SVGGaussianBlurEffect (line 37) | function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAtt...
function SVGStrokeEffect (line 37) | function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,t...
function SVGTritoneFilter (line 37) | function SVGTritoneFilter(t,e){this.filterManager=e;var i=createNS("feCo...
function SVGProLevelsFilter (line 37) | function SVGProLevelsFilter(t,e){this.filterManager=e;var i=this.filterM...
function SVGDropShadowEffect (line 37) | function SVGDropShadowEffect(t,e){var i=e.container.globalData.renderCon...
function SVGMatte3Effect (line 37) | function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e...
function SVGEffects (line 37) | function SVGEffects(t){var e,i,r=t.data.ef?t.data.ef.length:0,s=createEl...
function CVContextData (line 37) | function CVContextData(){this.saved=[],this.cArrPos=0,this.cTr=new Matri...
function CVBaseElement (line 37) | function CVBaseElement(){}
function CVImageElement (line 37) | function CVImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),th...
function CVCompElement (line 37) | function CVCompElement(t,e,i){this.completeLayers=!1,this.layers=t.layer...
function CVMaskElement (line 37) | function CVMaskElement(t,e){this.data=t,this.element=e,this.masksPropert...
function CVShapeElement (line 37) | function CVShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,t...
function CVSolidElement (line 37) | function CVSolidElement(t,e,i){this.initElement(t,e,i)}
function CVTextElement (line 37) | function CVTextElement(t,e,i){this.textSpans=[],this.yOffset=0,this.fill...
function CVEffects (line 37) | function CVEffects(){}
function HBaseElement (line 37) | function HBaseElement(t,e,i){}
function HSolidElement (line 37) | function HSolidElement(t,e,i){this.initElement(t,e,i)}
function HCompElement (line 37) | function HCompElement(t,e,i){this.layers=t.layers,this.supports3d=!t.has...
function HShapeElement (line 37) | function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,th...
function HTextElement (line 37) | function HTextElement(t,e,i){this.textSpans=[],this.textPaths=[],this.cu...
function HImageElement (line 37) | function HImageElement(t,e,i){this.assetData=e.getAssetData(t.refId),thi...
function HCameraElement (line 37) | function HCameraElement(t,e,i){this.initFrame(),this.initBaseData(t,e,i)...
function HEffects (line 37) | function HEffects(){}
function i (line 37) | function i(t){for(var e=0,i=t.target;e<a;)s[e].animation===i&&(s.splice(...
function l (line 37) | function l(t,e){if(!t)return null;for(var i=0;i<a;){if(s[i].elem==t&&nul...
function p (line 37) | function p(){n+=1,d()}
function m (line 37) | function m(){n-=1}
function f (line 37) | function f(t,e){t.addEventListener("destroy",i),t.addEventListener("_act...
function c (line 37) | function c(t){var e,i=t-r;for(e=0;e<a;e+=1)s[e].animation.advanceTime(i)...
function e (line 37) | function e(t){r=t,window.requestAnimationFrame(c)}
function d (line 37) | function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}
function r (line 37) | function r(){var t,e=i.length;for(t=0;t<e;t+=1)i[t].release();i.length=0}
function $bm_isInstanceOfArray (line 37) | function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constr...
function isNumerable (line 37) | function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===...
function $bm_neg (line 37) | function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t ins...
function sum (line 37) | function sum(t,e){var i=typeof t,r=typeof e;if("string"===i||"string"===...
function sub (line 37) | function sub(t,e){var i=typeof t,r=typeof e;if(isNumerable(i,t)&&isNumer...
function mul (line 37) | function mul(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function div (line 37) | function div(t,e){var i,r,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&i...
function mod (line 37) | function mod(t,e){return"string"==typeof t&&(t=parseInt(t)),"string"==ty...
function clamp (line 37) | function clamp(t,e,i){if(i<e){var r=i;i=e,e=r}return Math.min(Math.max(t...
function radiansToDegrees (line 37) | function radiansToDegrees(t){return t/degToRads}
function degreesToRadians (line 37) | function degreesToRadians(t){return t*degToRads}
function length (line 37) | function length(t,e){if("number"==typeof t||t instanceof Number)return e...
function normalize (line 37) | function normalize(t){return div(t,length(t))}
function rgbToHsl (line 37) | function rgbToHsl(t){var e,i,r=t[0],s=t[1],a=t[2],n=Math.max(r,s,a),o=Ma...
function hue2rgb (line 37) | function hue2rgb(t,e,i){return i<0&&(i+=1),1<i&&(i-=1),i<1/6?t+6*(e-t)*i...
function hslToRgb (line 37) | function hslToRgb(t){var e,i,r,s=t[0],a=t[1],n=t[2];if(0===a)e=i=r=n;els...
function linear (line 37) | function linear(t,e,i,r,s){if(void 0!==r&&void 0!==s||(r=e,s=i,e=0,i=1),...
function random (line 37) | function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)...
function createPath (line 37) | function createPath(t,e,i,r){var s,a=t.length,n=shape_pool.newElement();...
function initiateExpression (line 37) | function initiateExpression(elem,data,property){var val=data.x,needsVelo...
function o (line 37) | function o(t,e,i){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLow...
function h (line 37) | function h(t,e,i){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var r...
function l (line 37) | function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(...
function i (line 37) | function i(){}
function s (line 37) | function s(t){if("Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE...
function n (line 37) | function n(t,e,i){var r,s=[],a=t?t.length:0;for(r=0;r<a;r+=1)"gr"==t[r]....
function o (line 37) | function o(t,e,i){var r=function(t){switch(t){case"ADBE Vectors Group":c...
function h (line 37) | function h(t,e,i){function r(t){return"Color"===t||"color"===t?r.color:"...
function l (line 37) | function l(t,e,i){var r=propertyGroupFactory(l,i),s=propertyGroupFactory...
function p (line 37) | function p(e,t,i){function r(t){return t===e.e.ix||"End"===t||"end"===t?...
function m (line 37) | function m(e,t,i){function r(t){return e.a.ix===t||"Anchor Point"===t?r....
function f (line 37) | function f(e,t,i){function r(t){return e.p.ix===t?r.position:e.s.ix===t?...
function c (line 37) | function
Condensed preview — 29 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,780K chars).
[
{
"path": ".gitignore",
"chars": 81,
"preview": "node_modules/\nnpm-debug.log*\n.npm\n.DS_Store\nlogs\npublic/assets/images/**/*.min.*\n"
},
{
"path": ".nvmrc",
"chars": 7,
"preview": "18.12.1"
},
{
"path": "LICENSE",
"chars": 1072,
"preview": "MIT License\n\nCopyright (c) 2020 Todd H. Gardner\n\nPermission is hereby granted, free of charge, to any person obtaining a"
},
{
"path": "README.md",
"chars": 801,
"preview": "# Fundamentals of Web Performance Demo Website\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/toddhga"
},
{
"path": "package.json",
"chars": 1207,
"preview": "{\n \"name\": \"perf-training-website\",\n \"version\": \"2.0.0\",\n \"description\": \"Example website for 'Fundamentals of Web Pe"
},
{
"path": "public/assets/css/banner.css",
"chars": 766,
"preview": ".consent-banner {\n background-color: #182368;\n min-height: 240px;\n left: 0;\n right: 0;\n z-index: 9999;\n\n position:"
},
{
"path": "public/assets/css/index.css",
"chars": 47645,
"preview": "body.index .hero { padding: 40px 0; }\nbody.index .hero .background-wrap { top: 0; left: 0; right: 0; display: flex; posi"
},
{
"path": "public/assets/css/main.css",
"chars": 10092,
"preview": "@import url(/assets/vendor/fontello/css/fontello.css);\n@import url(/assets/css/banner.css);\n@import url(/assets/css/inde"
},
{
"path": "public/assets/images/favicon/site.webmanifest.json",
"chars": 307,
"preview": "{\"name\":\"\",\"short_name\":\"\",\"icons\":[{\"src\":\"/assets/images/favicon/android-chrome-192x192.png\",\"sizes\":\"192x192\",\"type\":"
},
{
"path": "public/assets/js/banner.js",
"chars": 1226,
"preview": "/**\n * This renders a Cookie/GDPR consent banner into the page.\n */\n(function (ready) {\n if (document.readyState === \"c"
},
{
"path": "public/assets/js/util/lazyloader.js",
"chars": 1548,
"preview": "\n/**\n * lazyLoader\n * Check for elements in the document to be loaded later when visible to the user.\n * @see https://de"
},
{
"path": "public/assets/js/util/perf.js",
"chars": 2639,
"preview": "/**\n * Custom Real User Monitoring Performance Agent\n * Demonstration for \"Fundamentals of Web Performance\"\n * by Todd G"
},
{
"path": "public/assets/vendor/chatty/bulky.js",
"chars": 2619682,
"preview": "/**\n * The following code is a bunch of bulky library code to simulate the browser\n * work to compile and evaluate an ex"
},
{
"path": "public/assets/vendor/chatty/chatty.css",
"chars": 1153,
"preview": "body {\n display: flex;\n flex-direction: column;\n height: calc(100% - 30px);\n background-color: #d7efeb;\n padding: 1"
},
{
"path": "public/assets/vendor/chatty/chatty.js",
"chars": 2487,
"preview": "(function () {\n if (!window._chatty) {\n return;\n }\n\n var config = Object.assign({ open: true }, window._chatty);\n\n"
},
{
"path": "public/assets/vendor/chatty/index.html",
"chars": 899,
"preview": "<html>\n <head>\n <link rel=\"stylesheet\" href=\"/assets/vendor/chatty/chatty.css\">\n <script src=\"/assets/vendor/chat"
},
{
"path": "public/assets/vendor/fontello/LICENSE.txt",
"chars": 180,
"preview": "Font license info\n\n\n## Font Awesome\n\n Copyright (C) 2016 by Dave Gandy\n\n Author: Dave Gandy\n License: SIL ()\n"
},
{
"path": "public/assets/vendor/fontello/README.txt",
"chars": 2876,
"preview": "This webfont is generated by http://fontello.com open source project.\n\n\n================================================"
},
{
"path": "public/assets/vendor/fontello/config.json",
"chars": 1691,
"preview": "{\n \"name\": \"\",\n \"css_prefix_text\": \"icon-\",\n \"css_use_suffix\": false,\n \"hinting\": false,\n \"units_per_em\": 1000,\n \""
},
{
"path": "public/assets/vendor/fontello/css/animation.css",
"chars": 1857,
"preview": "/*\n Animation example, for spinners\n*/\n.animate-spin {\n -moz-animation: spin 2s infinite linear;\n -o-animation: spin"
},
{
"path": "public/assets/vendor/fontello/css/fontello-codes.css",
"chars": 648,
"preview": "\n.icon-thumbs-up:before { content: '\\e800'; } /* '' */\n.icon-info-circled:before { content: '\\e801'; } /* '' */\n.icon-"
},
{
"path": "public/assets/vendor/fontello/css/fontello-embedded.css",
"chars": 12523,
"preview": "@font-face {\n font-family: 'fontello';\n src: url('../font/fontello.eot?72351056');\n src: url('../font/fontello.eot?72"
},
{
"path": "public/assets/vendor/fontello/css/fontello-ie7-codes.css",
"chars": 1231,
"preview": "\n.icon-thumbs-up { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }\n.icon-info-"
},
{
"path": "public/assets/vendor/fontello/css/fontello-ie7.css",
"chars": 1482,
"preview": "[class^=\"icon-\"], [class*=\" icon-\"] {\n font-family: 'fontello';\n font-style: normal;\n font-weight: normal;\n \n /* fix"
},
{
"path": "public/assets/vendor/fontello/css/fontello.css",
"chars": 2387,
"preview": "@font-face {\n font-family: 'fontello';\n src: url('../font/fontello.eot?28564024');\n src: url('../font/fontello.eot?28"
},
{
"path": "public/assets/vendor/fontello/demo.html",
"chars": 7955,
"preview": "<!DOCTYPE html>\n<html>\n <head><!--[if lt IE 9]><script language=\"javascript\" type=\"text/javascript\" src=\"//html5shim.go"
},
{
"path": "public/index.html",
"chars": 14036,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n\n <meta charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge"
},
{
"path": "server/server.js",
"chars": 1935,
"preview": "/**\n * server.js\n * Webserver simulation. You shouldn't need to modify this as part of the\n * training\n */\nconst fs = re"
},
{
"path": "tools/imageOptimizer.js",
"chars": 1031,
"preview": "const path = require('path');\nconst fs = require('fs').promises;\n\nconst imagemin = require('imagemin');\nconst imageminJp"
}
]
About this extraction
This page contains the full source code of the toddhgardner/perf-training-website GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 29 files (2.6 MB), approximately 686.8k tokens, and a symbol index with 2595 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.