├── .eslintignore ├── public ├── logo.png ├── brand-full.png ├── hashnode-logo.png ├── brand-full-white.png └── Hashnode Blog Cards Screenshot.png ├── utils ├── asyncForEach.js ├── datafetcher │ ├── getBase64.js │ ├── getBlogData.js │ └── getUserData.js ├── Constants.js └── blogCard.js ├── .gitignore ├── package.json ├── LICENSE ├── pages ├── 404.js ├── api │ ├── getHashnodeBlog.js │ ├── getHashnodeBlogBySequence.js │ └── getLatestHashnodeBlog.js ├── _app.js └── index.js ├── styles ├── Error.module.css ├── globals.css ├── PlayGround.module.css └── Home.module.css ├── .eslintrc.js ├── components ├── playGround.js └── apiPlayGround │ ├── getHashnodeBlog.js │ ├── getLatestHashnodeBlog.js │ └── getHashnodeBlogBySequence.js ├── assets ├── loader.json └── 404.json └── README.md /.eslintignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Souravdey777/HashnodeBlogCards/HEAD/public/logo.png -------------------------------------------------------------------------------- /public/brand-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Souravdey777/HashnodeBlogCards/HEAD/public/brand-full.png -------------------------------------------------------------------------------- /public/hashnode-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Souravdey777/HashnodeBlogCards/HEAD/public/hashnode-logo.png -------------------------------------------------------------------------------- /public/brand-full-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Souravdey777/HashnodeBlogCards/HEAD/public/brand-full-white.png -------------------------------------------------------------------------------- /public/Hashnode Blog Cards Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Souravdey777/HashnodeBlogCards/HEAD/public/Hashnode Blog Cards Screenshot.png -------------------------------------------------------------------------------- /utils/asyncForEach.js: -------------------------------------------------------------------------------- 1 | const asyncForEach = async (array, callback) => { 2 | for (let index = 0; index < array.length; index++) { 3 | await callback(array[index], index, array); 4 | } 5 | }; 6 | 7 | export default asyncForEach; 8 | -------------------------------------------------------------------------------- /utils/datafetcher/getBase64.js: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | 3 | const getBase64 = async (url) => { 4 | return await axios 5 | .get(url, { 6 | responseType: "arraybuffer", 7 | }) 8 | .then((response) => 9 | Buffer.from(response.data, "binary").toString("base64") 10 | ); 11 | }; 12 | 13 | export default getBase64; 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | TODO 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env.local 30 | .env.development.local 31 | .env.test.local 32 | .env.production.local 33 | 34 | # vercel 35 | .vercel 36 | -------------------------------------------------------------------------------- /utils/datafetcher/getBlogData.js: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import { HASHNODE_API_URL } from "../Constants"; 3 | 4 | const getHashnodeBlog = async (slug, hostname) => { 5 | try { 6 | const result = await axios.post(HASHNODE_API_URL, { 7 | query: `query{ 8 | post(slug:"${slug}",hostname:"${hostname}") { 9 | author{ 10 | username 11 | name 12 | photo 13 | } 14 | title 15 | coverImage 16 | dateAdded 17 | brief 18 | slug 19 | } 20 | }`, 21 | }); 22 | const filteredResult = result.data; 23 | return filteredResult; 24 | } catch (error) { 25 | console.error(error); 26 | return error; 27 | } 28 | }; 29 | 30 | export default getHashnodeBlog; 31 | -------------------------------------------------------------------------------- /utils/Constants.js: -------------------------------------------------------------------------------- 1 | export const HASHNODE_API_URL = "https://api.hashnode.com/"; 2 | 3 | export const THEMES = [ 4 | { 5 | THEME_NAME: "light", 6 | SVG_fill: "#ffffff", 7 | SVG_stroke: "#E5E7EB", 8 | author_name: "#424242", 9 | author_username: "#424242", 10 | pub_date: "#424242", 11 | blog_title: "#333333", 12 | blog_name: "#616161", 13 | blog_brief: "#333333", 14 | }, 15 | { 16 | THEME_NAME: "dark", 17 | SVG_fill: "#18191A", 18 | SVG_stroke: "#AEAEAE", 19 | author_name: "#F5F5F5", 20 | author_username: "#AEAEAE", 21 | pub_date: "#AEAEAE", 22 | blog_title: "#F5F5F5", 23 | blog_name: "#AEAEAE", 24 | blog_brief: "#AEAEAE", 25 | }, 26 | { 27 | THEME_NAME: "blue", 28 | SVG_fill: "#2962ff", 29 | SVG_stroke: "#F5F5F5", 30 | author_name: "#F5F5F5", 31 | author_username: "#F5F5F5", 32 | pub_date: "#F5F5F5", 33 | blog_title: "#F5F5F5", 34 | blog_name: "#F5F5F5", 35 | blog_brief: "#F5F5F5", 36 | }, 37 | ]; 38 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hashnode-blog-cards", 3 | "version": "0.1.0", 4 | "author": { 5 | "email": "piyush.kolkata@gmail.com", 6 | "name": "Sourav Dey" 7 | }, 8 | "private": true, 9 | "scripts": { 10 | "dev": "next dev", 11 | "build": "next build", 12 | "start": "next start", 13 | "lint": "eslint --fix .", 14 | "format": "prettier --write './**/*.{js,jsx,ts,tsx,css,md,json}' --config ./.prettierrc" 15 | }, 16 | "dependencies": { 17 | "axios": "^0.21.1", 18 | "next": "10.0.5", 19 | "prop-types": "^15.7.2", 20 | "react": "17.0.1", 21 | "react-dom": "17.0.1", 22 | "react-lottie": "^1.2.3" 23 | }, 24 | "devDependencies": { 25 | "eslint": "^7.19.0", 26 | "eslint-config-prettier": "^7.2.0", 27 | "eslint-plugin-jsx-a11y": "^6.4.1", 28 | "eslint-plugin-prettier": "^3.3.1", 29 | "eslint-plugin-react": "^7.22.0", 30 | "eslint-plugin-react-hooks": "^4.2.0", 31 | "eslint-plugin-simple-import-sort": "^7.0.0", 32 | "prettier": "^2.2.1" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /utils/datafetcher/getUserData.js: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import { HASHNODE_API_URL } from "../Constants"; 3 | 4 | const getLatestHashnodeBlog = async (username, page = 0) => { 5 | try { 6 | const result = await axios.post(HASHNODE_API_URL, { 7 | query: `query{ 8 | user(username: "${username}") { 9 | publicationDomain 10 | publication { 11 | posts(page:${page}) { 12 | author{ 13 | username 14 | name 15 | photo 16 | } 17 | title 18 | coverImage 19 | dateAdded 20 | brief 21 | slug 22 | } 23 | } 24 | } 25 | }`, 26 | }); 27 | const filteredResult = result.data; 28 | return filteredResult; 29 | } catch (error) { 30 | console.error(error); 31 | return error; 32 | } 33 | }; 34 | 35 | export default getLatestHashnodeBlog; 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Sourav Dey 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /pages/404.js: -------------------------------------------------------------------------------- 1 | import * as animationData from "../assets/404.json"; 2 | import Lottie from "react-lottie"; 3 | import React from "react"; 4 | import styles from "../styles/Error.module.css"; 5 | 6 | export default function Custom404() { 7 | const defaultOptions = { 8 | loop: true, 9 | autoplay: true, 10 | animationData: animationData.default, 11 | rendererSettings: { 12 | preserveAspectRatio: "xMidYMid slice", 13 | }, 14 | }; 15 | return ( 16 |
17 |
18 | 26 |
27 | 28 |
29 |
404
30 |
31 | It looks like you're lost... 32 |
33 | 37 | 38 | 🚀 39 | {" "} 40 | GO TO HOMEPAGE → 41 | 42 |
43 |
44 | ); 45 | } 46 | -------------------------------------------------------------------------------- /styles/Error.module.css: -------------------------------------------------------------------------------- 1 | .errorContainer { 2 | padding: 5rem 2rem; 3 | min-height: 100vh; 4 | display: flex; 5 | flex-direction: row; 6 | font-family: Inter, ui-sans-serif, system-ui, -apple-system, 7 | BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", 8 | sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", 9 | "Noto Color Emoji"; 10 | background-color: rgba(245, 247, 250); 11 | } 12 | 13 | .animationContainer { 14 | margin: auto; 15 | } 16 | 17 | .textContainer { 18 | flex: 0.5; 19 | display: flex; 20 | flex-direction: column; 21 | justify-content: center; 22 | align-items: flex-start; 23 | } 24 | 25 | .headingText { 26 | color: #2962ff; 27 | text-decoration: none; 28 | font-weight: 900; 29 | font-size: 6rem; 30 | margin: 0; 31 | line-height: 1.15; 32 | } 33 | 34 | .subheadingText { 35 | text-decoration: none; 36 | font-size: 1.1rem; 37 | margin: 0; 38 | line-height: 1.15; 39 | } 40 | 41 | .link { 42 | margin-top: 3rem; 43 | padding: 1rem; 44 | border-radius: 10px; 45 | text-decoration: none; 46 | color: #424242; 47 | font-size: 1rem; 48 | font-weight: bold; 49 | line-height: 1.15; 50 | } 51 | .link:hover { 52 | color: #2962ff; 53 | background-color: #ffffff; 54 | } 55 | 56 | @media (max-width: 769px) { 57 | .errorContainer { 58 | flex-direction: column; 59 | } 60 | .textContainer { 61 | align-items: center; 62 | text-align: center; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: ["simple-import-sort"], 3 | root: true, // Make sure eslint picks up the config at the root of the directory 4 | parserOptions: { 5 | ecmaVersion: 2021, // Use the latest ecmascript standard 6 | sourceType: "module", // Allows using import/export statements 7 | ecmaFeatures: { 8 | jsx: true, // Enable JSX since we're using React 9 | }, 10 | }, 11 | settings: { 12 | react: { 13 | version: "detect", // Automatically detect the react version 14 | }, 15 | }, 16 | env: { 17 | browser: true, // Enables browser globals like window and document 18 | amd: true, // Enables require() and define() as global variables as per the amd spec. 19 | node: true, // Enables Node.js global variables and Node.js scoping. 20 | }, 21 | extends: [ 22 | "eslint:recommended", 23 | "plugin:react/recommended", 24 | "plugin:jsx-a11y/recommended", 25 | "plugin:prettier/recommended", // Make this the last element so prettier config overrides other formatting rules 26 | ], 27 | rules: { 28 | "prettier/prettier": ["error", {}, { usePrettierrc: true }], // Use our .prettierrc file as source 29 | "react/react-in-jsx-scope": "off", 30 | "jsx-a11y/no-onchange": 0, 31 | "jsx-a11y/anchor-is-valid": [ 32 | "error", 33 | { 34 | components: ["Link"], 35 | specialLink: ["hrefLeft", "hrefRight"], 36 | aspects: ["invalidHref", "preferButton"], 37 | }, 38 | ], 39 | }, 40 | }; 41 | -------------------------------------------------------------------------------- /pages/api/getHashnodeBlog.js: -------------------------------------------------------------------------------- 1 | import getHashnodeBlog from "../../utils/datafetcher/getBlogData"; 2 | import blogCard from "../../utils/blogCard"; 3 | 4 | export default async (req, res) => { 5 | res.setHeader("Access-Control-Allow-Credentials", true); 6 | res.setHeader("Access-Control-Allow-Origin", "*"); 7 | res.setHeader( 8 | "Access-Control-Allow-Methods", 9 | "GET,OPTIONS,PATCH,DELETE,POST,PUT" 10 | ); 11 | res.setHeader( 12 | "Access-Control-Allow-Headers", 13 | "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version" 14 | ); 15 | try { 16 | if (!req.query.url) { 17 | res.write(JSON.stringify({ error: "URL parameter is missing!" })); 18 | res.end(); 19 | return; 20 | } 21 | var { hostname, pathname } = new URL(req.query.url); 22 | const slug = pathname.replace("/", ""); 23 | const large = req.query.large === "true" ? true : false; 24 | const theme = req.query.theme; 25 | const resultData = await getHashnodeBlog(slug, hostname); 26 | if (!resultData.data.post) { 27 | res.write(JSON.stringify({ error: "Post does not exits!" })); 28 | res.end(); 29 | return; 30 | } 31 | const blogCardObj = await blogCard( 32 | resultData.data.post, 33 | hostname, 34 | large, 35 | theme 36 | ); 37 | res.writeHead(200, { "Content-Type": "image/svg+xml" }); 38 | res.write(blogCardObj); 39 | res.end(); 40 | } catch (error) { 41 | console.log(error); 42 | res.send("Error while fetching the data" + error); 43 | } 44 | }; 45 | -------------------------------------------------------------------------------- /pages/api/getHashnodeBlogBySequence.js: -------------------------------------------------------------------------------- 1 | import getLatestHashnodeBlog from "../../utils/datafetcher/getUserData"; 2 | import blogCard from "../../utils/blogCard"; 3 | 4 | export default async (req, res) => { 5 | res.setHeader("Access-Control-Allow-Credentials", true); 6 | res.setHeader("Access-Control-Allow-Origin", "*"); 7 | res.setHeader( 8 | "Access-Control-Allow-Methods", 9 | "GET,OPTIONS,PATCH,DELETE,POST,PUT" 10 | ); 11 | res.setHeader( 12 | "Access-Control-Allow-Headers", 13 | "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version" 14 | ); 15 | try { 16 | if (!req.query.username || !req.query.sequence) { 17 | res.write(JSON.stringify({ error: "Query parameters are missing!" })); 18 | res.end(); 19 | return; 20 | } else if (req.query.sequence < 1) { 21 | res.write(JSON.stringify({ error: "Please enter a valid sequence!" })); 22 | res.end(); 23 | return; 24 | } 25 | const large = req.query.large === "true" ? true : false; 26 | const theme = req.query.theme; 27 | const { username, sequence } = req.query; 28 | var sequenceBy6 = sequence % 6; 29 | sequenceBy6 = sequenceBy6 === 0 ? 6 : sequenceBy6; 30 | const page = parseInt((sequence - 1) / 6); 31 | const resultData = await getLatestHashnodeBlog(username, page); 32 | if (!resultData.data.user.publication.posts[sequenceBy6 - 1]) { 33 | res.write(JSON.stringify({ error: "Post does not exits!" })); 34 | res.end(); 35 | return; 36 | } 37 | const blogCardObj = await blogCard( 38 | resultData.data.user.publication.posts[sequenceBy6 - 1], 39 | resultData.data.user.publicationDomain, 40 | large, 41 | theme 42 | ); 43 | res.writeHead(200, { "Content-Type": "image/svg+xml" }); 44 | res.write(blogCardObj); 45 | res.end(); 46 | } catch (error) { 47 | console.log(error); 48 | res.send("Error while fetching the data" + error); 49 | } 50 | }; 51 | -------------------------------------------------------------------------------- /pages/api/getLatestHashnodeBlog.js: -------------------------------------------------------------------------------- 1 | import getLatestHashnodeBlog from "../../utils/datafetcher/getUserData"; 2 | import blogCard from "../../utils/blogCard"; 3 | import asyncForEach from "../../utils/asyncForEach"; 4 | 5 | export default async (req, res) => { 6 | res.setHeader("Access-Control-Allow-Credentials", true); 7 | res.setHeader("Access-Control-Allow-Origin", "*"); 8 | res.setHeader( 9 | "Access-Control-Allow-Methods", 10 | "GET,OPTIONS,PATCH,DELETE,POST,PUT" 11 | ); 12 | res.setHeader( 13 | "Access-Control-Allow-Headers", 14 | "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version" 15 | ); 16 | try { 17 | if (!req.query.username) { 18 | res.write(JSON.stringify({ error: "Query parameters are missing!" })); 19 | res.end(); 20 | return; 21 | } 22 | const { username } = req.query; 23 | let limit = 3; 24 | if (req.query.limit) { 25 | limit = req.query.limit; 26 | if (limit > 6) { 27 | res.write( 28 | JSON.stringify({ error: "limit parameters is more than 6!" }) 29 | ); 30 | res.end(); 31 | } 32 | } 33 | const large = req.query.large === "true" ? true : false; 34 | const theme = req.query.theme; 35 | const resultData = await getLatestHashnodeBlog(username); 36 | if (!resultData.data.user.publication.posts.length) { 37 | res.write(JSON.stringify({ error: "Post does not exits!" })); 38 | res.end(); 39 | return; 40 | } 41 | let result = ``; 46 | 47 | console.log( 48 | "resultData.data.user.publication.posts.length", 49 | resultData.data.user.publication.posts.length 50 | ); 51 | console.log("limit", limit); 52 | await asyncForEach( 53 | resultData.data.user.publication.posts, 54 | async (blog, index) => { 55 | if (index >= limit) { 56 | return; 57 | } 58 | const blogCardObj = await blogCard( 59 | blog, 60 | resultData.data.user.publicationDomain, 61 | large, 62 | theme 63 | ); 64 | result += `${blogCardObj}`; 67 | } 68 | ); 69 | result += ``; 70 | res.writeHead(200, { "Content-Type": "image/svg+xml" }); 71 | res.write(result); 72 | res.end(); 73 | } catch (error) { 74 | console.log(error); 75 | res.send("Error while fetching the data" + error); 76 | } 77 | }; 78 | -------------------------------------------------------------------------------- /components/playGround.js: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import GetHashnodeBlog from "./apiPlayGround/getHashnodeBlog"; 3 | import GetHashnodeBlogBySequence from "./apiPlayGround/getHashnodeBlogBySequence"; 4 | import GetLatestHashnodeBlog from "./apiPlayGround/getLatestHashnodeBlog"; 5 | import { THEMES } from "../utils/Constants"; 6 | import propTypes from "prop-types"; 7 | 8 | function PlayGround(props) { 9 | const [isLoading, setisLoading] = useState(false); 10 | 11 | //GetHashnodeBlog states 12 | const [GetHashnodeBlog_API_URL, set_GetHashnodeBlog_API_URL] = useState(""); 13 | const [GetHashnodeBlog_params, set_GetHashnodeBlog_params] = useState({ 14 | blogURL: "", 15 | large: "false", 16 | theme: THEMES[0].THEME_NAME, 17 | }); 18 | 19 | //GetHashnodeBlogBySequence states 20 | const [ 21 | GetHashnodeBlogBySequence_API_URL, 22 | set_GetHashnodeBlogBySequence_API_URL, 23 | ] = useState(""); 24 | const [ 25 | GetHashnodeBlogBySequence_params, 26 | set_GetHashnodeBlogBySequence_params, 27 | ] = useState({ 28 | username: "", 29 | sequence: 1, 30 | large: "false", 31 | theme: THEMES[0].THEME_NAME, 32 | }); 33 | 34 | //GetLatestHashnodeBlog states 35 | const [ 36 | GetLatestHashnodeBlog_API_URL, 37 | set_GetLatestHashnodeBlog_API_URL, 38 | ] = useState(""); 39 | const [ 40 | GetLatestHashnodeBlog_params, 41 | set_GetLatestHashnodeBlog_params, 42 | ] = useState({ 43 | username: "", 44 | limit: 3, 45 | large: "false", 46 | theme: THEMES[0].THEME_NAME, 47 | }); 48 | 49 | if (props.Endpoint === 0) { 50 | return ( 51 | 59 | ); 60 | } else if (props.Endpoint === 1) { 61 | return ( 62 | 70 | ); 71 | } else if (props.Endpoint === 2) { 72 | return ( 73 | 81 | ); 82 | } 83 | return
Wrong API
; 84 | } 85 | 86 | PlayGround.propTypes = { 87 | Endpoint: propTypes.number, 88 | }; 89 | 90 | export default PlayGround; 91 | -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: Inter, ui-sans-serif, system-ui, -apple-system, 6 | BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", 7 | sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", 8 | "Noto Color Emoji"; 9 | height: 100vh; 10 | -webkit-tap-highlight-color: transparent; 11 | -webkit-touch-callout: none; 12 | -webkit-user-select: none; 13 | -khtml-user-select: none; 14 | -moz-user-select: none; 15 | -ms-user-select: none; 16 | user-select: none; 17 | } 18 | 19 | a { 20 | color: inherit; 21 | text-decoration: none; 22 | } 23 | 24 | * { 25 | box-sizing: border-box; 26 | } 27 | 28 | button { 29 | margin: none; 30 | outline: none; 31 | background-color: transparent; 32 | } 33 | 34 | .footer { 35 | width: 100%; 36 | border-top: 1px solid #eaeaea; 37 | display: flex; 38 | flex-direction: column; 39 | flex: 1; 40 | } 41 | 42 | .footer_lower { 43 | background-color: #232326; 44 | color: #ffffff; 45 | padding: 1rem 6rem; 46 | padding-top: 2rem; 47 | font-size: 0.9rem; 48 | min-height: 92px; 49 | display: flex; 50 | justify-content: space-between; 51 | text-align: right; 52 | } 53 | 54 | .developer { 55 | text-decoration: none; 56 | font-weight: bold; 57 | font-weight: 900; 58 | } 59 | 60 | .footer_upper { 61 | color: #ffffff; 62 | padding: 2rem 6rem; 63 | font-size: 0.9rem; 64 | background-color: #2962ff; 65 | display: flex; 66 | flex-direction: row; 67 | justify-content: flex-start; 68 | } 69 | 70 | .link { 71 | font-weight: bold; 72 | transition-duration: 0.5s; 73 | } 74 | 75 | .footer_upper_col_1 { 76 | width: 40rem; 77 | } 78 | 79 | .footer_upper_col { 80 | width: 12rem; 81 | font-weight: 400; 82 | } 83 | 84 | .footer_upper_col div { 85 | color: #c1d6ff; 86 | padding: 0.2rem 0rem; 87 | transition-duration: 0.6s; 88 | border-radius: 4px; 89 | } 90 | 91 | .navlogo { 92 | width: 7rem; 93 | } 94 | 95 | .social_icons i, 96 | .logosvg { 97 | color: #eaeaea44; 98 | font-size: 20px; 99 | margin: 10px; 100 | transition-duration: 0.5s; 101 | } 102 | 103 | .logosvg { 104 | margin: -2px 10px; 105 | } 106 | 107 | @media (hover: hover) { 108 | .link:hover { 109 | text-decoration: underline; 110 | } 111 | .footer_upper_col div:hover { 112 | color: #ffffff; 113 | } 114 | .social_icons i:hover, 115 | .logosvg:hover { 116 | color: #eaeaea; 117 | } 118 | } 119 | 120 | @media (max-width: 769px) { 121 | .footer_lower, 122 | .footer_upper { 123 | padding: 1rem; 124 | font-size: 0.8rem; 125 | flex-direction: column; 126 | text-align: left; 127 | } 128 | .footer_lower div { 129 | padding: 0.2rem 0rem; 130 | } 131 | .footer_upper_col div { 132 | color: #eaeaea; 133 | } 134 | .footer_upper_col, 135 | .footer_upper_col_1 { 136 | padding: 0.8rem 0rem; 137 | width: unset; 138 | } 139 | .social_icons i, 140 | .logosvg { 141 | color: #eaeaea; 142 | } 143 | } 144 | -------------------------------------------------------------------------------- /utils/blogCard.js: -------------------------------------------------------------------------------- 1 | import { THEMES } from "./Constants"; 2 | import getBase64 from "./datafetcher/getBase64"; 3 | 4 | const blogCard = async (data, hostname, large = false, theme = "light") => { 5 | const { title, dateAdded, brief, author, slug } = data; 6 | console.log("username", author.author_username); 7 | const coverImage = 8 | data.coverImage !== "" ? await getBase64(data.coverImage) : ""; 9 | const profileImage = await getBase64(author.photo); 10 | const blogDate = new Date(Date.parse(dateAdded)).toLocaleString("default", { 11 | year: "numeric", 12 | month: "short", 13 | day: "numeric", 14 | }); 15 | const blogLink = `https://${hostname}/${slug}`; 16 | 17 | var color = THEMES.find((onetheme) => onetheme.THEME_NAME === theme); 18 | if (!color) { 19 | color = THEMES[0]; 20 | } 21 | 22 | return ` 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | ${ 37 | author.name 38 | } 39 | @${author.username} 44 | ${blogDate} 49 | 51 |

${title} 59 |

60 |
61 | ${hostname} 64 | 68 |

${brief} 76 |

77 |
78 | ${ 79 | coverImage !== "" 80 | ? ` 81 | 82 | 83 | 84 | ` 85 | : null 86 | } 87 |
88 |
`; 89 | }; 90 | 91 | export default blogCard; 92 | -------------------------------------------------------------------------------- /styles/PlayGround.module.css: -------------------------------------------------------------------------------- 1 | .PlayGround { 2 | margin: 1rem 0rem 1rem 2rem; 3 | padding: 4.2rem 2rem; 4 | flex: 1; 5 | border-radius: 10px; 6 | background-color: #ffffff; 7 | /* border: 0.01rem solid #afafaf; */ 8 | box-shadow: 0 0 0 1px rgb(53 72 91 / 10%), 0 2px 2px rgb(0 0 0 / 3%), 9 | 0 4px 4px rgb(0 0 0 / 4%), 0 10px 8px rgb(0 0 0 / 5%), 10 | 0 15px 15px rgb(0 0 0 / 6%), 0 30px 30px rgb(0 0 0 / 7%), 11 | 0 70px 65px rgb(0 0 0 / 9%); 12 | } 13 | 14 | .API_URL { 15 | position: relative; 16 | width: 100%; 17 | min-height: 5rem; 18 | line-height: 1.5; 19 | font-size: 1rem; 20 | padding: 0.8rem; 21 | border: 0.01rem solid #afafaf; 22 | color: #232326; 23 | border-radius: 10px; 24 | background-color: #2962ff11; 25 | overflow-wrap: break-word; 26 | } 27 | 28 | .textBox { 29 | min-width: 10rem; 30 | width: 100%; 31 | line-height: 1.5; 32 | font-size: 1rem; 33 | padding: 0.8rem; 34 | margin: 0.8rem 0rem; 35 | border: 0.01rem solid transparent; 36 | color: #232326; 37 | border-radius: 10px; 38 | outline: none; 39 | background-color: #2962ff11; 40 | white-space: nowrap; 41 | } 42 | 43 | .labels { 44 | min-width: 8rem; 45 | line-height: 1.5; 46 | font-size: 1rem; 47 | padding: 0.8rem; 48 | margin: 0.8rem 0rem; 49 | color: #232326; 50 | font-weight: bold; 51 | white-space: nowrap; 52 | } 53 | 54 | .textBox:hover { 55 | border: 0.01rem solid #afafaf; 56 | background-color: #ffffff; 57 | } 58 | 59 | .sendRequest { 60 | margin: none; 61 | outline: none; 62 | width: 10rem; 63 | text-align: center; 64 | padding: 0.8rem; 65 | margin: 1rem 0rem; 66 | border-radius: 10px; 67 | background-color: #2962ff; 68 | color: rgba(245, 247, 250, 1); 69 | font-weight: 900; 70 | font-size: 1.2rem; 71 | align-self: flex-end; 72 | cursor: pointer; 73 | } 74 | 75 | .responseHolder { 76 | padding: 1rem; 77 | border-radius: 10px; 78 | border: 0.01rem solid #afafaf; 79 | color: #232326; 80 | outline: none; 81 | background-color: #2962ff11; 82 | height: 560px; 83 | overflow: auto; 84 | position: relative; 85 | } 86 | 87 | .responseHolderLoader { 88 | position: absolute; 89 | top: 0; 90 | bottom: 0; 91 | left: 0; 92 | right: 0; 93 | border-radius: 10px; 94 | color: #232326; 95 | outline: none; 96 | background-color: rgba(245, 247, 250, 0.15); 97 | backdrop-filter: blur(10px); 98 | display: flex; 99 | justify-content: center; 100 | align-items: center; 101 | } 102 | 103 | .commonParams { 104 | display: flex; 105 | flex-flow: row wrap; 106 | } 107 | 108 | .commonParams div { 109 | display: flex; 110 | flex: 1; 111 | justify-content: flex-start; 112 | } 113 | 114 | .commonParams div select { 115 | min-width: 10rem; 116 | width: 100%; 117 | } 118 | 119 | .copyIcon { 120 | margin: none; 121 | outline: none; 122 | font-size: 16px; 123 | font-weight: bold; 124 | position: absolute; 125 | right: 1rem; 126 | cursor: pointer; 127 | color: #232326; 128 | -webkit-tap-highlight-color: transparent; 129 | -webkit-tap-highlight-color: transparent; 130 | -webkit-user-select: none; 131 | -khtml-user-select: none; 132 | -moz-user-select: none; 133 | -ms-user-select: none; 134 | user-select: none; 135 | } 136 | 137 | .copyIcon .tooltiptext { 138 | display: none; 139 | width: 5rem; 140 | font-size: 0.8rem; 141 | color: #2962ff; 142 | border: 2px solid #2962ff; 143 | text-align: center; 144 | border-radius: 6px; 145 | padding: 4px; 146 | padding-right: 1rem; 147 | position: absolute; 148 | z-index: 1; 149 | top: -5px; 150 | right: -8px; 151 | } 152 | 153 | @media (hover: hover) { 154 | .copyIcon:hover { 155 | color: #2962ff; 156 | } 157 | .copyIcon:hover .tooltiptext { 158 | display: block; 159 | } 160 | } 161 | 162 | @media (max-width: 801px) { 163 | .PlayGround { 164 | margin: 1rem 0rem; 165 | padding: 2rem 1rem; 166 | } 167 | 168 | .textBox, 169 | .API_URL { 170 | font-size: 0.8rem; 171 | } 172 | 173 | .labels { 174 | font-size: 0.8rem; 175 | min-width: 6rem; 176 | white-space: normal; 177 | } 178 | .commonParams div select { 179 | min-width: 6rem; 180 | } 181 | } 182 | -------------------------------------------------------------------------------- /styles/Home.module.css: -------------------------------------------------------------------------------- 1 | .main { 2 | min-height: 100vh; 3 | display: flex; 4 | flex-direction: column; 5 | font-family: Inter, ui-sans-serif, system-ui, -apple-system, 6 | BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", 7 | sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", 8 | "Noto Color Emoji"; 9 | background-color: rgba(245, 247, 250, 1); 10 | /* background-color: linear-gradient(0deg, blue, rgba(245, 247, 250, 1)); */ 11 | } 12 | 13 | .appIntro, 14 | .apiPlayGround { 15 | padding: 5rem; 16 | min-height: 100vh; 17 | display: flex; 18 | flex-flow: row wrap; 19 | align-items: center; 20 | justify-content: space-evenly; 21 | color: #424242; 22 | } 23 | 24 | .appDescription { 25 | padding: 2rem 8rem; 26 | display: flex; 27 | flex-direction: column; 28 | align-items: flex-start; 29 | justify-content: flex-start; 30 | background-color: #232326; 31 | color: #ffffff; 32 | } 33 | 34 | .apiPlayGround { 35 | background-color: #2962ff11; 36 | flex-flow: row; 37 | justify-content: flex-start; 38 | align-items: flex-start; 39 | padding: 2rem 5rem; 40 | } 41 | 42 | .apis { 43 | display: flex; 44 | flex-direction: column; 45 | justify-content: flex-start; 46 | align-items: flex-start; 47 | } 48 | 49 | .apibutton, 50 | .apibuttonActive, 51 | .apiPlayGroundHeader { 52 | outline: none; 53 | border: none; 54 | text-align: start; 55 | background-color: transparent; 56 | width: 18rem; 57 | color: #424242; 58 | font-size: 1rem; 59 | font-weight: bold; 60 | padding: 0.8rem; 61 | margin: 1rem 0rem; 62 | border-radius: 10px; 63 | cursor: pointer; 64 | } 65 | 66 | .apibuttonActive { 67 | color: #2962ff; 68 | background-color: white; 69 | /* color: rgba(245, 247, 250, 1); */ 70 | } 71 | 72 | .apiPlayGroundHeader { 73 | background-color: #2962ff; 74 | color: rgba(245, 247, 250, 1); 75 | font-weight: 900; 76 | font-size: 1.2rem; 77 | } 78 | 79 | .appIntroText { 80 | max-width: 480px; 81 | } 82 | 83 | .title span { 84 | color: #2962ff; 85 | text-decoration: none; 86 | } 87 | 88 | .title, 89 | .description, 90 | .subHeading { 91 | text-align: start; 92 | font-weight: bold; 93 | } 94 | 95 | .title { 96 | margin: 0; 97 | line-height: 1.15; 98 | font-size: 3rem; 99 | font-weight: 900; 100 | } 101 | .description { 102 | line-height: 1.5; 103 | font-size: 1.2rem; 104 | } 105 | 106 | .subHeading { 107 | line-height: 1.5; 108 | font-size: 1rem; 109 | } 110 | 111 | .code { 112 | color: #2962ff; 113 | } 114 | 115 | .greyBg { 116 | background-color: #23262622; 117 | border-radius: 4px; 118 | padding: 1px 6px; 119 | } 120 | .whiteBg { 121 | color: #ffffff !important; 122 | background-color: #424242; 123 | border-radius: 4px; 124 | padding: 1px 6px; 125 | } 126 | 127 | .appCards, 128 | .appCardsCommingSoon { 129 | padding: 0rem 5rem; 130 | display: flex; 131 | flex-flow: row wrap; 132 | align-items: flex-start; 133 | justify-content: space-around; 134 | color: #424242; 135 | } 136 | 137 | .appCards { 138 | min-height: 100vh; 139 | } 140 | 141 | .appCardsDiv { 142 | margin: 2rem 0rem; 143 | min-width: 18rem; 144 | max-width: 310px; 145 | border-radius: 10px; 146 | display: flex; 147 | flex-direction: column; 148 | align-items: flex-start; 149 | } 150 | 151 | .appCardsDiv img { 152 | min-height: 510px; 153 | margin-top: 1rem; 154 | } 155 | 156 | .appCardsText1, 157 | .appCardsText2, 158 | .appCardsText3 { 159 | font-weight: 900; 160 | line-height: 1.15; 161 | font-size: 2rem; 162 | } 163 | 164 | .appCardsText1 { 165 | color: #afafaf; 166 | } 167 | 168 | .appCardsText2 { 169 | color: #232626; 170 | } 171 | 172 | .appCardsText3 { 173 | color: #2962ff; 174 | } 175 | 176 | .logo { 177 | height: 5em; 178 | margin: 1rem 0rem; 179 | } 180 | 181 | .navHeader { 182 | position: fixed; 183 | z-index: 100; 184 | display: flex; 185 | width: 100%; 186 | flex-direction: column; 187 | padding: 0.6rem 6rem; 188 | font-size: 1.2rem; 189 | font-weight: bold; 190 | color: #2962ff; 191 | background-color: rgba(245, 247, 250, 0.15); 192 | backdrop-filter: blur(10px); 193 | box-shadow: 2px 0px 15px #23262622; 194 | } 195 | 196 | .navlogo { 197 | width: 7rem; 198 | } 199 | 200 | .githubLink { 201 | border-radius: 4px; 202 | max-width: 320px; 203 | width: 100%; 204 | } 205 | 206 | @media (hover: hover) { 207 | .description a:hover { 208 | text-decoration: underline #2962ff; 209 | } 210 | .apibutton:hover, 211 | .apibuttonActive:hover { 212 | background-color: #2962ff22; 213 | } 214 | } 215 | 216 | @media (max-width: 769px) { 217 | .title, 218 | .description { 219 | text-align: center; 220 | } 221 | .appIntroText { 222 | text-align: center; 223 | } 224 | .appDescription .title, 225 | .appDescription .description { 226 | text-align: left; 227 | } 228 | .appDescription .title { 229 | font-size: 2rem; 230 | } 231 | .appDescription .description { 232 | font-size: 1rem; 233 | font-weight: normal; 234 | } 235 | .title { 236 | font-size: 3rem; 237 | } 238 | .appCardsDiv { 239 | align-items: center; 240 | } 241 | .appIntro, 242 | .apiPlayGround, 243 | .appCards, 244 | .appDescription { 245 | padding: 5rem 2rem; 246 | } 247 | .apiPlayGround { 248 | flex-direction: column; 249 | } 250 | .apis, 251 | .apibutton, 252 | .apibuttonActive, 253 | .apiPlayGroundHeader { 254 | width: 100%; 255 | } 256 | .appCardsCommingSoon { 257 | padding: 0rem; 258 | padding-bottom: 5rem; 259 | } 260 | .logo { 261 | height: 3em; 262 | margin: 0rem; 263 | } 264 | .navHeader { 265 | padding: 0.6rem 1rem; 266 | } 267 | } 268 | -------------------------------------------------------------------------------- /components/apiPlayGround/getHashnodeBlog.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import styles from "../../styles/PlayGround.module.css"; 3 | import { THEMES } from "../../utils/Constants"; 4 | import * as loader from "../../assets/loader.json"; 5 | import Lottie from "react-lottie"; 6 | import propTypes from "prop-types"; 7 | 8 | function GetHashnodeBlog(props) { 9 | const loaderdefaultOptions = { 10 | loop: true, 11 | autoplay: true, 12 | animationData: loader.default, 13 | rendererSettings: { 14 | preserveAspectRatio: "xMidYMid slice", 15 | }, 16 | }; 17 | const { 18 | API_URL, 19 | setAPI_URL, 20 | params, 21 | setparams, 22 | isLoading, 23 | setisLoading, 24 | } = props; 25 | const getData = () => { 26 | console.log(API_URL); 27 | if ( 28 | `https://hashnode-blog-cards.souravdey777.vercel.app/api/getHashnodeBlog?url=${params.blogURL}&large=${params.large}&theme=${params.theme}` !== 29 | API_URL 30 | ) { 31 | setisLoading(true); 32 | console.log("SEND clicked"); 33 | setAPI_URL( 34 | `https://hashnode-blog-cards.souravdey777.vercel.app/api/getHashnodeBlog?url=${params.blogURL}&large=${params.large}&theme=${params.theme}` 35 | ); 36 | console.log(API_URL); 37 | } 38 | }; 39 | const handleblogURL = (event) => { 40 | setparams({ ...params, blogURL: event.target.value }); 41 | console.log({ ...params, blogURL: event.target.value }); 42 | }; 43 | const handlelarge = (event) => { 44 | setparams({ ...params, large: event.target.value }); 45 | }; 46 | const handletheme = (event) => { 47 | setparams({ ...params, theme: event.target.value }); 48 | }; 49 | const copyToClipboard = () => { 50 | navigator.clipboard.writeText(API_URL); 51 | }; 52 | return ( 53 |
54 |
55 |
56 |
Blog URL
57 | 64 |
65 |
66 |
67 |
Size
68 | 77 |
78 |
79 |
Theme
80 | 93 |
94 |
95 |
getData()} 99 | onClick={() => getData()} 100 | tabIndex={0} 101 | > 102 | Send{" "} 103 | 104 | 🚀 105 | 106 |
107 |
108 | Request URL{" "} 109 | 110 | 👇 111 | 112 |
113 |
114 | { 115 |
getData()} 119 | onClick={() => copyToClipboard()} 120 | className={styles.copyIcon} 121 | > 122 | 123 | content_copy 124 | 125 | Copy 126 |
127 | } 128 | {API_URL === "" ? "GET Request" : API_URL} 129 |
130 |
131 |
132 | Response Body{" "} 133 | 134 | 👇 135 | 136 |
137 |
138 | { 144 | setisLoading(false); 145 | }} 146 | type="text/html" 147 | > 148 | Response 149 | 150 | {isLoading ? ( 151 |
152 | 160 |
161 | ) : null} 162 |
163 |
164 | ); 165 | } 166 | 167 | GetHashnodeBlog.propTypes = { 168 | API_URL: propTypes.string, 169 | setAPI_URL: propTypes.func, 170 | params: propTypes.object, 171 | setparams: propTypes.func, 172 | isLoading: propTypes.bool, 173 | setisLoading: propTypes.func, 174 | }; 175 | 176 | export default GetHashnodeBlog; 177 | -------------------------------------------------------------------------------- /components/apiPlayGround/getLatestHashnodeBlog.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import styles from "../../styles/PlayGround.module.css"; 3 | import { THEMES } from "../../utils/Constants"; 4 | import * as loader from "../../assets/loader.json"; 5 | import Lottie from "react-lottie"; 6 | import propTypes from "prop-types"; 7 | 8 | function GetLatestHashnodeBlog(props) { 9 | const loaderdefaultOptions = { 10 | loop: true, 11 | autoplay: true, 12 | animationData: loader.default, 13 | rendererSettings: { 14 | preserveAspectRatio: "xMidYMid slice", 15 | }, 16 | }; 17 | const { 18 | API_URL, 19 | setAPI_URL, 20 | params, 21 | setparams, 22 | isLoading, 23 | setisLoading, 24 | } = props; 25 | const getData = () => { 26 | console.log(API_URL); 27 | if ( 28 | `https://hashnode-blog-cards.souravdey777.vercel.app/api/getLatestHashnodeBlog?username=${params.username}&limit=${params.limit}&large=${params.large}&theme=${params.theme}` !== 29 | API_URL 30 | ) { 31 | setisLoading(true); 32 | console.log("SEND clicked"); 33 | setAPI_URL( 34 | `https://hashnode-blog-cards.souravdey777.vercel.app/api/getLatestHashnodeBlog?username=${params.username}&limit=${params.limit}&large=${params.large}&theme=${params.theme}` 35 | ); 36 | console.log(API_URL); 37 | } 38 | }; 39 | const handleusername = (event) => { 40 | setparams({ ...params, username: event.target.value }); 41 | console.log({ ...params, username: event.target.value }); 42 | }; 43 | const handlelimit = (event) => { 44 | setparams({ ...params, limit: event.target.value }); 45 | console.log({ ...params, limit: event.target.value }); 46 | }; 47 | const handlelarge = (event) => { 48 | setparams({ ...params, large: event.target.value }); 49 | }; 50 | const handletheme = (event) => { 51 | setparams({ ...params, theme: event.target.value }); 52 | }; 53 | const copyToClipboard = () => { 54 | navigator.clipboard.writeText(API_URL); 55 | }; 56 | return ( 57 |
58 |
59 |
60 |
61 |
Username
62 | 69 |
70 |
71 |
No of Blogs
72 | 80 |
81 |
82 |
83 |
84 |
Size
85 | 94 |
95 |
96 |
Theme
97 | 110 |
111 |
112 |
getData()} 117 | onClick={() => getData()} 118 | > 119 | Send{" "} 120 | 121 | 🚀 122 | 123 |
124 |
125 | Request URL 126 | 127 | 👇 128 | 129 |
130 |
131 | { 132 |
getData()} 136 | onClick={() => copyToClipboard()} 137 | className={styles.copyIcon} 138 | > 139 | 140 | content_copy 141 | 142 | Copy 143 |
144 | } 145 | {API_URL === "" ? "GET Request" : API_URL} 146 |
147 |
148 |
149 | Response Body{" "} 150 | 151 | 👇 152 | 153 |
154 |
155 | { 161 | setisLoading(false); 162 | }} 163 | type="text/html" 164 | > 165 | Response 166 | 167 | {isLoading ? ( 168 |
169 | 177 |
178 | ) : null} 179 |
180 |
181 | ); 182 | } 183 | 184 | GetLatestHashnodeBlog.propTypes = { 185 | API_URL: propTypes.string, 186 | setAPI_URL: propTypes.func, 187 | params: propTypes.object, 188 | setparams: propTypes.func, 189 | isLoading: propTypes.bool, 190 | setisLoading: propTypes.func, 191 | }; 192 | 193 | export default GetLatestHashnodeBlog; 194 | -------------------------------------------------------------------------------- /components/apiPlayGround/getHashnodeBlogBySequence.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import styles from "../../styles/PlayGround.module.css"; 3 | import { THEMES } from "../../utils/Constants"; 4 | import * as loader from "../../assets/loader.json"; 5 | import Lottie from "react-lottie"; 6 | import propTypes from "prop-types"; 7 | 8 | function GetHashnodeBlogBySequence(props) { 9 | const loaderdefaultOptions = { 10 | loop: true, 11 | autoplay: true, 12 | animationData: loader.default, 13 | rendererSettings: { 14 | preserveAspectRatio: "xMidYMid slice", 15 | }, 16 | }; 17 | const { 18 | API_URL, 19 | setAPI_URL, 20 | params, 21 | setparams, 22 | isLoading, 23 | setisLoading, 24 | } = props; 25 | const getData = () => { 26 | console.log(API_URL); 27 | if ( 28 | `https://hashnode-blog-cards.souravdey777.vercel.app/api/getHashnodeBlogBySequence?username=${params.username}&sequence=${params.sequence}&large=${params.large}&theme=${params.theme}` !== 29 | API_URL 30 | ) { 31 | setisLoading(true); 32 | console.log("SEND clicked"); 33 | setAPI_URL( 34 | `https://hashnode-blog-cards.souravdey777.vercel.app/api/getHashnodeBlogBySequence?username=${params.username}&sequence=${params.sequence}&large=${params.large}&theme=${params.theme}` 35 | ); 36 | console.log(API_URL); 37 | } 38 | }; 39 | const handleusername = (event) => { 40 | setparams({ ...params, username: event.target.value }); 41 | console.log({ ...params, username: event.target.value }); 42 | }; 43 | const handlesequence = (event) => { 44 | setparams({ ...params, sequence: event.target.value }); 45 | console.log({ ...params, sequence: event.target.value }); 46 | }; 47 | const handlelarge = (event) => { 48 | setparams({ ...params, large: event.target.value }); 49 | }; 50 | const handletheme = (event) => { 51 | setparams({ ...params, theme: event.target.value }); 52 | }; 53 | const copyToClipboard = () => { 54 | navigator.clipboard.writeText(API_URL); 55 | }; 56 | return ( 57 |
58 |
59 |
60 |
61 |
Username
62 | 69 |
70 |
71 |
Blog Number
72 | 80 |
81 |
82 |
83 |
84 |
Size
85 | 94 |
95 |
96 |
Theme
97 | 110 |
111 |
112 |
getData()} 116 | onClick={() => getData()} 117 | tabIndex={0} 118 | > 119 | Send{" "} 120 | 121 | 🚀 122 | 123 |
124 |
125 | Request URL{" "} 126 | 127 | 👇 128 | 129 |
130 |
131 | { 132 |
getData()} 136 | onClick={() => copyToClipboard()} 137 | className={styles.copyIcon} 138 | > 139 | 140 | content_copy 141 | 142 | Copy 143 |
144 | } 145 | {API_URL === "" ? "GET Request" : API_URL} 146 |
147 |
148 |
149 | Response Body{" "} 150 | 151 | 👇 152 | 153 |
154 |
155 | { 162 | setisLoading(false); 163 | }} 164 | type="text/html" 165 | > 166 | Response 167 | 168 | {isLoading ? ( 169 |
170 | 178 |
179 | ) : null} 180 |
181 |
182 | ); 183 | } 184 | 185 | GetHashnodeBlogBySequence.propTypes = { 186 | API_URL: propTypes.string, 187 | setAPI_URL: propTypes.func, 188 | params: propTypes.object, 189 | setparams: propTypes.func, 190 | isLoading: propTypes.bool, 191 | setisLoading: propTypes.func, 192 | }; 193 | 194 | export default GetHashnodeBlogBySequence; 195 | -------------------------------------------------------------------------------- /pages/_app.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import "../styles/globals.css"; 3 | import Head from "next/head"; 4 | import propTypes from "prop-types"; 5 | 6 | function HashnodeBlogCard({ Component, pageProps }) { 7 | return ( 8 | <> 9 | 10 | Hashnode Blog Cards 11 | 12 | 16 | 22 | {/* Buy me a Coffee */} 23 | 34 | 40 | 41 | 42 | 43 | 195 | 196 | ); 197 | } 198 | 199 | HashnodeBlogCard.propTypes = { 200 | Component: propTypes.func, 201 | pageProps: propTypes.object, 202 | }; 203 | 204 | export default HashnodeBlogCard; 205 | -------------------------------------------------------------------------------- /assets/loader.json: -------------------------------------------------------------------------------- 1 | {"v":"5.5.8","fr":50,"ip":0,"op":147,"w":800,"h":600,"nm":"Paperplane","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"planete Outlines - Group 4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":88,"s":[50]},{"t":120,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[468.336,323.378,0],"to":[-29,0,0],"ti":[29,0,0]},{"t":102,"s":[294.336,323.378,0]}],"ix":2},"a":{"a":0,"k":[453.672,304.756,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.742,0],[0.741,-0.14],[0,0.074],[13.484,0],[1.669,-0.361],[19.79,0],[3.317,-19.082],[2.691,0],[0,-13.484],[-0.048,-0.629],[2.405,0],[0,-6.742],[-6.742,0],[0,0],[0,6.743]],"o":[[-0.781,0],[0.001,-0.074],[0,-13.484],[-1.778,0],[-3.594,-18.742],[-20.03,0],[-2.421,-0.804],[-13.485,0],[0,0.642],[-1.89,-1.199],[-6.742,0],[0,6.743],[0,0],[6.742,0],[0,-6.742]],"v":[[75.134,16.175],[72.85,16.396],[72.856,16.175],[48.44,-8.241],[43.262,-7.685],[3.406,-40.591],[-36.571,-6.995],[-44.269,-8.241],[-68.685,16.175],[-68.604,18.079],[-75.133,16.175],[-87.341,28.383],[-75.133,40.592],[75.134,40.592],[87.342,28.383]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.8901960784313725,0.8901960784313725,0.8901960784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[453.672,304.756],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Merged Shape Layer","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.547],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.845],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":77,"s":[35]},{"t":150,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[390.319,298.2,0],"to":[0,-2.583,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":44,"s":[390.319,282.7,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":110,"s":[390.319,319.25,0],"to":[0,0,0],"ti":[0,0,0]},{"t":150,"s":[390.319,298.2,0]}],"ix":2},"a":{"a":0,"k":[664.319,256.2,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[18.967,-3.189],[-18.967,19.935],[-0.949,-19.935]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.011764705882352941,0.20784313725490197,0.7490196078431373,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[236.879,292.737],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[633.939,275.369],"ix":2},"a":{"a":0,"k":[236.879,292.737],"ix":1},"s":{"a":0,"k":[50,50],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"planete Outlines - Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-98.335,64.79],[-105.619,4.984],[105.619,-64.79],[-80.316,24.919]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.08627450980392157,0.30196078431372547,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[316.247,247.882],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[673.623,252.941],"ix":2},"a":{"a":0,"k":[316.247,247.882],"ix":1},"s":{"a":0,"k":[50,50],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"planete Outlines - Group 2","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-133.812,-42.171],[133.812,-75.141],[5.765,75.141],[-61.708,18.402],[124.227,-71.307],[-87.011,-1.534]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.1607843137254902,0.3843137254901961,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[297.638,254.4],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[664.319,256.2],"ix":2},"a":{"a":0,"k":[297.638,254.4],"ix":1},"s":{"a":0,"k":[50,50],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"planete Outlines - Group 3","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":151,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"planete Outlines - Group 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":45,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":102,"s":[100]},{"t":150,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[327.38,267.583,0],"to":[25.833,0,0],"ti":[-25.833,0,0]},{"t":150,"s":[482.38,267.583,0]}],"ix":2},"a":{"a":0,"k":[171.76,193.166,0],"ix":1},"s":{"a":0,"k":[50,50,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.485,0],[4.38,-4.171],[21.913,0],[3.575,-18.765],[1.851,0],[0,-13.484],[-0.011,-0.291],[1.599,0],[0,-6.743],[-6.742,0],[0,0],[0,13.485]],"o":[[-6.526,0],[-0.793,-21.719],[-19.806,0],[-1.734,-0.391],[-13.485,0],[0,0.293],[-1.4,-0.559],[-6.742,0],[0,6.742],[0,0],[13.485,0],[0,-13.484]],"v":[[59.669,-8.242],[42.84,-1.506],[2.287,-40.592],[-37.576,-7.638],[-42.962,-8.242],[-67.378,16.174],[-67.356,17.049],[-71.878,16.174],[-84.086,28.383],[-71.878,40.591],[59.669,40.591],[84.086,16.174]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.816000007181,0.823999980852,0.827000038297,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[171.76,193.166],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":151,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pre-comp 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[406,306,0],"ix":2},"a":{"a":0,"k":[400,300,0],"ix":1},"s":{"a":0,"k":[179,179,100],"ix":6}},"ao":0,"w":800,"h":600,"ip":0,"op":147,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /pages/index.js: -------------------------------------------------------------------------------- 1 | import Lottie from "react-lottie"; 2 | import * as blogger from "../assets/blogger.json"; 3 | import * as coomingsoon from "../assets/flying.json"; 4 | import styles from "../styles/Home.module.css"; 5 | import React, { useState } from "react"; 6 | import PlayGround from "../components/playGround"; 7 | 8 | export default function Home() { 9 | const [Endpoint, setEndpoint] = useState(0); 10 | 11 | const bloggerdefaultOptions = { 12 | loop: true, 13 | autoplay: true, 14 | animationData: blogger.default, 15 | rendererSettings: { 16 | preserveAspectRatio: "xMidYMid slice", 17 | }, 18 | }; 19 | const coomingsoondefaultOptions = { 20 | loop: true, 21 | autoplay: true, 22 | animationData: coomingsoon.default, 23 | rendererSettings: { 24 | preserveAspectRatio: "xMidYMid slice", 25 | }, 26 | }; 27 | 28 | return ( 29 |
30 | 38 |
39 |
40 |
41 | hashonde logo 46 |
47 | Welcome to hashnode{" "} 48 | Blog Cards 49 |
50 |

51 | Are you a blogger in{" "} 52 | 53 | Hashnode 54 | 55 | ? 56 |
57 | Reference Link 🔗 of Blogs are not enough, Give your blogs what it 58 | deserves with{" "} 59 | 60 | Blog Cards{" "} 61 | 62 | 🔥 63 | 64 | 65 |

66 | 71 | Hashnode Blog Cards - Replace your Hashnode Blog links with Blogs Cards. | Product Hunt 75 | 76 |
77 |
78 | 86 |
87 |
88 | 89 |
90 |

91 |

92 | 93 | 👋 94 | {" "} 95 | Hi Bloggers, 96 |

97 |

98 | The Hashnode Blog Cards is 99 | a set of GET requests which will fetch the Blogs from your 100 | Hashnode ids with few parameters and will create SVG cards to 101 | bring{" "} 102 | 103 | 😎 104 | {" "} 105 | awesomeness to your blog links.{" "} 106 | 107 | 🎉 108 | 109 |

110 |

111 | This is the{" "} 112 | 113 | 114 | 🍻 115 | {" "} 116 | API playground 117 | {" "} 118 | website to explore the Endpoints. Try it out, put it anywhere in 119 | .md files, or any markdown editor. It can also be added to any 120 | website with HTML. 121 |

122 |

What is Hashnode?

123 |

124 | Hashnode is a free 125 | developer blogging platform that allows developers to publish 126 | articles on their own domain and helps them stay connected with a 127 | global developer community. This gives them a huge advantage: 128 | Google and other search engines send traffic directly to the 129 | authors' domain, and Hashnode community members discover 130 | articles on their feed. 131 |

132 |

133 | Hashnode Blog Cards website and APIs completely{" "} 134 | Open Source. 135 |
136 | Show your love with{" "} 137 | 138 | ⭐ 139 | 140 |

141 | 146 | Hashnode Blog Cards 152 | 153 |
154 |

155 |

156 |
157 |
158 |
159 |
160 |
161 | 162 | 🍻 163 | {" "} 164 | APIs Playground 165 |
166 | 174 | 182 | 190 |
191 |
192 | 193 |
194 |
195 |
196 |
197 |
198 | 199 | 🌞 200 | {" "} 201 | Light Theme 202 |
203 |

204 | Checkout the light theme of Blog Cards. Set the theme param as{" "} 205 | light in th GET Request 206 |

207 | light theme sample 216 |
217 |
218 |
219 | 220 | 🌚 221 | {" "} 222 | Dark Theme 223 |
224 |

225 | Checkout the light theme of Blog Cards. Set the theme param as{" "} 226 | dark in th GET Request 227 |

228 | dark theme sample 237 |
238 |
239 |
240 | 241 | 🚀 242 | {" "} 243 | Blue Theme 244 |
245 |

246 | Checkout the light theme of Blog Cards. Set the theme param as{" "} 247 | blue in th GET Request 248 |

249 | blue theme sample 258 |
259 |
260 |
261 |
262 |

More Such themes

263 |
264 | Cooming Soon... 265 |
266 |
267 |
268 | 276 |
277 |
278 |
279 | ); 280 | } 281 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | Hashnode Blog Cards 4 | 5 |

6 |

7 | 8 | Hashnode Blog Cards 9 | 10 |

11 | 12 | 13 | # `Hashnode Blog Cards` 14 | 15 | Are you a blogger 📝 on **[Hashnode](https://hashnode.com/)**? 16 | 17 | 18 | Reference Link 🔗 of Blogs are not enough, Give your blogs what it actually deserves with Blog Cards 🔥 19 | 20 | ⚡ Fetch the Blogs from Hashnode and put it anywhere in .md file, or any markdown editor. It can also be added to any website with HTML syntax. 21 | 22 |

23 | 24 | Go to Hashnode Blog Cards → 25 | 26 |

27 | 28 |

29 | 30 | Hashnode Blog Cards 31 | 32 |

33 | 34 | ### Table of Contents 35 | 36 | - [About `Hashnode Blog Cards`](#about-hashnode-blog-cards) 37 | - [About The API Endpoints](#about-the-api-endpoints) 38 | - [getHashnodeBlog](#gethashnodeblog) 39 | - [getHashnodeBlogBySequence](#gethashnodeblogbysequence) 40 | - [getLatestHashnodeBlog](#getlatesthashnodeblog) 41 | - [Features](#features) 42 | - [Technologies](#technologies) 43 | - [Setup](#setup) 44 | - [Contribution and Support](#contribution-and-support) 45 | - [License](#license) 46 | - [Contact](#contact) 47 | - [Learn More about `nextjs`](#learn-more-about-nextjs) 48 | 49 | ## About `Hashnode Blog Cards` 50 | 51 | ##### What is Hashnode? 52 | 53 | > **Hashnode** is a free developer blogging platform that allows developers to publish articles on their own domain and helps them stay connected with a global developer community. This gives them a huge advantage: Google and other search engines send traffic directly to the authors' domain, and Hashnode community members discover articles on their feed. 54 | 55 | ##### What is Hashnode Blog Cards 56 | 57 | >⚡ The Hashnode Blog Cards is a set of GET requests which will fetch the Blogs from your Hashnode ids with few parameters and will create SVG cards to bring 😎 awesomeness to your blog links. 🎉 58 | 59 | It can be added anywhere in Github, Hashnode, Devpost, Postman Documentation, or any markdown editor. It can also be added to any website with HTML syntax with just the img tag 60 | 61 | It is simple to use and the APIs can be explored with the `Hashnode Blog Cards API Playground`. 62 | 63 | **Why wait? Straightaway go to the website and join the `Awesomeness`** 😎 64 | 65 | [https://hashnode-blog-cards.vercel.app](https://hashnode-blog-cards.vercel.app) 66 | 67 | 74 | ## You can also Check my blog on `Hashnode Blog Cards` 75 | 76 | [![Blog on Hashnode Blog Cards](https://hashnode-blog-cards.souravdey777.vercel.app/api/getHashnodeBlog?url=https://souravdey777.hashnode.dev/hashnode-blog-cards-reference-link-of-blogs-are-not-enough-give-your-blogs-what-it-deserves-with-blog-cards&large=true&theme=dark)](https://souravdey777.hashnode.dev/hashnode-blog-cards-reference-link-of-blogs-are-not-enough-give-your-blogs-what-it-deserves-with-blog-cards) 77 | 78 | ## About The API Endpoints 79 | 80 | #### How to use it? 81 | 82 | --- 83 | 84 | #### getHashnodeBlog 85 | 86 | This API endpoint will fetch a specific blog by its URL 87 | 88 | ``` 89 | https://hashnode-blog-cards.vercel.app/api/getHashnodeBlog?url=https://souravdey777.hashnode.dev/flexbox-guide-flexbox-layout-made-simple-with-an-interactive-tool&large=true&theme=light 90 | ``` 91 | 92 | Response 93 | 94 | ![](https://hashnode-blog-cards.vercel.app/api/getHashnodeBlog?url=https://souravdey777.hashnode.dev/flexbox-guide-flexbox-layout-made-simple-with-an-interactive-tool&large=true&theme=light) 95 | 96 | #### List of parameters 97 | 98 | - `url`= The URL of the specific blog 99 | 100 | This is a mandatory parameter 101 | 102 | eg. `https://souravdey777.hashnode.dev/flexbox-guide-flexbox-layout-made-simple-with-an-interactive-tool` 103 | 104 | - `theme`= The theme of the Card. 105 | 106 | This is not a mandatory parameter and the default value is `light`. 107 | Other values are possible values are `dark` or `blue` 108 | 109 | - `large`= The size of the Card. 110 | 111 | This is not a mandatory parameter and the default value is `false`. And when set to true gives a larger Card. 112 | 113 | --- 114 | 115 | #### getHashnodeBlogBySequence 116 | 117 | This API endpoint will fetch a specific blog by the Hashnode username of the author and the serial no of the blog starting from 1 being the latest. 118 | 119 | ``` 120 | https://hashnode-blog-cards.vercel.app/api/getHashnodeBlogBySequence?username=Souravdey777&sequence=1&large=true&theme=light 121 | ``` 122 | 123 | Response 124 | 125 | ![](https://hashnode-blog-cards.vercel.app/api/getHashnodeBlogBySequence?username=Souravdey777&sequence=1&large=true&theme=light) 126 | 127 | #### List of parameters 128 | 129 | - `username`= The hashnode username of the blogger. 130 | 131 | This is a mandatory parameter. 132 | 133 | eg. `souravdey777` this is my hashnode username. 134 | 135 | - `sequence`= The serial no of the blog starting from 1 being the latest. Because of this parameter, the blogs will be changing when you add them to your website or Github profile whenever you add a new blog. 136 | 137 | This is a mandatory parameter. 138 | 139 | eg. `souravdey777` this is my hashnode username. 140 | 141 | - `theme`= The theme of the Card. 142 | 143 | This is not a mandatory parameter and the default value is `light`. 144 | Other values are possible values are `dark` or `blue` 145 | 146 | - `large`= The size of the Card. 147 | 148 | This is not a mandatory parameter and the default value is `false`. And when set to true gives a larger Card. 149 | 150 | --- 151 | 152 | #### getLatestHashnodeBlog 153 | 154 | This API endpoint will fetch a set of the latest blogs by the Hashnode username of the author and the limit up to which the blogs are needed 155 | 156 | ``` 157 | https://hashnode-blog-cards.vercel.app/api/getLatestHashnodeBlog?username=Souravdey777&limit=3&large=true&theme=light 158 | ``` 159 | Response 160 | 161 | ![](https://hashnode-blog-cards.vercel.app/api/getLatestHashnodeBlog?username=Souravdey777&limit=3&large=true&theme=light) 162 | 163 | #### List of parameters 164 | 165 | - `username`= The hashnode username of the blogger. 166 | 167 | This is a mandatory parameter. 168 | 169 | eg. `souravdey777` this is my hashnode username. 170 | 171 | - `limit`= The no of the blog starting from latest to the limit defined or all blog you have if the no of blog you have is less than the limit defined. 172 | 173 | It is not a mandatory param and the default value is `3`. The maximum possible value is 6. 174 | 175 | eg. `souravdey777` this is my hashnode username. 176 | 177 | - `theme`= The theme of the Card. 178 | 179 | This is not a mandatory parameter and the default value is `light`. 180 | Other values are possible values are `dark` or `blue` 181 | 182 | - `large`= The size of the Card. 183 | 184 | This is not a mandatory parameter and the default value is `false`. And when set to true gives a larger Card. 185 | 186 | --- 187 | 188 | Now let's see what are the themes we have, 189 | 190 | `theme=light`,`theme=dark` and `theme=blue` 191 | 192 |

193 | 194 | 195 | 196 |

197 | 198 | --- 199 | 200 | Now let's see the different size we have 201 | 202 | `large=true` and `large=false` 203 | 204 |

205 | 206 | 207 |

208 | 209 | **For 'img' tag custom size defined with `width` and `height` attributes.** 210 | 211 | --- 212 | 213 | #### Markdown Syntax 214 | 215 | ``` 216 | [![Hashnode Blog Card](https://hashnode-blog-cards.vercel.app/api/API_ENDPOINT?PARAMS)](BLOG_URL) 217 | ``` 218 | 219 | #### HTML 220 | 221 | ``` 222 | 223 | Sourav Dey's Hashnode Blog Cards 224 | 225 | ``` 226 | 227 | ## Features 228 | 229 | - Dynamic URL creation 230 | - Dynamic SVG 231 | - Tool to share your Hashnode Blog 232 | 233 | ## Technologies 234 | 235 | - nextjs 236 | - reactjs 237 | - nodejs 238 | - lottie animation 239 | 240 | ##### Dependencies 241 | 242 | ``` 243 | "dependencies": { 244 | "axios": "^0.21.1", 245 | "next": "10.0.5", 246 | "prop-types": "^15.7.2", 247 | "react": "17.0.1", 248 | "react-dom": "17.0.1", 249 | "react-lottie": "^1.2.3" 250 | }, 251 | "devDependencies": { 252 | "eslint": "^7.19.0", 253 | "eslint-config-prettier": "^7.2.0", 254 | "eslint-plugin-jsx-a11y": "^6.4.1", 255 | "eslint-plugin-prettier": "^3.3.1", 256 | "eslint-plugin-react": "^7.22.0", 257 | "eslint-plugin-react-hooks": "^4.2.0", 258 | "eslint-plugin-simple-import-sort": "^7.0.0", 259 | "prettier": "^2.2.1" 260 | } 261 | 262 | ``` 263 | 264 | ## Setup 265 | 266 | ##### Clone/download the repository on your local machine. 267 | 268 | `git clone https://github.com/Souravdey777/HashnodeBlogCards.git` 269 | 270 | ##### Install dependencies 271 | 272 | `npm install` or `yarn install` 273 | 274 | ##### Run `dev` server on your local machine. 🚀 275 | 276 | `npm run dev` or `yarn run dev` 277 | 278 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 279 | 280 | You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. 281 | 282 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. 283 | 284 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. 285 | 286 | ##### Or you can open it using Gitpod 287 | 288 | [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Souravdey777/HashnodeBlogCards) 289 | 290 | ## Contribution and Support 291 | 292 | Loved it!. ⭐ `Star the Repository` and support the project. 293 | 294 | Upvote in 🚀 **Product Hunt**. 295 | 296 | Hashnode Blog Cards - ⚡ Give your blogs what it actually deserves with Blog Cards. | Product Hunt 297 | 298 | 299 | - [Ask for a new `feature` or `theme`](https://github.com/Souravdey777/HashnodeBlogCards/discussions/) 300 | 301 | - [Open a Pull Request](https://github.com/Souravdey777/HashnodeBlogCards/pulls) 302 | 303 | - [Raise an Issue](https://github.com/Souravdey777/HashnodeBlogCards/issues/new) 304 | 305 | 👨‍🚀 Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. 306 | 307 | 308 | Buy Me A Coffee 309 | 310 | 311 | ## License 312 | 313 | 📝 Distributed under the `MIT` License. See [LICENSE](https://github.com/Souravdey777/HashnodeBlogCards/blob/main/LICENSE) for more information. 314 | 315 | ## Contact 316 | 317 | [![Portfolio](http://img.shields.io/badge/-Portfolio%20Website-ffffff?style=flat&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEYSURBVDiNxdHNK4RRFMfxzzMzhVJeirKwIZKVyG4WY22nrCwoG%2FkHbGYzO%2FkfLKysZSHFgmxtKCJkNTLEyEtZTGPx3KnpaWSS8q3bOffcc37ndC7%2FTYRldKKCdMJ%2Bxwbm8QJ57GMOV5jFaRD5iXyEHZzjCb24D7bYhEAugwOsNpHciCiNa7wlHiYTE%2FSggHEM4CTEsynxMmAME8GfRg6D4f6Kh%2BDf1HdKBTsaio4xhAscYhH96K4Ty2IF64hqAo%2FoQitmsIV2tKCMEs7QFk4ae6jWBEpYwzAy%2BAh%2BIYzfh6nQoBUj2BSUsjjCe5jkUrzUIj7rdvAs%2Fuo7bIu%2F%2BzYTOtaohIQkVew2iC9EWEJHg8dmKP%2By7g%2F5Ahl%2FO9wcY8OAAAAAAElFTkSuQmCC&logoColor=white)][website] 318 | [![LinkedIn](http://img.shields.io/badge/-LinkedIn-0077B5?style=flat&logo=linkedIn&logoColor=white)][linkedin] 319 | [![Twitter](http://img.shields.io/badge/-Twitter-1DA1F2?style=flat&logo=twitter&logoColor=white)][twitter] 320 | [![Mail](https://img.shields.io/badge/-Gmail-D14836?style=flat&logo=gmail&logoColor=white)][mail] 321 | [![Medium](http://img.shields.io/badge/-Hashnode-2962ff?style=flat&logo=hashnode&logoColor=white)][hashnode] 322 | [![Medium](http://img.shields.io/badge/-Medium-black?style=flat&logo=medium&logoColor=white)][medium] 323 | [![Coder Rank](http://img.shields.io/badge/-Coders%20Rank-67A4AC?style=flat&logo=CodersRank&logoColor=white)][codersrank] 324 | [![Product Hunt](http://img.shields.io/badge/-Product%20Hunt-DA552F?style=flat&logo=Product%20Hunt&logoColor=white)][producthunt] 325 | [![Speaker Deck](http://img.shields.io/badge/-Speaker%20Deck-009287?style=flat&logo=Speaker%20deck&logoColor=white)][speakerdeck] 326 | [![Instagram](http://img.shields.io/badge/-Instagram-E4405F?style=flat&logo=instagram&logoColor=white)][instagram] 327 | 328 | [website]: https://souravdey777.github.io/Portfolio/ 329 | [mail]:mailto:piyush.kolkata@gmail.com 330 | [twitter]: https://twitter.com/Souravdey777 331 | [codersrank]: https://profile.codersrank.io/user/souravdey777 332 | [youtube]: https://youtube.com/ 333 | [instagram]: https://www.instagram.com/souravdey777/ 334 | [linkedin]: https://www.linkedin.com/in/sourav-dey/ 335 | [hashnode]: https://souravdey777.hashnode.dev/ 336 | [medium]: https://medium.com/@Souravdey777 337 | [producthunt]: https://www.producthunt.com/@souravdey777 338 | [speakerdeck]: https://speakerdeck.com/Souravdey777 339 | 340 | 341 | ## Learn More about `Nextjs` 342 | 343 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 344 | 345 | ##### To learn more about `Next.js`, take a look at the following resources: 346 | 347 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 348 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 349 | 350 | ##### To learn about `React`, check out the [React documentation](https://reactjs.org/). 351 | 352 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) 353 | 354 | ## Deploy on Vercel 355 | 356 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/import?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 357 | 358 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 359 | -------------------------------------------------------------------------------- /assets/404.json: -------------------------------------------------------------------------------- 1 | {"v":"5.2.1","fr":60,"ip":0,"op":600,"w":1080,"h":1080,"nm":"Astronaout ","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Astronaut Outlines 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[-23],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":150,"s":[0],"e":[-23]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":298.498,"s":[-23],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":450.752,"s":[0],"e":[-23]},{"t":599}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[808,390,0],"e":[808,301,0],"to":[0,-14.8333330154419,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[808,301,0],"e":[808,390,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298.498,"s":[808,390,0],"e":[808,301,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":450.752,"s":[808,301,0],"e":[808,390,0],"to":[0,0,0],"ti":[0,-14.8333330154419,0]},{"t":599}],"ix":2},"a":{"a":0,"k":[804,301,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.009,-0.014],[1.1,-5.045],[0,0],[-0.351,-0.002],[0,0],[-0.855,5.668],[-0.005,0.483],[0,0]],"o":[[0,0],[-0.009,0.014],[-2.667,4.961],[-0.455,2.167],[0,0],[0,0],[2.4,-0.014],[0.074,-0.493],[0,0],[-0.066,-6.061]],"v":[[0.631,-9.499],[0.631,-9.499],[0.603,-9.456],[-5.084,5.896],[-5.73,9.485],[-5.178,9.499],[-4.973,9.499],[5.613,3.309],[5.73,1.844],[5.73,1.604]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.1607843137254902,0.3843137254901961,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[775.621,303],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.667,4.961],[0.842,-4.009]],"o":[[-3.102,4.789],[1.1,-5.045]],"v":[[2.844,-7.676],[-2.844,7.676]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23921568627450981,0.44313725490196076,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[773.38,301.22],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.015,0],[0.641,-0.203],[-0.385,-5.125],[-4.461,-0.051],[0,0],[-0.285,0.038],[-0.038,5.346],[0,0],[0.103,0.565]],"o":[[-0.714,0],[-4.396,1.392],[0.358,4.766],[0,0],[0.282,-0.003],[4.336,-0.571],[0,0],[-0.004,-0.599],[-0.828,-4.558]],"v":[[1.599,-10.306],[-0.452,-9.997],[-8.907,1.277],[-0.185,10.306],[-0.021,10.306],[0.829,10.245],[8.931,-1.935],[8.931,-2.097],[8.773,-3.848]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.1607843137254902,0.3843137254901961,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[823.195,293.501],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[18.448,16.143],[-21.267,8.671],[-5.638,-14.862]],"o":[[-9.004,-7.878],[21.268,-8.67],[5.637,14.86]],"v":[[-35.726,23.06],[-14.203,-30.533],[39.093,-14.861]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4627450980392157,0.6039215686274509,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[808.606,306.049],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Astronaut Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[15]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":150,"s":[15],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":298.498,"s":[0],"e":[15]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":450.752,"s":[15],"e":[0]},{"t":599}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[216,762,0],"e":[216,682,0],"to":[0,-13.3333330154419,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[216,682,0],"e":[216,762,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298.498,"s":[216,762,0],"e":[216,682,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":450.752,"s":[216,682,0],"e":[216,762,0],"to":[0,0,0],"ti":[0,-13.3333330154419,0]},{"t":599}],"ix":2},"a":{"a":0,"k":[212,682,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.926,0.027],[0,0],[0.959,-0.107],[-5.637,-9.394],[-6.228,0],[-0.885,0.369],[4.442,8.883]],"o":[[0,0],[-0.859,0.004],[-8.008,0.89],[4.826,8.043],[1.047,0],[6.149,-2.563],[-3.848,-7.697]],"v":[[-1.158,-18.121],[-1.338,-18.121],[-4.062,-17.952],[-12.945,3.912],[6.691,18.121],[9.603,17.578],[12.335,-7.703]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.1607843137254902,0.3843137254901961,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.461,678.111],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-3.584,-9.053],[-5.653,-0.045],[0,0],[-3.674,3.421],[0,0],[0.004,0.01],[6.34,6.162],[1.935,2.456]],"o":[[-11.173,2.098],[2.078,5.249],[0,0],[4.027,-0.031],[0,0],[-0.004,-0.01],[-2.888,-5.832],[-1.763,-1.714],[0,0]],"v":[[-5.372,-14.76],[-11.161,6.384],[1.666,14.76],[1.913,14.76],[13.905,9.737],[13.905,9.737],[13.892,9.707],[0.141,-8.411],[-5.373,-14.76]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.1607843137254902,0.3843137254901961,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[260.982,689.988],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.763,-1.714],[-2.888,-5.832]],"o":[[0,0],[1.934,2.456],[6.34,6.162],[-5.773,-13.759]],"v":[[-9.632,-12.234],[-9.632,-12.234],[-4.119,-5.885],[9.632,12.234]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23921568627450981,0.44313725490196076,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[265.243,687.462],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[14.729,30.533],[-30.892,-1.797],[-10.929,-10.623],[15.805,-9.34]],"o":[[-11.134,-23.083],[30.892,1.795],[22.824,22.184],[-15.805,9.34]],"v":[[-61.247,-4.85],[-5.209,-50.828],[49.557,-9.933],[55.857,43.285]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4627450980392157,0.6039215686274509,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.566,691.51],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Astronaut Outlines 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[556,626,0],"e":[544,540,0],"to":[-2,-14.3333330154419,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[544,540,0],"e":[556,626,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298.498,"s":[556,626,0],"e":[544,540,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":450.752,"s":[544,540,0],"e":[556,626,0],"to":[0,0,0],"ti":[-2,-14.3333330154419,0]},{"t":599}],"ix":2},"a":{"a":0,"k":[540,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.511,0],[1.712,-4.138],[0.005,-0.844],[0,0],[-9.237,0],[-1.335,0.364],[-0.014,3.245],[0,0],[1.989,1.59]],"o":[[-5.016,0],[-0.359,0.868],[0,0],[0.039,7.161],[1.558,0],[5.317,-1.448],[0,0],[-0.013,-2.964],[-3.543,-2.832]],"v":[[-4.674,-10.734],[-15.867,-5.062],[-16.401,-2.49],[-16.401,-2.419],[4.792,10.734],[9.166,10.2],[16.401,2.266],[16.401,2.196],[12.818,-5.317]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7647058823529411,0.8745098039215686,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[188.558,789.089],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[0],"e":[-29]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":150,"s":[-29],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":298.498,"s":[0],"e":[-29]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":450.752,"s":[-29],"e":[0]},{"t":599}],"ix":6},"o":{"a":0,"k":50,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.675,0],[1.155,-0.542],[0.109,-7.768],[0,0],[-1.38,-1.57],[-1.994,-0.022],[0,0],[-1.581,8.165]],"o":[[-1.463,0],[-5.718,2.687],[0,0],[0.028,1.993],[1.412,1.605],[0,0],[7.586,-0.081],[1.534,-7.916]],"v":[[4.968,-14.513],[0.933,-13.672],[-13.52,6.46],[-13.52,6.755],[-11.505,12.177],[-6.293,14.513],[-6.103,14.513],[13.243,-3.543]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4627450980392157,0.6039215686274509,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[883.13,210.773],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[-16],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":150,"s":[0],"e":[-16]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":298.498,"s":[-16],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":450.752,"s":[0],"e":[-16]},{"t":599}],"ix":6},"o":{"a":0,"k":50,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.075,-4.384],[-9.736,-3.331],[3.416,10.019]],"o":[[-4.61,6.574],[9.737,3.331],[-3.416,-10.019]],"v":[[-5.723,-12.299],[-3.673,16.313],[9.993,-9.625]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4627450980392157,0.6039215686274509,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[882.786,361.227],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[-24],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":150,"s":[0],"e":[-24]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":298.498,"s":[-24],"e":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":450.752,"s":[0],"e":[-24]},{"t":599}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Astronaut Outlines 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[544,540,0],"ix":2},"a":{"a":0,"k":[540,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.822,-1.665],[0,0],[-0.731,-0.105],[0,0],[1.329,-1.296],[0,0],[-0.125,-0.727],[0,0],[1.643,0.864],[0,0],[0.654,-0.343],[0,0],[-0.314,1.83],[0,0],[0.528,0.515],[0,0],[-1.837,0.268],[0,0],[-0.326,0.661],[0,0]],"o":[[0,0],[0.328,0.661],[0,0],[1.838,0.268],[0,0],[-0.527,0.515],[0,0],[0.314,1.83],[0,0],[-0.652,-0.343],[0,0],[-1.643,0.864],[0,0],[0.125,-0.727],[0,0],[-1.329,-1.296],[0,0],[0.73,-0.105],[0,0],[0.822,-1.665]],"v":[[2.009,-12.448],[4.657,-7.081],[6.345,-5.855],[12.268,-4.995],[13.51,-1.173],[9.223,3.004],[8.579,4.988],[9.591,10.887],[6.341,13.249],[1.042,10.463],[-1.043,10.463],[-6.341,13.249],[-9.591,10.887],[-8.579,4.988],[-9.223,3.004],[-13.51,-1.173],[-12.268,-4.995],[-6.345,-5.855],[-4.658,-7.081],[-2.009,-12.448]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23921568627450981,0.44313725490196076,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[315.328,849.447],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100],"e":[180,180]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":150,"s":[180,180],"e":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":298,"s":[100,100],"e":[180,180]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":451,"s":[180,180],"e":[100,100]},{"t":599}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 20","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.98,-1.987],[0,0],[-0.87,-0.127],[0,0],[1.586,-1.547],[0,0],[-0.149,-0.868],[0,0],[1.962,1.031],[0,0],[0.778,-0.409],[0,0],[-0.374,2.184],[0,0],[0.63,0.614],[0,0],[-2.192,0.319],[0,0],[-0.389,0.789],[0,0]],"o":[[0,0],[0.39,0.789],[0,0],[2.192,0.319],[0,0],[-0.631,0.614],[0,0],[0.375,2.184],[0,0],[-0.778,-0.409],[0,0],[-1.961,1.031],[0,0],[0.148,-0.868],[0,0],[-1.586,-1.547],[0,0],[0.871,-0.127],[0,0],[0.98,-1.987]],"v":[[2.397,-14.854],[5.559,-8.448],[7.571,-6.986],[14.641,-5.959],[16.122,-1.399],[11.007,3.587],[10.238,5.953],[11.445,12.993],[7.566,15.811],[1.244,12.487],[-1.243,12.487],[-7.566,15.811],[-11.445,12.993],[-10.237,5.953],[-11.006,3.587],[-16.122,-1.399],[-14.64,-5.959],[-7.571,-6.986],[-5.559,-8.448],[-2.396,-14.854]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23921568627450981,0.44313725490196076,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[653.259,174.561],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":0,"s":[100,100],"e":[180,180]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":150,"s":[180,180],"e":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":298,"s":[100,100],"e":[180,180]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":451,"s":[180,180],"e":[100,100]},{"t":599}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 21","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Astronaut Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[7],"e":[20]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":150,"s":[20],"e":[7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":298.498,"s":[7],"e":[20]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":450.752,"s":[20],"e":[7]},{"t":599}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[554,620,0],"e":[544,540,0],"to":[-1.66666662693024,-13.3333330154419,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[544,540,0],"e":[554,620,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298.498,"s":[554,620,0],"e":[544,540,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":450.752,"s":[544,540,0],"e":[554,620,0],"to":[0,0,0],"ti":[-1.66666662693024,-13.3333330154419,0]},{"t":599}],"ix":2},"a":{"a":0,"k":[540,540,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.004,0.012],[10.936,21.53]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-9.4,-25.14],[-0.01,-0.019]],"v":[[-9.094,-39.052],[-9.094,-39.052],[-21.842,-24.539],[-21.842,-24.426],[-21.759,-23.221],[-0.493,37.761],[4.528,39.052],[21.842,34.479],[21.842,34.479],[21.828,34.439],[-9.079,-39.024]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.003,0.012],[12.874,18.707]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-7.462,-34.086],[-0.012,-0.018]],"v":[[-5.005,-5.157],[-5.005,-5.157],[-21.17,11.664],[-21.17,11.777],[-21.087,12.982],[-2.147,75.61],[2.874,76.901],[20.188,72.327],[20.188,72.327],[20.173,72.288],[-4.989,-5.129]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.003,0.012],[12.874,18.707]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-7.462,-34.086],[-0.012,-0.018]],"v":[[-5.005,-5.157],[-5.005,-5.157],[-21.17,11.664],[-21.17,11.777],[-21.087,12.982],[-2.147,75.61],[2.874,76.901],[20.188,72.327],[20.188,72.327],[20.173,72.288],[-4.989,-5.129]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.004,0.012],[10.936,21.53]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-9.4,-25.14],[-0.01,-0.019]],"v":[[-9.094,-39.052],[-9.094,-39.052],[-21.842,-24.539],[-21.842,-24.426],[-21.759,-23.221],[-0.493,37.761],[4.528,39.052],[21.842,34.479],[21.842,34.479],[21.828,34.439],[-9.079,-39.024]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298,"s":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.004,0.012],[10.936,21.53]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-9.4,-25.14],[-0.01,-0.019]],"v":[[-9.094,-39.052],[-9.094,-39.052],[-21.842,-24.539],[-21.842,-24.426],[-21.759,-23.221],[-0.493,37.761],[4.528,39.052],[21.842,34.479],[21.842,34.479],[21.828,34.439],[-9.079,-39.024]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.003,0.012],[12.874,18.707]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-7.462,-34.086],[-0.012,-0.018]],"v":[[-5.005,-5.157],[-5.005,-5.157],[-21.17,11.664],[-21.17,11.777],[-21.087,12.982],[-2.147,75.61],[2.874,76.901],[20.188,72.327],[20.188,72.327],[20.173,72.288],[-4.989,-5.129]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":451,"s":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.003,0.012],[12.874,18.707]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-7.462,-34.086],[-0.012,-0.018]],"v":[[-5.005,-5.157],[-5.005,-5.157],[-21.17,11.664],[-21.17,11.777],[-21.087,12.982],[-2.147,75.61],[2.874,76.901],[20.188,72.327],[20.188,72.327],[20.173,72.288],[-4.989,-5.129]],"c":true}],"e":[{"i":[[0,0],[0,0],[0.054,-8.965],[0,0],[-0.054,-0.408],[-5.637,-4.227],[-2.011,0],[0,0],[0,0],[0.004,0.012],[10.936,21.53]],"o":[[0,0],[0,0],[0,0],[0.002,0.395],[1.281,9.737],[1.238,0.928],[7.146,0],[0,0],[-0.004,-0.012],[-9.4,-25.14],[-0.01,-0.019]],"v":[[-9.094,-39.052],[-9.094,-39.052],[-21.842,-24.539],[-21.842,-24.426],[-21.759,-23.221],[-0.493,37.761],[4.528,39.052],[21.842,34.479],[21.842,34.479],[21.828,34.439],[-9.079,-39.024]],"c":true}]},{"t":599}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780391977348,0.854902020623,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[750.211,613.173],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.519,0.948],[-8.688,-31.94]],"o":[[10.936,21.53],[-16.809,-47.578]],"v":[[-11.364,-2.836],[13.799,74.58]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.925490016563,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[756.586,610.881],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 13","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-3.416,-16.227],[-7.002,-6.662],[-4.754,0],[-8.51,10.561],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[3.417,16.229],[2.226,2.117],[10.205,0],[-0.006,-0.048],[-3.902,-30.448]],"v":[[17.287,-50.164],[17.285,-50.164],[-15.707,-30.591],[-27.323,-1.21],[-15.025,46.961],[-4.094,50.164],[28.531,34.598],[28.512,34.451]],"c":true}],"e":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-7.232,-14.922],[-7.002,-6.662],[-4.717,0.594],[-11.635,5.448],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[6.694,13.811],[2.226,2.117],[11.381,-1.433],[-0.006,-0.048],[-3.902,-30.448]],"v":[[-16.242,-32.64],[-16.158,-32.405],[-47.517,-19.678],[-50.879,7.895],[-27.156,50.179],[-16.279,51.407],[11.232,42.624],[11.427,41.6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-7.232,-14.922],[-7.002,-6.662],[-4.717,0.594],[-11.635,5.448],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[6.694,13.811],[2.226,2.117],[11.381,-1.433],[-0.006,-0.048],[-3.902,-30.448]],"v":[[-16.242,-32.64],[-16.158,-32.405],[-47.517,-19.678],[-50.879,7.895],[-27.156,50.179],[-16.279,51.407],[11.232,42.624],[11.427,41.6]],"c":true}],"e":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-3.416,-16.227],[-7.002,-6.662],[-4.754,0],[-8.51,10.561],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[3.417,16.229],[2.226,2.117],[10.205,0],[-0.006,-0.048],[-3.902,-30.448]],"v":[[17.287,-50.164],[17.285,-50.164],[-15.707,-30.591],[-27.323,-1.21],[-15.025,46.961],[-4.094,50.164],[28.531,34.598],[28.512,34.451]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298,"s":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-3.416,-16.227],[-7.002,-6.662],[-4.754,0],[-8.51,10.561],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[3.417,16.229],[2.226,2.117],[10.205,0],[-0.006,-0.048],[-3.902,-30.448]],"v":[[17.287,-50.164],[17.285,-50.164],[-15.707,-30.591],[-27.323,-1.21],[-15.025,46.961],[-4.094,50.164],[28.531,34.598],[28.512,34.451]],"c":true}],"e":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-7.232,-14.922],[-7.002,-6.662],[-4.717,0.594],[-11.635,5.448],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[6.694,13.811],[2.226,2.117],[11.381,-1.433],[-0.006,-0.048],[-3.902,-30.448]],"v":[[-16.242,-32.64],[-16.158,-32.405],[-47.518,-19.678],[-50.879,7.895],[-27.156,50.179],[-16.279,51.407],[11.232,42.624],[11.427,41.6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":451,"s":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-7.232,-14.922],[-7.002,-6.662],[-4.717,0.594],[-11.635,5.448],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[6.694,13.811],[2.226,2.117],[11.381,-1.433],[-0.006,-0.048],[-3.902,-30.448]],"v":[[-16.242,-32.64],[-16.158,-32.405],[-47.518,-19.678],[-50.879,7.895],[-27.156,50.179],[-16.279,51.407],[11.232,42.624],[11.427,41.6]],"c":true}],"e":[{"i":[[0.037,0.277],[0,0],[18.859,-7.252],[-3.416,-16.227],[-7.002,-6.662],[-4.754,0],[-8.51,10.561],[0.006,0.048]],"o":[[0,0],[-0.15,0.131],[-11.216,4.313],[3.417,16.229],[2.226,2.117],[10.205,0],[-0.006,-0.048],[-3.902,-30.448]],"v":[[17.287,-50.164],[17.285,-50.164],[-15.707,-30.591],[-27.323,-1.21],[-15.025,46.961],[-4.094,50.164],[28.531,34.598],[28.512,34.451]],"c":true}]},{"t":599}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780391977348,0.854902020623,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[656.861,780.101],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 14","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.405,-129.651],[6.405,-129.651],[-52.015,-83.188],[-81.224,-59.957],[-15.118,129.651],[81.224,68.67]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23921568627450981,0.44313725490196076,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[575.228,507.191],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 16","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[14.605,-11.616],[-14.605,11.616],[-14.604,11.616]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.737254961799,0.894118006089,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[508.608,435.618],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 17","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.125,0],[-3.076,-5.28],[-17.367,-5.319],[0,0],[0,0],[0,0]],"o":[[-5.125,0],[3.074,5.281],[0,0],[5.629,-10.714],[0,0],[0,0]],"v":[[-8.638,-26.637],[-24.353,-1.342],[11.91,26.637],[11.914,26.637],[24.8,-1.342],[24.8,-1.342]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780391977348,0.854902020623,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[443.282,553.899],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 18","np":2,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.241,-0.001],[8.637,-1.904],[0.059,-8.513],[0,0],[-0.089,-0.405],[-13.241,0],[-8.637,1.904],[1.919,8.707]],"o":[[-7.16,0],[-23.389,5.155],[0,0],[0.003,0.416],[1.245,5.651],[7.16,0],[24.609,-5.424],[-1.245,-5.651]],"v":[[20.58,-18.576],[-3.474,-15.763],[-44.698,8.506],[-44.698,8.591],[-44.56,9.822],[-20.58,18.576],[3.475,15.764],[44.56,-9.822]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.207843002619,0.309803981407,0.568626972273,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[408.557,256.062],"e":[408.557,240.062],"to":[0,-2.66666674613953],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[408.557,240.062],"e":[408.557,256.062],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298,"s":[408.557,256.062],"e":[408.557,240.062],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":451,"s":[408.557,240.062],"e":[408.557,256.062],"to":[0,0],"ti":[0,-2.66666674613953]},{"t":599}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":0,"s":[100,100],"e":[80,80]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":150,"s":[80,80],"e":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":298,"s":[100,100],"e":[80,80]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":451,"s":[80,80],"e":[100,100]},{"t":599}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 19","np":2,"cix":2,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16.168,-1.076],[3.203,-6.021],[3.203,-7.686],[-14.093,-4.996],[-3.715,7.559],[5.509,13.836]],"o":[[0,0],[-3.203,6.021],[-3.203,7.687],[14.093,4.997],[3.716,-7.558],[-5.509,-13.836]],"v":[[-13.596,-42.933],[-12.043,-21.456],[-22.804,-2.752],[-7.174,39.013],[22.292,23.383],[18.449,-17.869]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.925490016563,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[653.053,394.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 22","np":2,"cix":2,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-32.541,2.563],[-7.471,7.136],[1.922,10.506],[-9.096,4.612],[-4.74,0.641],[-15.503,-0.257],[-2.051,-10.249],[12.555,-20.498],[39.918,-7.943],[13.067,25.75],[-0.113,13.376]],"o":[[24.69,-1.944],[3.814,-3.642],[-1.922,-10.506],[4.997,13.452],[4.74,-0.64],[15.501,0.257],[2.05,10.249],[-12.555,20.499],[-39.918,7.942],[-4.409,-8.69],[0,0]],"v":[[-45.569,5.509],[-0.839,-19.69],[0.297,-37.025],[14.133,-62.904],[30.019,-47.531],[55.13,-76.227],[85.109,-45.223],[64.61,14.733],[-5.544,68.542],[-81.184,30.364],[-87.046,-3.715]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.925490016563,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[388.653,569.07],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 23","np":2,"cix":2,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-152.394,-11.708],[-77.955,179.845],[27.355,177.336],[123.697,116.354],[152.394,29.237],[82.7,-179.845],[48.876,-81.966],[-38.752,-12.272]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3176470588235294,0.4980392156862745,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[532.755,459.506],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 24","np":2,"cix":2,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[44.73,-20.755],[-7.471,7.136],[1.922,10.506],[-9.096,4.612],[-0.817,-1.585]],"o":[[0,0],[-44.592,10.78],[24.69,-1.944],[3.814,-3.642],[-1.922,-10.506],[0.771,2.076],[0,0]],"v":[[24.826,-39.469],[24.823,-39.469],[-31.044,39.469],[13.686,14.269],[14.822,-3.066],[28.658,-28.945],[31.044,-23.468]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780391977348,0.854902020623,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[374.128,535.111],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 25","np":2,"cix":2,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-74.544,-17.801],[11.53,-46.121],[44.584,-0.256],[-0.245,56.883]],"o":[[34.334,8.199],[-11.531,46.12],[-44.583,0.256],[0.236,-54.693]],"v":[[41.503,-81.164],[86.6,21.328],[-9.23,98.708],[-97.885,11.59]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.07058823529411765,0.27450980392156865,0.5137254901960784,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[400.486,295.486],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 26","np":2,"cix":2,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[93.779,50.221],[49.965,-62.006],[-21.01,-29.978],[-80.711,45.095]],"o":[[-38.646,-20.696],[-49.965,62.008],[22.018,31.416],[80.712,-45.096]],"v":[[62.904,-121.196],[-106.719,-86.862],[-110.819,69.437],[67.515,103.772]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.925490016563,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[385.747,297.597],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 27","np":2,"cix":2,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[28.226,-5.617],[2.342,-0.28],[0,0],[-3.694,0],[-28.834,8.719]],"o":[[-12.039,15.159],[-2.473,0.492],[0,0],[0,0],[11.622,0],[0,0]],"v":[[25.454,-22.495],[-31.919,12.609],[-39.14,13.764],[-34.667,22.389],[-28.887,22.495],[39.14,12.724]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780391977348,0.854902020623,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[415.029,625.003],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 28","np":2,"cix":2,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-38.948,-24.598],[-19.473,-16.11],[-19.474,-20.498],[-25.623,2.305],[-0.256,11.53],[12.043,6.149],[0.769,7.175],[5.637,29.723],[56.555,20.791],[0,0]],"o":[[0,0],[38.946,24.599],[19.472,16.111],[19.474,20.498],[25.623,-2.307],[0.257,-11.53],[-12.042,-6.15],[-0.769,-7.174],[-5.637,-29.722],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[28.569,31.547],[63.416,145.537],[135.929,176.285],[182.306,150.15],[169.494,122.477],[139.772,104.029],[119.786,-42.021],[13.708,-133.751],[-122.093,-159.374]],"c":true}],"e":[{"i":[[0,0],[-38.948,-24.598],[-21.029,-14.019],[-21.482,-18.382],[-25.249,4.935],[0.933,11.495],[12.612,4.876],[1.505,7.057],[15.655,25.887],[26.871,23.3],[0,0]],"o":[[0,0],[38.946,24.598],[21.029,14.019],[21.482,18.382],[25.249,-4.935],[-0.933,-11.495],[-12.612,-4.876],[-1.505,-7.056],[-19.951,-32.991],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[-19.352,57.972],[59.272,166.564],[134.567,189.676],[178.004,158.9],[162.409,132.695],[130.944,117.408],[81.584,-15.458],[13.708,-133.751],[-122.093,-159.374]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[{"i":[[0,0],[-38.948,-24.598],[-21.029,-14.019],[-21.482,-18.382],[-25.249,4.935],[0.933,11.495],[12.612,4.876],[1.505,7.057],[15.655,25.887],[26.871,23.3],[0,0]],"o":[[0,0],[38.946,24.598],[21.029,14.019],[21.482,18.382],[25.249,-4.935],[-0.933,-11.495],[-12.612,-4.876],[-1.505,-7.056],[-19.951,-32.991],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[-19.352,57.972],[59.272,166.564],[134.567,189.676],[178.004,158.9],[162.409,132.695],[130.944,117.408],[81.584,-15.458],[13.708,-133.751],[-122.093,-159.374]],"c":true}],"e":[{"i":[[0,0],[-38.948,-24.598],[-19.473,-16.11],[-19.474,-20.498],[-25.623,2.305],[-0.256,11.53],[12.043,6.149],[0.769,7.175],[5.637,29.723],[56.555,20.791],[0,0]],"o":[[0,0],[38.946,24.599],[19.472,16.111],[19.474,20.498],[25.623,-2.307],[0.257,-11.53],[-12.042,-6.15],[-0.769,-7.174],[-5.637,-29.722],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[28.569,31.547],[63.416,145.537],[135.929,176.285],[182.306,150.15],[169.494,122.477],[139.772,104.029],[119.786,-42.021],[13.708,-133.751],[-122.093,-159.374]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298,"s":[{"i":[[0,0],[-38.948,-24.598],[-19.473,-16.11],[-19.474,-20.498],[-25.623,2.305],[-0.256,11.53],[12.043,6.149],[0.769,7.175],[5.637,29.723],[56.555,20.791],[0,0]],"o":[[0,0],[38.946,24.599],[19.472,16.111],[19.474,20.498],[25.623,-2.307],[0.257,-11.53],[-12.042,-6.15],[-0.769,-7.174],[-5.637,-29.722],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[28.569,31.547],[63.416,145.537],[135.929,176.285],[182.306,150.15],[169.494,122.477],[139.772,104.029],[119.786,-42.021],[13.708,-133.751],[-122.093,-159.374]],"c":true}],"e":[{"i":[[0,0],[-38.948,-24.598],[-21.029,-14.019],[-21.482,-18.382],[-25.249,4.935],[0.933,11.495],[12.612,4.876],[1.505,7.057],[15.655,25.887],[26.871,23.3],[0,0]],"o":[[0,0],[38.946,24.598],[21.029,14.019],[21.482,18.382],[25.249,-4.935],[-0.933,-11.495],[-12.612,-4.876],[-1.505,-7.056],[-19.951,-32.991],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[-19.352,57.972],[59.272,166.564],[134.567,189.676],[178.004,158.9],[162.409,132.695],[130.944,117.408],[81.584,-15.458],[13.708,-133.751],[-122.093,-159.374]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":451,"s":[{"i":[[0,0],[-38.948,-24.598],[-21.029,-14.019],[-21.482,-18.382],[-25.249,4.935],[0.933,11.495],[12.612,4.876],[1.505,7.057],[15.655,25.887],[26.871,23.3],[0,0]],"o":[[0,0],[38.946,24.598],[21.029,14.019],[21.482,18.382],[25.249,-4.935],[-0.933,-11.495],[-12.612,-4.876],[-1.505,-7.056],[-19.951,-32.991],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[-19.352,57.972],[59.272,166.564],[134.567,189.676],[178.004,158.9],[162.409,132.695],[130.944,117.408],[81.584,-15.458],[13.708,-133.751],[-122.093,-159.374]],"c":true}],"e":[{"i":[[0,0],[-38.948,-24.598],[-19.473,-16.11],[-19.474,-20.498],[-25.623,2.305],[-0.256,11.53],[12.043,6.149],[0.769,7.175],[5.637,29.723],[56.555,20.791],[0,0]],"o":[[0,0],[38.946,24.599],[19.472,16.111],[19.474,20.498],[25.623,-2.307],[0.257,-11.53],[-12.042,-6.15],[-0.769,-7.174],[-5.637,-29.722],[-53.552,-44.84],[0,0]],"v":[[-182.563,-121.965],[-100.569,-7.175],[28.569,31.547],[63.416,145.537],[135.929,176.285],[182.306,150.15],[169.494,122.477],[139.772,104.029],[119.786,-42.021],[13.708,-133.751],[-122.093,-159.374]],"c":true}]},{"t":599}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.925490016563,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[550.411,745.226],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 29","np":2,"cix":2,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-7.76,-11.507],[-13.043,-12.897],[-0.851,-0.685],[-3.275,-1.007],[-9.421,8.05],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.748,0.813],[4.806,1.228],[23.961,35.532],[0.825,0.816],[2.972,2.391],[10.091,3.103],[0,-0.001],[-32.449,-13.19],[-10.824,-14.583]],"v":[[-41.792,-96.176],[-99.031,-59.946],[-72.602,-44.969],[-39.414,-41.246],[-20.106,-20.539],[38.578,75.661],[41.521,80.376],[53.296,93.659],[81.262,80.669],[81.262,80.668],[17.24,-70.841]],"c":true}],"e":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-5.794,-12.612],[-9.32,-27.051],[-0.082,-1.089],[-3.275,-1.007],[-7.904,5.843],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.177,4.221],[4.806,1.228],[16.465,35.842],[0.378,1.097],[0.307,4.058],[10.091,3.103],[0,-0.001],[-14.812,-24.099],[-10.825,-14.583]],"v":[[-68.7,-79.466],[-123.418,-43.62],[-75.715,-25.745],[-42.908,-12.838],[-21.804,15.729],[6.718,89.065],[13.958,107.952],[21.755,124.714],[41.524,116.948],[48.76,101.011],[-13.979,-44.047]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-5.794,-12.612],[-9.32,-27.051],[-0.082,-1.089],[-3.275,-1.007],[-7.904,5.843],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.177,4.221],[4.806,1.228],[16.465,35.842],[0.378,1.097],[0.307,4.058],[10.091,3.103],[0,-0.001],[-14.812,-24.099],[-10.825,-14.583]],"v":[[-68.7,-79.466],[-123.418,-43.62],[-75.715,-25.745],[-42.908,-12.838],[-21.804,15.729],[6.718,89.065],[13.958,107.952],[21.755,124.714],[41.524,116.948],[48.76,101.011],[-13.979,-44.047]],"c":true}],"e":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-7.76,-11.507],[-13.043,-12.897],[-0.851,-0.685],[-3.275,-1.007],[-9.421,8.05],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.748,0.813],[4.806,1.228],[23.961,35.532],[0.825,0.816],[2.972,2.391],[10.091,3.103],[0,-0.001],[-32.449,-13.19],[-10.824,-14.583]],"v":[[-41.792,-96.176],[-99.031,-59.946],[-72.602,-44.969],[-39.414,-41.246],[-20.106,-20.539],[38.578,75.661],[41.521,80.376],[53.296,93.659],[81.262,80.669],[81.262,80.668],[17.24,-70.841]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298,"s":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-7.76,-11.507],[-13.043,-12.897],[-0.851,-0.685],[-3.275,-1.007],[-9.421,8.05],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.748,0.813],[4.806,1.228],[23.961,35.532],[0.825,0.816],[2.972,2.391],[10.091,3.103],[0,-0.001],[-32.449,-13.19],[-10.824,-14.583]],"v":[[-41.792,-96.176],[-99.031,-59.946],[-72.602,-44.969],[-39.414,-41.246],[-20.106,-20.539],[38.578,75.661],[41.521,80.376],[53.296,93.659],[81.262,80.669],[81.262,80.668],[17.24,-70.841]],"c":true}],"e":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-5.794,-12.612],[-9.32,-27.051],[-0.082,-1.089],[-3.275,-1.007],[-7.904,5.843],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.177,4.221],[4.806,1.228],[16.465,35.842],[0.378,1.097],[0.307,4.058],[10.091,3.103],[0,-0.001],[-14.812,-24.099],[-10.825,-14.583]],"v":[[-68.7,-79.466],[-123.418,-43.62],[-75.715,-25.745],[-42.908,-12.838],[-21.804,15.729],[6.719,89.065],[13.958,107.952],[21.755,124.714],[41.524,116.948],[48.76,101.011],[-13.979,-44.047]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":451,"s":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-5.794,-12.612],[-9.32,-27.051],[-0.082,-1.089],[-3.275,-1.007],[-7.904,5.843],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.177,4.221],[4.806,1.228],[16.465,35.842],[0.378,1.097],[0.307,4.058],[10.091,3.103],[0,-0.001],[-14.812,-24.099],[-10.825,-14.583]],"v":[[-68.7,-79.466],[-123.418,-43.62],[-75.715,-25.745],[-42.908,-12.838],[-21.804,15.729],[6.719,89.065],[13.958,107.952],[21.755,124.714],[41.524,116.948],[48.76,101.011],[-13.979,-44.047]],"c":true}],"e":[{"i":[[17.869,3.257],[0,0],[-8.209,-5.383],[-6.75,-1.725],[-7.76,-11.507],[-13.043,-12.897],[-0.851,-0.685],[-3.275,-1.007],[-9.421,8.05],[0,0],[15.73,21.192]],"o":[[0,0],[9.359,4.54],[13.748,0.813],[4.806,1.228],[23.961,35.532],[0.825,0.816],[2.972,2.391],[10.091,3.103],[0,-0.001],[-32.449,-13.19],[-10.824,-14.583]],"v":[[-41.792,-96.176],[-99.031,-59.946],[-72.602,-44.969],[-39.414,-41.246],[-20.106,-20.539],[38.578,75.661],[41.521,80.376],[53.296,93.659],[81.262,80.669],[81.262,80.668],[17.24,-70.841]],"c":true}]},{"t":599}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.831372967888,0.890196018593,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[684.72,680.598],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 30","np":2,"cix":2,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"fl","c":{"a":0,"k":[0.941175991881,0.960784014534,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[697.934,706.201],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 31","np":1,"cix":2,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[{"i":[[0,0],[-19.644,-5.019],[-21.522,-11.244],[-23.744,13.855],[-0.683,7.027],[8.712,5.66],[13.495,-8.634],[25.793,10.842],[0,0]],"o":[[0,0],[19.645,5.02],[21.523,11.243],[23.744,-13.853],[0.684,-7.027],[-8.711,-5.66],[-19.814,-54.011],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-56.98,-11.195],[36.203,122.779],[99.747,101.495],[145.869,63.748],[127.761,23.028],[80.274,25.6],[6.437,-117.989],[-97.718,-134.022]],"c":true}],"e":[{"i":[[0,0],[-18.476,-8.349],[-6.849,-23.297],[-26.455,-7.474],[-5.533,4.386],[5.516,22.512],[15.583,3.72],[25.793,10.842],[0,0]],"o":[[0,0],[21.684,9.798],[6.849,23.297],[26.454,7.474],[5.533,-4.386],[-2.472,-10.09],[-27.812,-123.548],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-61.585,17.085],[-2.09,144.871],[57.342,175.836],[116.529,182.83],[133.269,141.529],[86.236,113.579],[8.665,-94.324],[-97.718,-134.022]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":150,"s":[{"i":[[0,0],[-18.476,-8.349],[-6.849,-23.297],[-26.455,-7.474],[-5.533,4.386],[5.516,22.512],[15.583,3.72],[25.793,10.842],[0,0]],"o":[[0,0],[21.684,9.798],[6.849,23.297],[26.454,7.474],[5.533,-4.386],[-2.472,-10.09],[-27.812,-123.548],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-61.585,17.085],[-2.09,144.871],[57.342,175.836],[116.529,182.83],[133.269,141.529],[86.236,113.579],[8.665,-94.324],[-97.718,-134.022]],"c":true}],"e":[{"i":[[0,0],[-19.644,-5.019],[-21.522,-11.244],[-23.744,13.855],[-0.683,7.027],[8.712,5.66],[13.495,-8.634],[25.793,10.842],[0,0]],"o":[[0,0],[19.645,5.02],[21.523,11.243],[23.744,-13.853],[0.684,-7.027],[-8.711,-5.66],[-19.814,-54.011],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-56.98,-11.195],[36.203,122.779],[99.747,101.495],[145.869,63.748],[127.761,23.028],[80.274,25.6],[6.437,-117.989],[-97.718,-134.022]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":298,"s":[{"i":[[0,0],[-19.644,-5.019],[-21.522,-11.244],[-23.744,13.855],[-0.683,7.027],[8.712,5.66],[13.495,-8.634],[25.793,10.842],[0,0]],"o":[[0,0],[19.645,5.02],[21.523,11.243],[23.744,-13.853],[0.684,-7.027],[-8.711,-5.66],[-19.814,-54.011],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-56.98,-11.195],[36.203,122.779],[99.747,101.495],[145.869,63.748],[127.761,23.028],[80.274,25.6],[6.437,-117.989],[-97.718,-134.022]],"c":true}],"e":[{"i":[[0,0],[-18.476,-8.349],[-6.849,-23.297],[-26.455,-7.474],[-5.533,4.386],[5.516,22.512],[15.583,3.72],[25.793,10.842],[0,0]],"o":[[0,0],[21.684,9.798],[6.849,23.297],[26.454,7.474],[5.533,-4.386],[-2.472,-10.09],[-27.812,-123.548],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-61.585,17.085],[-2.09,144.871],[57.342,175.836],[116.529,182.83],[133.269,141.529],[86.236,113.579],[8.665,-94.324],[-97.718,-134.022]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":451,"s":[{"i":[[0,0],[-18.476,-8.349],[-6.849,-23.297],[-26.455,-7.474],[-5.533,4.386],[5.516,22.512],[15.583,3.72],[25.793,10.842],[0,0]],"o":[[0,0],[21.684,9.798],[6.849,23.297],[26.454,7.474],[5.533,-4.386],[-2.472,-10.09],[-27.812,-123.548],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-61.585,17.085],[-2.09,144.871],[57.342,175.836],[116.529,182.83],[133.269,141.529],[86.236,113.579],[8.665,-94.324],[-97.718,-134.022]],"c":true}],"e":[{"i":[[0,0],[-19.644,-5.019],[-21.522,-11.244],[-23.744,13.855],[-0.683,7.027],[8.712,5.66],[13.495,-8.634],[25.793,10.842],[0,0]],"o":[[0,0],[19.645,5.02],[21.523,11.243],[23.744,-13.853],[0.684,-7.027],[-8.711,-5.66],[-19.814,-54.011],[-25.794,-10.843],[0,0]],"v":[[-146.552,-16.665],[-56.98,-11.195],[36.203,122.779],[99.747,101.495],[145.869,63.748],[127.761,23.028],[80.274,25.6],[6.437,-117.989],[-97.718,-134.022]],"c":true}]},{"t":599}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.925490016563,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[702.286,650.547],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 32","np":2,"cix":2,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[27.848,-15.56],[21.527,0],[13.254,4.332],[0,0],[-28.987,-0.019],[0,0],[-25.101,9.698]],"o":[[0,0],[-9.413,28.956],[-23.616,13.195],[-15.384,0],[0,0],[0,0],[0,0],[19.671,-0.011],[62.264,-24.056]],"v":[[95.554,-52.209],[83.643,-48.956],[27.138,21.178],[-41.185,39.596],[-84.369,32.595],[-95.554,45.903],[-46.968,52.209],[-46.719,52.209],[22.014,39.596]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780391977348,0.854902020623,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[426.125,380.191],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 33","np":2,"cix":2,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.687,-28.441],[-1.281,-19.058],[0,0],[0,0],[12.266,12.563],[45.865,-18.448]],"o":[[0,0],[-7.687,28.441],[37.377,34.591],[0,0],[0,0],[-12.267,-12.562],[-26.904,38.178]],"v":[[-123.053,-45.596],[-155.803,8.584],[-163.201,106.975],[22.019,112.612],[164.482,-54.961],[128.065,-113.373],[30.218,-123.118]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.882353001015,0.925490016563,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[464.81,458.38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 34","np":2,"cix":2,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.996,-32.669],[0,0],[0,0],[0,0]],"o":[[0,0],[-4.997,32.669],[0,0],[0,0],[0,0]],"v":[[-113.753,-44.2],[-152.775,1.921],[-80.52,130.292],[157.772,1.921],[82.44,-130.292]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780391977348,0.862744978362,0.976471007104,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[402.829,426.095],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 35","np":2,"cix":2,"ix":21,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}],"markers":[]} --------------------------------------------------------------------------------