HU XUYANG

add branch dev-client

init client
init server-client
Showing 124 changed files with 5011 additions and 0 deletions
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=0"
/>
<link rel="shortcut icon" href="./src/images/favicon.ico" />
<title>rfBlog</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
<script></script>
<template>
<div id="app">
<Nav></Nav>
<router-view></router-view>
<CopyRight></CopyRight>
<Top></Top>
</div>
</template>
<script>
import CopyRight from "components/copyRight";
import Top from "components/top";
import Nav from "components/nav";
import { mapActions } from "vuex";
export default {
name: "app",
components: {
CopyRight,
Top,
Nav,
},
created() {
this.getLabelList();
},
methods: {
...mapActions({
getLabelList: "label/getLabelList",
}),
},
};
</script>
\ No newline at end of file
import axios from "utils/request";
/**
* 获取博客列表
* @param data
* @returns {AxiosPromise}
*/
export function apiGetBlogList(params) {
return axios.get("/blog/list", params);
}
/**
* 获取博客详情
* @param data
* @returns {AxiosPromise}
*/
export function apiGetBlogDetail(params) {
return axios.get("/blog/info", params);
}
/**
* 点赞
* @param data
* @returns {AxiosPromise}
*/
export function apiUpdateLikes(params) {
return axios.post("/blog/updateLikes", params);
}
/**
* 浏览量
* @param data
* @returns {AxiosPromise}
*/
export function apiUpdatePV(params) {
return axios.post("/blog/updatePV", params);
}
import axios from "utils/request";
/**
* 获取标签列表
* @param data
* @returns {AxiosPromise}
*/
export function apiGetLabelList(params) {
return axios.get("/label/list", params);
}
import axios from "utils/request";
/**
* 获取留言列表
* @param data
* @returns {AxiosPromise}
*/
export function apiGetMessageList(params) {
return axios.get("/message/list", params);
}
/**
* 获取回复数量
* @param data
* @returns {AxiosPromise}
*/
export function apiGetReplyCount(params) {
return axios.get("/message/replyCount", params);
}
/**
* 添加留言
* @param data
* @returns {AxiosPromise}
*/
export function apiAddMessage(params) {
return axios.post("/message/add", params);
}
/**
* 点赞
* @param data
* @returns {AxiosPromise}
*/
export function apiUpdateLikes(params) {
return axios.post("/message/updateLikes", params);
}
/**
* 回复
* @param data
* @returns {AxiosPromise}
*/
export function apiUpdateReplys(params) {
return axios.post("/message/updateReplys", params);
}
<template>
<div class="bread-crumbs">{{ title }}</div>
</template>
<script>
export default {
name: "breadCrumbs",
components: {},
props: {},
computed: {},
data() {
return {
title: "首页",
};
},
watch: {},
created() {
let matched = this.$route.matched;
if (matched && matched.length) {
this.title = matched[matched.length - 1].meta["title"];
}
},
mounted() {},
beforeDestroy() {},
methods: {},
};
</script>
<style lang="less" scoped>
.bread-crumbs {
background-color: #f7f7f7;
padding: 10px 24px;
color: @mainColor;
}
</style>
/**
* 注入公共组件
*/
import Vue from "vue";
// 检索当前目录的vue文件,便检索子文件夹
const componentsContext = require.context("./", true, /.vue$/);
componentsContext.keys().forEach((component) => {
// 获取文件中的 default 模块
const componentConfig = componentsContext(component).default;
componentConfig.name && Vue.component(componentConfig.name, componentConfig);
});
<!-- PCloading -->
<template>
<div class="spinner">
<div class="circle"></div>
</div>
</template>
<script>
export default {
name: "Loading",
components: {},
props: {},
computed: {},
data() {
return {};
},
watch: {},
created() {},
mounted() {},
beforeDestroy() {},
methods: {},
};
</script>
<style lang="less" scoped>
.circle {
margin: 20px auto;
width: 100px;
height: 100px;
border: 5px white solid;
border-left-color: #ff5500;
border-right-color: #0c80fe;
border-radius: 100%;
animation: loading 1s infinite linear;
}
@keyframes loading {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
</style>
\ No newline at end of file
<template>
<div class="none-data-wrapper">
<img src="../../images/none-data.jpg" alt="" />
</div>
</template>
<script>
export default {
name: "NoneData",
};
</script>
<style lang="less" scoped>
.none-data-wrapper {
text-align: center;
margin-top: 160px;
.none-data-icon {
font-size: 100px;
}
}
</style>
\ No newline at end of file
<template>
<div class="paging-container" v-if="total > 0">
<ul class="mo-paging">
<li
:class="[
'paging-item',
'paging-item--defalut',
{ 'paging-item--disabled': index === 1 },
]"
@click="prev"
>
< Previous
</li>
<li
:class="[
'paging-item',
'paging-item--defalut',
{ 'paging-item--disabled': index === 1 },
]"
@click="first"
>
first
</li>
<li :class="['paging-item', 'paging-item--more']" v-if="showPrevMore">
...
</li>
<li
v-for="pager in pagers"
:key="pager"
:class="[
'paging-item',
{ 'paging-item--current': pageIndex === pager },
]"
@click="go(pager)"
>
{{ pager }}
</li>
<li :class="['paging-item', 'paging-item--more']" v-if="showNextMore">
...
</li>
<li
:class="[
'paging-item',
'paging-item--defalut',
{ 'paging-item--disabled': index === pages },
]"
@click="last"
>
last
</li>
<li
:class="[
'paging-item',
'paging-item--defalut',
{ 'paging-item--disabled': index === pages },
]"
@click="next"
>
Next >
</li>
</ul>
</div>
</template>
<script>
export default {
name: "Paging",
props: {
//页面中的可见页码,其他的以...替代, 必须是奇数
perPages: {
type: Number,
default: 5,
},
pageIndex: {
type: Number,
default: 1,
},
pageSize: {
type: Number,
default: 10,
},
total: {
type: Number,
default: 0,
},
},
computed: {
//计算总页码
pages() {
return Math.ceil(this.size / this.limit);
},
//计算页码,当count等变化时自动计算
pagers() {
const array = [];
const perPages = this.perPages;
const pageCount = this.pages;
let current = this.index;
const _offset = (perPages - 1) / 2;
const offset = {
start: current - _offset,
end: current + _offset,
};
//-1, 3
if (offset.start < 1) {
offset.end = offset.end + (1 - offset.start);
offset.start = 1;
}
if (offset.end > pageCount) {
offset.start = offset.start - (offset.end - pageCount);
offset.end = pageCount;
}
if (offset.start < 1) offset.start = 1;
this.showPrevMore = offset.start > 1;
this.showNextMore = offset.end < pageCount;
for (let i = offset.start; i <= offset.end; i++) {
array.push(i);
}
return array;
},
},
watch: {
pageIndex(val) {
this.index = val || 1;
},
pageSize(val) {
this.limit = val || 10;
},
total(val) {
this.size = val || 1;
},
},
data() {
return {
index: this.pageIndex, //当前页码
limit: this.pageSize, //每页显示条数
size: this.total || 1, //总记录数
showPrevMore: false,
showNextMore: false,
};
},
methods: {
prev() {
if (this.index > 1) {
this.go(this.index - 1);
}
},
next() {
if (this.index < this.pages) {
this.go(this.index + 1);
}
},
first() {
if (this.index !== 1) {
this.go(1);
}
},
last() {
if (this.index !== this.pages) {
this.go(this.pages);
}
},
go(page) {
if (this.index !== page) {
this.index = page;
this.$emit("change", this.index);
}
},
},
};
</script>
<style lang="less" scoped>
.paging-container {
display: flex;
justify-content: center;
.mo-paging {
display: flex;
align-items: center;
.paging-item {
font-size: 14px;
padding: 6px 16px;
margin-left: 4px;
cursor: pointer;
color: #24292e;
border: none;
border-radius: 3px;
box-sizing: border-box;
&:first-child {
margin-left: 0;
}
&:hover {
box-sizing: border-box;
color: #fff !important;
background: @thinHighlightColor;
border-color: transparent;
}
&.paging-item--defalut {
color: @thinHighlightColor;
}
&.paging-item--disabled,
&.paging-item--more {
color: #959da5;
pointer-events: none;
}
//选中
&.paging-item--current {
background: @thinHighlightColor;
color: #fff;
border-color: transparent;
position: relative;
z-index: 1;
border: none;
}
}
}
}
</style>
<template>
<svg class="icon" aria-hidden="true">
<use :xlink:href="iconName"></use>
</svg>
</template>
<script>
export default {
name: "Icon",
props: {
name: {
type: String,
required: true,
},
},
computed: {
iconName() {
return `#${this.name}`;
},
},
};
</script>
<template>
<router-link :to="path" :style="{ display: 'inline-block' }">
<div class="tag-wrapper" :style="{ backgroundColor: color }">
<i :style="{ borderRightColor: color }"></i>
{{ text }}
</div>
</router-link>
</template>
<script>
export default {
name: "Tag",
props: {
path: {
type: String,
required: true,
},
text: {
type: String,
required: true,
},
color: {
type: String,
default: "@mainColor",
},
},
};
</script>
<style lang="less" scoped>
.tag-wrapper {
font-size: 12px;
display: inline-block;
text-decoration: none;
font-weight: normal;
font-size: 10px;
color: #fff;
height: 18px;
line-height: 18px;
// float: left;
padding: 0 5px 0px 10px;
position: relative;
border-radius: 0 5px 5px 0;
margin: 5px 9px 5px 8px;
i {
position: absolute;
right: 100%;
font-size: 0;
line-height: 0;
border: 9px solid transparent;
}
&:after {
content: " ";
width: 4px;
height: 4px;
background-color: #fff;
border-radius: 4px;
-webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.3);
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.3);
position: absolute;
top: 7px;
left: 2px;
}
}
</style>
\ No newline at end of file
<template>
<div class="copyright-wrapper">
<span
>Copyright © www.rasblog.com All rights reserved.<br />
备案号:<a href="https://beian.miit.gov.cn/" target="_blank"
>粤ICP备2021121326号</a
></span
>
</div>
</template>
<style lang="less" scoped>
.copyright-wrapper {
height: 80px;
background-color: @mainColor;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
span {
text-align: center;
line-height: 22px;
font-size: 14px;
a {
color: @thinHighlightColor;
text-decoration: underline;
}
}
}
</style>
\ No newline at end of file
<template>
<a
:href="githubLink"
target="_blank"
class="github-corner"
aria-label="View source on Github"
>
<svg
width="80"
height="80"
viewBox="0 0 250 250"
style=""
aria-hidden="true"
>
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
fill="currentColor"
style="transform-origin: 130px 106px"
class="octo-arm"
></path>
<path
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
fill="currentColor"
class="octo-body"
></path>
</svg>
</a>
</template>
<script>
export default {
name: "Github",
props: {
githubLink: {
type: String,
default: null,
},
},
};
</script>
<style lang="less" scoped>
.github-corner {
fill: #4ab7bd;
color: #fff;
position: absolute;
top: 50px;
border: 0;
right: 0;
&:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
</style>
<template>
<div class="label-container">
<div class="side-title">
<Icon name="icon-label"></Icon>
标签分类
</div>
<div class="label-content">
<div
class="label-item"
v-for="item in labelList"
:key="item.label"
:style="{ backgroundColor: item.bgColor }"
>
<router-link :to="`/label/${item.label}`">
{{ item.label }}
</router-link>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from "vuex";
export default {
name: "labelClassify",
components: {},
props: {},
computed: {
...mapGetters({ labelList: "label/labelList" }),
},
data() {
return {};
},
watch: {},
created() { },
mounted() { },
beforeDestroy() { },
methods: {},
};
</script>
<style lang="less" scoped>
.label-container {
background-color: #fff;
margin-top: 20px;
border-radius: 4px;
.label-content {
display: flex;
align-items: center;
flex-wrap: wrap;
padding: 20px;
.label-item {
height: 30px;
display: flex;
justify-content: center;
align-items: center;
padding: 12px;
color: #fff;
margin: 4px;
border-radius: 12px;
transition: 1s ease all;
position: relative;
&:hover {
border-radius: 0;
cursor: pointer;
}
a {
color: #fff;
}
}
}
}
</style>
<template>
<div class="myself-container">
<div class="header-bg">
<img class="img-avatar" src="../images/avatar.png" />
<img class="img-bg" src="../images/bg4.jpg" />
</div>
<div class="my-body">
<div class="my-name">RF</div>
<div class="my-job">Running | Football</div>
<div class="my-desc">
个人博客
</div>
</div>
</div>
</template>
<script>
export default {
name: "myself",
components: {},
props: {},
computed: {},
data() {
return {};
},
watch: {},
created() { },
mounted() { },
beforeDestroy() { },
methods: {},
};
</script>
<style lang="less" scoped>
.myself-container {
background-color: #fff;
margin-top: 20px;
border-radius: 4px;
.header-bg {
height: 150px;
border-radius: 4px;
position: relative;
.img-avatar {
width: 100px;
height: 100px;
position: absolute;
bottom: -50px;
left: calc(~"50% - 50px");
border-radius: 50%;
z-index: 99;
&:hover {
animation: btnGroups 1s linear;
}
}
.img-bg {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
}
}
.my-body {
margin-top: 74px;
display: flex;
flex-direction: column;
align-items: center;
.my-name {
font-size: 16px;
font-weight: bold;
margin-bottom: 10px;
}
.my-job {
font-size: 14px;
color: @thinHighlightColor;
}
.my-desc {
font-size: 14px;
color: @assistColor;
padding: 20px 40px;
line-height: 26px;
}
}
}
</style>
<template>
<div class="nav-wrapper" :class="{ 'not-nav': showNav }" ref="header">
<nav>
<img src="../images/logo.png" alt="RF" />
<ul>
<li
v-for="(item, index) in navList"
:key="item.title"
:class="{ active: currentIndex === index }"
@click="goto(index, item.path)"
>
{{ item.title }}
</li>
</ul>
</nav>
</div>
</template>
<script>
export default {
name: "navComponent",
components: {},
props: {},
computed: {},
data() {
return {
currentIndex: -1,
showNav: false,
navList: [
{ title: "首页", path: "/index" },
{ title: "文章分类", path: "/label/all" },
{ title: "留言板", path: "/message" },
{ title: "关于我们", path: "/myself" },
],
};
},
watch: {},
created() { },
mounted() {
document.addEventListener("scroll", this.onScroll);
},
beforeDestroy() {
document.removeEventListener("scroll", this.onScroll);
},
methods: {
goto(index, path) {
this.currentIndex = index;
this.$router.push(path);
},
onScroll() {
const scrollTop =
document.documentElement.scrollTop + document.body.scrollTop;
this.showNav = scrollTop >= 120;
},
},
};
</script>
<style lang="less" scoped>
.nav-wrapper {
height: 50px;
width: 100%;
position: fixed;
top: 0;
left: 0;
background-color: #fff;
z-index: 100;
transition: all 1.2s ease;
transform: translate3d(0, 0, 0);
box-shadow: 0 1px 1px @cuttingLineColor;
&.not-nav {
transform: translate3d(0, -50px, 0);
opacity: 0;
}
nav {
width: 1200px;
height: 100%;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
img {
height: 98%;
object-fit: contain;
}
ul {
height: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
color: #fff;
li {
padding: 0 22px;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
color: @mainColor;
&:hover {
cursor: pointer;
color: @highlightColor;
}
}
.active {
color: @highlightColor;
position: relative;
&::before {
content: "";
width: 67%;
height: 4px;
background-color: @highlightColor;
position: absolute;
top: 0;
}
}
}
}
}
</style>
\ No newline at end of file
<template>
<div class="search-container">
<input type="text" placeholder="请输入关键词" v-model="keyword" />
<button
:class="{ 'btn-disabled': !keyword }"
:disabled="!keyword"
@click="goto"
>
搜索
</button>
</div>
</template>
<script>
import { mapGetters, mapMutations } from 'vuex';
export default {
name: "search",
components: {},
props: {
// 是否存储在vuex
isCache: {
type: Boolean,
default: false,
}
},
computed: {
...mapGetters({
cacheKeyword: 'search/keyword'
})
},
data() {
return {
keyword: "",
};
},
watch: {},
created() {
if (!this.isCache) {
this.keyword = this.cacheKeyword;
}
},
mounted() { },
beforeDestroy() {
if (!this.isCache) {
this.setKeyword('');
}
},
methods: {
...mapMutations({
setKeyword: 'search/setKeyword'
}),
goto() {
if (this.isCache) {
this.setKeyword(this.keyword);
}
this.$router.push({
path: `/label/${this.keyword}`,
query: {
search: 'search'
},
});
},
},
};
</script>
<style lang="less" scoped>
.search-container {
background-color: #fff;
margin-top: 20px;
padding: 20px;
border-radius: 4px;
display: flex;
align-items: center;
input {
padding: 0 6px;
border: 1px solid @borderColor;
width: 80%;
height: 26px;
line-height: 26px;
background-color: #f2f2f2;
height: 28px;
font-size: 14px;
border-radius: 2px;
&::placeholder {
color: @assistColor;
}
&:focus {
outline: none;
color: #24292e;
}
}
button {
border-radius: 2px;
background-color: #24292e;
color: #fff;
width: 20%;
border: none;
cursor: pointer;
height: 28px;
line-height: 28px;
margin-left: 12px;
a {
color: #fff;
}
&.btn-disabled {
cursor: not-allowed;
opacity: 0.75;
}
}
}
</style>
<template>
<div class="side-article" v-loading="loading">
<div class="side-title">
<Icon
:name="sideClassify === BROWSE_STATUS ? 'icon-hot' : 'icon-recommend'"
></Icon>
{{ sideType[sideClassify] }}
</div>
<div class="side-list">
<div class="list-item" v-for="(item, index) in blogList" :key="item._id">
<div class="item-title" @click="goto(item._id)">
<div
:style="{ backgroundColor: getActiveColor(index) }"
class="index"
v-show="sideClassify === BROWSE_STATUS"
>
{{ index + 1 }}
</div>
<div class="title">{{ item.title }}</div>
</div>
<div class="item-content">
<div class="item-img">
<img v-lazy="item.fileCoverImgUrl" />
</div>
<div class="item-right">
<div class="item-desc">
{{ item.desc }}
</div>
<div class="item-func">
<div class="func-box">
<Icon name="icon-date02"></Icon>
<div class="box-text">
{{ item.releaseTime | formatTime("yyyy-MM-dd") }}
</div>
</div>
<div class="func-box">
<Icon name="icon-browse02"></Icon>
<div class="box-text">{{ item.pv | formatNumber() }}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { apiGetBlogList } from "api/blog";
import { sortType, sideType, BROWSE_STATUS } from "src/constant/side";
export default {
name: "sideArticle",
components: {},
props: {
sideClassify: {
type: Number,
default: 1,
},
},
computed: {
getActiveColor() {
return (index) => (index < 3 ? "#FF6701" : "#b1b1b1");
},
},
data() {
return {
sideType,
BROWSE_STATUS,
loading: false,
blogList: [],
pageindex: 1,
pagesize: 5,
total: 0,
};
},
watch: {},
created() {
this.getBlogList();
},
mounted() { },
beforeDestroy() { },
methods: {
goto(id) {
this.$router.push({
path: `/article/detail/${id}`,
query: {
sortBy: sortType[this.sideClassify],
pageindex: this.pageindex,
pagesize: this.pagesize,
},
});
},
getBlogList() {
let params = {
sortBy: sortType[this.sideClassify],
pageindex: this.pageindex,
pagesize: this.pagesize,
};
this.loading = true;
return apiGetBlogList(params)
.then((res) => {
let { list, total } = res.data;
this.blogList = list;
this.total = total;
})
.catch((err) => {
console.log(err);
})
.finally(() => {
this.loading = false;
});
},
},
};
</script>
<style lang="less" scoped>
.side-article {
background-color: #fff;
margin-top: 20px;
border-radius: 6px;
.side-list {
padding: 10px;
.list-item {
border-bottom: solid 1px @borderColor;
font-size: 14px;
margin-bottom: 10px;
padding-bottom: 10px;
&:hover .item-title .title {
color: @mainColor;
}
&:hover .item-content .item-right .item-desc {
color: @mainColor;
}
&:hover .item-content .item-right .item-func .func-box {
color: @mainColor;
}
&:hover img {
transform: scale(1.2);
}
.item-title {
display: flex;
align-items: center;
margin-bottom: 10px;
cursor: pointer;
.index {
color: #fff;
font-size: 12px;
margin-right: 4px;
font-weight: normal;
width: 16px;
height: 16px;
display: flex;
justify-content: center;
align-items: center;
}
.title {
font-size: 14px;
color: @thinColor;
font-weight: bold;
.ellipsis-line-clamp();
}
}
.item-content {
display: flex;
align-items: flex-start;
.item-img {
width: 100px;
height: 70px;
margin-right: 10px;
overflow: hidden;
img {
width: 100%;
height: 100%;
border-radius: 4px;
transition: 0.4s ease all;
object-fit: cover;
}
}
.item-right {
flex: 1;
height: 70px;
display: flex;
flex-direction: column;
justify-content: space-between;
.item-desc {
color: @assistColor;
line-height: 24px;
.ellipsis-line-clamp(2);
}
.item-func {
margin-top: 10px;
display: flex;
justify-content: center;
align-items: center;
.func-box {
display: flex;
align-items: center;
padding-left: 24px;
color: @assistColor;
.box-text {
padding-left: 4px;
}
}
}
}
}
}
}
}
</style>
<template>
<div class="top-wrapper" v-show="showTop" @click="goTop">
<img src="../images/back-top.png" alt="Top" />
</div>
</template>
<script>
export default {
name: "top",
components: {},
props: {},
computed: {
showTop() {
return this.scrollTop > 300;
},
},
data() {
return {
scrollTop: 0,
};
},
watch: {},
created() { },
mounted() {
window.addEventListener("scroll", () => {
this.scrollTop =
document.documentElement.scrollTop ||
document.body.scrollTop;
});
},
beforeDestroy() { },
methods: {
goTop() {
let back = setInterval(() => {
if (document.documentElement.scrollTop || document.body.scrollTop) {
document.documentElement.scrollTop -= 80;
document.body.scrollTop -= 80;
} else {
clearInterval(back);
}
}, 20);
},
},
};
</script>
<style lang="less" scoped>
.top-wrapper {
img {
position: fixed;
bottom: 120px;
right: 120px;
width: 80px;
object-fit: contain;
border-radius: 50%;
cursor: pointer;
}
}
</style>
export const colorList = [
"#EB6841",
"#3FB8AF",
"#464646",
"#FC9D9A",
"#EDC951",
"#C8C8A9",
"#83AF9B",
"#036564",
];
// 侧边栏文章类别
const BROWSE_STATUS = 1; // 点击排行
const RECOMMEND_STATUS = 2; // 站长推荐
const sideType = {
[BROWSE_STATUS]: "点击排行",
[RECOMMEND_STATUS]: "站长推荐",
};
const sortType = {
[BROWSE_STATUS]: "pv",
[RECOMMEND_STATUS]: "level",
};
export { BROWSE_STATUS, RECOMMEND_STATUS, sideType, sortType };
/**
* 时间日期格式化
* 用法 formatTime(new Date(), 'yyyy-MM-dd hh:mm:ss')
* @param time
* @param fmt
*/
export function formatTime(time, fmt) {
time = parseInt(time);
if (!time) {
return "";
}
const date = new Date(time);
let o = {
"M+": date.getMonth() + 1, // 月份
"d+": date.getDate(), // 日
"h+": date.getHours(), // 小时
"m+": date.getMinutes(), // 分
"s+": date.getSeconds(), // 秒
"q+": Math.floor((date.getMonth() + 3) / 3), // 季度
S: date.getMilliseconds(), // 毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
(date.getFullYear() + "").substr(4 - RegExp.$1.length)
);
}
for (let k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)
);
}
}
return fmt;
}
/**
* 数字转成 k、w 方式
* @param num
*/
export function formatNumber(num) {
return num >= 1e3 && num < 1e4
? (num / 1e3).toFixed(1) + "k"
: num >= 1e4
? (num / 1e4).toFixed(1) + "w"
: num;
}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M5 21c0 2.209-1.119 4-2.5 4S0 23.209 0 21s1.119-4 2.5-4S5 18.791 5 21z"/><path fill="#FFDC5D" d="M3 18.562C3 10.037 8.373 3.125 15 3.125s12 6.912 12 15.438C27 27.088 21.627 34 15 34S3 27.088 3 18.562z"/><path fill="#DD2E44" d="M20 0c-.249 0-.478.007-.713.012C19.19.01 19.097 0 19 0 9 0 2 4.582 2 9s6.373 4 13 4c4.442 0 7.648 0 9.966-.086L25 13l6 15h2s.343-3.055 1-7c1-6 .533-21-14-21z"/><path fill="#FFDC5D" d="M30 21c0 2.209-1.119 4-2.5 4S25 23.209 25 21s1.119-4 2.5-4 2.5 1.791 2.5 4z"/><path fill="#662113" d="M10 21c-.552 0-1-.447-1-1v-2c0-.552.448-1 1-1s1 .448 1 1v2c0 .553-.448 1-1 1zm10 0c-.553 0-1-.447-1-1v-2c0-.552.447-1 1-1s1 .448 1 1v2c0 .553-.447 1-1 1z"/><path fill="#B7755E" d="M16 26h-2c-.552 0-1-.447-1-1s.448-1 1-1h2c.552 0 1 .447 1 1s-.448 1-1 1z"/><path fill="#E6E7E8" d="M27 25c0-2-2.293-.707-3 0-1 1-3 3-5 2-2.828-1.414-4-1-4-1s-1.171-.414-4 1c-2 1-4-1-5-2-.707-.707-3-2-3 0s1 2 1 2c-1 2 1 3 1 3 0 3 3 3 3 3 0 3 4 2 4 2 1 1 3 1 3 1s2 0 3-1c0 0 4 1 4-2 0 0 3 0 3-3 0 0 2-1 1-3 0 0 1 0 1-2z"/><path fill="#FFDC5D" d="M15 28c7 0 4 2 0 2s-7-2 0-2z"/><ellipse fill="#D1D3D4" cx="3" cy="14" rx="2" ry="4"/><ellipse fill="#D1D3D4" cx="26" cy="14" rx="2" ry="4"/><circle fill="#F1F2F2" cx="32" cy="29" r="4"/><path fill="#F1F2F2" d="M29 12c0 1.104-.896 2-2 2H2c-1.104 0-2-.896-2-2v-1c0-1.104.896-2 2-2h25c1.104 0 2 .896 2 2v1z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCB4E" d="M33 17c1.072-6.084 1.262-15.048 0-15.864C31.738.322 22.928 3.353 21.086 7.4 20.081 7.132 18 7 18 7s-2.013.132-3.017.399C13.14 3.352 4.261.321 3 1.136 1.738 1.952 1.926 10.916 3 17c0 0-.967 1.979-.967 8.95l16-3.967 16 4C34.033 18.979 33 17 33 17z"/><path fill="#FFD882" d="M23.946 19.282c-2.085 0-4.273.477-5.913 1.281-1.639-.805-3.827-1.281-5.912-1.281-9.932 0-10.088 5.1-10.088 6.664C2.033 27.505 4 35.979 18 35.979s16.033-8.441 16.033-10c0-1.564-.156-6.697-10.087-6.697z"/><path fill="#F28F20" d="M23.406 8.054c2.17-2.383 6.681-4.172 7.607-3.945.752.182.635 6.387.031 9.938-2.562-4.251-7.638-5.993-7.638-5.993zm-10.746 0c-2.168-2.383-6.68-4.172-7.606-3.945-.754.182-.637 6.387-.031 9.938 2.563-4.251 7.637-5.993 7.637-5.993z"/><path fill="#FAAA35" d="M22.04 20c0-4.693-1.809-13-4.04-13s-4.04 8.307-4.04 13c0 4.695 1.809 2 4.04 2s4.04 2.695 4.04-2z"/><path fill="#2A2F33" d="M15.019 16.999c0 1.105-.904 2-2.019 2s-2.019-.895-2.019-2c0-1.104.904-1.998 2.019-1.998s2.019.895 2.019 1.998zm10.02.001c0 1.105-.904 2-2.02 2C21.904 19 21 18.105 21 17c0-1.104.904-1.998 2.02-1.998 1.115 0 2.019.894 2.019 1.998z"/><path fill="#F28F20" d="M23.804 28.895c-3.488.696-4.55-.785-4.784-1.229V25c0-.553-.447-1-1-1-.553 0-1 .447-1 1v2.659c-.246.452-1.338 1.931-4.823 1.236-.548-.113-1.069.243-1.177.784-.108.542.243 1.068.784 1.177.79.158 1.495.227 2.127.227 2.078 0 3.339-.741 4.081-1.473.735.733 1.986 1.473 4.058 1.473.631 0 1.337-.068 2.126-.227.541-.108.893-.635.784-1.177-.107-.541-.629-.897-1.176-.784z"/><path fill="#292F33" d="M22.02 21.592c0 1.758-3.216 3.978-4.02 3.978-.803 0-4.019-2.221-4.019-3.978C13.981 19.832 16.225 20 18 20s4.02-.168 4.02 1.592z"/><path fill="#F39120" d="M34.021 31.935c-.277 0-.553-.115-.751-.339-.03-.035-3.181-3.502-10.41-4.624-.546-.085-.92-.596-.835-1.142.085-.546.597-.915 1.142-.835.366.057.724.119 1.072.187 7.242 1.404 10.399 4.939 10.536 5.096.362.416.319 1.048-.097 1.411-.189.165-.423.246-.657.246z"/><path fill="#F39120" d="M23.014 26.983c-.406 0-.789-.25-.939-.653-.191-.519.074-1.094.592-1.285 5.477-2.023 12.161-.189 12.45-.108.532.148.843.699.695 1.23-.146.532-.697.843-1.229.697-.064-.018-6.358-1.739-11.223.058-.114.042-.231.061-.346.061zM1.988 31.935c.277 0 .553-.115.751-.339.03-.035 3.181-3.502 10.41-4.624.546-.085.92-.596.835-1.142-.085-.546-.597-.915-1.142-.835-.366.057-.724.119-1.072.187-7.242 1.404-10.399 4.939-10.536 5.096-.362.416-.319 1.048.097 1.411.19.165.424.246.657.246z"/><path fill="#F39120" d="M12.996 26.983c.406 0 .789-.25.938-.653.191-.519-.074-1.094-.592-1.285-5.477-2.023-12.161-.189-12.45-.108-.532.148-.843.699-.695 1.23.146.532.697.843 1.229.697.064-.018 6.358-1.739 11.223.058.115.042.232.061.347.061z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#DD2E44" d="M15 30v3s0 3 3 3 3-3 3-3v-3h-6z"/><path fill="#272B2B" d="M14 2c.041-3-14-2-14 8 0 4 0 14 3 14C7 24 13.945 6 14 2zm8 0c-.041-3 14-2 14 8 0 4 0 14-3 14-4 0-10.945-18-11-22z"/><path fill="#CCD6DD" d="M31 22c0 7-4 7-4 7H9s-4 0-4-7C5 22 6 0 18 0s13 22 13 22z"/><path fill="#8899A6" d="M23 22.025V22H13v.025c-2.803.253-5 2.606-5 5.475 0 3.037 2.462 5.5 5.5 5.5 1.862 0 3.505-.928 4.5-2.344.995 1.416 2.638 2.344 4.5 2.344 3.038 0 5.5-2.463 5.5-5.5 0-2.868-2.196-5.222-5-5.475z"/><path fill="#272B2B" d="M11 16s0-2 2-2 2 2 2 2v2s0 2-2 2-2-2-2-2v-2zm10 0s0-2 2-2 2 2 2 2v2s0 2-2 2-2-2-2-2v-2zm-6 8c-1 1 2 4 3 4s4-3 3-4-5-1-6 0z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M30 20.145s.094-2.362-1.791-3.068c-1.667-.625-2.309.622-2.309.622s.059-1.913-1.941-2.622c-1.885-.667-2.75.959-2.75.959s-.307-1.872-2.292-2.417C17.246 13.159 16 14.785 16 14.785V2.576C16 1.618 15.458.001 13.458 0S11 1.66 11 2.576v20.5c0 1-1 1-1 0V20.41c0-3.792-2.037-6.142-2.75-6.792-.713-.65-1.667-.98-2.82-.734-1.956.416-1.529 1.92-.974 3.197 1.336 3.078 2.253 7.464 2.533 9.538.79 5.858 5.808 10.375 11.883 10.381 6.626.004 12.123-5.298 12.128-11.924v-3.931z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M4 15.894s-.093 2.362 1.792 3.068c1.667.625 2.309-.622 2.309-.622s-.059 1.914 1.941 2.622c1.885.668 2.75-.958 2.75-.958s.307 1.871 2.292 2.417C16.755 22.88 18 21.254 18 21.254v12.208c0 .959.542 2.575 2.543 2.576 2 .002 2.457-1.659 2.457-2.576v-20.5c0-1 1-1 1 0v2.666c0 3.792 2.038 6.143 2.751 6.792.713.65 1.667.979 2.82.734 1.956-.415 1.529-1.92.975-3.197-1.337-3.078-2.254-7.464-2.533-9.538C27.222 4.562 22.204.044 16.129.038 9.503.034 4.005 5.336 4 11.962v3.932z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M20.145 31s-2.436-.167-3.068-1.792c-.646-1.659.622-2.309.622-2.309s-1.914.059-2.622-1.941c-.668-1.885.958-2.75.958-2.75s-1.871-.307-2.417-2.292C13.158 18.245 14.784 17 14.784 17H2.576C1.617 17 .001 16.458 0 14.457-.002 12.457 1.659 12 2.576 12h20.5c1 0 1-1 0-1H20.41c-3.792 0-6.143-2.038-6.792-2.751-.65-.713-.98-1.667-.734-2.82.415-1.956 1.92-1.529 3.197-.975 3.078 1.337 7.464 2.254 9.538 2.533 5.858.791 10.375 5.809 10.381 11.884.004 6.626-5.298 12.124-11.924 12.129h-3.931z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M15.856 31s2.394-.208 3.068-1.792c.697-1.639-.622-2.309-.622-2.309s1.914.059 2.622-1.941c.668-1.885-.958-2.75-.958-2.75s1.871-.307 2.417-2.292C22.842 18.245 21.216 17 21.216 17h12.208c.959 0 2.575-.542 2.576-2.543.002-2-1.659-2.457-2.576-2.457h-20.5c-1 0-1-1 0-1h2.666c3.792 0 6.143-2.038 6.792-2.751.65-.713.979-1.667.734-2.82-.415-1.956-1.92-1.529-3.197-.975-3.078 1.337-7.464 2.254-9.538 2.533C4.523 7.778.006 12.796 0 18.871-.004 25.497 5.298 30.995 11.924 31h3.932z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M32.942 11.244c-.041-.609-.284-1.18-.674-1.644l-.357-2.057c-.376-2.006-2.232-3.386-4.262-3.169L4.259 8.11C2.377 8.312.909 9.833.774 11.721l1.761 11.147c.305 2.169 2.151 3.788 4.341 3.813.677.008 1.238.017 1.463.027l9.483.463c-.363.483-.822 1.08-.822 1.718v.052c0 1.581 1.771 3.06 3.353 3.06h7.282c.76 0 1.488-.4 2.025-.938l4.424-4.472c.583-.584.887-1.416.832-2.24l-1.974-13.107z"/><path fill="#EF9645" d="M8.217 26.623c-.474 0-.895-.338-.983-.821L5.174 14.47c-.099-.543.262-1.064.805-1.163.546-.097 1.064.262 1.163.805l2.06 11.332c.099.543-.262 1.063-.805 1.162-.061.012-.121.017-.18.017zm6.181 0c-.517 0-.955-.398-.996-.923l-1.03-13.393c-.043-.551.37-1.031.92-1.074.549-.044 1.031.371 1.074.92l1.03 13.392c.043.551-.37 1.032-.92 1.074-.026.003-.053.004-.078.004zm7.207 1.106c-.508 0-.757-.001-.951-1.062l-.044-.003c.001-.055.007-.108.017-.161-.174-1.068-.309-3.069-.561-6.817-.235-3.49-.486-7.552-.486-8.485 0-.552.447-1 1-1 .553 0 1 .448 1 1 0 1.533.795 13.324.981 15.145.032.097.049.2.049.308 0 .266-.108.557-.295.744s-.444.331-.71.331z"/><path fill="#EF9645" d="M25.178 28.684H18.52c-.552 0-1-.447-1-1s.448-1 1-1h6.658c1.458 0 2.644-1.186 2.644-2.644V11.201c0-.552.447-1 1-1s1 .448 1 1V24.04c-.001 2.561-2.084 4.644-4.644 4.644z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#EF9645" d="M24.997 28.5c-1.185 0-2.237-.846-2.457-2.053l-4-22c-.247-1.358.654-2.66 2.012-2.907 1.358-.251 2.66.654 2.907 2.012l4 22c.247 1.358-.654 2.66-2.013 2.907-.15.028-.3.041-.449.041z"/><path fill="#FFDC5D" d="M28.375 24.765c.239-.745.13-1.591-.375-2.265-.059-.078-.44-.585-1.017-1.34.005-.052.017-.112.017-.16 0-.458-1.913-2.623-3.74-4.586-1.587-1.965-3.261-3.951-4.492-5.182l-1.274-1.274-1.612.806c-5.718 2.859-8.647 3.855-8.672 3.864-1.31.437-2.018 1.852-1.581 3.162.437 1.31 1.852 2.015 3.162 1.582.117-.039 2.666-.899 7.65-3.311 1.094 1.23 2.378 2.795 3.574 4.296l.704 1.174c.169.282.146.639-.061.896l-3.513 4.392c-.095.119-.222.207-.365.255l-2.531.844c-.161.054-.336.054-.497 0l-4.73-1.576c-.676-2.082-.533-4.102-.531-4.124.12-1.376-.899-2.588-2.274-2.707-1.372-.128-2.587.897-2.707 2.273-.022.261-.51 6.424 3.313 10.594 2.208 2.408 5.296 3.63 9.178 3.63.66 0 1.283.009 1.871.018.529.008 1.042.016 1.537.016 2.764 0 5.004-.231 6.738-1.941 1.649-1.626 2.354-4.195 2.354-8.592-.001-.263-.052-.508-.126-.744z"/><path fill="#EF9645" d="M27.001 21c-.384 0-.749-.221-.915-.594l-4-9c-.224-.505.003-1.096.508-1.32.506-.226 1.096.003 1.32.507l4 9c.224.505-.003 1.096-.508 1.32-.132.06-.269.087-.405.087z"/><path fill="#FFDC5D" d="M24.766 34.38l-1.531-4.76s-.066.011-.175.066c.017-.009 1.821-.995 2.461-6.003.775-6.075-.774-9.6-.79-9.634l-.093-.231-3.5-10.104c-.452-1.305.239-2.729 1.544-3.181 1.303-.451 2.729.24 3.181 1.544l3.469 10.013c.377.887 2.035 5.285 1.148 12.226-1.042 8.163-4.943 9.816-5.714 10.064z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDB5E" d="M34.956 17.916c0-.503-.12-.975-.321-1.404-1.341-4.326-7.619-4.01-16.549-4.221-1.493-.035-.639-1.798-.115-5.668.341-2.517-1.282-6.382-4.01-6.382-4.498 0-.171 3.548-4.148 12.322-2.125 4.688-6.875 2.062-6.875 6.771v10.719c0 1.833.18 3.595 2.758 3.885C8.195 34.219 7.633 36 11.238 36h18.044c1.838 0 3.333-1.496 3.333-3.334 0-.762-.267-1.456-.698-2.018 1.02-.571 1.72-1.649 1.72-2.899 0-.76-.266-1.454-.696-2.015 1.023-.57 1.725-1.649 1.725-2.901 0-.909-.368-1.733-.961-2.336.757-.611 1.251-1.535 1.251-2.581z"/><path fill="#EE9547" d="M23.02 21.249h8.604c1.17 0 2.268-.626 2.866-1.633.246-.415.109-.952-.307-1.199-.415-.247-.952-.108-1.199.307-.283.479-.806.775-1.361.775h-8.81c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583H28.7c.483 0 .875-.392.875-.875s-.392-.875-.875-.875h-5.888c-1.838 0-3.333 1.495-3.333 3.333 0 1.025.475 1.932 1.205 2.544-.615.605-.998 1.445-.998 2.373 0 1.028.478 1.938 1.212 2.549-.611.604-.99 1.441-.99 2.367 0 1.12.559 2.108 1.409 2.713-.524.589-.852 1.356-.852 2.204 0 1.838 1.495 3.333 3.333 3.333h5.484c1.17 0 2.269-.625 2.867-1.632.247-.415.11-.952-.305-1.199-.416-.245-.953-.11-1.199.305-.285.479-.808.776-1.363.776h-5.484c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583h6.506c1.17 0 2.27-.626 2.867-1.633.247-.416.11-.953-.305-1.199-.419-.251-.954-.11-1.199.305-.289.487-.799.777-1.363.777h-7.063c-.873 0-1.583-.711-1.583-1.584s.71-1.583 1.583-1.583h8.091c1.17 0 2.269-.625 2.867-1.632.247-.415.11-.952-.305-1.199-.417-.246-.953-.11-1.199.305-.289.486-.799.776-1.363.776H23.02c-.873 0-1.583-.71-1.583-1.583s.709-1.584 1.583-1.584z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDB5E" d="M34.956 18.084c0 .503-.12.975-.321 1.404-1.341 4.326-7.619 4.01-16.549 4.221-1.493.035-.639 1.798-.115 5.668.341 2.517-1.282 6.382-4.01 6.382-4.498 0-.171-3.548-4.148-12.322-2.125-4.688-6.875-2.062-6.875-6.771V5.948c0-1.833.18-3.595 2.758-3.885C8.195 1.781 7.633 0 11.238 0h18.044c1.838 0 3.333 1.496 3.333 3.334 0 .762-.267 1.456-.698 2.018 1.02.571 1.72 1.649 1.72 2.899 0 .76-.266 1.454-.696 2.015 1.023.57 1.725 1.649 1.725 2.901 0 .909-.368 1.733-.961 2.336.757.611 1.251 1.535 1.251 2.581z"/><path fill="#EE9547" d="M23.02 14.751h8.604c1.17 0 2.268.626 2.866 1.633.246.415.109.952-.307 1.199-.415.247-.952.108-1.199-.307-.283-.479-.806-.775-1.361-.775h-8.81c-.873 0-1.583.71-1.583 1.583s.71 1.583 1.583 1.583H28.7c.483 0 .875.392.875.875s-.392.875-.875.875h-5.888c-1.838 0-3.333-1.495-3.333-3.333 0-1.025.475-1.932 1.205-2.544-.615-.605-.998-1.445-.998-2.373 0-1.028.478-1.938 1.212-2.549-.611-.604-.99-1.441-.99-2.367 0-1.12.559-2.108 1.409-2.713-.524-.589-.852-1.356-.852-2.204 0-1.838 1.495-3.333 3.333-3.333h5.484c1.17 0 2.269.625 2.867 1.632.247.415.11.952-.305 1.199-.416.245-.953.11-1.199-.305-.285-.479-.808-.776-1.363-.776h-5.484c-.873 0-1.583.71-1.583 1.583s.71 1.583 1.583 1.583h6.506c1.17 0 2.27.626 2.867 1.633.247.416.11.953-.305 1.199-.419.251-.954.11-1.199-.305-.289-.487-.799-.777-1.363-.777h-7.063c-.873 0-1.583.711-1.583 1.584s.71 1.583 1.583 1.583h8.091c1.17 0 2.269.625 2.867 1.632.247.415.11.952-.305 1.199-.417.246-.953.11-1.199-.305-.289-.486-.799-.776-1.363-.776H23.02c-.873 0-1.583.71-1.583 1.583s.709 1.584 1.583 1.584z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#EF9645" d="M32.302 24.347c-.695-1.01-.307-2.47-.48-4.082-.178-2.63-1.308-5.178-3.5-7.216l-7.466-6.942s-1.471-1.369-2.841.103c-1.368 1.471.104 2.84.104 2.84l3.154 2.934 2.734 2.542s-.685.736-3.711-2.078l-10.22-9.506s-1.473-1.368-2.842.104c-1.368 1.471.103 2.84.103 2.84l9.664 8.989c-.021-.02-.731.692-.744.68L5.917 5.938s-1.472-1.369-2.841.103c-1.369 1.472.103 2.84.103 2.84L13.52 18.5c.012.012-.654.764-.634.783l-8.92-8.298s-1.472-1.369-2.841.103c-1.369 1.472.103 2.841.103 2.841l9.484 8.82c.087.081-.5.908-.391 1.009l-6.834-6.356s-1.472-1.369-2.841.104c-1.369 1.472.103 2.841.103 2.841L11.896 30.71c1.861 1.731 3.772 2.607 6.076 2.928.469.065 1.069.065 1.315.096.777.098 1.459.374 2.372.934 1.175.72 2.938 1.02 3.951-.063l3.454-3.695 3.189-3.412c1.012-1.082.831-2.016.049-3.151z"/><path d="M1.956 35.026c-.256 0-.512-.098-.707-.293-.391-.391-.391-1.023 0-1.414L4.8 29.77c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-3.551 3.55c-.195.195-.451.292-.707.292zm6.746.922c-.109 0-.221-.018-.331-.056-.521-.182-.796-.752-.613-1.274l.971-2.773c.182-.521.753-.795 1.274-.614.521.183.796.753.613 1.274l-.971 2.773c-.144.412-.53.67-.943.67zm-7.667-7.667c-.412 0-.798-.257-.943-.667-.184-.521.089-1.092.61-1.276l2.495-.881c.523-.18 1.092.091 1.276.61.184.521-.089 1.092-.61 1.276l-2.495.881c-.111.039-.223.057-.333.057zm29.46-21.767c-.256 0-.512-.098-.707-.293-.391-.391-.391-1.024 0-1.415l3.552-3.55c.391-.39 1.023-.39 1.414 0s.391 1.024 0 1.415l-3.552 3.55c-.195.196-.451.293-.707.293zm-4.164-1.697c-.109 0-.221-.019-.33-.057-.521-.182-.796-.752-.614-1.274l.97-2.773c.183-.521.752-.796 1.274-.614.521.182.796.752.614 1.274l-.97 2.773c-.144.413-.531.671-.944.671zm6.143 5.774c-.412 0-.798-.257-.943-.667-.184-.521.09-1.092.61-1.276l2.494-.881c.522-.185 1.092.09 1.276.61.184.521-.09 1.092-.61 1.276l-2.494.881c-.111.039-.223.057-.333.057z" fill="#FA743E"/><path fill="#FFDB5E" d="M35.39 23.822c-.661-1.032-.224-2.479-.342-4.096-.09-2.634-1.133-5.219-3.255-7.33l-7.228-7.189s-1.424-1.417-2.843.008c-1.417 1.424.008 2.842.008 2.842l3.054 3.039 2.646 2.632s-.71.712-3.639-2.202c-2.931-2.915-9.894-9.845-9.894-9.845s-1.425-1.417-2.843.008c-1.418 1.424.007 2.841.007 2.841l9.356 9.31c-.02-.02-.754.667-.767.654L9.64 4.534s-1.425-1.418-2.843.007c-1.417 1.425.007 2.842.007 2.842l10.011 9.962c.012.012-.68.741-.66.761L7.52 9.513s-1.425-1.417-2.843.008.007 2.843.007 2.843l9.181 9.135c.084.083-.53.891-.425.996l-6.616-6.583s-1.425-1.417-2.843.008.007 2.843.007 2.843l10.79 10.732c1.802 1.793 3.682 2.732 5.974 3.131.467.081 1.067.101 1.311.14.773.124 1.445.423 2.34 1.014 1.15.759 2.902 1.118 3.951.07l3.577-3.576 3.302-3.302c1.049-1.05.9-1.99.157-3.15z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M6 20c0 2.209-1.119 4-2.5 4S1 22.209 1 20s1.119-4 2.5-4S6 17.791 6 20zm29 0c0 2.209-1.119 4-2.5 4S30 22.209 30 20s1.119-4 2.5-4 2.5 1.791 2.5 4z"/><path fill="#FFDC5D" d="M4 20.562c0-8.526 6.268-15.438 14-15.438s14 6.912 14 15.438S25.732 35 18 35 4 29.088 4 20.562z"/><path fill="#662113" d="M12 22c-.552 0-1-.447-1-1v-2c0-.552.448-1 1-1s1 .448 1 1v2c0 .553-.448 1-1 1zm12 0c-.553 0-1-.447-1-1v-2c0-.552.447-1 1-1s1 .448 1 1v2c0 .553-.447 1-1 1z"/><path fill="#C1694F" d="M18 30c-4.188 0-6.357-1.06-6.447-1.105-.494-.247-.694-.848-.447-1.342.247-.492.843-.692 1.337-.449.051.024 1.925.896 5.557.896 3.665 0 5.54-.888 5.559-.897.496-.241 1.094-.034 1.336.457.243.493.045 1.089-.447 1.335C24.356 28.94 22.188 30 18 30zm1-5h-2c-.552 0-1-.447-1-1s.448-1 1-1h2c.553 0 1 .447 1 1s-.447 1-1 1z"/><path fill="#FFAC33" d="M18 .354C8.77.354 3 6.816 3 12.2c0 5.385 1.154 7.539 2.308 5.385l2.308-4.308s3.791-.124 6.099-2.278c0 0-1.071 4 6.594.124 0 0-.166 3.876 5.191-.124 0 0 4.039 1.201 5.191 6.586.32 1.494 2.309 0 2.309-5.385C33 6.816 28.385.354 18 .354z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M29.96 23.087C34 27 34.043 34.021 33.021 34.021s-4.115-1.852-6.068-3.937C25 28 25.203 23.306 25.203 23.306l1.586-4.319c0-.001-.869.187 3.171 4.1z"/><path fill="#FFAC33" d="M26.96 23.087C31 27 31.043 34.021 30.021 34.021s-4.115-1.852-6.068-3.937C22 28 22.203 23.306 22.203 23.306l1.586-4.319c0-.001-.869.187 3.171 4.1zM3 34c-1 0-1-7 3-11s3-4 3-4l2 4s0 5-2 7-5 4-6 4z"/><path fill="#FFAC33" d="M6 34c-1 0-1-7 3-11s3-4 3-4l2 4s0 5-2 7-5 4-6 4z"/><path fill="#FFDC5D" d="M6.914 18.353c-.571-2.134-2.116-3.575-3.45-3.217-1.334.358-1.95 2.378-1.379 4.511.571 2.135 2.116 3.574 3.45 3.217 1.334-.358 1.951-2.378 1.379-4.511zm27.001 1.294c.571-2.134-.046-4.154-1.38-4.512-1.333-.356-2.878 1.083-3.449 3.218-.572 2.134.045 4.153 1.379 4.511 1.334.358 2.879-1.083 3.45-3.217z"/><path fill="#FFDC5D" d="M31 19c0-9.389-5.82-16-13-16S5 9.611 5 19s5.82 15 13 15 13-5.611 13-15z"/><path fill="#DF1F32" d="M18 27.651c-2.42 0-4.274-.687-4.352-.715-.517-.194-.779-.771-.584-1.288.194-.517.769-.779 1.286-.585.016.006 1.61.588 3.65.588 2.041 0 3.635-.582 3.65-.588.516-.194 1.094.071 1.285.587.193.517-.067 1.092-.584 1.286-.077.029-1.93.715-4.351.715z"/><path fill="#C1694F" d="M19 23h-2c-.552 0-1-.447-1-1s.448-1 1-1h2c.553 0 1 .447 1 1s-.447 1-1 1z"/><path fill="#662113" d="M12 20c-.552 0-1-.447-1-1v-2c0-.552.448-1 1-1s1 .448 1 1v2c0 .553-.448 1-1 1zm12 0c-.553 0-1-.447-1-1v-2c0-.552.447-1 1-1s1 .448 1 1v2c0 .553-.447 1-1 1z"/><path fill="#FFAC33" d="M32 10c-2-7-7-9-10-9-2 0-4 2-4 2s-2-2-4-2c-3 0-8 2-10 9-1.648 5.769 1 11 1 11 0-3.001 2-9 7-9s6-4 6-4 .786 4 5.786 4S31 18 31 21c0 0 2.648-5.231 1-11z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M8 19c0 2.209-1.119 4-2.5 4S3 21.209 3 19s1.119-4 2.5-4S8 16.791 8 19zm25 0c0 2.209-1.119 4-2.5 4S28 21.209 28 19s1.119-4 2.5-4 2.5 1.791 2.5 4z"/><path fill="#FFDC5D" d="M5 20.562c0-8.526 5.82-15.438 13-15.438s13 6.912 13 15.438S25.18 36 18 36 5 29.088 5 20.562z"/><path fill="#662113" d="M13 20c-.552 0-1-.447-1-1v-2c0-.552.448-1 1-1s1 .448 1 1v2c0 .553-.448 1-1 1zm10 0c-.553 0-1-.447-1-1v-2c0-.552.447-1 1-1s1 .448 1 1v2c0 .553-.447 1-1 1z"/><path fill="#C1694F" d="M19 24h-2c-.552 0-1-.447-1-1s.448-1 1-1h2c.553 0 1 .447 1 1s-.447 1-1 1z"/><path fill="#FFAC33" d="M25.274 27.038l-3.294-.941c.003-.034.02-.063.02-.097 0-.553-.447-1-1-1h-6c-.552 0-1 .447-1 1 0 .034.016.063.019.097l-3.294.941c-.531.152-.838.706-.686 1.236.125.44.525.726.961.726.091 0 .184-.013.275-.038l1.931-.552c-.216.293-.274.688-.1 1.037.175.351.528.553.895.553.15 0 .303-.034.446-.105l1.577-.788c.036.326.213.631.529.788.143.071.296.105.446.105.367 0 .72-.202.896-.553l.105-.211.105.211c.176.351.529.553.896.553.15 0 .303-.034.446-.105.315-.157.493-.462.529-.788l1.576.788c.144.071.297.105.447.105.367 0 .72-.202.896-.553.174-.349.116-.744-.1-1.037l1.931.552c.091.025.183.038.275.038.434 0 .835-.286.961-.726.151-.53-.156-1.084-.688-1.236zM18 0c8.615 0 14 6.358 14 11.656 0 5.298-1.077 7.417-2.154 5.298l-2.153-4.238s-6.462 0-8.615-2.12c0 0 3.23 6.358-3.231 0 0 0 1.077 4.239-5.385-1.06 0 0-3.23 2.12-4.308 7.417C5.855 18.423 4 16.954 4 11.656 4 6.357 8.308 0 18 0z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M18 3c6 0 16 3 16 16s0 16-3 16-7-3-13-3-9.915 3-13 3c-3.343 0-3-12-3-16C2 6 12 3 18 3z"/><path fill="#FFDC5D" d="M6 18.562c0-8.526 5.373-15.438 12-15.438s12 6.912 12 15.438S24.627 34 18 34 6 27.088 6 18.562z"/><path fill="#DF1F32" d="M18 30c-2.347 0-3.575-1.16-3.707-1.293-.391-.391-.391-1.023 0-1.414.387-.387 1.013-.39 1.404-.01.051.047.806.717 2.303.717 1.519 0 2.273-.69 2.305-.719.398-.373 1.027-.362 1.408.029.379.393.38 1.011-.006 1.397C21.575 28.84 20.347 30 18 30z"/><path fill="#C1694F" d="M19 25h-2c-.552 0-1-.447-1-1s.448-1 1-1h2c.553 0 1 .447 1 1s-.447 1-1 1z"/><path fill="#FFAC33" d="M3.064 24c-.03-.325-.064-.647-.064-1 0-5 3 .562 3-3 0-3.563 2-4 4-6l3-3s5 3 9 3 8 2 8 6 3-2 3 3c0 .355-.033.673-.058 1h1.049C34 22.523 34 20.868 34 19 34 6 24 1 18 1S2 6 2 19c0 1.158-.028 2.986.012 5h1.052z"/><path d="M13 22c-.552 0-1-.447-1-1v-2c0-.552.448-1 1-1s1 .448 1 1v2c0 .553-.448 1-1 1zm10 0c-.553 0-1-.447-1-1v-2c0-.552.447-1 1-1s1 .448 1 1v2c0 .553-.447 1-1 1z" fill="#662113"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M36 11c0-1.104-.896-2-2-2s-2 .896-2 2c0 0-.011 3.285-3 3.894V12c0-6.075-4.925-11-11-11S7 5.925 7 12v3.237C1.778 16.806 0 23.231 0 27c0 1.104.896 2 2 2s2-.896 2-2c0 0 .002-3.54 3.336-3.958C7.838 27.883 8.954 33 11 33h1c4 0 3 2 7 2s3-2 6-2 2.395 2 6 2c1.657 0 3-1.343 3-3 0-.675-2.274-4.994-3.755-9.268C35.981 21.348 36 14.58 36 11z"/><circle fill="#292F33" cx="13" cy="12" r="2"/><circle fill="#292F33" cx="23" cy="12" r="4"/><circle fill="#9AAAB4" cx="23" cy="13" r="2"/><path fill="#292F33" d="M22.192 19.491c2.65 1.987 3.591 5.211 2.1 7.199-1.491 1.988-4.849 1.988-7.5 0-2.65-1.987-3.591-5.211-2.1-7.199 1.492-1.989 4.849-1.988 7.5 0z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><g fill="#E75A70"><path d="M13.589 26.521c-.297-.495-.284-1.117.035-1.599l4.395-6.646-5.995-5.139c-.556-.476-.686-1.283-.31-1.911l4.304-7.172c-1.669-1.301-3.755-2.09-6.035-2.09-5.45 0-9.868 4.417-9.868 9.868 0 .772.098 1.52.266 2.241C1.751 22.587 11.216 31.568 18 34.034c.025-.009.052-.022.077-.032l-4.488-7.481z"/><path d="M26.018 1.966c-2.765 0-5.248 1.151-7.037 2.983l-4.042 6.737 6.039 5.176c.574.492.691 1.335.274 1.966l-4.604 6.962 4.161 6.935c6.338-3.529 13.621-11.263 14.809-18.649.17-.721.268-1.469.268-2.241-.001-5.452-4.419-9.869-9.868-9.869z"/></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#BF6952" d="M33.541 23.198c.364-1.578.243-3.266-.458-4.946-.678-1.625-1.847-2.91-3.271-3.773.318-1.192.234-2.475-.324-3.75-.841-1.92-2.66-3.201-4.712-3.562.249-.572.329-1.289.036-2.167-1-3-5-1-8-4.999-2.44 1.464-2.97 3.64-2.878 5.487-2.421.412-3.8.936-3.8.936v.002c-1.36.55-2.322 1.883-2.322 3.442 0 .879.318 1.676.828 2.312l-.692.258.001.003c-2.33.871-3.975 2.976-3.975 5.439 0 1.047.3 2.027.82 2.878C1.971 22.027 0 24.781 0 28c0 4.418 3.691 8 8.244 8 3.269 0 6.559-.703 9.531-1.665C20.018 35.375 23.47 36 28.667 36 32.717 36 36 32.717 36 28.667c0-2.176-.953-4.125-2.459-5.469z"/><ellipse fill="#F5F8FA" cx="13.5" cy="15.5" rx="3.5" ry="4.5"/><ellipse fill="#F5F8FA" cx="23.5" cy="15.5" rx="3.5" ry="4.5"/><ellipse fill="#292F33" cx="14" cy="15.5" rx="2" ry="2.5"/><ellipse fill="#292F33" cx="23" cy="15.5" rx="2" ry="2.5"/><path fill="#292F33" d="M9.447 24.895C9.201 24.402 9.45 24 10 24h18c.55 0 .799.402.553.895C28.553 24.895 26 30 19 30s-9.553-5.105-9.553-5.105z"/><path fill="#F2ABBA" d="M19 26c-2.771 0-5.157.922-6.292 2.256C14.2 29.211 16.253 30 19 30s4.801-.789 6.292-1.744C24.157 26.922 21.771 26 19 26z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFDC5D" d="M12.43 22s-.717-3.641.298-10.873c1.4.454 2.814.873 3.272.873 1 0 4-1 4-2s-1-2-1-2l2-1c1-1 0-7-4-7-7 0-9.57 7-9.57 7l.007.011H7.43s-6 10.989-6 20c.065 0-1 5 0 6s5 1 5 1C16.43 38 35 35 35 26c0-13-19.57-10-22.57-4z"/><path fill="#EF9645" d="M19.494 32.252c-3.178 0-5.793-1.283-5.941-1.357-.493-.247-.693-.846-.447-1.34.246-.494.845-.695 1.34-.45.042.021 4.241 2.061 7.957.641 2.055-.785 3.625-2.507 4.669-5.116.205-.515.791-.763 1.3-.558.513.205.763.787.558 1.3-1.263 3.155-3.223 5.258-5.827 6.248-1.216.461-2.451.632-3.609.632z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M16 18c-.419 0-.809-.265-.949-.684C14.848 16.717 14.034 15 13 15c-1.062 0-1.888 1.827-2.051 2.316-.175.523-.738.808-1.265.632-.524-.174-.807-.741-.632-1.265C9.177 16.307 10.356 13 13 13s3.823 3.307 3.949 3.684c.175.524-.108 1.091-.632 1.265-.106.034-.213.051-.317.051zm10 0c-.419 0-.809-.265-.948-.684C24.849 16.717 24.033 15 23 15c-1.062 0-1.889 1.827-2.052 2.316-.175.523-.736.808-1.265.632-.523-.174-.807-.741-.632-1.265C19.177 16.307 20.355 13 23 13s3.823 3.307 3.948 3.684c.175.524-.108 1.091-.632 1.265-.105.034-.212.051-.316.051zm-8 4c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-1.344 6.75-9 6.75S9 23 9 23z"/><path fill="#664500" d="M18 27.594c-3.596 0-6.272-.372-7.937-.745l-.825-1.871c.823.312 3.889.897 8.763.897 4.954 0 8.037-.616 8.864-.938l-.701 1.842c-1.634.38-4.419.815-8.164.815z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zm-12 0c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.176.142.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.178-.142.237-.386.145-.594zM31 16c-.396 0-.772-.238-.929-.629-1.778-4.445-6.223-5.381-6.268-5.391-.541-.108-.893-.635-.784-1.177.108-.542.635-.891 1.177-.784.226.045 5.556 1.168 7.732 6.608.205.513-.045 1.095-.558 1.3-.12.05-.246.073-.37.073zM5 16c-.124 0-.249-.023-.371-.072-.513-.205-.762-.787-.557-1.3 2.176-5.44 7.506-6.563 7.732-6.608.543-.106 1.068.243 1.177.784.108.54-.242 1.066-.781 1.176-.185.038-4.506.98-6.271 5.391-.157.391-.533.629-.929.629zm13 6c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/><path fill="#5DADEC" d="M10.847 28.229c-.68 2.677-3.4 4.295-6.077 3.615-2.676-.679-4.295-3.399-3.616-6.076.679-2.677 6.337-8.708 7.307-8.462.97.247 3.065 8.247 2.386 10.923zm14.286 0c.68 2.677 3.4 4.295 6.077 3.615 2.677-.679 4.296-3.399 3.616-6.076-.68-2.677-6.338-8.708-7.308-8.462-.968.247-3.064 8.247-2.385 10.923z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="12.5" rx="2.5" ry="5.5"/><ellipse fill="#664500" cx="24.5" cy="12.5" rx="2.5" ry="5.5"/><path fill="#664500" d="M18 22c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zm-12 0c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.176.142.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.178-.142.237-.386.145-.594zM18 22c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="16.5" rx="2.5" ry="3.5"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zM5.999 12.458c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4 3.262-4.35 7.616-4.4 7.8-4.4.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.156.002-3.569.086-6.205 3.6-.195.262-.496.4-.8.4zm23.002 2.125c-.305 0-.604-.138-.801-.4-2.592-3.457-6.961-2.627-7.004-2.62-.547.108-1.068-.243-1.177-.784-.108-.542.243-1.068.784-1.177.231-.047 5.657-1.072 8.996 3.38.332.442.242 1.069-.2 1.4-.179.137-.389.201-.598.201zm-5.747 8.994c-.188-.11-.432-.087-.597.06-.01.008-1.013.863-4.657.863-3.641 0-4.646-.854-4.646-.854-.159-.16-.404-.19-.6-.082-.195.111-.293.339-.238.557.01.044 1.144 4.379 5.484 4.379s5.474-4.335 5.485-4.379c.053-.213-.044-.431-.231-.544z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><circle fill="#FF7892" cx="7" cy="18" r="5"/><circle fill="#FF7892" cx="29" cy="18" r="5"/><path fill="#664500" d="M27.335 21.629c-.178-.161-.444-.171-.635-.029-.039.029-3.922 2.9-8.7 2.9-4.766 0-8.662-2.871-8.7-2.9-.191-.142-.457-.13-.635.029-.177.16-.217.424-.094.628C8.7 22.472 11.788 27.5 18 27.5s9.301-5.028 9.429-5.243c.123-.205.084-.468-.094-.628zM7.999 15c-.15 0-.303-.034-.446-.106-.494-.247-.694-.848-.447-1.342C7.158 13.448 8.424 11 12 11c3.577 0 4.842 2.449 4.894 2.553.247.494.047 1.095-.447 1.342-.492.245-1.085.049-1.336-.436C15.068 14.379 14.281 13 12 13c-2.317 0-3.099 1.433-3.106 1.447-.175.351-.528.553-.895.553zm20.002 0c-.367 0-.72-.202-.896-.553C27.08 14.401 26.299 13 24 13s-3.08 1.401-3.112 1.46c-.26.481-.859.67-1.345.42-.485-.252-.682-.839-.438-1.328C19.157 13.449 20.423 11 24 11s4.843 2.449 4.895 2.553c.247.494.047 1.095-.447 1.342-.144.071-.297.105-.447.105z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M28.312 15.612c-.175-.142-.426-.147-.61-.014-.012.009-1.261.902-3.702.902-2.44 0-3.69-.893-3.7-.9-.183-.137-.435-.133-.611.009-.178.142-.238.386-.146.594.06.135 1.5 3.297 4.457 3.297 2.958 0 4.397-3.162 4.457-3.297.092-.207.032-.449-.145-.591zm-12.61-.014c-.012.009-1.26.902-3.702.902-2.441 0-3.69-.893-3.7-.9-.183-.137-.434-.133-.611.009-.178.142-.238.386-.146.594.06.135 1.5 3.297 4.457 3.297 2.958 0 4.397-3.162 4.457-3.297.092-.207.032-.449-.145-.591-.176-.143-.428-.147-.61-.014zM29.001 13c-.305 0-.604-.138-.801-.4-2.592-3.456-6.961-2.628-7.004-2.62-.547.108-1.068-.243-1.177-.784-.108-.541.243-1.068.784-1.177.231-.047 5.657-1.072 8.996 3.38.332.442.242 1.069-.2 1.4-.179.136-.389.201-.598.201zM6.999 13c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4 3.339-4.454 8.766-3.426 8.996-3.38.542.108.893.635.784 1.177-.108.54-.634.891-1.174.785-.186-.035-4.436-.808-7.006 2.618-.196.262-.497.4-.801.4zm16.255 10.577c-.188-.111-.432-.086-.597.06-.01.008-1.013.863-4.657.863-3.641 0-4.646-.854-4.646-.854-.159-.16-.404-.19-.6-.082-.195.111-.293.339-.238.557.01.044 1.144 4.379 5.484 4.379s5.474-4.335 5.485-4.379c.053-.213-.044-.431-.231-.544z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M18 21.849c-2.966 0-4.935-.346-7.369-.819-.557-.106-1.638 0-1.638 1.638 0 3.275 3.763 7.369 9.007 7.369s9.007-4.094 9.007-7.369c0-1.638-1.082-1.745-1.638-1.638-2.434.473-4.402.819-7.369.819"/><path fill="#E75A70" d="M16.65 3.281C15.791.85 13.126-.426 10.694.431c-1.476.52-2.521 1.711-2.928 3.104-1.191-.829-2.751-1.1-4.225-.58C1.111 3.813-.167 6.48.692 8.911c.122.344.284.663.472.958 1.951 3.582 7.588 6.1 11.001 6.131 2.637-2.167 5.446-7.665 4.718-11.677-.038-.348-.113-.698-.233-1.042zm2.7 0C20.209.85 22.875-.426 25.306.431c1.476.52 2.521 1.711 2.929 3.104 1.191-.829 2.751-1.1 4.225-.58 2.43.858 3.707 3.525 2.85 5.956-.123.344-.284.663-.473.958-1.951 3.582-7.588 6.1-11.002 6.131-2.637-2.167-5.445-7.665-4.717-11.677.037-.348.112-.698.232-1.042z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M24.327 23.622c-.153-.132-.368-.159-.551-.069l-4 2c-1.871.935-6.727.947-6.776.947-.276 0-.5.224-.5.5 0 .185.101.347.25.433v.001h.001v.001c.071.04.153.063.24.065h7.008c2.658 0 4.089-2.185 4.475-3.342.064-.192.006-.403-.147-.536zM31.001 16c-.305 0-.604-.138-.801-.4-2.641-3.521-6.061-3.599-6.206-3.6-.55-.006-.994-.456-.991-1.005.003-.551.447-.995.997-.995.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zM4.999 16c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C7.462 10.05 11.816 10 12 10c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.156.002-3.569.086-6.205 3.6-.195.262-.496.4-.8.4zm10.898 1.396c.023-.052.059-.096.073-.154.134-.536-.192-1.079-.727-1.213-.18-.045-4.467-1.08-7.797 1.138-.459.306-.583.927-.277 1.387.192.29.509.446.832.446.19 0 .383-.055.554-.168 1.092-.729 2.362-.995 3.468-1.061-.009.076-.023.151-.023.229 0 1.104.896 2 2 2s2-.896 2-2c0-.212-.042-.412-.103-.604zm11.999-.001c.023-.052.059-.095.073-.152.135-.536-.191-1.079-.727-1.213-.18-.045-4.466-1.08-7.797 1.138-.46.306-.584.927-.277 1.387.192.289.51.445.833.445.19 0 .383-.055.554-.168 1.092-.729 2.361-.994 3.469-1.06-.009.076-.024.15-.024.228 0 1.104.896 2 2 2s2-.896 2-2c0-.212-.042-.413-.104-.605z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M25.485 27.879C25.44 27.7 24.317 23.5 18 23.5c-6.318 0-7.44 4.2-7.485 4.379-.055.217.043.442.237.554.195.111.439.078.6-.077.019-.019 1.954-1.856 6.648-1.856s6.63 1.837 6.648 1.855c.096.095.224.145.352.145.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557zM29.001 14c-.305 0-.604-.138-.801-.4-2.432-3.244-6.514-.846-6.686-.743-.475.285-1.089.13-1.372-.343-.284-.474-.131-1.088.343-1.372 1.998-1.199 6.514-2.477 9.314 1.257.332.442.242 1.069-.2 1.4-.179.136-.389.201-.598.201zM6.999 14c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4 2.801-3.734 7.317-2.456 9.314-1.257.474.284.627.898.343 1.372-.284.473-.896.628-1.37.344-.179-.106-4.274-2.475-6.688.742-.195.261-.496.399-.8.399zM29 16c0-.552-.447-1-1-1h-7c-.553 0-1 .448-1 1s.447 1 1 1h5.092c.207.581.756 1 1.408 1 .828 0 1.5-.671 1.5-1.5 0-.11-.014-.217-.036-.321.012-.06.036-.116.036-.179zm-13 0c0-.552-.448-1-1-1H8c-.552 0-1 .448-1 1s.448 1 1 1h5.092c.207.581.756 1 1.408 1 .828 0 1.5-.671 1.5-1.5 0-.11-.014-.217-.036-.321.011-.06.036-.116.036-.179z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zm-11 0c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.176.142.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.089.066.194.099.298.099.11 0 .221-.037.312-.109.178-.142.237-.386.145-.594zM13 28s1-4 5-4 5 4 5 4-1-1-5-1-5 1-5 1z"/><path fill="#5DADEC" d="M11 11c0 2.762-2.238 5-5 5-2.761 0-5-2.238-5-5S5 1 6 1s5 7.238 5 10z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M17.312 17.612c-.176-.143-.427-.147-.61-.014-.012.009-1.26.902-3.702.902-2.441 0-3.69-.893-3.7-.9-.183-.137-.435-.133-.611.009-.178.142-.238.386-.146.594.06.135 1.5 3.297 4.457 3.297 2.958 0 4.397-3.162 4.457-3.297.092-.207.032-.449-.145-.591zm10 0c-.176-.143-.426-.148-.61-.014-.012.009-1.261.902-3.702.902-2.44 0-3.69-.893-3.7-.9-.183-.137-.434-.133-.611.009-.178.142-.238.386-.146.594.06.135 1.5 3.297 4.457 3.297 2.958 0 4.397-3.162 4.457-3.297.092-.207.032-.449-.145-.591zM22 28h-8c-.552 0-1-.447-1-1s.448-1 1-1h8c.553 0 1 .447 1 1s-.447 1-1 1zM6 14c-.552 0-1-.448-1-1 0-.551.445-.998.996-1 .156-.002 3.569-.086 6.205-3.6.331-.44.957-.532 1.4-.2.442.331.531.958.2 1.4C10.538 13.95 6.184 14 6 14zm24 0c-.184 0-4.537-.05-7.8-4.4-.332-.442-.242-1.069.2-1.4.441-.333 1.067-.242 1.399.2 2.641 3.521 6.061 3.599 6.206 3.6.55.006.994.456.991 1.005-.002.551-.446.995-.996.995z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M6 13c-.552 0-1-.448-1-1 0-.551.445-.998.996-1 .156-.002 3.569-.086 6.205-3.6.331-.44.957-.532 1.4-.2.442.331.531.958.2 1.4C10.538 12.95 6.184 13 6 13zm24 0c-.184 0-4.537-.05-7.8-4.4-.332-.442-.242-1.069.2-1.4.441-.333 1.067-.242 1.399.2 2.641 3.521 6.061 3.599 6.206 3.6.55.006.994.456.991 1.005-.002.551-.446.995-.996.995zm.6 7.2c-.114-.086-1.931-1.426-4.646-2.344.026-.115.046-.233.046-.356 0-.369-.139-.703-.359-.964 1.802-.52 3.334-.536 3.361-.536.551-.002.998-.45.997-1.002-.001-.551-.447-.998-.999-.998-.221 0-5.451.038-8.707 3.293-.286.286-.372.716-.217 1.09.154.374.52.617.924.617 4.59 0 8.363 2.772 8.401 2.801.18.134.39.198.598.198.305 0 .605-.139.802-.4.33-.443.24-1.068-.201-1.399zm-14.893-2.907C12.452 14.038 7.221 14 7 14c-.552 0-.999.447-.999.998-.001.552.446 1 .998 1.002.026 0 1.558.016 3.361.536-.221.261-.36.595-.36.964 0 .123.019.241.047.356-2.716.918-4.533 2.258-4.647 2.344-.442.331-.531.958-.2 1.399.196.263.497.401.801.401.208 0 .419-.065.599-.2.037-.028 3.787-2.8 8.4-2.8.404 0 .769-.243.924-.617.155-.374.069-.804-.217-1.09zM18 30c-.304 0-.591-.138-.781-.375l-3.194-3.992L11.8 28.6c-.174.232-.44.377-.729.397-.29.021-.574-.085-.778-.29l-1-1c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l.185.185L13.2 23.4c.186-.248.475-.396.784-.4.295-.01.603.133.796.375L18 27.399l3.219-4.024c.193-.241.484-.375.797-.375.31.005.599.152.784.4l2.309 3.077.185-.185c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-1 1c-.205.205-.479.314-.778.29-.289-.021-.555-.165-.729-.397l-2.226-2.967-3.193 3.992c-.191.238-.478.376-.782.376z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="15.5" rx="2.5" ry="3.5"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zM5.999 11c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 5.05 12.816 5 13 5c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm23.002 3c-.305 0-.604-.138-.801-.4-2.592-3.456-6.961-2.628-7.004-2.62-.547.11-1.068-.244-1.177-.784-.108-.541.243-1.068.784-1.177.231-.047 5.657-1.072 8.996 3.38.332.442.242 1.069-.2 1.4-.179.136-.389.201-.598.201zm-8.13 14c1.335-.412 2.629-1.156 2.629-2.5 0-2.619-4.912-2.968-5.472-2.999-.274-.026-.509.193-.527.468-.017.274.19.511.464.53.035.002 3.535.299 3.535 2.001s-3.5 1.999-3.535 2.001c-.014.001-.024.009-.037.011-.052.006-.101.018-.146.04l-.019.011c-.047.026-.088.057-.124.098-.014.015-.024.031-.036.048-.023.032-.044.063-.06.102-.012.029-.018.061-.024.092-.004.023-.016.044-.018.067 0 .011.004.021.004.031s-.005.021-.004.031c.001.024.013.045.018.068.006.031.011.061.023.09.013.03.031.057.049.084.017.024.032.05.052.071.023.023.05.041.078.061.024.017.046.034.074.047.032.015.066.021.101.027.024.006.044.018.069.02.035.001 3.535.298 3.535 2s-3.5 1.999-3.535 2.001c-.274.02-.481.257-.464.53.017.265.237.469.499.469l.028-.001c.56-.031 5.472-.38 5.472-2.999 0-1.344-1.294-2.088-2.629-2.5z"/><path fill="#E75A70" d="M35.404 27.222c.739-1.516.11-3.347-1.405-4.086-.922-.449-1.956-.391-2.793.06-.16-.936-.75-1.789-1.67-2.237-1.517-.74-3.348-.109-4.087 1.406-.105.215-.18.437-.23.659-.774 2.556.64 6.341 2.192 7.948 2.223.234 6.077-.979 7.615-3.161.145-.179.273-.374.378-.589z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><circle fill="#FF7892" cx="7" cy="21" r="5"/><circle fill="#FF7892" cx="29" cy="21" r="5"/><path fill="#664500" d="M28.416 17.723C28.355 17.632 26.901 15.5 24 15.5c-2.9 0-4.355 2.132-4.416 2.223-.135.202-.104.47.071.638.174.167.446.185.643.042.012-.01 1.262-.903 3.702-.903 2.426 0 3.674.881 3.702.901.089.066.194.099.298.099.124 0 .248-.046.344-.137.177-.167.207-.438.072-.64zM12 15.5c-2.9 0-4.355 2.132-4.416 2.223-.134.202-.104.47.071.638.175.167.447.185.642.042.013-.01 1.262-.903 3.703-.903 2.426 0 3.674.881 3.702.901.089.066.194.099.298.099.124 0 .248-.046.344-.137.177-.167.208-.438.072-.641-.061-.09-1.515-2.222-4.416-2.222zM21.871 27c1.335-.412 2.629-1.156 2.629-2.5 0-2.619-4.912-2.968-5.473-2.999-.277-.036-.51.194-.526.468-.017.274.19.511.464.53.035.002 3.535.299 3.535 2.001s-3.5 1.999-3.535 2.001c-.01.001-.017.006-.026.007-.124.008-.23.065-.31.159l-.015.021c-.029.039-.055.078-.073.125-.011.027-.016.057-.021.086-.005.024-.017.046-.019.07-.001.01.004.02.004.031s-.005.021-.004.031c.002.025.013.046.019.07.006.029.011.059.022.087.013.032.032.06.051.088.017.023.03.047.05.067.023.024.052.043.081.062.024.017.045.033.071.046.031.015.065.021.101.027.023.006.044.018.069.02.035.003 3.535.3 3.535 2.002s-3.5 1.999-3.535 2.001c-.273.02-.481.257-.464.53.017.265.236.469.499.469l.027-.001c.561-.031 5.473-.38 5.473-2.999 0-1.344-1.294-2.088-2.629-2.5zm9.13-11c-.305 0-.604-.138-.801-.4-2.641-3.521-6.061-3.599-6.206-3.6-.55-.006-.994-.456-.991-1.005.003-.551.447-.995.997-.995.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zM4.999 16c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C7.462 10.05 11.816 10 12 10c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.156.002-3.569.086-6.205 3.6-.195.262-.496.4-.8.4z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCB4C" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#65471B" d="M15.457 15.815c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.177.143.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.088.066.193.099.298.099.11 0 .221-.037.311-.109.179-.142.238-.386.146-.594z"/><path fill="#F4F7F9" d="M31 13.5c0 3.59-2.91 6.5-6.5 6.5S18 17.09 18 13.5 20.91 7 24.5 7 31 9.91 31 13.5z"/><circle fill="#292F33" cx="24.5" cy="13.5" r="2.5"/><path fill="#65471B" d="M7 21.262c0 3.964 4.596 9 11 9s11-5 11-9c0 0-10.333 2.756-22 0z"/><path fill="#E8596E" d="M18.545 23.604l-1.091-.005c-3.216-.074-5.454-.596-5.454-.596v6.961c0 3 2 6 6 6s6-3 6-6v-6.92c-1.922.394-3.787.542-5.455.56z"/><path fill="#DD2F45" d="M18 31.843c.301 0 .545-.244.545-.545v-7.694l-1.091-.005v7.699c.001.301.245.545.546.545z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCB4C" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#65471B" d="M30.6 18.2c-.114-.085-1.931-1.426-4.646-2.344.026-.115.046-.233.046-.356 0-.369-.139-.703-.359-.964 1.802-.52 3.334-.536 3.361-.536.551-.002.998-.45.997-1.002-.001-.551-.447-.998-.999-.998-.221 0-5.451.038-8.707 3.293-.286.286-.372.716-.217 1.09.154.373.52.617.924.617 4.59 0 8.363 2.773 8.401 2.801.18.134.39.199.598.199.305 0 .605-.139.802-.401.33-.443.24-1.068-.201-1.399zm-14.893-2.907C12.452 12.038 7.221 12 7 12c-.552 0-.999.447-.999.998-.001.552.446 1 .998 1.002.026 0 1.558.016 3.361.536-.221.261-.36.595-.36.964 0 .123.019.241.047.356-2.716.918-4.533 2.259-4.647 2.344-.442.331-.531.958-.2 1.4.196.262.497.4.801.4.208 0 .419-.065.599-.2.037-.028 3.787-2.8 8.4-2.8.404 0 .769-.244.924-.617.155-.374.069-.804-.217-1.09zM7 21.263c0 3.964 4.596 9 11 9s11-5 11-9c0 0-10.333 2.756-22 0z"/><path fill="#E8596E" d="M18.545 23.604l-1.091-.005c-3.216-.074-5.454-.596-5.454-.596v6.961c0 3 2 6 6 6s6-3 6-6v-6.92c-1.922.395-3.787.543-5.455.56z"/><path fill="#DD2F45" d="M18 31.844c.301 0 .545-.244.545-.545v-7.694l-1.091-.005v7.699c.001.301.245.545.546.545z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M23.485 28.879C23.474 28.835 22.34 24.5 18 24.5s-5.474 4.335-5.485 4.379c-.053.213.044.431.232.544.188.112.433.086.596-.06.009-.008 1.013-.863 4.657-.863 3.59 0 4.617.83 4.656.863.095.09.219.137.344.137.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557zm2.295-13.238c-.341-.093-.692-.14-1.043-.14-2.345 0-4.053 2.06-4.125 2.147-.143.176-.148.425-.017.609.134.184.374.253.586.173.005-.002.572-.214 1.564-.214.714 0 1.469.107 2.244.319 2.342.638 3.313 1.818 3.334 1.844.098.124.243.191.394.191.066 0 .134-.014.197-.041.209-.09.331-.31.297-.534-.021-.146-.577-3.576-3.431-4.354zm-14.554-.129c-.317 0-.636.039-.947.116-2.87.707-3.513 4.121-3.539 4.267-.04.223.076.443.281.54.067.031.14.047.211.047.145 0 .287-.063.385-.18.01-.012 1.01-1.178 3.379-1.761.714-.176 1.412-.265 2.073-.265 1.104 0 1.732.253 1.735.254.067.028.131.04.207.04.272.012.509-.221.509-.5 0-.165-.08-.311-.203-.402-.367-.435-1.953-2.156-4.091-2.156z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M25.485 29.879C25.44 29.7 24.317 25.5 18 25.5c-6.318 0-7.44 4.2-7.485 4.379-.055.217.043.442.237.554.195.109.439.079.6-.077.019-.019 1.954-1.856 6.648-1.856s6.63 1.837 6.648 1.855c.096.095.224.145.352.145.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557zm-9.778-12.586C12.452 14.038 7.221 14 7 14c-.552 0-.999.447-.999.998-.001.552.446 1 .998 1.002.029 0 1.925.022 3.983.737-.593.64-.982 1.634-.982 2.763 0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-.174-.019-.34-.037-.507.013 0 .025.007.037.007.256 0 .512-.098.707-.293.391-.391.391-1.023 0-1.414zM29 14c-.221 0-5.451.038-8.707 3.293-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293.013 0 .024-.007.036-.007-.016.167-.036.333-.036.507 0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-1.129-.389-2.123-.982-2.763 2.058-.715 3.954-.737 3.984-.737.551-.002.998-.45.997-1.002-.001-.551-.447-.998-.999-.998z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#DA2F47" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#292F33" d="M25.485 29.879C25.44 29.7 24.317 25.5 18 25.5c-6.318 0-7.44 4.2-7.485 4.379-.055.217.043.442.237.554.195.109.439.079.6-.077.019-.019 1.954-1.856 6.648-1.856s6.63 1.837 6.648 1.855c.096.095.224.145.352.145.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557zm-9.778-12.586C12.452 14.038 7.221 14 7 14c-.552 0-.999.447-.999.998-.001.552.446 1 .998 1.002.029 0 1.925.022 3.983.737-.593.64-.982 1.634-.982 2.763 0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-.174-.019-.34-.037-.507.013 0 .025.007.037.007.256 0 .512-.098.707-.293.391-.391.391-1.023 0-1.414zM29 14c-.221 0-5.451.038-8.707 3.293-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293.013 0 .024-.007.036-.007-.016.167-.036.333-.036.507 0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-1.129-.389-2.123-.982-2.763 2.058-.715 3.954-.737 3.984-.737.551-.002.998-.45.997-1.002-.001-.551-.447-.998-.999-.998z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="17" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24.5" cy="17" rx="2.5" ry="3.5"/><path fill="#664500" d="M5.999 13.5c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4 3.262-4.35 7.616-4.4 7.8-4.4.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm24.002 0c-.305 0-.604-.138-.801-.4-2.641-3.521-6.061-3.599-6.206-3.6-.55-.006-.994-.456-.991-1.005.003-.551.447-.995.997-.995.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zm-6.516 14.879C23.474 28.335 22.34 24 18 24s-5.474 4.335-5.485 4.379c-.053.213.044.431.232.544.188.112.433.086.596-.06C13.352 28.855 14.356 28 18 28c3.59 0 4.617.83 4.656.863.095.09.219.137.344.137.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557z"/><path fill="#5DADEC" d="M16 31c0 2.762-2.238 5-5 5s-5-2.238-5-5 4-10 5-10 5 7.238 5 10z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M29 10c-5.554 0-7.802-4.367-7.895-4.553-.247-.494-.047-1.095.447-1.342.493-.246 1.092-.048 1.34.443C22.967 4.694 24.713 8 29 8c.553 0 1 .448 1 1s-.447 1-1 1zM7 10c-.552 0-1-.448-1-1s.448-1 1-1c5.083 0 5.996-3.12 6.033-3.253.145-.528.692-.848 1.219-.709.53.139.851.673.718 1.205C14.921 5.437 13.704 10 7 10zm-.999 13c-.304 0-.604-.138-.801-.4-.332-.441-.242-1.068.2-1.399.143-.107 2.951-2.183 6.856-2.933C9.781 17.027 7.034 17 6.999 17c-.552-.001-.999-.45-.998-1.002 0-.551.447-.998.999-.998.221 0 5.452.038 8.707 3.293.286.286.372.716.217 1.09-.155.374-.52.617-.924.617-4.613 0-8.363 2.772-8.4 2.8-.18.135-.391.2-.599.2zm23.998-.001c-.208 0-.418-.064-.598-.198C29.363 22.772 25.59 20 21 20c-.404 0-.77-.243-.924-.617-.155-.374-.069-.804.217-1.09C23.549 15.038 28.779 15 29 15c.552 0 .998.447.999.998.001.552-.446 1-.997 1.002-.036 0-2.783.027-5.258 1.268 3.905.75 6.713 2.825 6.855 2.933.441.331.531.956.201 1.398-.196.261-.496.4-.801.4zm-4.545 7.792c-.118-.257-2.938-6.291-7.21-6.291-4.249 0-7.546 6.007-7.684 6.262-.113.209-.063.469.119.621.093.078.207.117.321.117.11 0 .22-.036.311-.109.031-.024 3.163-2.479 6.933-2.479 3.743 0 6.388 2.43 6.414 2.454.175.162.442.18.634.04.194-.14.262-.397.162-.615z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="16.5" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24.5" cy="16.5" rx="2.5" ry="3.5"/><path fill="#664500" d="M23.485 27.879C23.474 27.835 22.34 23.5 18 23.5s-5.474 4.335-5.485 4.379c-.053.213.044.431.232.544.188.112.433.086.596-.06.009-.007 1.013-.863 4.657-.863 3.59 0 4.617.83 4.656.863.095.091.219.137.344.137.084 0 .169-.021.246-.064.196-.111.294-.339.239-.557z"/><path fill="#5DADEC" d="M10 30c0 2.762-2.238 5-5 5s-5-2.238-5-5 4-10 5-10 5 7.238 5 10z"/><path fill="#664500" d="M30 13c-5.554 0-7.802-4.367-7.895-4.553-.247-.494-.047-1.095.447-1.342.492-.247 1.092-.048 1.34.443C23.967 7.694 25.713 11 30 11c.553 0 1 .448 1 1 0 .553-.447 1-1 1zM6 13c-.552 0-1-.448-1-1s.448-1 1-1c5.083 0 5.996-3.12 6.033-3.253.145-.528.69-.848 1.219-.709.53.139.851.673.718 1.205C13.921 8.437 12.704 13 6 13z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#BDDDF4" d="M18 11c8.749 0 16.033 4.509 17.656 10.484.222-1.128.344-2.292.344-3.484 0-9.94-8.059-18-18-18C8.06 0 0 8.06 0 18c0 1.192.123 2.356.344 3.484C1.967 15.509 9.252 11 18 11z"/><ellipse fill="#664500" cx="11.5" cy="16.5" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24.5" cy="16.5" rx="2.5" ry="3.5"/><path fill="#664500" d="M5.999 12c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 6.05 12.816 6 13 6c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm24.002 0c-.305 0-.604-.138-.801-.4-2.64-3.521-6.061-3.598-6.206-3.6-.55-.006-.994-.456-.991-1.005C22.006 6.444 22.45 6 23 6c.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zm-6.516 15.879C23.474 27.835 22.34 23.5 18 23.5s-5.474 4.335-5.485 4.379c-.053.213.043.431.231.544.187.112.433.086.596-.06.011-.008 1.015-.863 4.658-.863 3.589 0 4.617.83 4.656.863.095.09.219.137.344.137.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M23.485 28.879C23.474 28.835 22.34 24.5 18 24.5s-5.474 4.335-5.485 4.379c-.053.213.044.431.232.544.188.112.433.086.596-.06.009-.008 1.013-.863 4.657-.863 3.59 0 4.617.83 4.656.863.095.09.219.137.344.137.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557zm-7.782-11.281c-.013.009-1.262.902-3.703.902-2.442 0-3.69-.893-3.7-.9-.194-.146-.466-.132-.644.037-.177.167-.208.438-.072.641.061.09 1.515 2.222 4.416 2.222 2.9 0 4.355-2.132 4.416-2.223.134-.202.104-.47-.071-.638-.176-.169-.449-.184-.642-.041zm12.642.042c-.175-.169-.447-.186-.643-.042-.012.009-1.262.902-3.702.902-2.441 0-3.69-.893-3.7-.9-.193-.146-.466-.132-.644.037-.177.167-.207.438-.072.641.061.09 1.515 2.222 4.416 2.222 2.9 0 4.355-2.132 4.416-2.223.135-.201.104-.469-.071-.637zM31.001 16c-.305 0-.604-.138-.801-.4-2.641-3.521-6.061-3.599-6.206-3.6-.55-.006-.994-.456-.991-1.005.003-.551.447-.995.997-.995.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zM4.999 16c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C7.462 10.05 11.816 10 12 10c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.156.002-3.569.086-6.205 3.6-.195.262-.496.4-.8.4z"/><path fill="#5DADEC" d="M23 23c6.211 0 13 4 13 9 0 4-3 4-3 4-8 0-1-9-10-13z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M22 27c0 2.763-1.791 3-4 3-2.21 0-4-.237-4-3 0-2.761 1.79-6 4-6 2.209 0 4 3.239 4 6zm8-12c-.124 0-.25-.023-.371-.072-5.229-2.091-7.372-5.241-7.461-5.374-.307-.46-.183-1.081.277-1.387.459-.306 1.077-.184 1.385.274.019.027 1.93 2.785 6.541 4.629.513.206.763.787.558 1.3-.157.392-.533.63-.929.63zM6 15c-.397 0-.772-.238-.929-.629-.205-.513.044-1.095.557-1.3 4.612-1.844 6.523-4.602 6.542-4.629.308-.456.929-.577 1.387-.27.457.308.581.925.275 1.383-.089.133-2.232 3.283-7.46 5.374C6.25 14.977 6.124 15 6 15z"/><path fill="#5DADEC" d="M24 16h4v19l-4-.046V16zM8 35l4-.046V16H8v19z"/><path fill="#664500" d="M14.999 18c-.15 0-.303-.034-.446-.105-3.512-1.756-7.07-.018-7.105 0-.495.249-1.095.046-1.342-.447-.247-.494-.047-1.095.447-1.342.182-.09 4.498-2.197 8.895 0 .494.247.694.848.447 1.342-.176.35-.529.552-.896.552zm14 0c-.15 0-.303-.034-.446-.105-3.513-1.756-7.07-.018-7.105 0-.494.248-1.094.047-1.342-.447-.247-.494-.047-1.095.447-1.342.182-.09 4.501-2.196 8.895 0 .494.247.694.848.447 1.342-.176.35-.529.552-.896.552z"/><ellipse fill="#5DADEC" cx="18" cy="34" rx="18" ry="2"/><ellipse fill="#E75A70" cx="18" cy="27" rx="3" ry="2"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="16.5" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24.5" cy="16.5" rx="2.5" ry="3.5"/><path fill="#664500" d="M23.485 27.879C23.474 27.835 22.34 23.5 18 23.5s-5.474 4.335-5.484 4.379c-.053.213.043.431.231.544.187.112.433.086.596-.06.01-.008 1.014-.863 4.657-.863 3.59 0 4.617.83 4.656.863.095.09.219.137.344.137.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557z"/><path fill="#5DADEC" d="M10 30c0 2.762-2.238 5-5 5s-5-2.238-5-5 4-10 5-10 5 7.238 5 10z"/><path fill="#BDDDF4" d="M18 11c8.749 0 16.033 4.509 17.656 10.484.222-1.128.344-2.292.344-3.484 0-9.94-8.059-18-18-18C8.06 0 0 8.06 0 18c0 1.192.123 2.356.344 3.484C1.967 15.509 9.252 11 18 11z"/><path fill="#664500" d="M30 12c-5.554 0-7.802-4.367-7.895-4.553-.247-.494-.047-1.095.447-1.342.492-.247 1.092-.048 1.34.443C23.967 6.694 25.713 10 30 10c.553 0 1 .448 1 1s-.447 1-1 1zM6 12c-.552 0-1-.448-1-1s.448-1 1-1c5.083 0 5.996-3.12 6.033-3.253.145-.528.69-.848 1.219-.709.53.139.851.673.718 1.205C13.921 7.437 12.704 12 6 12z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M18 0C8.06 0 0 8.06 0 18c0 6.051 2.996 11.392 7.574 14.655C7.678 26.217 5.337 19 1.404 19c-.464 0-.84.066-1.153.183C.554 18.426 1.211 18 2.44 18c4.27 0 6.666 8.506 6.092 15.288C11.286 34.997 14.522 36 18 36c3.479 0 6.716-1.004 9.47-2.713C26.893 26.48 29.288 18 33.561 18c1.233 0 1.892.426 2.192 1.183-.314-.117-.691-.183-1.157-.183-3.938 0-6.278 7.199-6.17 13.655C33.005 29.392 36 24.051 36 18c0-9.94-8.059-18-18-18z"/><path fill="#BDDDF4" d="M18 0C8.06 0 0 8.06 0 18c0 1.192.123 2.356.344 3.484.234-.863.6-1.691 1.058-2.484-.463 0-.838.066-1.15.183.264-.659.822-1.048 1.768-1.142C5.012 13.862 11.037 11 18 11c6.964 0 12.988 2.861 15.98 7.04.95.094 1.51.482 1.772 1.143-.312-.117-.689-.183-1.153-.183.458.793.823 1.621 1.058 2.484.221-1.128.343-2.292.343-3.484 0-9.94-8.059-18-18-18z"/><path fill="#F5F8FA" d="M7.347 11.91c-.946 3.176.107 6.293 2.353 6.962 2.246.67 4.834-1.362 5.779-4.538.946-3.175-.106-6.293-2.351-6.962-2.246-.669-4.834 1.363-5.781 4.538zm21.305 0c.946 3.176-.107 6.293-2.352 6.962-2.246.67-4.834-1.362-5.779-4.538-.946-3.175.107-6.293 2.351-6.962 2.245-.669 4.833 1.363 5.78 4.538z"/><path fill="#664500" d="M18 18c-2.757 0-5 2.243-5 5v6c0 2.757 2.243 5 5 5s5-2.243 5-5v-6c0-2.757-2.243-5-5-5z"/><path fill="#FCAB40" d="M1.404 19c-.464 0-.84.066-1.153.183.072-.179.167-.336.281-.476C-1.33 20.998 2.849 28.54.818 36h6.46c1.19-6.96-1.235-17-5.874-17zm34.349.183c-.314-.117-.691-.183-1.157-.183-4.641 0-7.065 10.002-5.873 17h6.46c-1.906-7.045 1.656-14.089.57-16.817z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="18" cy="27" rx="5" ry="6"/><path fill="#664500" d="M5.999 11c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 5.05 12.816 5 13 5c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm24.002 0c-.305 0-.604-.138-.801-.4-2.64-3.521-6.061-3.598-6.206-3.6-.55-.006-.994-.456-.991-1.005C22.006 5.444 22.45 5 23 5c.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2z"/><path fill="#F5F8FA" d="M18 23c-1.657 0-3 1.79-3 4h6c0-2.21-1.343-4-3-4z"/><ellipse fill="#664500" cx="12" cy="14.5" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24" cy="14.5" rx="2.5" ry="3.5"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><circle fill="#FF7892" cx="29" cy="23" r="5"/><circle fill="#FF7892" cx="7" cy="23" r="5"/><circle fill="#F5F8FA" cx="24.5" cy="16.5" r="5.5"/><circle fill="#F5F8FA" cx="11.5" cy="16.5" r="5.5"/><circle fill="#664500" cx="11.5" cy="16.5" r="2.5"/><circle fill="#664500" cx="24.5" cy="16.5" r="2.5"/><path fill="#664500" d="M22 30h-8c-.552 0-1-.447-1-1s.448-1 1-1h8c.553 0 1 .447 1 1s-.447 1-1 1zm8.001-19c-.305 0-.604-.138-.801-.4-2.64-3.521-6.061-3.598-6.206-3.6-.55-.006-.994-.456-.991-1.005C22.006 5.444 22.45 5 23 5c.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zM5.999 11c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 5.05 12.816 5 13 5c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M7.001 15c-.323 0-.64-.156-.833-.445-.306-.46-.182-1.081.277-1.387C6.578 13.08 9.746 11 14 11c.552 0 1 .448 1 1s-.448 1-1 1c-3.655 0-6.418 1.814-6.445 1.832-.171.114-.364.168-.554.168zm21.998 0c-.189 0-.382-.054-.552-.167C28.419 14.815 25.628 13 22 13c-.553 0-1-.448-1-1s.447-1 1-1c4.254 0 7.422 2.08 7.555 2.168.46.306.584.927.277 1.387-.192.289-.51.445-.833.445z"/><path fill="#F5F8FA" d="M27 22.091L36 18c0-.66-.041-1.309-.109-1.95L27 20.091V19c0-1.104-.896-2-2-2H11c-1.104 0-2 .896-2 2v1.091L.11 16.05C.041 16.691 0 17.34 0 18l9 4.091v4.546l-7.453-1.355c.341.77.741 1.507 1.183 2.215L9 28.637V30c0 1.104.896 2 2 2h14c1.104 0 2-.896 2-2v-1.363l6.271-1.141c.441-.708.841-1.445 1.182-2.215L27 26.637v-4.546z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#EF9645" d="M18 10.087l5.007-.047h6.016c.973 0 2.265-.038 3.195.873-.81-1.187-2.172-1.967-3.718-1.967H28l-.243-.094H22.1l.016-4c0-.812.531-1.578.734-1.998-1.096.592-1.85 1.737-1.85 3.07l-.087.272v2.656L18 8.868c-1.201 0-2.182.427-2.915 1.266l-.016-1.375.016-4.828c0-.758.406-1.438.669-1.954C14.71 2.669 14 3.946 14 5.424v.522l-.181.978.031 8.022c0 .891-.414 1.576-1.031 2.125-.53.472-1.053.656-1.819.656-1.657 0-2.884-1.281-2.884-2.938L8.1 5.712c0-.816.453-1.391.756-1.861C7.757 4.441 7 5.588 7 6.924V8.81l-.072.214v6.058c0 1.989-1.891 2.786-2.828 2.786-1.719 0-3.1-1.203-3.1-2.786v2.645s.185.209.194.312c.881.882 2.156 1.016 2.984 1.016 1.594 0 2.684-.851 3.337-2.062.678 1.212 1.913 2.016 3.428 2.016s3.684-.738 4.056-3.344c.141.167.506.51.678.641.703.531 1.585.734 2.322.734l1.116-.031h1.734c-.535.27-.778.552-1.203.938-1.729 1.568-2.578 4.094-2.578 7.672 0 .276.317.562.594.562.276 0 .578-.317.578-.594 0-3.962.973-6.327 3.203-7.562 1.175-.651 2.626-.969 4.516-.969.059 0 .562-.031.562-.031.276 0 .594-.333.594-.609 0-.276-.271-.547-.547-.547H20.13L18 15.853c-1.657 0-2.915-1.281-2.915-2.938 0-1.657 1.258-2.828 2.915-2.828z"/><path fill="#FFDC5D" d="M4.124 18.946c1.474 0 2.738-.831 3.392-2.043.678 1.212 1.958 2.043 3.446 2.043h.076c1.153 0 2.169-.51 2.889-1.298.022-.025.051-.043.073-.068v-.014c.185-.212.343-.448.481-.695.04-.072.069-.151.105-.227.093-.194.176-.394.236-.606.052-.173.106-.344.134-.526.141.167.296.319.46.46.069.059.147.107.221.162.116.086.229.177.355.251.589.351 1.271.56 2.008.56h3.166c-.535.27-.999.614-1.424 1-1.729 1.568-2.579 4.085-2.579 7.663 0 .276.224.5.5.5s.5-.224.5-.5c0-3.962 1.01-6.427 3.24-7.663 1.175-.651 2.682-.967 4.571-.967.059 0 .526-.033.526-.033.276 0 .5-.224.5-.5s-.224-.5-.5-.5H18c-1.657 0-3-1.343-3-3s1.343-3 3-3h11c.973 0 2.288.056 3.218.967.325.318.604.736.803 1.297l1.659 5.472c.156.512.73 2.857.626 3.346 0 7.34-8.7 14.972-19.004 14.972C6.326 36 1 27.883 1 17.957v-.229c.01.01.021.016.031.026.881.882 1.799 1.192 2.845 1.192h.248z"/><path fill="#FFDC5D" d="M3.864 5.946h.271C5.718 5.946 7 7.229 7 8.81v6.273c0 1.582-1.282 2.864-2.864 2.864h-.272C2.282 17.946 1 16.664 1 15.082V8.81c0-1.581 1.282-2.864 2.864-2.864zM14 9.222v5.724c0 .891-.396 1.683-1.014 2.233-.53.472-1.221.767-1.986.767-1.657 0-3-1.343-3-3v-9c0-.816.328-1.554.857-2.095.544-.557 1.302-.905 2.143-.905 1.657 0 3 1.343 3 3v3.276zm4-.276c-1.201 0-2.267.541-3 1.38V3.947c0-.758.29-1.442.753-1.97C16.303 1.35 17.1.947 18 .947c1.657 0 3 1.343 3 3v5h-3zm4-4.007c0-.812.326-1.545.85-2.085.544-.559 1.301-.909 2.143-.909h.014C26.66 1.946 28 3.286 28 4.939v4.006h-6V4.939z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#EF9645" d="M8.916 23.891s1.737.109 1.94-1.808l.016-4.161.128-.005v-.96c0-.952.572-1.769 1.389-2.133-.242.331-.283 7.176-.283 7.176 0 1.104.789 1.891 1.894 1.891.755 0 1.265-.314 1.606-.932-.458-.526-.734-1.206-.734-1.959 0-1.312.781-2.141 1.128-2.222 0 0 .056-.07.082-.084.368-.306.804-.535 1.291-.634l.02.001.261-.155h6.928c1.306 0 1.558.486 1.538.475l.02.011c.591.305 1.076.773 1.404 1.35-.025-.031-.681-.633-1.543-.633s-8-.047-8-.047c-1.104 0-1.925.833-1.925 1.938s.82 1.922 1.925 1.922l5.5-.016c.276 0 .591.317.591.594 0 .276-.314.578-.591.578 0 0-1.558-.069-2.847 1.25-1.209 1.238-2.078 3.803-2.078 5.672 0 .276-.299.578-.575.578s-.582-.302-.582-.578c0-3.01.941-5.525 2.75-6.891H18c-1 0-1.273-.244-1.474-.359.001.001-.701 1.359-2.526 1.359-.237 0-1.628-.047-2.487-1.266-1.125 1.422-2.575 1.266-2.575 1.266-.733 0-1.566-.328-1.91-.833C7.015 24.185 7 24.095 7 24v-1.917c0 1.059.857 1.808 1.916 1.808z"/><path fill="#FFDC5D" d="M24.581 18H18c-.208 0-.411.021-.607.061l-.073-.278-3.273-12.464s-.416-1.957 1.54-2.372c1.956-.416 2.372 1.54 2.372 1.54l3.097 11.569c.446.024.878.063 1.305.107l2.061-10.512s.188-1.991 2.18-1.804c1.991.188 1.803 2.179 1.803 2.179L26.34 17.187l-.221 1.194c-.464-.235-.982-.381-1.538-.381zM8.916 16h.168c1.059 0 1.916.858 1.916 1.917v4.166C11 23.142 10.143 24 9.084 24h-.168C7.857 24 7 23.142 7 22.083v-4.166C7 16.858 7.857 16 8.916 16zM15 21c0 .753.287 1.433.745 1.959C15.404 23.576 14.755 24 14 24c-1.104 0-2-.896-2-2v-6c0-.441.147-.845.389-1.176.364-.497.947-.824 1.611-.824 1.104 0 2 .896 2 2v2.778c-.609.549-1 1.336-1 2.222z"/><path fill="#FFDC5D" d="M9.062 25c1.024 0 1.925-.526 2.45-1.322.123.183.271.346.431.497.049.046.102.085.155.128.119.099.243.189.377.269.066.039.132.074.201.108.14.069.285.125.435.172.067.021.131.046.2.062.223.052.452.086.689.086.236 0 .461-.036.681-.089.076-.018.148-.042.223-.066.137-.044.269-.099.396-.161.082-.04.163-.076.24-.124.164-.1.318-.213.46-.341.202-.184.384-.387.53-.618l-.003-.003c.2.115.473.402 1.473.402h2.537c-1.809 1.365-3.037 3.99-3.037 7 0 .276.224.5.5.5s.5-.224.5-.5c0-3.859 2.187-7 4.875-7h.125c.276 0 .5-.224.5-.5s-.224-.5-.5-.5H18c-1.104 0-2-.896-2-2s.896-2 2-2h8c.032 0 .062.008.094.01.073.003.145.01.216.022.062.01.122.021.182.037.064.017.125.035.187.058.062.022.122.047.181.075.057.027.111.058.165.09.056.033.109.067.161.107.052.038.102.08.15.124.046.041.09.084.132.13.027.029.051.06.075.091l.052.063c.038.051.073.102.106.156.034.056.064.112.093.171.03.062.056.125.08.19.012.031.029.06.039.093L29 24c.103.335.479 1.871.411 2.191C29.411 31 24.715 36 19 36c-6.537 0-11.844-5.231-11.986-11.734l.014.01c.515.445 1.176.724 1.91.724h.124z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#BE1931" d="M35.885 11.833c0-5.45-4.418-9.868-9.867-9.868-3.308 0-6.227 1.633-8.018 4.129-1.791-2.496-4.71-4.129-8.017-4.129-5.45 0-9.868 4.417-9.868 9.868 0 .772.098 1.52.266 2.241C1.751 22.587 11.216 31.568 18 34.034c6.783-2.466 16.249-11.447 17.617-19.959.17-.721.268-1.469.268-2.242z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
<g fill="none" fill-rule="evenodd">
<path d="M1 1h20v20H1z"/>
<path fill="#027FFF" fill-rule="nonzero" d="M11 18.438a7.438 7.438 0 1 0 0-14.876 7.438 7.438 0 0 0 0 14.876zm0 1.062a8.5 8.5 0 1 1 0-17 8.5 8.5 0 0 1 0 17zM7.812 9.937a1.062 1.062 0 1 0 0-2.124 1.062 1.062 0 0 0 0 2.125zm6.375 0a1.063 1.063 0 1 0 0-2.125 1.063 1.063 0 0 0 0 2.125zM11 16.232a3.27 3.27 0 0 0 3.27-3.27H7.73a3.27 3.27 0 0 0 3.27 3.27z"/>
</g>
</svg>
No preview for this file type
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import "element-ui/lib/theme-chalk/index.css";
import "./style/index.less";
import * as filters from "./filters";
Object.keys(filters).forEach((key) => {
Vue.filter(key, filters[key]);
});
import "./utils/iconfont";
import "./components/common/index";
import { Loading } from "element-ui";
Vue.use(Loading.directive);
import VueLazyload from "vue-lazyload";
const loadimage = require("./images/loading.gif");
const errorimage = require("./images/load-error.jpeg");
Vue.use(VueLazyload, {
preLoad: 1.3, // 提前加载高度(1 表示 1 屏的高度)
error: errorimage,
loading: loadimage,
attempt: 1, // 加载错误后最大尝试次数
});
new Vue({
router,
store,
render: (h) => h(App),
created() {},
}).$mount("#app");
// 获取标签的背景色
import { mapGetters } from "vuex";
export default {
computed: {
...mapGetters({
labelList: "label/labelList",
}),
getLabelColor({ labelList }) {
return (labelName) => {
if (labelList && labelList.length) {
let labelIndex = 0;
labelList.forEach((item, index) => {
if (labelName === item.label) {
labelIndex = index;
}
});
return labelList[labelIndex].bgColor;
}
return "";
};
},
},
};
// 点赞操作
import { apiUpdateLikes } from "api/blog";
export default {
computed: {
getLikesNumber({ likeList }) {
return (id, likes) => (likeList.includes(id) ? likes + 1 : likes);
},
getLikesColor({ likeList }) {
return (id) => likeList.includes(id);
},
},
data() {
return {
currentId: "", // 当前id
isLike: false, // 是否点赞
likeList: [],
};
},
methods: {
// 点赞
handleLikes(id) {
if (this.likeList.includes(id)) {
this.isLike = true;
this.likeList.splice(this.likeList.indexOf(id), 1);
} else {
this.isLike = false;
this.likeList.push(id);
}
this.currentId = id;
return apiUpdateLikes({ _id: id, isLike: this.isLike })
.then((res) => {})
.catch((err) => {
console.log(err);
})
.finally(() => {});
},
},
};
import Vue from "vue";
import Router from "vue-router";
Vue.use(Router);
// 解决同一页面,参数不同的路由报错
const VueRouterPush = Router.prototype.push;
Router.prototype.push = function push(to) {
return VueRouterPush.call(this, to).catch((err) => err);
};
/**
* 加载模块
* @param {string | Component} component 路径或组件
* @param {boolean} lazy 是否懒加载
* @returns {Function | object} 懒加载方法或组件对象
*/
const loadComponent = (component, lazy = true) =>
lazy ? () => import(`views/${component}.vue`) : component;
const router = new Router({
// mode: 'history',
routes: [
{
path: "/index",
component: loadComponent("home/index"),
meta: {
title: "首页",
},
},
{
path: "/label",
component: loadComponent("home/label"),
children: [
{
path: ":keyword",
component: loadComponent("home/components/blogClassify"),
meta: {
title: "文章分类",
},
},
],
},
{
path: "/article/detail",
component: loadComponent("article/detail"),
children: [
{
path: ":id",
component: loadComponent("article/components/detailContent"),
meta: {
title: "文章详情",
},
},
],
},
{
path: "/message",
component: loadComponent("message/index"),
meta: {
title: "留言板",
},
},
{
path: "/myself",
component: loadComponent("myself/index"),
meta: {
title: "关于我们",
},
},
{
path: "*",
redirect: "/index",
},
],
});
router.beforeEach((to, from, next) => {
/* 路由发生变化修改页面title */
if (to.meta && to.meta.title) {
document.title = to.meta.title;
}
next();
});
export default router;
import Vue from "vue";
import Vuex from "vuex";
import label from "./modules/label";
import search from "./modules/search";
Vue.use(Vuex);
const store = new Vuex.Store({
state: {},
mutations: {},
actions: {},
modules: {
label,
search,
},
});
export default store;
import { apiGetLabelList } from "src/api/label";
export default {
namespaced: true,
state: {
labelList: null,
},
mutations: {
setLabelList(state, data) {
state.labelList = data;
},
},
actions: {
getLabelList(context) {
let params = {
pageindex: 1,
pagesize: 50,
};
return apiGetLabelList(params)
.then((res) => {
let { list } = res.data;
context.commit("setLabelList", list);
})
.catch((err) => {
console.log(err);
});
},
},
getters: {
labelList(state) {
return state.labelList;
},
},
};
export default {
namespaced: true,
state: {
keyword: "",
},
mutations: {
setKeyword(state, data) {
state.keyword = data;
},
},
actions: {},
getters: {
keyword(state) {
return state.keyword;
},
},
};
@import "./less/function.less";
@import "./less/animation.less";
@import "./less/markdown.less";
@import "./less/reset.less";
@import "./less/init.less";
@import "../../../../node_modules/highlight.js/styles/tomorrow-night-eighties.css";
@keyframes easeBarrageMove {
100% {left: -50%;}
}
@keyframes btnGroups {
0% {transform: scale(1.2, 0.8);}
1% {transform: scale(1.18, 0.82);}
2% {transform: scale(1.16, 0.84);}
3% {transform: scale(1.13, 0.87);}
4% {transform: scale(1.1, 0.9);}
5% {transform: scale(1.07, 0.93);}
6% {transform: scale(1.04, 0.96);}
7% {transform: scale(1.01, 0.99);}
8% {transform: scale(0.99, 1.01);}
9% {transform: scale(0.97, 1.03);}
10% {transform: scale(0.95, 1.05);}
11% {transform: scale(0.94, 1.06);}
12% {transform: scale(0.93, 1.07);}
13% {transform: scale(0.93, 1.07);}
14% {transform: scale(0.93, 1.07);}
15% {transform: scale(0.93, 1.07);}
16% {transform: scale(0.94, 1.06);}
17% {transform: scale(0.94, 1.06);}
18% {transform: scale(0.95, 1.05);}
19% {transform: scale(0.96, 1.04);}
20% {transform: scale(0.98, 1.02);}
21% {transform: scale(0.99, 1.01);}
22% {transform: scale(1, 1);}
23% {transform: scale(1, 1);}
24% {transform: scale(1.01, 0.99);}
25% {transform: scale(1.02, 0.98);}
26% {transform: scale(1.02, 0.98);}
27% {transform: scale(1.02, 0.98);}
28% {transform: scale(1.03, 0.97);}
29% {transform: scale(1.03, 0.97);}
30% {transform: scale(1.02, 0.98);}
31% {transform: scale(1.02, 0.98);}
32% {transform: scale(1.02, 0.98);}
33% {transform: scale(1.02, 0.98);}
34% {transform: scale(1.01, 0.99);}
35% {transform: scale(1.01, 0.99);}
36% {transform: scale(1.01, 0.99);}
37% {transform: scale(1, 1);}
38% {transform: scale(1, 1);}
39% {transform: scale(1, 1);}
40% {transform: scale(0.99, 1.01);}
41% {transform: scale(0.99, 1.01);}
42% {transform: scale(0.99, 1.01);}
43% {transform: scale(0.99, 1.01);}
44% {transform: scale(0.99, 1.01);}
45% {transform: scale(0.99, 1.01);}
46% {transform: scale(0.99, 1.01);}
47% {transform: scale(0.99, 1.01);}
48% {transform: scale(0.99, 1.01);}
49% {transform: scale(1, 1);}
}
\ No newline at end of file
.home-wrapper {
padding-top: 50px;
min-height: @min-body-height;
.home-body {
width: 1200px;
margin: 0 auto 20px;
display: flex;
}
}
.side-wrapper {
flex: 1;
margin-left: 24px;
}
.side-title {
padding: 0 10px;
line-height: 50px;
height: 50px;
font-size: 18px;
border-bottom: 1px solid #e5e5e5;
color: @mainColor;
font-weight: bold;
position: relative;
display: flex;
align-items: center;
svg {
margin-right: 6px;
}
&::after {
content: " ";
position: absolute;
height: 2px;
width: 10%;
left: 0;
bottom: -1px;
background: @mainColor;
transition: 2s ease all;
}
&:hover {
&::after {
width: 100%;
}
}
}
body {
background: @backgroundColor;
border-top: 1px solid transparent;
margin-top: -1px;
font-family: "Arial", "Microsoft YaHei", "黑体", "宋体", sans-serif;
}
button {
border: none;
background: none;
outline: none;
}
input,
textarea {
-webkit-appearance: none;
}
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
::-webkit-scrollbar {
width: 4px;
height: 4px;
}
::-webkit-scrollbar-thumb {
opacity: 0.8;
background: #ddd;
border-radius: 4px;
transition: all 0.5s;
}
/* nprogress styles */
/* Make clicks pass-through */
#nprogress {
pointer-events: none;
}
#nprogress .bar {
background: #dfa400;
position: fixed;
z-index: 1031;
top: 0;
left: 0;
width: 100%;
height: 2px;
}
/* Fancy blur effect */
#nprogress .peg {
display: block;
position: absolute;
right: 0px;
width: 100px;
height: 100%;
box-shadow: 0 0 10px #dfa400, 0 0 5px #dfa400;
opacity: 1;
transform: rotate(3deg) translate(0px, -4px);
}
/* Remove these to get rid of the spinner */
#nprogress .spinner {
display: block;
position: fixed;
z-index: 1031;
top: 15px;
right: 15px;
}
#nprogress .spinner-icon {
width: 18px;
height: 18px;
box-sizing: border-box;
border: solid 2px transparent;
border-top-color: #dfa400;
border-left-color: #dfa400;
border-radius: 50%;
animation: nprogress-spinner 400ms linear infinite;
}
.nprogress-custom-parent {
overflow: hidden;
position: relative;
}
.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
position: absolute;
}
@keyframes nprogress-spinner {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.fmt {
line-height: 1.6;
word-wrap: break-word;
color: @mainColor;
}
.fmt a {
color: #009a61;
text-decoration: none;
}
.fmt h1 {
font-size: 2.25em;
}
.fmt h2 {
font-size: 1.75em;
}
.fmt h3 {
font-size: 1.5em;
}
.fmt h4 {
font-size: 1.25em;
}
.fmt h5 {
font-size: 1em;
}
.fmt h6 {
font-size: 0.86em;
}
.fmt p {
margin-top: 0.86em;
line-height: 1.8em;
}
.fmt h1,
.fmt h2,
.fmt h3,
.fmt h4,
.fmt h5,
.fmt h6 {
margin-top: 1.2em;
}
.fmt h1 + .widget-codetool + pre,
.fmt h2 + .widget-codetool + pre,
.fmt h3 + .widget-codetool + pre {
margin-top: 1.2em !important;
}
.fmt h1,
.fmt h2 {
border-bottom: 1px solid #eee;
padding-bottom: 10px;
}
.fmt > h1:first-child,
.fmt h2:first-child,
.fmt h3:first-child,
.fmt h4:first-child,
.fmt p:first-child,
.fmt ul:first-child,
.fmt ol:first-child,
.fmt blockquote:first-child {
margin-top: 0;
}
.fmt ul,
.fmt ol {
margin-left: 2em;
margin-top: 0.86em;
padding-left: 0;
}
.fmt ul li,
.fmt ol li {
margin: 0.3em 0;
list-style: unset;
}
.fmt ul ul,
.fmt ul ol,
.fmt ol ul,
.fmt ol ol {
margin-top: 0;
margin-bottom: 0;
}
.fmt ul p,
.fmt ol p {
margin: 0;
}
.fmt p:last-child {
margin-bottom: 0;
}
.fmt p > p:empty,
.fmt div > p:empty,
.fmt p > div:empty,
.fmt div > div:empty,
.fmt div > br:only-child,
.fmt p + br,
.fmt img + br {
display: none;
}
.fmt img,
.fmt video,
.fmt audio {
position: static !important;
max-width: 100%;
}
.fmt img {
padding: 3px;
border: 1px solid #ddd;
}
.fmt img.emoji {
padding: 0;
border: none;
}
.fmt blockquote {
border-left: 2px solid #009a61;
background: @thinBgColor;
color: @thinColor;
font-size: 1em;
}
.fmt pre,
.fmt code {
font-size: 0.93em;
margin-top: 0.86em;
}
.fmt pre {
font-family: "Source Code Pro", Consolas, Menlo, Monaco, "Courier New",
monospace;
padding: 1em;
margin-top: 0.86em;
border: none;
overflow: auto;
line-height: 1.45;
max-height: 35em;
position: relative;
background: url("../../images/blueprint.png") rgba(233, 234, 237, 0.5);
background-size: 30px, 30px;
font-size: 12px;
-webkit-overflow-scrolling: touch;
border-radius: 5px;
}
.fmt pre code {
background: none;
font-size: 1em;
overflow-wrap: normal;
white-space: inherit;
}
.fmt hr {
margin: 1.5em auto;
border-top: 2px dotted #eee;
}
.fmt kbd {
margin: 0 4px;
padding: 3px 4px;
background: #eee;
color: @thinColor;
}
.fmt .x-scroll {
overflow-x: auto;
}
.fmt table {
width: 100%;
}
.fmt table th,
.fmt table td {
border: 1px solid #e6e6e6;
padding: 5px 8px;
word-break: normal;
}
.fmt table th {
background: #f3f3f3;
}
.fmt a:not(.btn) {
border-bottom: 1px solid rgba(0, 154, 97, 0.25);
padding-bottom: 1px;
}
.fmt a:not(.btn):hover {
border-bottom: 1px solid #009a61;
text-decoration: none;
}
/*
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
color: @mainColor;
background: #f8f8f8;
}
.hljs-comment,
.hljs-quote {
color: #998;
font-style: italic;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
color: @mainColor;
font-weight: bold;
}
.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
color: #008080;
}
.hljs-string,
.hljs-doctag {
color: #d14;
}
.hljs-title,
.hljs-section,
.hljs-selector-id {
color: #900;
font-weight: bold;
}
.hljs-subst {
font-weight: normal;
}
.hljs-type,
.hljs-class .hljs-title {
color: #458;
font-weight: bold;
}
.hljs-tag,
.hljs-name,
.hljs-attribute {
color: #000080;
font-weight: normal;
}
.hljs-regexp,
.hljs-link {
color: #009926;
}
.hljs-symbol,
.hljs-bullet {
color: #990073;
}
.hljs-built_in,
.hljs-builtin-name {
color: #0086b3;
}
.hljs-meta {
color: @assistColor;
font-weight: bold;
}
.hljs-deletion {
background: #fdd;
}
.hljs-addition {
background: #dfd;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}
/* normalize.css */
html {
line-height: 1.15; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
body {
margin: 0;
}
article,
aside,
footer,
header,
nav,
section {
display: block;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
figcaption,
figure,
main {
/* 1 */
display: block;
}
figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
b,
strong {
font-weight: inherit;
}
b,
strong {
font-weight: bolder;
}
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
dfn {
font-style: italic;
}
mark {
background-color: #ff0;
color: @mainColor;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
audio,
video {
display: inline-block;
}
audio:not([controls]) {
display: none;
height: 0;
}
img {
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
button,
input {
/* 1 */
overflow: visible;
}
button,
select {
/* 1 */
text-transform: none;
}
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
fieldset {
padding: 0.35em 0.75em 0.625em;
}
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
progress {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
textarea {
overflow: auto;
}
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
details, /* 1 */
menu {
display: block;
}
summary {
display: list-item;
}
canvas {
display: inline-block;
}
template {
display: none;
}
[hidden] {
display: none;
}
/* reset */
* {
box-sizing: border-box;
}
html,
body {
font: Oswald, "Open Sans", Helvetica, Arial, sans-serif;
}
/* 禁止长按链接与图片弹出菜单 */
a,
img {
-webkit-touch-callout: none;
}
/*ios android去除自带阴影的样式*/
a,
input {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
input[type="text"] {
-webkit-appearance: none;
}
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
dl,
dt,
dd,
ul,
ol,
li,
p,
blockquote,
pre,
hr,
figure,
table,
caption,
th,
td,
form,
fieldset,
legend,
input,
button,
textarea,
menu {
margin: 0;
padding: 0;
}
header,
footer,
section,
article,
aside,
nav,
hgroup,
address,
figure,
figcaption,
menu,
details {
display: block;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
caption,
th {
text-align: left;
font-weight: normal;
}
html,
body,
fieldset,
img,
iframe,
abbr {
border: 0;
}
i,
cite,
em,
var,
address,
dfn {
font-style: normal;
}
[hidefocus],
summary {
outline: 0;
}
li {
list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
small {
font-size: 100%;
}
sup,
sub {
font-size: 83%;
}
pre,
code,
kbd,
samp {
font-family: inherit;
}
q:before,
q:after {
content: none;
}
textarea {
overflow: auto;
resize: none;
}
label,
summary {
cursor: default;
}
a,
button {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
em,
strong,
b {
font-weight: bold;
}
del,
ins,
u,
s,
a,
a:hover {
text-decoration: none;
}
!function(l){var a,h,t,c,p,F='<svg><symbol id="icon-laborer" viewBox="0 0 1024 1024"><path d="M208 976v-33.39C208 810.83 344.11 704 512 704s304 106.83 304 238.61V976z" fill="#00B9FF" ></path><path d="M824 984H200v-41.39c0-66.24 32.71-128.4 92.1-175C350.92 721.43 429 696 512 696s161.08 25.43 219.9 71.59c59.39 46.62 92.1 108.78 92.1 175z m-608-16h592v-25.39C808 815.45 675.21 712 512 712S216 815.45 216 942.61z" fill="#222222" ></path><path d="M560 624h-96v90s0 54 48 54 48-54 48-54z" fill="#FFCEBF" ></path><path d="M512 776c-29.09 0-42.87-17.27-49.31-31.75A82.54 82.54 0 0 1 456 714v-98h112v98a82.54 82.54 0 0 1-6.69 30.25C554.87 758.73 541.09 776 512 776z m-40-144v82c0 1.86 0.69 46 40 46 16.69 0 28-7.28 34.69-22.25A67.2 67.2 0 0 0 552 714v-82z" fill="#222222" ></path><path d="M284.71 411.81m-58.14 0a58.14 58.14 0 1 0 116.28 0 58.14 58.14 0 1 0-116.28 0Z" fill="#FFCEBF" ></path><path d="M284.71 478a66.15 66.15 0 1 1 66.15-66.14A66.21 66.21 0 0 1 284.71 478z m0-116.29a50.15 50.15 0 1 0 50.15 50.15 50.21 50.21 0 0 0-50.15-50.2z" fill="#222222" ></path><path d="M739.29 411.81m-58.14 0a58.14 58.14 0 1 0 116.28 0 58.14 58.14 0 1 0-116.28 0Z" fill="#FFCEBF" ></path><path d="M739.29 478a66.15 66.15 0 1 1 66.14-66.14A66.22 66.22 0 0 1 739.29 478z m0-116.29a50.15 50.15 0 1 0 50.14 50.15 50.21 50.21 0 0 0-50.14-50.2z" fill="#222222" ></path><path d="M743.73 312.57l0.84 111.69C744.57 561.08 640.45 672 512 672S279.43 561.08 279.43 424.26l0.84-111.69S320 96 512 96s231.73 216.57 231.73 216.57z" fill="#FFCEBF" ></path><path d="M512 680c-64.35 0-124.83-26.67-170.29-75.09s-70.28-112.43-70.28-180.65l0.85-112.45 0.12-0.68c0.42-2.27 10.61-56.28 45-111.09 20.31-32.41 44.88-58.28 73-76.88C425.69 99.83 466.61 88 512 88s86.31 11.83 121.62 35.16c28.14 18.6 52.71 44.47 73 76.88 34.35 54.81 44.54 108.82 45 111.09l0.12 0.68 0.85 112.39c0 68.28-25 132.43-70.28 180.71S576.35 680 512 680zM288.27 313.38l-0.84 110.94C287.43 556.45 388.17 664 512 664s224.57-107.55 224.57-239.74l-0.84-110.88c-1.25-6.21-12-56.13-42.9-105.26C649.37 139 588.53 104 512 104s-137.37 35-180.83 104.12c-30.9 49.13-41.65 99.05-42.9 105.26z" fill="#222222" ></path><path d="M300.57 469.95a37 21.14 0 1 0 74 0 37 21.14 0 1 0-74 0Z" fill="#FFA096" ></path><path d="M649.43 469.95a37 21.14 0 1 0 74 0 37 21.14 0 1 0-74 0Z" fill="#FFA096" ></path><path d="M681.14 378.57h-16.58a31.7 31.7 0 0 0-51.4 0h-16.59a8 8 0 0 0 0 16h10.69c-0.07 0.85-0.12 1.71-0.12 2.57a31.72 31.72 0 1 0 63.43 0c0-0.86 0-1.72-0.11-2.57h10.68a8 8 0 0 0 0-16zM427.43 378.57h-16.59a31.7 31.7 0 0 0-51.4 0h-16.58a8 8 0 0 0 0 16h10.68c-0.07 0.85-0.11 1.71-0.11 2.57a31.72 31.72 0 1 0 63.43 0c0-0.86-0.05-1.72-0.12-2.57h10.69a8 8 0 0 0 0-16z" fill="#222222" ></path><path d="M427.43 576.86s28.19 10.57 84.57 10.57 84.57-10.57 84.57-10.57" fill="#FFCEBF" ></path><path d="M512 595.43c-57.17 0-86.17-10.63-87.38-11.08a8 8 0 0 1 5.6-15c0.27 0.1 27.87 10.07 81.78 10.07 54.3 0 81.49-10 81.76-10.06a8 8 0 0 1 5.62 15c-1.21 0.44-30.21 11.07-87.38 11.07z" fill="#222222" ></path><path d="M448 816l-48-96 48-16 64 64-64 48z" fill="#00B9FF" ></path><path d="M448 824a8.24 8.24 0 0 1-1.84-0.21 8 8 0 0 1-5.32-4.21l-48-96a8 8 0 0 1 4.63-11.17l48-16a8 8 0 0 1 8.19 1.93l64 64a8 8 0 0 1-0.86 12.06l-64 48a8 8 0 0 1-4.8 1.6z m-36.72-99.33l39.59 79.18 48.95-36.72-54-54z" fill="#222222" ></path><path d="M576 816l48-96-48-16-64 64 64 48z" fill="#00B9FF" ></path><path d="M576 824a8 8 0 0 1-4.8-1.6l-64-48a8 8 0 0 1-0.86-12.06l64-64a8 8 0 0 1 8.19-1.93l48 16a8 8 0 0 1 4.63 11.17l-48 96a8 8 0 0 1-5.32 4.21 8.24 8.24 0 0 1-1.84 0.21z m-51.82-56.87l49 36.72 39.59-79.18-34.56-11.52z" fill="#222222" ></path><path d="M720 976H304V752l64-32v192h288V720l64 32v224z" fill="#FFA041" ></path><path d="M720 984H304a8 8 0 0 1-8-8V752a8 8 0 0 1 4.42-7.16l64-32A8 8 0 0 1 376 720v184h272V720a8 8 0 0 1 11.58-7.16l64 32A8 8 0 0 1 728 752v224a8 8 0 0 1-8 8z m-408-16h400V756.94l-48-24V912a8 8 0 0 1-8 8H368a8 8 0 0 1-8-8V732.94l-48 24z" fill="#222222" ></path><path d="M753.55 307.44c0-65.12-484.3-65.12-484.3 0 0-133.73 108.42-242.14 242.15-242.14s242.15 108.41 242.15 242.14z" fill="#FFC841" ></path><path d="M761.55 307.44h-16c0-7.55-18.09-19.61-69.08-28.75-43.47-7.8-102.09-12.09-165.07-12.09s-121.6 4.29-165.06 12.09c-51 9.14-69.09 21.2-69.09 28.75h-16a250.15 250.15 0 0 1 500.3 0zM511.4 73.3c-120.92 0-220.73 92.13-232.9 209.89 13.54-8.19 35.13-14.9 65-20.25 44.37-8 104-12.34 167.89-12.34s123.53 4.4 167.9 12.34c29.88 5.35 51.47 12.06 65 20.25C732.13 165.43 632.32 73.3 511.4 73.3z" fill="#222222" ></path><path d="M442.22 256V117.19C442.22 79 462.8 48 511.4 48s69.19 31 69.19 69.19V256c0 29.37-138.37 29.37-138.37 0z" fill="#FFB441" ></path><path d="M511.4 286c-12.89 0-77.18-1.45-77.18-30V117.18c0-22.05 6.36-40.82 18.41-54.26C466.07 47.93 486.39 40 511.4 40s45.33 7.93 58.78 22.92c12 13.44 18.41 32.21 18.41 54.26V256c0 28.58-64.3 30-77.19 30z m0-230c-55.22 0-61.18 42.79-61.18 61.18V256c0 1.13 2.9 5.17 15.79 8.83 11.69 3.3 28.23 5.2 45.39 5.2s33.7-1.9 45.39-5.2c12.89-3.66 15.8-7.7 15.8-8.83V117.18c0-18.39-5.97-61.18-61.19-61.18zM355.73 264a8 8 0 0 1-8-8V128a8 8 0 0 1 16 0v128a8 8 0 0 1-8 8zM665.84 264a8 8 0 0 1-8-8V128a8 8 0 0 1 16 0v128a8 8 0 0 1-8 8z" fill="#222222" ></path><path d="M273.84 352c46.36-23.26 135.63-39 238.16-39s191.8 15.75 238.16 39c21.55-10.82 33.84-23.26 33.84-36.49 0-41.7-121.78-75.51-272-75.51s-272 33.81-272 75.51c0 13.23 12.29 25.67 33.84 36.49z" fill="#FFC841" ></path><path d="M750.16 361l-3.59-1.8C699.66 335.61 609.78 321 512 321s-187.66 14.62-234.57 38.16l-3.59 1.8-3.58-1.8C244.87 346.41 232 331.73 232 315.51 232 261.27 376.26 232 512 232s280 29.27 280 83.51c0 16.22-12.87 30.9-38.26 43.64zM512 305c97.65 0 188.17 14.53 238 38.06 16.78-9 26-18.73 26-27.54 0-15.78-27.59-32.86-73.81-45.69C651.5 255.75 584 248 512 248s-139.5 7.75-190.19 21.82C275.59 282.65 248 299.73 248 315.51c0 8.81 9.18 18.51 26 27.54C323.83 319.52 414.35 305 512 305z" fill="#222222" ></path><path d="M912 560v48l-24.91 40h-46.18L816 608v-48a80 80 0 0 0 16 137.33V928h64V697.33A80 80 0 0 0 912 560z" fill="#646464" ></path><path d="M896 936h-64a8 8 0 0 1-8-8V702.39a88 88 0 0 1-12.81-148.79A8 8 0 0 1 824 560v45.71L845.35 640h37.3L904 605.71V560a8 8 0 0 1 12.81-6.4A88 88 0 0 1 904 702.39V928a8 8 0 0 1-8 8z m-56-16h48V697.33a8 8 0 0 1 4.8-7.33A72.07 72.07 0 0 0 920 578.69V608a8 8 0 0 1-1.21 4.23l-24.9 40a8 8 0 0 1-6.8 3.77h-46.18a8 8 0 0 1-6.79-3.77l-24.91-40A8 8 0 0 1 808 608v-29.31A72.07 72.07 0 0 0 835.2 690a8 8 0 0 1 4.8 7.33z m72-312z" fill="#222222" ></path><path d="M800 784h160v48H800z" fill="#FFCEBF" ></path><path d="M968 840H792v-64h176z m-160-16h144v-32H808z" fill="#222222" ></path><path d="M800 832h160v48H800z" fill="#FFCEBF" ></path><path d="M968 888H792v-64h176z m-160-16h144v-32H808z" fill="#222222" ></path><path d="M800 880h160v48H800z" fill="#FFCEBF" ></path><path d="M968 936H792v-64h176z m-160-16h144v-32H808z" fill="#222222" ></path><path d="M800 928h160v48H800z" fill="#FFCEBF" ></path><path d="M968 984H792v-64h176z m-160-16h144v-32H808z" fill="#222222" ></path><path d="M864 784h96v192h-96" fill="#FFCEBF" ></path><path d="M968 984H864v-16h88V792h-88v-16h104v208z" fill="#222222" ></path><path d="M800 784v96h-48v-96z" fill="#FFCEBF" ></path><path d="M808 888h-64V776h64z m-48-16h32v-80h-32zM512 920a8 8 0 0 1-8-8V784a8 8 0 0 1 16 0v128a8 8 0 0 1-8 8z" fill="#222222" ></path></symbol><symbol id="icon-lakers" viewBox="0 0 1024 1024"><path d="M841.728 423.936V141.312l-161.28-43.008h-0.512c-13.312 36.352-83.456 64.512-167.936 64.512s-154.624-27.648-167.936-64l-163.328 43.52v281.6a199.68 199.68 0 0 1-29.184 103.936v422.912h720.384v-420.864a201.6256 201.6256 0 0 1-30.208-105.984z" fill="#FC9A0D" ></path><path d="M510.464 184.32c100.352 0 181.76-33.28 181.76-74.24a28.9792 28.9792 0 0 0-1.536-9.216l-10.24-2.56h-0.512c-13.312 36.352-83.456 64.512-167.936 64.512s-154.624-27.648-167.936-64l-14.336 3.584a39.5264 39.5264 0 0 0-1.024 7.68c0 40.96 81.408 74.24 181.76 74.24zM782.336 459.776V125.952l60.928 16.384v281.6a199.68 199.68 0 0 0 29.184 103.936v99.328a201.472 201.472 0 0 1-90.112-167.424z" fill="#FFFFFF" ></path><path d="M872.704 627.6608l-0.4096-0.256a201.7792 201.7792 0 0 1-90.2144-167.6288V125.5936h0.3072l61.1328 16.4352v281.6a199.168 199.168 0 0 0 29.1328 103.7824z m-90.112-501.4016V459.776a201.2672 201.2672 0 0 0 89.6 166.9632v-98.816a199.68 199.68 0 0 1-29.184-103.9872v-281.6z" ></path><path d="M827.904 138.24v315.904c3.072 25.088 15.872 82.432 44.544 110.592v37.888c-61.44-32.768-74.24-140.8-74.752-145.92V129.536z" fill="#2A1A5B" ></path><path d="M241.664 459.776V125.952l-60.928 16.384v281.6a199.68 199.68 0 0 1-29.184 103.936v99.328a200.2432 200.2432 0 0 0 90.112-167.424z" fill="#FFFFFF" ></path><path d="M151.296 627.6608v-99.84a199.2192 199.2192 0 0 0 29.184-103.8848v-281.6l61.44-16.4864V459.776a200.8576 200.8576 0 0 1-90.2144 167.6288z m0.512-99.7376v98.7648a200.3456 200.3456 0 0 0 89.6-166.912V126.3104l-60.416 16.2304v281.6a199.68 199.68 0 0 1-29.184 103.7824z" ></path><path d="M196.608 138.24v315.904c-3.072 25.088-15.872 82.432-44.544 110.592v37.888c61.44-32.768 74.24-140.8 74.752-145.92V129.536z" fill="#2A1A5B" ></path><path d="M512 285.696a196.352 196.352 0 0 0 195.584-180.224l-27.136-7.168h-0.512c-4.096 11.776-14.336 22.528-28.672 31.744a145.0496 145.0496 0 0 1-278.528 0c-14.336-9.216-24.576-19.968-28.672-31.744l-27.648 7.168A197.0688 197.0688 0 0 0 512 285.696z" fill="#FFFFFF" ></path><path d="M512 285.952a195.328 195.328 0 0 1-133.12-52.3776 197.5296 197.5296 0 0 1-62.72-128l27.904-7.2192c3.9424 11.3152 13.568 21.9648 28.5696 31.5904a144.7936 144.7936 0 0 0 278.016 0c15.0016-9.6768 24.6272-20.48 28.5696-31.5904h0.768l27.3408 7.2192A196.608 196.608 0 0 1 512 285.952zM316.672 105.6768a195.9936 195.9936 0 0 0 390.6048 0l-26.88-7.1168h-0.3072c-3.9936 11.3664-13.6192 21.9648-28.6208 31.6416a145.6128 145.6128 0 0 1-51.2 74.9056 145.2544 145.2544 0 0 1-176.0768 0 146.3296 146.3296 0 0 1-51.6608-74.9056c-14.9504-9.6256-24.576-20.48-28.6208-31.5904z" fill="#333333" ></path><path d="M512 270.336a180.8384 180.8384 0 0 0 180.224-168.96l-11.776-3.072h-0.512a47.5648 47.5648 0 0 1-9.728 15.872 160 160 0 0 1-316.416 0 47.2576 47.2576 0 0 1-9.216-15.36l-12.288 3.584A179.8656 179.8656 0 0 0 512 270.336z" fill="#2A1A5B" ></path><path d="M152.064 902.144h719.872v49.152H152.064z" fill="#C17111" ></path><path d="M501.1456 775.8848v40.96h-132.096v-34.3552q58.7264-96 69.7856-118.8352t11.0592-35.84a25.6 25.6 0 0 0-3.328-14.6432 11.5712 11.5712 0 0 0-10.24-4.8128 11.2128 11.2128 0 0 0-10.24 5.12 44.9536 44.9536 0 0 0-3.328 21.248v22.8864H369.0496v-8.7552a190.8224 190.8224 0 0 1 2.0992-31.8976 55.9616 55.9616 0 0 1 10.24-22.9376 51.2 51.2 0 0 1 21.248-17.1008 76.8 76.8 0 0 1 31.3344-5.7856q35.84 0 54.1696 17.7664a59.904 59.904 0 0 1 18.3296 44.9536 106.9568 106.9568 0 0 1-10.24 43.6736q-10.24 23.04-60.8768 97.792zM640.8704 576.3072v157.2352h17.1008v40.96h-17.1008v42.3424h-60.0576v-42.3424H509.4912v-40.96l51.8656-157.2352z m-60.0576 157.2352v-102.4l-26.5216 102.4z" fill="#FFFFFF" ></path><path d="M306.3296 465.3056H322.56a27.5456 27.5456 0 0 0 4.5056-0.3072 10.9056 10.9056 0 0 0 3.072-0.9728 7.936 7.936 0 0 0 2.304-1.792 13.9264 13.9264 0 0 0 1.9456-3.0208 29.5424 29.5424 0 0 0 1.792-4.7104q0.8192-2.8672 2.0992-8.5504h6.2976l-1.024 25.088h-56.32v-3.072a12.9024 12.9024 0 0 0 5.12-2.2016 6.0416 6.0416 0 0 0 1.7408-3.4816 42.3936 42.3936 0 0 0 0.4096-6.8608V401.3568a45.312 45.312 0 0 0-0.3072-6.2976 7.8848 7.8848 0 0 0-1.024-3.072 5.12 5.12 0 0 0-1.8944-1.7408 20.7872 20.7872 0 0 0-4.0448-1.4848v-3.072h26.3168v3.072a22.2208 22.2208 0 0 0-3.8912 1.3312 5.4272 5.4272 0 0 0-1.8944 1.5872 7.3728 7.3728 0 0 0-1.1264 3.072 40.96 40.96 0 0 0-0.3584 6.5536zM402.688 471.04v-3.072a20.48 20.48 0 0 0 4.6592-1.3824 5.12 5.12 0 0 0 2.304-2.0992 7.3728 7.3728 0 0 0 0.768-3.584 23.552 23.552 0 0 0-0.512-4.608q-0.512-2.4576-1.4336-5.5296l-2.304-8.0384h-29.184l-2.1504 6.144A60.7744 60.7744 0 0 0 372.736 455.68a21.0432 21.0432 0 0 0-0.512 4.3008 7.1168 7.1168 0 0 0 1.9456 5.9392 10.8032 10.8032 0 0 0 5.8368 2.304V471.04H353.28v-3.072a9.472 9.472 0 0 0 6.0928-4.0448 41.6768 41.6768 0 0 0 5.12-10.24l26.0608-69.1712h9.8304l21.248 69.6832a67.1744 67.1744 0 0 0 2.6624 7.424 11.5712 11.5712 0 0 0 2.7648 3.9936 10.24 10.24 0 0 0 4.4544 2.1504V471.04zM378.88 437.2992h26.112l-11.8784-40.2944zM461.6704 424.2944h1.8944a12.1344 12.1344 0 0 0 4.352-0.768 16.0768 16.0768 0 0 0 4.4032-2.816 87.552 87.552 0 0 0 7.424-7.68q5.9904-6.7072 8.192-9.6768a25.6 25.6 0 0 0 3.584-5.9904 9.1136 9.1136 0 0 0 0.768-3.4816 4.4032 4.4032 0 0 0-1.4336-3.6352 7.3216 7.3216 0 0 0-3.9424-1.3824v-3.072h27.2384v3.072a14.1824 14.1824 0 0 0-3.9424 1.536 20.9408 20.9408 0 0 0-3.9936 3.0208q-2.048 1.8944-5.9904 6.2976l-20.992 23.6544 22.7328 33.0752a59.5968 59.5968 0 0 0 5.6832 7.3216 16.0768 16.0768 0 0 0 3.9424 3.072 12.6464 12.6464 0 0 0 3.9936 1.28V471.04h-27.392v-3.072a7.5776 7.5776 0 0 0 3.3792-0.8704 2.304 2.304 0 0 0 1.0752-2.048 6.912 6.912 0 0 0-0.7168-2.7136 25.6 25.6 0 0 0-2.304-3.84l-14.5408-21.7088a43.8272 43.8272 0 0 0-3.7376-5.12 7.936 7.936 0 0 0-2.56-1.8432 9.472 9.472 0 0 0-3.6864-0.6144h-3.328v26.1632a46.7456 46.7456 0 0 0 0.3072 6.144 8.6016 8.6016 0 0 0 0.9216 3.072 5.12 5.12 0 0 0 1.9456 1.8944 17.4592 17.4592 0 0 0 4.1472 1.4848v3.072h-26.368v-3.072a12.9024 12.9024 0 0 0 5.12-2.2016 6.0928 6.0928 0 0 0 1.7408-3.4816 42.3936 42.3936 0 0 0 0.4096-6.8608V401.3568a44.3392 44.3392 0 0 0-0.3072-6.2976 7.8848 7.8848 0 0 0-1.024-3.072 5.12 5.12 0 0 0-1.8944-1.7408 20.992 20.992 0 0 0-4.0448-1.4848v-3.072h26.3168v3.072a17.152 17.152 0 0 0-3.9936 1.3824 5.7344 5.7344 0 0 0-1.9456 1.7408 7.68 7.68 0 0 0-1.0752 3.072 42.3936 42.3936 0 0 0-0.3584 6.3488zM584.8576 385.7408V404.48H578.56a52.2752 52.2752 0 0 0-1.9456-5.12 23.7568 23.7568 0 0 0-2.048-3.8912 10.24 10.24 0 0 0-2.3552-2.5088 7.5776 7.5776 0 0 0-3.0208-1.28 22.3744 22.3744 0 0 0-4.1984-0.3584h-19.7632v32.768h13.3632a9.728 9.728 0 0 0 4.3008-0.768 6.144 6.144 0 0 0 2.6112-2.6624 24.7296 24.7296 0 0 0 1.9456-5.888H573.44v24.0128h-5.888a22.6816 22.6816 0 0 0-1.9456-5.632 6.7072 6.7072 0 0 0-2.4064-3.072 9.3696 9.3696 0 0 0-4.4032-0.8192h-13.3632v35.84h19.456a18.9952 18.9952 0 0 0 5.12-0.512 7.7824 7.7824 0 0 0 3.2768-1.792 12.032 12.032 0 0 0 2.4576-3.328 28.672 28.672 0 0 0 1.792-4.3008q0.7168-2.2016 1.9456-6.4512h6.1952l-1.3824 22.3232h-57.856v-3.072a12.9024 12.9024 0 0 0 5.12-2.2016 6.0416 6.0416 0 0 0 1.7408-3.4816 42.3936 42.3936 0 0 0 0.4096-6.8608V401.3568a45.312 45.312 0 0 0-0.3072-6.2976 7.8848 7.8848 0 0 0-1.024-3.072 5.12 5.12 0 0 0-1.8944-1.7408 20.7872 20.7872 0 0 0-4.0448-1.4848v-3.072zM618.2912 433.9712v21.248a43.52 43.52 0 0 0 0.3584 6.5536 7.9872 7.9872 0 0 0 1.024 3.072 5.12 5.12 0 0 0 1.8944 1.6896 21.4016 21.4016 0 0 0 4.0448 1.4848V471.04H599.04v-3.072a12.9024 12.9024 0 0 0 5.12-2.2016 6.0416 6.0416 0 0 0 1.7408-3.4816 42.3936 42.3936 0 0 0 0.4096-6.8608V401.3568a45.312 45.312 0 0 0-0.3072-6.2976 7.8848 7.8848 0 0 0-1.024-3.072 5.12 5.12 0 0 0-1.8944-1.7408 20.7872 20.7872 0 0 0-4.0448-1.4848v-3.072h30.72a36.9664 36.9664 0 0 1 21.8624 5.12 19.0976 19.0976 0 0 1 7.2704 16.4864 22.784 22.784 0 0 1-4.7104 14.5408 30.72 30.72 0 0 1-14.1312 9.3696v0.512a18.3296 18.3296 0 0 1 6.5536 4.4544 44.9024 44.9024 0 0 1 6.4 9.2672l5.632 10.24a61.44 61.44 0 0 0 4.1984 6.8608 15.36 15.36 0 0 0 3.584 3.6352 11.9296 11.9296 0 0 0 4.8128 1.7408V471.04h-17.3056a74.0352 74.0352 0 0 1-4.5056-7.1168q-2.1504-3.7888-4.1984-7.7312l-5.4784-10.24a65.6896 65.6896 0 0 0-4.096-7.0144 12.544 12.544 0 0 0-2.9184-3.1744 8.4992 8.4992 0 0 0-2.8672-1.2288 23.04 23.04 0 0 0-4.608-0.3584z m0-42.496v37.12h7.0656a40.0896 40.0896 0 0 0 8.8064-0.768 16.2816 16.2816 0 0 0 6.2464-2.9696 15.0528 15.0528 0 0 0 4.608-6.0928 23.808 23.808 0 0 0 1.7408-9.5744 21.4016 21.4016 0 0 0-2.048-9.8816 13.5168 13.5168 0 0 0-6.144-5.9904 25.1392 25.1392 0 0 0-11.1104-2.048q-5.6832-0.0512-9.1648 0.2048zM687.872 451.584a26.2656 26.2656 0 0 0 3.3792 8.704 12.9024 12.9024 0 0 0 5.4784 4.7104 21.1456 21.1456 0 0 0 8.704 1.536 15.36 15.36 0 0 0 11.2128-3.7888 14.848 14.848 0 0 0 3.8912-11.1104 17.2544 17.2544 0 0 0-1.6384-7.8848 17.9712 17.9712 0 0 0-5.12-5.9904 72.4992 72.4992 0 0 0-11.264-6.5536 61.8496 61.8496 0 0 1-11.5712-7.1168 23.9616 23.9616 0 0 1-6.3488-7.5264 19.0976 19.0976 0 0 1-2.0992-8.8576 22.1696 22.1696 0 0 1 3.2768-12.1344 21.248 21.248 0 0 1 9.6256-7.9872 35.5328 35.5328 0 0 1 14.5408-2.816 73.5232 73.5232 0 0 1 20.48 2.7648V404.48h-6.1952a26.2656 26.2656 0 0 0-3.6352-8.5504 11.9808 11.9808 0 0 0-5.12-4.3008 20.0704 20.0704 0 0 0-7.6288-1.2288 17.0496 17.0496 0 0 0-7.2704 1.4848 11.6736 11.6736 0 0 0-5.12 4.5056 13.4656 13.4656 0 0 0-1.8944 7.2192 16.0768 16.0768 0 0 0 1.5872 7.4752 17.664 17.664 0 0 0 5.12 5.6832 59.5456 59.5456 0 0 0 10.24 5.888 76.3392 76.3392 0 0 1 12.0832 7.424 26.1632 26.1632 0 0 1 6.8608 7.8336 20.48 20.48 0 0 1 2.4576 10.24 26.7264 26.7264 0 0 1-2.048 11.1104 19.2512 19.2512 0 0 1-5.7344 7.3728 23.296 23.296 0 0 1-8.7552 4.1472 46.08 46.08 0 0 1-11.1616 1.28 92.16 92.16 0 0 1-22.6304-3.328V451.584z" fill="#2A1A5B" ></path><path d="M872.448 950.528v-420.864a201.6256 201.6256 0 0 1-30.208-105.984v-282.624l-161.28-43.008h-0.512c-13.312 36.352-83.456 64.512-167.936 64.512h-6.144v787.968z" opacity=".15" ></path></symbol><symbol id="icon-like02" viewBox="0 0 1024 1024"><path d="M604.2 184.56666667c16.2 8.4 30.4 22.7 42.8 41.5 20.1 31.1 32.4 75.8 35 126.3 1.9 40.8-2.6 82.9-13 119.8h154.2c36.3 0 67.4 9.1 90.7 25.9 24 17.5 37.6 42.8 38.2 70.6v0.6c0 21.4-8.4 47.3-20.7 64.1 13.6 15.5 20.7 36.3 20.7 61.5 0 29.8-20.7 57.7-41.5 72.5 5.2 11.7 7.1 25.3 7.1 34.3 0 33.7-20.1 60.2-55.1 74.5 3.2 7.8 4.5 16.2 4.5 26.6 0 31.7-13 57.7-37.6 74.5-24 16.8-58.3 25.3-101.7 25.3h-246c-27.2 0-57.7-5.8-80.3-14.9-9.1-3.9-17.5-7.8-23.3-11-1.3-0.6-3.2-1.3-4.5-1.9-1.3 0.6-1.9 1.9-3.2 2.6-1.9 1.3-3.9 3.2-5.8 4.5-14.3 10.4-29.8 20.1-48.6 20.7h-66.7c-28.5 0-51.8-9.1-68-26.6-14.9-16.2-24-39.5-25.9-68.7l-30.4-324.5v-1.3c0-30.4 9.1-57.6 25.9-77.7 17.5-20.7 42.1-31.7 69.3-31.7H338c16.2 0 42.8-5.2 77.1-30.4 24-18.1 38.9-36.3 42.1-42.1 11-26.6 21.4-55.7 21.4-125 0-8.4 0-34.3 11-57 9.1-20.1 29.8-43.4 72.6-43.4 14.8 0 28.4 3.9 42 10.4z" fill="#FF9D00" ></path><path d="M616.7 122.86666667a12.2 2.3 90 1 0 4.6 0 12.2 2.3 90 1 0-4.6 0Z" fill="#F07FFD" ></path><path d="M627.571704 121.32267867a12.2 2.3 60 1 0 3.983717-2.3 12.2 2.3 60 1 0-3.983717 2.3Z" fill="#F07FFD" ></path><path d="M636.311797 114.58635567a12.2 2.3 30 1 0 2.3-3.983717 12.2 2.3 30 1 0-2.3 3.983717Z" fill="#F07FFD" ></path><path d="M628.3 102.06666667a12.2 2.3 0 1 0 24.4 0 12.2 2.3 0 1 0-24.4 0Z" fill="#F07FFD" ></path><path d="M627.328131 97.54693467a2.3 12.2 60 1 0 21.13102-12.2 2.3 12.2 60 1 0-21.13102 12.2Z" fill="#F07FFD" ></path><path d="M624.189866 94.11262367a2.3 12.2 30 1 0 12.2-21.131019 2.3 12.2 30 1 0-12.2 21.131019Z" fill="#F07FFD" ></path><path d="M617.4 80.56666667a12.2 2.3 90 1 0 4.6 0 12.2 2.3 90 1 0-4.6 0Z" fill="#F07FFD" ></path><path d="M607.088802 84.31648967a12.2 2.3 60 1 0 3.983717-2.3 12.2 2.3 60 1 0-3.983717 2.3Z" fill="#F07FFD" ></path><path d="M600.042483 92.79750567a12.2 2.3 30 1 0 2.3-3.983717 12.2 2.3 30 1 0-2.3 3.983717Z" fill="#F07FFD" ></path><path d="M586 101.26666667a12.2 2.3 0 1 0 24.4 0 12.2 2.3 0 1 0-24.4 0Z" fill="#F07FFD" ></path><path d="M590.235205 118.07933667a2.3 12.2 60 1 0 21.13102-12.2 2.3 12.2 60 1 0-21.13102 12.2Z" fill="#F07FFD" ></path><path d="M602.351017 130.46853967a2.3 12.2 30 1 0 12.2-21.131019 2.3 12.2 30 1 0-12.2 21.131019Z" fill="#F07FFD" ></path><path d="M367.4 166.26666667m-14.8 0a14.8 14.8 0 1 0 29.6 0 14.8 14.8 0 1 0-29.6 0Z" fill="#2C65AF" ></path><path d="M737.5 143.46666667c2.3 0 4.2 1.9 4.2 4.2v45.5c0 2.3-1.9 4.2-4.2 4.2s-4.2-1.9-4.2-4.2V147.66666667c0-2.4 1.9-4.2 4.2-4.2z" fill="#EF8218" ></path><path d="M714.7 166.16666667h45.5c2.3 0 4.2 1.9 4.2 4.2 0 2.3-1.9 4.2-4.2 4.2h-45.5c-2.3 0-4.2-1.9-4.2-4.2 0.1-2.4 1.9-4.2 4.2-4.2z" fill="#EF8218" ></path><path d="M270.2 201.26666667c5.9-3 8.8-9 6.6-13.3l-43.4-84.1c-2.2-4.3-8.8-5.3-14.7-2.3-5.9 3-8.8 9-6.6 13.3l43.4 84.1c2.2 4.3 8.8 5.3 14.7 2.3z" fill="#7CCBE2" ></path><path d="M294.3 125.66666667c-3-5.9-9-8.8-13.3-6.6l-84.1 43.4c-4.3 2.2-5.3 8.8-2.3 14.7s9 8.8 13.3 6.6l84.1-43.4c4.3-2.2 5.3-8.8 2.3-14.7z" fill="#7CCBE2" ></path><path d="M442.8-13.13333333c20.8 0 37.7 16.8 37.7 37.4S463.6 61.66666667 442.8 61.66666667c-20.8 0-37.7-16.8-37.7-37.4S422-13.13333333 442.8-13.13333333z m0 64.8c15.3 0 27.8-12.3 27.8-27.5S458.1-3.33333333 442.8-3.33333333 415 8.96666667 415 24.16666667 427.5 51.66666667 442.8 51.66666667z" fill="#E62A52" ></path><path d="M674 984.76666667h-81.3c-8.3 0-15-6.7-15-15s6.7-15 15-15H674c40.5 0 71.8-7.6 93.1-22.5l0.2-0.1c20.3-13.9 31-35.4 31-62.1 0-8.8-1-15.2-3.4-20.8l-5.8-14 14-5.7c29.5-12 45.7-33.5 45.7-60.6 0-7-1.5-18.6-5.8-28.2l-5-11.2 9.9-7.1c17.5-12.6 35.2-36.1 35.2-60.4 0-21.4-5.7-38.8-17-51.7l-7.9-9 7.1-9.7c10.5-14.4 17.8-37.1 17.8-55.3v-0.5c-0.6-23.2-12-44-32.1-58.7-20.8-15.1-49.2-23-81.8-23h-174l5.3-19.1c9.9-35.1 14.3-76 12.4-115.1-2.5-47.9-14-90.1-32.6-118.9-11.1-17-23.5-29.2-36.8-36.2-12.7-6-23.9-8.8-35.4-8.8-35.8 0-51.8 18.8-58.9 34.6l-0.2 0.4c-9.5 19.6-9.5 42.8-9.5 50.5 0 70.6-10.7 102.1-22.5 130.8l-0.3 0.8-0.4 0.7c-4.4 7.9-20.8 27.6-46.2 46.8l-0.2 0.1c-37.5 27.6-67.4 33.4-86 33.4H166.2c-22.9 0-43.5 9.4-57.8 26.4C93.8 497.96666667 86 521.56666667 86 548.66666667v0.6l3.5 37.7c0.8 8.2-5.3 15.6-13.5 16.3-8.2 0.8-15.6-5.3-16.3-13.5L56 550.66666667v-2c0-34.2 10.2-64.4 29.4-87.4 20.2-23.9 48.9-37.1 80.8-37.1h117.9c14 0 37.2-4.8 68.1-27.5 21.4-16.2 34.6-32.1 37.6-36.8 10.9-26.4 19.8-53.9 19.8-118.3 0-9.3 0-37.6 12.4-63.4 6.5-14.2 16.3-26.3 28.5-35.1 15.7-11.3 35.1-17 57.6-17 16 0 31.8 3.9 48.6 11.8l0.5 0.2c18 9.4 34.3 25 48.4 46.5 21.4 33.5 34.7 81 37.4 134.1 1.7 35.4-1.4 72.2-8.7 105.6h135c39 0 73.4 9.9 99.5 28.8 27.9 20.4 43.7 49.6 44.4 82.4v1c0 20.6-6.8 44.7-17.4 63.4 11.6 17.1 17.4 38 17.4 62.3 0 32.2-19.3 60.3-38.7 77.5 4 13.5 4.4 25.4 4.4 29.4 0 35.3-18.8 64.9-52.1 82.6 1.1 5.6 1.6 11.7 1.6 18.4 0 36.5-15.6 67.4-44 86.8-26.6 18.5-63.7 27.9-110.4 27.9z" fill="" ></path><path d="M91.7 786.76666667c-7.7 0-14.2-5.8-14.9-13.6l-12-128.4c-0.8-8.2 5.3-15.6 13.5-16.3 8.3-0.8 15.6 5.3 16.3 13.5l12 128.4c0.8 8.2-5.3 15.6-13.5 16.3-0.4 0.1-0.9 0.1-1.4 0.1z" fill="" ></path><path d="M502.1 984.76666667h-74.2c-28.8 0-60.9-6-85.9-16l-0.3-0.1c-8-3.4-14.7-6.5-19.9-9.2-0.7 0.6-1.6 1.2-2.5 1.8-16.2 11.7-34.2 22.7-56.7 23.4h-67.2c-32.7 0-60-10.8-79-31.4-17.4-18.9-27.7-45.7-29.9-77.7L82.7 835.66666667c-0.8-8.2 5.3-15.6 13.5-16.3 8.2-0.8 15.6 5.3 16.3 13.5l3.8 40.7c1.7 25.1 9.3 45.7 22 59.5 13.3 14.4 32.5 21.7 57 21.7h66.4c13.6-0.5 25.8-7.5 40-17.9l0.5-0.4c0.3-0.2 1.1-0.8 1.6-1.3 1.1-0.9 2.4-2 3.9-3 1-1 2.7-2.5 5.1-3.7l6.7-3.4 6.7 3.4c0.3 0.1 0.7 0.3 1.1 0.5 1 0.4 2.2 0.9 3.4 1.5l0.6 0.3c4.8 2.7 12.3 6.2 21.8 10.3 21.3 8.5 49.9 13.8 74.6 13.8h74.2c8.3 0 15 6.7 15 15s-6.5 14.9-14.8 14.9z" fill="" ></path><path d="M320.7 948.66666667c-7.9 0-14.5-6.2-15-14.2l-26.5-495c-0.4-8.3 5.9-15.3 14.2-15.8 8.3-0.4 15.3 5.9 15.8 14.2l26.5 495c0.4 8.3-5.9 15.3-14.2 15.8h-0.8z" fill="" ></path><path d="M188.4 607.36666667c-7.9 0-14.5-6.2-15-14.2l-2.8-49.5c-0.5-8.3 5.9-15.3 14.1-15.8 8.3-0.5 15.3 5.9 15.8 14.1l2.8 49.5c0.5 8.3-5.9 15.3-14.1 15.8-0.3 0.1-0.5 0.1-0.8 0.1zM200.2 820.96666667c-7.9 0-14.5-6.2-15-14.2l-8.1-145.7c-0.5-8.3 5.9-15.3 14.1-15.8 8.3-0.5 15.3 5.9 15.8 14.1l8.1 145.7c0.5 8.3-5.9 15.3-14.1 15.8-0.2 0-0.5 0.1-0.8 0.1z" fill="#FFFFFF" ></path></symbol><symbol id="icon-date02" viewBox="0 0 1024 1024"><path d="M698.368 0m60.643556 0l0.113777 0q60.643556 0 60.643556 60.643556l0 64.512q0 60.643556-60.643556 60.643555l-0.113777 0q-60.643556 0-60.643556-60.643555l0-64.512q0-60.643556 60.643556-60.643556Z" fill="#3A77D9" ></path><path d="M204.344889 0m60.643555 0l0.113778 0q60.643556 0 60.643556 60.643556l0 64.512q0 60.643556-60.643556 60.643555l-0.113778 0q-60.643556 0-60.643555-60.643555l0-64.512q0-60.643556 60.643555-60.643556Z" fill="#3A77D9" ></path><path d="M885.76 56.888889h-35.726222v84.423111a91.022222 91.022222 0 0 1-91.022222 91.022222 91.022222 91.022222 0 0 1-91.022223-91.022222V56.888889H356.010667v84.423111a91.022222 91.022222 0 0 1-182.044445 0V56.888889H138.24A136.533333 136.533333 0 0 0 1.706667 193.422222v694.044445a136.533333 136.533333 0 0 0 136.533333 136.533333h747.52a136.533333 136.533333 0 0 0 136.533333-136.533333V193.422222a136.533333 136.533333 0 0 0-136.533333-136.533333z m98.986667 838.200889a86.471111 86.471111 0 0 1-86.243556 86.243555h-773.688889a86.471111 86.471111 0 0 1-85.560889-86.243555V380.131556a86.471111 86.471111 0 0 1 86.243556-86.243556h773.688889a86.471111 86.471111 0 0 1 86.243555 86.243556z" fill="#3A77D9" ></path><path d="M161.905778 392.305778h115.256889v115.256889H161.905778zM454.428444 392.305778h115.256889v115.256889H454.428444zM746.837333 392.305778h115.256889v115.256889H746.837333zM161.905778 576.512h115.256889V691.768889H161.905778zM454.428444 576.512h115.256889V691.768889H454.428444zM746.837333 576.512h115.256889V691.768889H746.837333zM161.905778 760.718222h115.256889v115.256889H161.905778zM454.428444 760.718222h115.256889v115.256889H454.428444zM746.837333 760.718222h115.256889v115.256889H746.837333z" fill="#3A77D9" ></path></symbol><symbol id="icon-reply02" viewBox="0 0 1024 1024"><path d="M170.666667 136.533333m136.533333 0l512 0q136.533333 0 136.533333 136.533334l0 307.2q0 136.533333-136.533333 136.533333l-512 0q-136.533333 0-136.533333-136.533333l0-307.2q0-136.533333 136.533333-136.533334Z" fill="#FC7300" ></path><path d="M170.666667 170.666667m136.533333 0l512 0q136.533333 0 136.533333 136.533333l0 307.2q0 136.533333-136.533333 136.533333l-512 0q-136.533333 0-136.533333-136.533333l0-307.2q0-136.533333 136.533333-136.533333Z" fill="#FA8511" ></path><path d="M170.666667 273.066667h512a136.533333 136.533333 0 0 1 136.533333 136.533333v307.2a136.533333 136.533333 0 0 1-136.533333 136.533333h-188.757334l-67.242666 67.4816L359.1168 853.333333H170.666667a136.533333 136.533333 0 0 1-136.533334-136.533333v-307.2a136.533333 136.533333 0 0 1 136.533334-136.533333z" fill="#FBC476" ></path><path d="M170.666667 307.2h512a136.533333 136.533333 0 0 1 136.533333 136.533333v307.2a136.533333 136.533333 0 0 1-136.533333 136.533334h-188.757334l-67.242666 67.4816L359.1168 887.466667H170.666667a136.533333 136.533333 0 0 1-136.533334-136.533334v-307.2a136.533333 136.533333 0 0 1 136.533334-136.533333z" fill="#FAB85F" ></path><path d="M204.8 477.866667m34.133333 0l375.466667 0q34.133333 0 34.133333 34.133333l0 0q0 34.133333-34.133333 34.133333l-375.466667 0q-34.133333 0-34.133333-34.133333l0 0q0-34.133333 34.133333-34.133333Z" fill="#FFFFFF" ></path><path d="M204.8 648.533333m34.133333 0l273.066667 0q34.133333 0 34.133333 34.133334l0 0q0 34.133333-34.133333 34.133333l-273.066667 0q-34.133333 0-34.133333-34.133333l0 0q0-34.133333 34.133333-34.133334Z" fill="#FFFFFF" ></path></symbol><symbol id="icon-browse02" viewBox="0 0 1024 1024"><path d="M414.5 75.1h196.1C579 68 546.2 64.3 512.5 64.3c-33.7 0.1-66.5 3.8-98 10.8z" fill="#00D995" ></path><path d="M363.4 89.8l298.3 0.1c-16.6-5.9-33.6-10.8-51.1-14.7H414.5c-17.4 3.8-34.5 8.7-51.1 14.6z" fill="#01D996" ></path><path d="M327.1 104.4l370.9 0.1c-11.8-5.4-24-10.3-36.3-14.7l-298.3-0.1c-12.3 4.4-24.5 9.3-36.3 14.7z" fill="#01D997" ></path><path d="M297.8 119.1l429.4 0.1c-9.5-5.2-19.3-10.1-29.3-14.7l-370.9-0.1c-9.9 4.6-19.6 9.4-29.2 14.7z" fill="#01D898" ></path><path d="M273 133.7l479.1 0.1c-8.1-5.1-16.4-10-24.8-14.7l-429.4-0.1c-8.5 4.7-16.8 9.6-24.9 14.7z" fill="#01D899" ></path><path d="M251.3 148.4l522.5 0.1c-7.1-5.1-14.3-10-21.7-14.7l-479.1-0.1c-7.4 4.7-14.6 9.6-21.7 14.7z" fill="#01D89A" ></path><path d="M232 163l561 0.1c-6.3-5.1-12.7-9.9-19.3-14.7l-522.5-0.1c-6.4 4.8-12.9 9.7-19.2 14.7z" fill="#01D79B" ></path><path d="M214.7 177.7l595.6 0.1c-5.6-5-11.4-9.9-17.3-14.7l-561-0.1c-5.8 4.8-11.6 9.6-17.3 14.7z" fill="#01D79C" ></path><path d="M199.1 192.3l627 0.1c-5.1-5-10.3-9.9-15.7-14.7l-595.6-0.1c-5.4 4.8-10.6 9.7-15.7 14.7z" fill="#02D79D" ></path><path d="M184.8 207l655.5 0.1c-4.7-5-9.4-9.9-14.3-14.7l-627-0.1c-4.8 4.8-9.6 9.7-14.2 14.7z" fill="#02D79E" ></path><path d="M171.7 221.6l681.6 0.1c-4.2-5-8.6-9.9-13-14.7H184.8c-4.5 4.8-8.8 9.6-13.1 14.6z" fill="#02D69F" ></path><path d="M159.7 236.3l705.6 0.1c-3.9-5-7.9-9.9-12-14.7l-681.6-0.1c-4.1 4.8-8.1 9.7-12 14.7z" fill="#02D6A0" ></path><path d="M148.7 250.9l727.6 0.1c-3.6-5-7.2-9.9-11-14.7l-705.6-0.1c-3.7 4.9-7.4 9.8-11 14.7z" fill="#02D6A1" ></path><path d="M138.6 265.6l747.8 0.1c-3.3-5-6.7-9.8-10.1-14.7l-727.6-0.1c-3.4 4.8-6.8 9.7-10.1 14.7z" fill="#02D5A2" ></path><path d="M129.3 280.2l766.4 0.2c-3-5-6.1-9.8-9.3-14.7l-747.8-0.1c-3.2 4.8-6.3 9.7-9.3 14.6z" fill="#02D5A3" ></path><path d="M120.8 294.9l783.4 0.2c-2.8-4.9-5.6-9.8-8.5-14.7l-766.4-0.2c-2.9 4.9-5.7 9.7-8.5 14.7z" fill="#02D5A4" ></path><path d="M113 309.5l799 0.2c-2.5-4.9-5.1-9.8-7.8-14.7l-783.4-0.2c-2.7 4.9-5.3 9.8-7.8 14.7z" fill="#03D4A5" ></path><path d="M105.9 324.2l813.2 0.2c-2.3-4.9-4.7-9.8-7.1-14.7l-799-0.2c-2.4 4.9-4.8 9.8-7.1 14.7z" fill="#03D4A6" ></path><path d="M99.4 338.8l826.2 0.2c-2.1-4.9-4.2-9.8-6.5-14.7l-813.2-0.2c-2.2 4.9-4.4 9.8-6.5 14.7z" fill="#03D4A7" ></path><path d="M93.6 353.5l837.9 0.2c-1.9-4.9-3.8-9.8-5.8-14.7l-826.2-0.2c-2.1 4.9-4.1 9.8-5.9 14.7z" fill="#03D4A8" ></path><path d="M88.3 368.2l848.4 0.2c-1.7-4.9-3.4-9.8-5.3-14.7l-837.9-0.2c-1.8 4.8-3.5 9.7-5.2 14.7z" fill="#03D3A9" ></path><path d="M83.6 382.8l857.8 0.2c-1.5-4.9-3-9.8-4.7-14.7l-848.4-0.2c-1.6 4.9-3.2 9.8-4.7 14.7z" fill="#03D3AA" ></path><path d="M79.5 397.5l866 0.2c-1.3-4.9-2.7-9.8-4.1-14.7l-857.8-0.2c-1.4 4.9-2.8 9.7-4.1 14.7z" fill="#03D3AB" ></path><path d="M75.9 412.1l873.2 0.2c-1.1-4.9-2.3-9.8-3.6-14.7l-866-0.2c-1.3 4.9-2.5 9.8-3.6 14.7z" fill="#04D2AC" ></path><path d="M72.8 426.8l879.4 0.2c-1-4.9-2-9.8-3.1-14.7l-873.2-0.2c-1.1 4.9-2.2 9.8-3.1 14.7z" fill="#04D2AD" ></path><path d="M70.2 441.4l884.6 0.2c-0.8-4.9-1.6-9.8-2.6-14.7l-879.4-0.2c-1 4.9-1.8 9.8-2.6 14.7z" fill="#04D2AE" ></path><path d="M68.1 456.1l888.7 0.2c-0.6-4.9-1.3-9.8-2.1-14.7l-884.6-0.2c-0.7 4.9-1.4 9.8-2 14.7z" fill="#04D1AF" ></path><path d="M66.5 470.7l891.9 0.2c-0.5-4.9-1-9.8-1.6-14.7L68.1 456c-0.6 4.9-1.1 9.8-1.6 14.7z" fill="#04D1B0" ></path><path d="M65.4 485.4l894.1 0.2c-0.3-4.9-0.7-9.8-1.1-14.6l-891.9-0.3c-0.4 4.9-0.8 9.8-1.1 14.7z" fill="#04D1B1" ></path><path d="M64.8 500l895.3 0.2c-0.1-4.9-0.3-9.8-0.6-14.6l-894.1-0.2c-0.3 4.9-0.5 9.7-0.6 14.6z" fill="#04D1B2" ></path><path d="M64.8 500c-0.1 4-0.2 8.1-0.2 12.2v2.5l895.6 0.2v-2.7c0-4-0.1-8-0.2-12" fill="#05D0B3" ></path><path d="M65 529.4l895 0.2c0.2-4.9 0.3-9.8 0.3-14.7l-895.6-0.2c0 4.9 0.1 9.8 0.3 14.7z" fill="#05D0B4" ></path><path d="M65.8 544l893.4 0.2c0.3-4.9 0.6-9.8 0.8-14.7l-895-0.2c0.1 5 0.4 9.8 0.8 14.7z" fill="#05D0B5" ></path><path d="M67 558.7l890.9 0.2c0.5-4.9 0.9-9.8 1.3-14.7L65.8 544c0.3 4.9 0.7 9.8 1.2 14.7z" fill="#05CFB6" ></path><path d="M68.8 573.3l887.4 0.2c0.7-4.9 1.2-9.8 1.8-14.7l-890.9-0.2c0.4 5 1 9.9 1.7 14.7z" fill="#05CFB7" ></path><path d="M71 588l882.9 0.2c0.8-4.9 1.6-9.7 2.3-14.7l-887.4-0.2c0.6 4.9 1.4 9.8 2.2 14.7z" fill="#05CFB8" ></path><path d="M73.8 602.6l877.4 0.2c1-4.9 1.9-9.7 2.8-14.7L71 588c0.9 4.9 1.8 9.8 2.8 14.6z" fill="#05CEB9" ></path><path d="M77 617.3l870.8 0.2c1.2-4.8 2.3-9.7 3.3-14.7l-877.4-0.2 3.3 14.7z" fill="#06CEBA" ></path><path d="M80.8 631.9l863.2 0.2c1.3-4.8 2.6-9.7 3.8-14.7L77 617.2c1.2 5 2.5 9.9 3.8 14.7z" fill="#06CEBB" ></path><path d="M85.1 646.6l854.6 0.2c1.5-4.8 3-9.7 4.3-14.7l-863.2-0.2c1.4 5 2.8 9.8 4.3 14.7z" fill="#06CEBD" ></path><path d="M90 661.2l844.8 0.2c1.7-4.8 3.3-9.7 4.9-14.7l-854.6-0.2c1.6 5 3.2 9.9 4.9 14.7z" fill="#06CDBE" ></path><path d="M95.5 675.9l833.9 0.2c1.9-4.8 3.7-9.7 5.5-14.7l-844.8-0.2c1.7 5 3.5 9.9 5.4 14.7z" fill="#06CDBF" ></path><path d="M101.6 690.6l821.8 0.2c2.1-4.8 4.1-9.7 6.1-14.7l-834-0.2c1.9 4.9 4 9.8 6.1 14.7z" fill="#06CDC0" ></path><path d="M108.2 705.2l808.4 0.2c2.3-4.8 4.5-9.7 6.7-14.7l-821.8-0.2c2.2 5 4.4 9.9 6.7 14.7z" fill="#06CCC1" ></path><path d="M115.6 719.9l793.7 0.2c2.5-4.8 5-9.7 7.3-14.7l-808.4-0.2c2.4 5 4.9 9.8 7.4 14.7z" fill="#07CCC2" ></path><path d="M123.6 734.5l777.6 0.2c2.8-4.8 5.5-9.7 8-14.7l-793.7-0.2c2.7 5 5.4 9.9 8.1 14.7z" fill="#07CCC3" ></path><path d="M132.4 749.2l760.1 0.2c3-4.8 5.9-9.7 8.8-14.7l-777.6-0.2c2.8 5 5.7 9.9 8.7 14.7z" fill="#07CBC4" ></path><path d="M142 763.8l740.9 0.2c3.3-4.8 6.5-9.7 9.6-14.7l-760.1-0.2c3.1 5 6.3 9.9 9.6 14.7z" fill="#07CBC5" ></path><path d="M152.4 778.5l720.1 0.2c3.6-4.8 7-9.7 10.4-14.7l-740.9-0.2c3.3 5 6.8 9.9 10.4 14.7z" fill="#07CBC6" ></path><path d="M163.7 793.2l697.4 0.1c3.9-4.8 7.7-9.7 11.3-14.7l-720.1-0.2c3.7 5.1 7.5 10 11.4 14.8z" fill="#07CBC7" ></path><path d="M176 807.8l672.7 0.1c4.2-4.8 8.3-9.7 12.4-14.7l-697.4-0.1c4 5 8.1 9.9 12.3 14.7z" fill="#07CAC8" ></path><path d="M189.5 822.5l645.8 0.1c4.6-4.8 9.1-9.7 13.5-14.7l-672.7-0.1c4.3 5 8.8 9.9 13.4 14.7z" fill="#08CAC9" ></path><path d="M204.3 837.1l616.3 0.1c5-4.8 10-9.7 14.8-14.7H189.5c4.8 5 9.7 9.9 14.8 14.6z" fill="#08CACA" ></path><path d="M220.5 851.8l583.8 0.1c5.5-4.8 10.9-9.6 16.2-14.7l-616.3-0.1c5.3 5 10.8 9.9 16.3 14.7z" fill="#08C9CB" ></path><path d="M238.4 866.4l547.9 0.1c6.1-4.7 12.1-9.6 18-14.7H220.5c5.8 5 11.8 9.9 17.9 14.6z" fill="#08C9CC" ></path><path d="M248.8 874.2l527.2 0.1c3.5-2.5 7-5.2 10.4-7.8l-547.9-0.1c3.3 2.7 6.8 5.3 10.3 7.8zM512.5 960.1c98.5 0 189.6-31.8 263.5-85.7l-527.2-0.1c74 53.9 165.1 85.8 263.7 85.8z" fill="#08C9CC" ></path><path d="M790.3 504.5C756.1 415.8 620.8 332 511.8 332c-115.8 0-238 75.6-278.3 172.1l-2.9 6.9 2.9 6.9C273.8 614.4 396 690 511.8 690c109 0 244.3-83.9 278.5-172.5l2.5-6.4-2.5-6.6zM511.8 622.1c-61.3 0-111.2-49.9-111.2-111.2 0-61.3 49.9-111.2 111.2-111.2S623 449.6 623 510.9c0 61.3-49.9 111.2-111.2 111.2z" fill="#FFFFFF" ></path><path d="M511.7 427.6c-45.9 0-83.2 37.4-83.2 83.3s37.3 83.3 83.2 83.3c45.9 0 83.3-37.3 83.3-83.3 0-45.9-37.4-83.3-83.3-83.3z m53.4 83.3c-6.6 0-11.9-5.3-11.9-11.9 0-13-10.6-23.7-23.7-23.7-6.6 0-11.9-5.3-11.9-11.9 0-6.6 5.3-11.9 11.9-11.9 26.2 0 47.5 21.3 47.5 47.5 0 6.5-5.3 11.9-11.9 11.9z" fill="#FFFFFF" ></path><path d="M517.6 502.7v-51.3h52.3c-15-14.7-35.6-23.8-58.2-23.8-14.9 0-28.8 3.9-40.9 10.8l46.8 64.3zM577 498.9v11.9h-53.5l44.6 61.2c16.5-15.2 26.9-37 26.9-61.2 0-19.4-6.7-37.3-17.9-51.5v39.6z" fill="#FFFFFF" ></path><path d="M577 498.9v-39.6c-2.2-2.8-4.6-5.5-7.1-7.9h-40.4c26.2 0 47.5 21.3 47.5 47.5zM565.1 510.9H577V499c0 6.5-5.3 11.9-11.9 11.9z" fill="#FFFFFF" ></path><path d="M553.2 498.9c0-13-10.6-23.7-23.7-23.7-6.6 0-11.9-5.3-11.9-11.9v39.4l4.1 5.6 1.9 2.5h41.6c-6.7 0.1-12-5.3-12-11.9zM529.5 451.4h-11.9v11.9c0-6.5 5.3-11.9 11.9-11.9zM517.6 502.7l4.1 5.6zM517.6 504.3v-1.6l-46.8-64.3c-0.3 0.2-0.6 0.3-0.8 0.5l47.6 65.4zM523.5 510.9h-1.2l45.1 61.9c0.2-0.2 0.5-0.4 0.7-0.7l-44.6-61.2zM523.5 510.9l-1.8-2.6z" fill="#FFFFFF" ></path><path d="M517.6 502.7v1.6l4.8 6.6h1.1l-1.8-2.6zM517.6 504.3l4.8 6.6-4.8-6.6z" fill="#FFFFFF" ></path><path d="M521.2 510.9l45.5 62.5c0.2-0.2 0.5-0.4 0.7-0.6l-45.1-61.9h-1.1zM517.6 504.3L470 438.9c-0.3 0.2-0.6 0.3-0.8 0.5l48.5 66.6v-1.7z" fill="#FDFFFF" ></path><path d="M517.6 506l3.6 4.9h1.2l-4.8-6.6z" fill="#FDFFFF" ></path><path d="M517.6 507.6V506l-48.5-66.6c-0.3 0.2-0.6 0.3-0.8 0.5l49.3 67.7zM521.2 510.9H520l46 63.1c0.2-0.2 0.5-0.4 0.7-0.6l-45.5-62.5zM517.6 506l3.6 4.9-3.6-4.9z" fill="#FCFFFE" ></path><path d="M517.6 507.6l0.6 0.8 1.8 2.5h1.2l-3.6-4.9zM517.6 507.6l0.6 0.8z" fill="#FCFFFE" ></path><path d="M520 510.9h-1.2l46.4 63.8c0.2-0.2 0.5-0.4 0.7-0.6L520 510.9zM517.6 507.6l-49.3-67.7c-0.3 0.2-0.5 0.3-0.8 0.5l50.1 68.8v-1.6zM520 510.9l-1.8-2.5z" fill="#FAFFFE" ></path><path d="M517.6 507.6v1.6l1.2 1.7h1.2l-1.8-2.5z" fill="#FAFFFE" ></path><path d="M518.8 510.9h-1.2l46.9 64.4c0.2-0.2 0.5-0.4 0.7-0.6l-46.4-63.8zM517.6 509.2l-50.1-68.8c-0.3 0.2-0.5 0.3-0.8 0.5l50.9 69.9v-1.6zM517.6 509.2l1.2 1.7-1.2-1.7z" fill="#F8FFFE" ></path><path d="M517.6 510.8v0.1h1.2l-1.2-1.7zM517.6 510.9v-0.1z" fill="#F8FFFE" ></path><path d="M517.6 510.9L466.7 441c-0.3 0.2-0.5 0.3-0.8 0.5l97.9 134.4c0.2-0.2 0.5-0.4 0.8-0.6l-47-64.4zM517.6 510.8zM517.6 510.8v0.1-0.1z" fill="#F6FEFD" ></path><path d="M465.1 442L563 576.4c0.3-0.2 0.5-0.4 0.8-0.6l-97.9-134.4c-0.3 0.2-0.6 0.4-0.8 0.6z" fill="#F5FEFD" ></path><path d="M464.3 442.5l98 134.5c0.3-0.2 0.5-0.4 0.8-0.6l-98-134.4c-0.3 0.1-0.5 0.3-0.8 0.5z" fill="#F3FEFD" ></path><path d="M463.5 443.1l98 134.5c0.3-0.2 0.5-0.4 0.8-0.6l-98-134.5c-0.3 0.2-0.5 0.4-0.8 0.6z" fill="#F1FEFC" ></path><path d="M462.7 443.6l98 134.5c0.3-0.2 0.5-0.4 0.8-0.6l-98-134.5c-0.2 0.3-0.5 0.4-0.8 0.6z" fill="#F0FEFC" ></path><path d="M462 444.2l98 134.5c0.3-0.2 0.5-0.4 0.8-0.6l-98-134.5c-0.3 0.2-0.6 0.4-0.8 0.6z" fill="#EEFEFC" ></path><path d="M461.2 444.8l98 134.5c0.3-0.2 0.5-0.4 0.8-0.6l-98-134.5c-0.3 0.2-0.5 0.4-0.8 0.6z" fill="#ECFEFB" ></path><path d="M460.4 445.4l97.9 134.5c0.3-0.2 0.5-0.4 0.8-0.6l-98-134.5c-0.2 0.2-0.4 0.4-0.7 0.6z" fill="#EAFEFB" ></path><path d="M459.7 446l97.9 134.4c0.3-0.2 0.5-0.3 0.8-0.5l-97.9-134.5c-0.3 0.2-0.6 0.4-0.8 0.6z" fill="#E9FEFB" ></path><path d="M458.9 446.5l97.8 134.3c0.3-0.2 0.5-0.3 0.8-0.5L459.7 446c-0.3 0.2-0.5 0.3-0.8 0.5z" fill="#E7FEFA" ></path><path d="M458.2 447.2L556 581.4c0.3-0.2 0.5-0.3 0.8-0.5L459 446.6c-0.3 0.2-0.5 0.4-0.8 0.6z" fill="#E5FDFA" ></path><path d="M457.5 447.8l97.7 134.1c0.3-0.2 0.5-0.3 0.8-0.5l-97.7-134.2c-0.3 0.2-0.6 0.4-0.8 0.6z" fill="#E4FDFA" ></path><path d="M456.8 448.4l97.6 134c0.3-0.2 0.6-0.3 0.8-0.5l-97.7-134.1c-0.3 0.2-0.5 0.4-0.7 0.6z" fill="#E2FDF9" ></path><path d="M456 449.1l97.5 133.8c0.3-0.2 0.6-0.3 0.8-0.5l-97.6-134-0.7 0.7z" fill="#E0FDF9" ></path><path d="M455.3 449.7l97.3 133.6c0.3-0.2 0.6-0.3 0.8-0.5L456 449.1c-0.2 0.2-0.4 0.4-0.7 0.6z" fill="#DEFDF9" ></path><path d="M454.6 450.4l97.2 133.5c0.3-0.2 0.6-0.3 0.8-0.5l-97.3-133.6c-0.2 0.1-0.4 0.4-0.7 0.6z" fill="#DDFDF8" ></path><path d="M453.9 451l97 133.3c0.3-0.2 0.6-0.3 0.8-0.5l-97.2-133.5c-0.1 0.3-0.3 0.5-0.6 0.7z" fill="#DBFDF8" ></path><path d="M453.2 451.7l96.9 133c0.3-0.1 0.6-0.3 0.9-0.4L454 451c-0.3 0.3-0.5 0.5-0.8 0.7z" fill="#D9FDF8" ></path><path d="M452.5 452.4l96.7 132.8c0.3-0.1 0.6-0.3 0.9-0.4l-96.9-133c-0.2 0.1-0.4 0.4-0.7 0.6z" fill="#D8FDF7" ></path><path d="M451.9 453.1l96.5 132.5c0.3-0.1 0.6-0.3 0.9-0.4l-96.7-132.8c-0.3 0.2-0.5 0.5-0.7 0.7z" fill="#D6FCF7" ></path><path d="M451.2 453.8l96.3 132.3c0.3-0.1 0.6-0.3 0.9-0.4l-96.5-132.5c-0.2 0.1-0.5 0.4-0.7 0.6z" fill="#D4FCF7" ></path><path d="M450.5 454.5l96.1 132c0.3-0.1 0.6-0.3 0.9-0.4l-96.3-132.3c-0.2 0.2-0.4 0.5-0.7 0.7z" fill="#D2FCF6" ></path><path d="M449.9 455.2l95.9 131.6c0.3-0.1 0.6-0.3 0.9-0.4l-96.1-132c-0.3 0.3-0.5 0.6-0.7 0.8z" fill="#D1FCF6" ></path><path d="M449.2 456l95.6 131.3c0.3-0.1 0.6-0.3 0.9-0.4l-95.9-131.6c-0.1 0.2-0.4 0.4-0.6 0.7z" fill="#CFFCF6" ></path><path d="M448.6 456.7l95.4 131c0.3-0.1 0.6-0.3 0.9-0.4L449.2 456c-0.2 0.2-0.4 0.5-0.6 0.7z" fill="#CDFCF5" ></path><path d="M447.9 457.5L543 588c0.3-0.1 0.6-0.2 0.9-0.4l-95.4-131c-0.1 0.4-0.3 0.6-0.6 0.9z" fill="#CCFCF5" ></path><path d="M447.3 458.2l94.8 130.2c0.3-0.1 0.6-0.2 0.9-0.4l-95.1-130.6c-0.2 0.3-0.4 0.6-0.6 0.8z" fill="#CAFCF5" ></path><path d="M446.7 459l94.5 129.8c0.3-0.1 0.6-0.2 0.9-0.4l-94.8-130.2c-0.2 0.3-0.4 0.5-0.6 0.8z" fill="#C8FCF4" ></path><path d="M446.1 459.8l94.2 129.3c0.3-0.1 0.6-0.2 0.9-0.4L446.7 459c-0.2 0.2-0.4 0.5-0.6 0.8z" fill="#C6FCF4" ></path><path d="M445.5 460.6l93.9 128.9 0.9-0.3-94.2-129.3c-0.2 0.1-0.4 0.4-0.6 0.7z" fill="#C5FBF4" ></path><path d="M444.9 461.3l93.5 128.4 0.9-0.3-93.9-128.9c-0.1 0.3-0.3 0.6-0.5 0.8z" fill="#C3FBF3" ></path><path d="M444.3 462.2l93.2 127.9 0.9-0.3-93.5-128.4c-0.2 0.2-0.4 0.5-0.6 0.8z" fill="#C1FBF3" ></path><path d="M443.7 463l92.8 127.4 0.9-0.3-93.2-127.9c-0.1 0.2-0.3 0.5-0.5 0.8z" fill="#C0FBF3" ></path><path d="M443.1 463.8l92.4 126.9c0.3-0.1 0.7-0.2 1-0.3L443.7 463c-0.2 0.3-0.4 0.5-0.6 0.8z" fill="#BEFBF2" ></path><path d="M442.5 464.6l92 126.3c0.3-0.1 0.7-0.2 1-0.3l-92.4-126.9c-0.2 0.4-0.4 0.7-0.6 0.9z" fill="#BCFBF2" ></path><path d="M442 465.5l91.6 125.7c0.3-0.1 0.7-0.2 1-0.3l-92-126.3c-0.3 0.3-0.4 0.6-0.6 0.9z" fill="#BAFBF2" ></path><path d="M441.4 466.4l91.1 125.1c0.3-0.1 0.7-0.2 1-0.3L442 465.5l-0.6 0.9z" fill="#B9FBF2" ></path><path d="M440.9 467.2l90.7 124.5c0.3-0.1 0.7-0.2 1-0.2l-91.1-125.1c-0.3 0.3-0.5 0.5-0.6 0.8z" fill="#B7FBF1" ></path><path d="M440.3 468.1L530.5 592c0.3-0.1 0.7-0.2 1-0.2l-90.7-124.5c-0.1 0.2-0.3 0.5-0.5 0.8z" fill="#B5FAF1" ></path><path d="M439.8 469l89.7 123.2c0.3-0.1 0.7-0.2 1-0.2l-90.2-123.9c-0.2 0.3-0.3 0.6-0.5 0.9z" fill="#B3FAF1" ></path><path d="M439.3 469.9l89.2 122.5c0.3-0.1 0.7-0.2 1-0.2L439.8 469c-0.2 0.3-0.3 0.6-0.5 0.9z" fill="#B2FAF0" ></path><path d="M438.8 470.8l88.7 121.8c0.3-0.1 0.7-0.1 1-0.2l-89.2-122.5c-0.2 0.3-0.4 0.6-0.5 0.9z" fill="#B0FAF0" ></path><path d="M438.3 471.8l88.2 121.1c0.3-0.1 0.7-0.1 1-0.2l-88.7-121.8c-0.2 0.3-0.4 0.6-0.5 0.9z" fill="#AEFAF0" ></path><path d="M437.8 472.7L525.4 593c0.4-0.1 0.7-0.1 1-0.2l-88.2-121.1c-0.1 0.4-0.3 0.7-0.4 1z" fill="#ADFAEF" ></path><path d="M437.3 473.7l87 119.5c0.4-0.1 0.7-0.1 1-0.2l-87.6-120.3c-0.1 0.4-0.3 0.7-0.4 1z" fill="#ABFAEF" ></path><path d="M436.8 474.6l86.4 118.7c0.4-0.1 0.7-0.1 1.1-0.1l-87-119.5c-0.2 0.3-0.4 0.6-0.5 0.9z" fill="#A9FAEF" ></path><path d="M436.3 475.6l85.8 117.8c0.4 0 0.7-0.1 1.1-0.1l-86.4-118.7c-0.2 0.4-0.3 0.7-0.5 1z" fill="#A7FAEE" ></path><path d="M435.9 476.6l85.2 117c0.4 0 0.7-0.1 1.1-0.1l-85.8-117.8c-0.2 0.3-0.4 0.6-0.5 0.9z" fill="#A6F9EE" ></path><path d="M435.4 477.6L520 593.7c0.4 0 0.7-0.1 1.1-0.1l-85.2-117c-0.2 0.4-0.3 0.7-0.5 1z" fill="#A4F9EE" ></path><path d="M435 478.6l83.9 115.2c0.4 0 0.7 0 1.1-0.1l-84.6-116.1c-0.1 0.4-0.3 0.7-0.4 1z" fill="#A2F9ED" ></path><path d="M434.6 479.7l83.2 114.2c0.4 0 0.7-0.1 1.1-0.1L435 478.6c-0.2 0.4-0.3 0.8-0.4 1.1z" fill="#A1F9ED" ></path><path d="M434.1 480.8L516.6 594c0.4 0 0.7-0.1 1.1-0.1l-83.2-114.2c-0.1 0.4-0.2 0.7-0.4 1.1z" fill="#9FF9ED" ></path><path d="M433.7 481.8l81.8 112.3c0.4 0 0.8 0 1.1-0.1l-82.5-113.2c-0.1 0.3-0.2 0.7-0.4 1z" fill="#9DF9EC" ></path><path d="M433.3 482.9l81 111.2h1.2l-81.8-112.3c-0.1 0.4-0.2 0.7-0.4 1.1z" fill="#9BF9EC" ></path><path d="M433 484l80.2 110.1h1.2l-81-111.2c-0.2 0.4-0.3 0.7-0.4 1.1z" fill="#9AF9EC" ></path><path d="M432.6 485.1l79.4 109h1.2L433 484c-0.2 0.4-0.3 0.7-0.4 1.1z" fill="#98F9EB" ></path><path d="M432.2 486.2l78.6 107.9h1.2l-79.4-109c-0.1 0.4-0.3 0.7-0.4 1.1z" fill="#96F9EB" ></path><path d="M431.9 487.4l77.7 106.7h1.2l-78.6-107.9-0.3 1.2z" fill="#95F8EB" ></path><path d="M431.5 488.6l76.8 105.5h1.2l-77.7-106.7c0 0.4-0.2 0.8-0.3 1.2z" fill="#93F8EA" ></path><path d="M431.2 489.7l76 104.3h1.2l-76.8-105.5c-0.2 0.4-0.3 0.8-0.4 1.2z" fill="#91F8EA" ></path><path d="M430.9 490.9l75 103c0.4 0 0.8 0.1 1.3 0.1l-76-104.3-0.3 1.2z" fill="#8FF8EA" ></path><path d="M430.6 492.2l74 101.7c0.4 0 0.8 0.1 1.3 0.1l-75-103c-0.1 0.3-0.2 0.8-0.3 1.2z" fill="#8EF8E9" ></path><path d="M430.3 493.4l73.1 100.3c0.4 0 0.8 0.1 1.3 0.1l-74-101.7c-0.2 0.5-0.3 0.9-0.4 1.3z" fill="#8CF8E9" ></path><path d="M430.1 494.7l72 98.9c0.4 0 0.9 0.1 1.3 0.2l-73.1-100.3c-0.1 0.3-0.1 0.7-0.2 1.2z" fill="#8AF8E9" ></path><path d="M429.8 496l71 97.4c0.4 0.1 0.9 0.1 1.3 0.2l-72-98.9c-0.1 0.4-0.2 0.8-0.3 1.3z" fill="#89F8E8" ></path><path d="M429.6 497.3l69.9 96c0.4 0.1 0.9 0.1 1.3 0.2l-71-97.4c0 0.3-0.1 0.7-0.2 1.2z" fill="#87F8E8" ></path><path d="M429.4 498.6l68.8 94.4c0.4 0.1 0.9 0.2 1.3 0.2l-69.9-96c-0.1 0.5-0.2 1-0.2 1.4z" fill="#85F7E8" ></path><path d="M429.2 500l67.6 92.8c0.5 0.1 0.9 0.2 1.4 0.2l-68.8-94.4c-0.1 0.5-0.1 0.9-0.2 1.4z" fill="#83F7E7" ></path><path d="M429 501.4l66.4 91.2c0.5 0.1 0.9 0.2 1.4 0.2L429.2 500c-0.1 0.4-0.1 0.9-0.2 1.4z" fill="#82F7E7" ></path><path d="M428.9 502.8l65.2 89.5c0.5 0.1 0.9 0.2 1.4 0.3L429 501.4c0 0.4-0.1 0.9-0.1 1.4z" fill="#80F7E7" ></path><path d="M428.8 504.2l63.9 87.7c0.5 0.1 0.9 0.2 1.4 0.3l-65.2-89.5c-0.1 0.6-0.1 1.1-0.1 1.5z" fill="#7EF7E6" ></path><path d="M428.6 505.7l62.5 85.9c0.5 0.1 0.9 0.2 1.4 0.3l-63.9-87.7c0.1 0.5 0.1 1 0 1.5z" fill="#7CF7E6" ></path><path d="M428.6 507.2l61.1 84c0.5 0.1 1 0.3 1.5 0.4l-62.5-85.9c-0.1 0.5-0.1 1-0.1 1.5z" fill="#7BF7E6" ></path><path d="M428.5 508.8l59.7 82c0.5 0.1 1 0.3 1.5 0.4l-61.1-84c-0.1 0.5-0.1 1.1-0.1 1.6z" fill="#79F7E5" ></path><path d="M428.5 510.4l58.2 79.9c0.5 0.2 1 0.3 1.5 0.4l-59.7-82v1.7z" fill="#77F7E5" ></path><path d="M428.5 510.9v1.1l56.6 77.8c0.5 0.2 1 0.4 1.6 0.5l-58.2-79.9v0.5z" fill="#76F7E5" ></path><path d="M428.5 513.7l55 75.6c0.5 0.2 1 0.4 1.6 0.5L428.5 512v1.7z" fill="#74F6E4" ></path><path d="M428.6 515.4l53.3 73.2c0.5 0.2 1.1 0.4 1.6 0.6l-55-75.6c0.1 0.7 0.1 1.2 0.1 1.8z" fill="#72F6E4" ></path><path d="M428.7 517.2l51.5 70.8c0.6 0.2 1.1 0.4 1.7 0.7l-53.3-73.2c0 0.5 0.1 1.1 0.1 1.7z" fill="#70F6E4" ></path><path d="M428.9 519l49.7 68.2c0.6 0.2 1.1 0.5 1.7 0.7l-51.5-70.8c0 0.7 0 1.3 0.1 1.9z" fill="#6FF6E3" ></path><path d="M429.1 521l47.7 65.5c0.6 0.3 1.2 0.5 1.8 0.8L428.9 519c0 0.7 0.1 1.3 0.2 2z" fill="#6DF6E3" ></path><path d="M476.8 586.5L429.1 521c3.5 29.1 22.1 53.6 47.7 65.5z" fill="#6DF6E3" ></path></symbol><symbol id="icon-reply" viewBox="0 0 1024 1024"><path d="M512 0C229.259636 0 0 229.236364 0 512s229.236364 512 512 512c109.381818 0 210.501818-34.536727 293.701818-92.974545l167.121455 41.774545-41.774546-167.121455A509.137455 509.137455 0 0 0 1024 512C1024 229.236364 794.786909 0 512 0m0 947.2C271.662545 947.2 76.8 752.337455 76.8 512S271.662545 76.8 512 76.8c240.384 0 435.223273 194.862545 435.223273 435.2a433.338182 433.338182 0 0 1-103.424 281.297455l25.041454 77.91709-76.8-26.274909A433.221818 433.221818 0 0 1 512 947.2" ></path><path d="M308.363636 525.568m-60.113454 0a60.113455 60.113455 0 1 0 120.226909 0 60.113455 60.113455 0 1 0-120.226909 0Z" ></path><path d="M517.818182 525.568m-60.113455 0a60.113455 60.113455 0 1 0 120.226909 0 60.113455 60.113455 0 1 0-120.226909 0Z" ></path><path d="M727.272727 525.568m-60.113454 0a60.113455 60.113455 0 1 0 120.226909 0 60.113455 60.113455 0 1 0-120.226909 0Z" ></path></symbol><symbol id="icon-comment" viewBox="0 0 1024 1024"><path d="M113.834667 291.84v449.194667a29.013333 29.013333 0 0 0 28.842666 29.013333h252.928v90.453333l160.597334-90.453333h252.928a29.013333 29.013333 0 0 0 29.013333-29.013333V291.84a29.013333 29.013333 0 0 0-29.013333-29.013333h-665.6a29.013333 29.013333 0 0 0-29.696 29.013333z" fill="#FFDEAD" ></path><path d="M809.130667 262.826667h-665.6a29.013333 29.013333 0 0 0-28.842667 29.013333v40.106667a29.013333 29.013333 0 0 1 28.842667-29.013334h665.6a29.013333 29.013333 0 0 1 29.013333 29.013334V291.84a29.013333 29.013333 0 0 0-29.013333-29.013333z" fill="#FFF3DB" ></path><path d="M556.202667 770.048h252.928a29.013333 29.013333 0 0 0 29.013333-29.013333V362.837333s-59.733333 392.533333-724.309333 314.709334v63.488a29.013333 29.013333 0 0 0 28.842666 29.013333h253.098667v90.453333z" fill="#F2C182" ></path><path d="M619.008 632.32l101.888-35.157333-131.754667-76.117334 29.866667 111.274667zM891.904 148.992a61.44 61.44 0 0 0-84.138667 22.528l-19.968 34.133333 106.666667 61.610667 19.968-34.133333a61.781333 61.781333 0 0 0-22.528-84.138667z" fill="#69BAF9" ></path><path d="M775.338667 198.775467l131.669333 76.032-186.026667 322.218666-131.6864-76.032z" fill="#F7FBFF" ></path><path d="M775.168 198.826667l-5.290667 9.216 59.221334 34.133333a34.133333 34.133333 0 0 1 12.458666 46.592l-139.946666 242.346667a34.133333 34.133333 0 0 1-46.762667 12.629333l-59.050667-34.133333-6.656 11.434666 88.746667 51.2L720.896 597.333333l186.026667-322.56z" fill="#D8E3F0" ></path><path d="M616.448 622.592l2.56 9.728 101.888-35.157333-44.885333-25.941334-59.562667 51.370667zM891.904 148.992c-1.024 0-2.218667-0.853333-3.242667-1.536A61.610667 61.610667 0 0 1 887.466667 204.8l-19.968 34.133333-73.728-42.496-5.12 8.704 106.666666 61.610667 19.968-34.133333a61.781333 61.781333 0 0 0-23.381333-83.626667z" fill="#599ED4" ></path><path d="M265.898667 417.621333H494.933333a17.066667 17.066667 0 1 0 0-34.133333H265.898667a17.066667 17.066667 0 1 0 0 34.133333zM265.898667 533.504H494.933333a17.066667 17.066667 0 0 0 0-34.133333H265.898667a17.066667 17.066667 0 0 0 0 34.133333z" fill="#3D3D63" ></path><path d="M959.488 354.645333a99.84 99.84 0 0 0-23.722667-127.488 78.677333 78.677333 0 0 0-142.848-64.170666l-11.605333 20.138666a17.066667 17.066667 0 0 0-20.821333 7.168l-32.085334 55.466667H142.677333a46.250667 46.250667 0 0 0-45.909333 46.08v449.194667a46.08 46.08 0 0 0 45.909333 46.08h236.032v73.386666a17.066667 17.066667 0 0 0 8.362667 14.848 17.066667 17.066667 0 0 0 8.704 2.218667 17.066667 17.066667 0 0 0 8.362667-2.218667l156.672-88.234666h248.32a46.08 46.08 0 0 0 46.08-46.08V398.677333L921.6 283.306667a17.066667 17.066667 0 0 0-4.266667-21.504l1.877334-3.413334a65.365333 65.365333 0 0 1 10.410666 79.189334l-53.077333 91.989333a56.832 56.832 0 0 0 20.821333 77.653333 17.066667 17.066667 0 0 0 24.234667-6.314666 17.066667 17.066667 0 0 0-6.997333-23.04 23.04 23.04 0 0 1-8.362667-31.061334z m-138.410667 386.389334a11.946667 11.946667 0 0 1-11.946666 11.946666H556.202667a17.066667 17.066667 0 0 0-8.362667 2.218667l-134.997333 76.117333v-61.269333a17.066667 17.066667 0 0 0-17.066667-17.066667H142.677333a11.946667 11.946667 0 0 1-11.776-11.946666V291.84a11.946667 11.946667 0 0 1 11.776-11.946667h565.930667L574.464 512a17.066667 17.066667 0 0 0-1.706667 12.970667L597.333333 615.253333H265.898667a17.066667 17.066667 0 1 0 0 34.133334h352.938666a17.066667 17.066667 0 0 0 5.802667 0l102.4-35.328a17.066667 17.066667 0 0 0 9.216-7.509334l85.333333-147.968z m-204.8-184.661334l63.829334 36.864-49.322667 17.066667z m206.848-170.666666v1.365333l-108.373333 186.709333-102.4-59.050666L781.482667 221.866667l102.4 59.050666z m76.458667-161.28L887.466667 244.224l-76.970667-44.373333 11.264-19.797334a44.544 44.544 0 1 1 77.141333 44.544z" fill="#3D3D63" ></path></symbol><symbol id="icon-wetchat" viewBox="0 0 1024 1024"><path d="M650.9 443.59c108.15 0 195.82 80.32 195.82 179.41 0 38.51-13.25 74.17-35.79 103.4l40.92 80.6-100.17-30.22a208.34 208.34 0 0 1-100.78 25.64c-108.15 0-195.82-80.33-195.82-179.42s87.67-179.41 195.82-179.41z" fill="#FDD668" ></path><path d="M598.8 590.15c0.08-19.87-14.7-35.26-33.92-35.32-19-0.07-34.67 15.76-34.7 35s15.5 35.41 34.27 35.49c19.03 0.05 34.27-15.54 34.35-35.17z m109.36 0.62c0.37 19.56 16 35 35 34.51 18.73-0.45 34.08-16.94 33.61-36.11s-16.32-34.82-35.2-34.42-33.77 16.25-33.41 36.02zM356.31 392.79c0.08-19.88-14.7-35.27-33.93-35.33-18.95-0.06-34.66 15.76-34.69 35s15.49 35.41 34.27 35.49c19.04 0.05 34.27-15.54 34.35-35.16z m109.36 0.61c0.36 19.56 16 35 35 34.51 18.73-0.45 34.08-16.94 33.61-36.11s-16.33-34.82-35.2-34.42c-19.08 0.4-33.77 16.28-33.41 36.02z" ></path><path d="M894.64 785.26l-28.26-55.69A214 214 0 0 0 894.72 623c0-107.34-80.25-197.34-187.67-221.09-3.41-25.37-16.85-57.18-19-62.1C653.83 261.53 533.7 177.7 409.48 177.7c-174.18 0-315.87 130.75-315.87 291.46 0 55.89 17 109.65 49.28 156.37L63.14 782.61l193.59-58.39c59.8 30.49 129.41 42.18 197.88 33.11 44.42 56.32 115.75 93.09 196.3 93.09a258.38 258.38 0 0 0 105-22.21L838 853l107.47 32.4zM270.86 677.37L262 672.5l-105.23 31.73 42.43-83.61-9.25-12c-31.62-41-48.34-89.26-48.34-139.46 0-134.24 120.16-243.46 267.87-243.46 100.91 0 207.07 70.41 234.6 133.35 2.62 6 8.26 23 12.26 36.79-1.82 0-3.61-0.25-5.43-0.25-134.46 0-243.83 102-243.83 227.41a213.23 213.23 0 0 0 19.37 88.79c-54.59 3.13-108.98-8.74-155.59-34.42z m480.81 99.41a208.29 208.29 0 0 1-100.76 25.64c-108.16 0-195.83-80.33-195.83-179.42s87.67-179.41 195.83-179.41S846.72 523.91 846.72 623c0 38.51-13.25 74.17-35.78 103.4l40.9 80.6z" ></path></symbol><symbol id="icon-message" viewBox="0 0 1024 1024"><path d="M914.23744 216.27904c0 75.74528-61.39904 137.14432-137.14432 137.14432H685.6704c-42.88512 0-80.68096-20.09088-105.8304-50.92352-41.60512 12.58496-91.68896 12.4416-153.21088-10.02496 68.4544 5.74464 94.43328 2.26304 130.65216-29.37856-5.35552-14.67392-8.74496-30.30016-8.74496-46.81728 0-75.74528 61.39904-137.14432 137.14432-137.14432h91.42272c75.73504 0 137.13408 61.39904 137.13408 137.14432zM304.72192 109.60896a91.42272 91.42272 0 1 1 0 182.85568 91.42272 91.42272 0 0 1 0-182.85568z m60.94848 213.32992a538.4704 538.4704 0 0 1-36.608 133.41696c0.95232-52.31616-9.10336-102.94272-9.10336-102.94272s15.23712-16.15872 15.23712-30.47424h-60.94848c0 14.31552 15.23712 30.47424 15.23712 30.47424s-10.0864 50.71872-9.10336 103.09632a540.08832 540.08832 0 0 1-36.608-133.57056c-30.47424 0-121.89696 0-121.89696 91.42272V536.2688c0 91.42272 60.94848 91.42272 60.94848 91.42272v274.2784a60.94848 60.94848 0 0 0 121.89696 0 60.94848 60.94848 0 0 0 121.89696 0V627.69152s60.94848 0 60.94848-91.42272V414.3616c0.01024-91.42272-91.41248-91.42272-121.89696-91.42272z m441.89696-152.3712h-152.3712c-8.42752 0-15.23712 6.8096-15.23712 15.23712s6.8096 15.23712 15.23712 15.23712h152.38144a15.22688 15.22688 0 1 0-0.01024-30.47424z m0 60.94848h-152.3712c-8.42752 0-15.23712 6.8096-15.23712 15.23712s6.8096 15.23712 15.23712 15.23712h152.38144a15.23712 15.23712 0 1 0-0.01024-30.47424z" fill="#333333" ></path></symbol><symbol id="icon-me" viewBox="0 0 1024 1024"><path d="M690.49344 296.66304c-4.83328-0.74752-9.65632 0-14.29504 1.50528 1.56672-29.48096 2.31424-61.02016 0.24576-84.41856-3.51232-37.87776-26.83904-78.01856-48.97792-94.19776-35.24608-25.58976-89.74336-37.376-110.31552-37.376-20.44928 0-75.06944 11.78624-110.25408 37.376-22.20032 16.1792-45.4656 56.32-48.91648 94.19776-2.12992 23.3984-1.3824 54.9376 0.18432 84.41856-4.63872-1.50528-9.46176-2.26304-14.35648-1.50528-14.17216 2.12992-23.9616 16.25088-16.9984 50.61632 6.90176 34.42688 16.93696 57.26208 33.87392 55.94112 1.00352-0.06144 1.56672-0.44032 2.5088-0.62464 5.59104 43.71456 48.7936 112.88576 86.23104 137.59488 9.53344 13.35296 36.31104 24.5248 67.7376 23.58272 31.42656 0.94208 58.32704-10.21952 67.7376-23.58272 37.56032-24.70912 80.65024-93.88032 86.23104-137.59488 0.94208 0.18432 1.50528 0.5632 2.5088 0.62464 16.9984 1.32096 27.0336-21.51424 33.87392-55.94112 7.00416-34.37568-2.77504-48.4864-17.01888-50.61632zM806.144 660.16256c-64.1536-32.11264-160.55296-64.21504-160.55296-64.21504-11.47904 70.99392-42.1376 153.40544-84.92032 225.14688a1344.64512 1344.64512 0 0 0-11.34592-122.4192c10.84416-17.05984 17.94048-31.10912 22.51776-42.27072 5.38624-13.60896-4.25984-28.34432-18.56512-28.34432h-72.12032c-14.42816 0-23.90016 14.92992-18.56512 28.34432 4.57728 11.1616 11.66336 25.21088 22.51776 42.27072-6.27712 44.40064-9.59488 86.29248-11.4176 122.4192-42.77248-71.61856-73.50272-154.15296-84.97152-225.14688 0 0-96.32768 32.11264-160.55296 64.21504-64.1536 32.11264-96.32768 75.25376-96.32768 160.55296v48.16896a80.2816 80.2816 0 0 0 80.34304 80.27136h609.95584a80.2816 80.2816 0 0 0 80.34304-80.27136v-48.16896c-0.01024-85.2992-32.18432-128.45056-96.33792-160.55296z" fill="#333333" ></path></symbol><symbol id="icon-user03" viewBox="0 0 1024 1024"><path d="M512 0c281.6 0 512 230.4 512 512s-230.4 512-512 512-512-230.4-512-512 230.4-512 512-512z m115.2 505.6c44.8-38.4 76.8-89.6 76.8-153.6 0-108.8-83.2-192-192-192s-192 83.2-192 192c0 64 32 115.2 76.8 153.6-102.4 44.8-172.8 147.2-172.8 262.4 0 19.2 12.8 32 32 32s32-12.8 32-32c0-121.6 102.4-224 224-224s224 102.4 224 224c0 19.2 12.8 32 32 32s32-12.8 32-32c0-115.2-70.4-217.6-172.8-262.4zM512 480c-70.4 0-128-57.6-128-128s57.6-128 128-128 128 57.6 128 128-57.6 128-128 128z" ></path></symbol><symbol id="icon-user02" viewBox="0 0 1024 1024"><path d="M956.696128 512.75827c0 245.270123-199.054545 444.137403-444.615287 444.137403-245.538229 0-444.522166-198.868303-444.522166-444.137403 0-188.264804 117.181863-349.108073 282.675034-413.747255 50.002834-20.171412 104.631012-31.311123 161.858388-31.311123 57.297984 0 111.87909 11.128455 161.928996 31.311123C839.504032 163.650197 956.696128 324.494489 956.696128 512.75827L956.696128 512.75827M341.214289 419.091984c0 74.846662 38.349423 139.64855 94.097098 171.367973 23.119557 13.155624 49.151443 20.742417 76.769454 20.742417 26.64894 0 51.773154-7.096628 74.286913-19.355837 57.06467-31.113625 96.650247-96.707552 96.650247-172.742273 0-105.867166-76.664054-192.039781-170.936137-192.039781C417.867086 227.053226 341.214289 313.226864 341.214289 419.091984L341.214289 419.091984M513.886977 928.114163c129.883139 0 245.746984-59.732429 321.688583-153.211451-8.971325-73.739445-80.824817-136.51314-182.517917-167.825286-38.407752 34.55091-87.478354 55.340399-140.989081 55.340399-54.698786 0-104.770182-21.907962-143.55144-57.96211-98.921987 28.234041-171.379229 85.823668-188.368158 154.831344C255.507278 861.657588 376.965537 928.114163 513.886977 928.114163L513.886977 928.114163M513.886977 928.114163 513.886977 928.114163z" ></path></symbol><symbol id="icon-label01" viewBox="0 0 1024 1024"><path d="M719.36 131.072l11.264 122.368c1.536 14.336 14.336 25.088 28.672 24.064 14.336-1.536 25.088-14.336 24.064-28.672l-11.264-122.368-52.736 4.608z" fill="#425768" ></path><path d="M930.816 219.648l-329.728 0.512L532.48 365.568V965.12h467.456V365.568z" fill="#87C596" ></path><path d="M761.344 647.168c-3.584-1.024-7.168-2.56-10.752-4.608-3.584-1.536-10.24-5.12-19.968-10.752s-17.408-11.776-23.04-18.944c-5.632-7.168-10.24-14.336-13.312-22.016-3.072-7.68-4.096-15.872-3.584-25.088 0.512-15.36 4.608-26.624 12.288-34.816 7.68-8.192 14.848-14.336 22.528-18.432 7.68-4.096 14.848-7.168 22.528-8.704l13.312-3.072V488.448h16.896v12.8c4.608 0 8.192 0.512 10.752 0.512 3.072 0 6.144 1.024 10.24 1.536 4.096 1.024 11.264 2.56 20.992 5.632 9.728 2.56 17.92 8.192 24.576 15.872s9.728 14.848 9.728 20.992c0 6.656-3.072 12.8-8.704 17.408-5.632 5.12-12.288 7.168-19.456 7.68-7.68 0-13.824-2.048-18.944-7.168-5.12-4.608-7.68-10.24-7.168-16.384 0-5.12 2.048-9.728 5.632-14.336 3.584-4.096 5.632-6.656 5.632-7.68 0-2.048-3.072-4.096-8.704-6.656s-10.752-4.096-14.848-4.608l-10.24-1.024v94.208c8.192 3.072 17.408 6.656 27.136 10.24s18.944 7.168 27.136 11.264c8.192 4.096 15.872 10.24 22.528 18.944 6.656 8.704 10.24 17.92 10.24 27.648 0 9.728-1.536 18.944-4.096 27.136-3.072 8.192-7.168 15.36-12.8 21.504-5.632 6.144-11.776 10.752-18.944 14.336-6.656 3.072-13.824 6.144-20.992 7.68s-14.336 3.584-21.504 4.096l-9.216 1.024v14.336h-16.896v-14.336c-5.632-1.024-10.752-1.536-14.336-2.56-4.096-1.024-8.704-2.048-13.824-4.096-5.12-2.048-10.24-4.096-14.336-6.144s-8.704-5.12-13.312-8.192c-4.608-3.584-9.216-7.68-13.312-13.824s-6.656-11.264-6.656-17.408c0-6.144 1.024-11.264 2.56-15.36 2.048-4.608 5.12-8.192 9.216-10.752s8.704-3.584 14.848-3.584c6.656 0 11.776 2.048 15.872 5.12 4.096 3.072 6.656 7.168 6.656 11.264 0.512 4.096 0 7.68-1.024 9.728-1.024 2.048-2.56 3.584-4.096 5.12l-8.192 5.12c-2.048 1.536-3.584 3.072-4.608 5.12-1.024 2.048 1.536 6.144 7.168 11.776 4.096 4.096 8.704 7.68 13.312 9.728s8.704 4.096 11.776 4.096l11.776 2.048V647.168z m0-132.608c-4.096 1.024-7.68 2.048-11.264 3.072-3.584 1.024-7.68 3.072-11.264 6.144-4.096 3.072-7.68 7.168-10.752 13.312-3.072 5.632-4.608 12.288-4.096 18.944 0 9.728 2.56 17.408 7.68 23.552s11.776 11.264 19.968 15.36l9.728 5.12V514.56z m16.384 225.28c5.632-1.024 12.288-2.048 20.48-4.096 7.68-2.048 14.336-6.656 19.456-13.824 5.12-7.168 7.68-14.848 7.68-23.552 0-8.704-1.536-15.36-5.12-19.968s-8.192-8.704-14.848-12.288c-6.144-3.584-12.8-6.144-18.944-8.704l-9.216-3.584v86.016z" fill="#FFFFFF" ></path><path d="M830.464 296.448l-253.952-210.432-145.92 68.096-382.976 461.824 359.936 298.496 382.976-461.824z" fill="#87C596" ></path><path d="M644.096 263.168m-30.208 0a30.208 30.208 0 1 0 60.416 0 30.208 30.208 0 1 0-60.416 0Z" fill="#528963" ></path><path d="M719.36 131.072l-78.848 94.72c-9.216 11.264-7.68 27.648 3.584 37.376 11.264 9.216 27.648 7.68 37.376-3.584l78.848-94.72-40.96-33.792z" fill="#425768" ></path><path d="M427.008 517.12c-2.048-3.072-3.584-6.656-5.632-10.24-2.048-3.584-4.608-10.752-8.192-20.992-3.584-10.24-5.632-19.968-5.632-29.184 0-9.216 1.536-17.408 4.096-25.088 2.56-7.68 7.168-14.848 13.312-21.504 10.24-11.264 20.992-17.408 31.744-18.944 10.752-1.536 20.48-1.536 29.184 0 8.192 1.536 15.872 4.096 22.528 7.68l12.288 6.144 7.68-9.728 12.8 10.752-8.192 9.728c3.584 3.072 6.144 5.12 8.192 7.168 2.048 2.048 4.608 4.608 7.168 7.68 2.56 3.072 6.656 9.216 12.8 17.408s8.704 17.92 8.704 28.16-2.048 17.92-5.632 22.528c-4.608 5.12-10.24 7.68-17.92 8.192-7.168 0.512-13.824-2.048-19.968-6.656-6.144-4.608-9.216-10.752-10.24-17.408-1.024-6.656 1.024-12.8 5.12-17.408 3.584-4.096 7.68-6.656 13.312-7.168 5.632-1.024 8.704-1.536 9.216-2.56 1.024-1.536 0.512-5.12-2.56-10.24-2.56-5.632-5.632-9.728-8.704-13.312L525.312 424.96 465.408 496.64c4.096 7.68 9.216 15.872 14.336 25.088 5.12 9.216 9.728 17.92 13.824 26.112 3.584 8.192 5.632 17.92 5.12 29.184-0.512 11.264-3.584 20.48-9.728 28.16s-12.8 13.824-20.48 17.92c-7.68 4.608-15.36 7.168-23.552 8.704-8.192 1.024-16.384 0.512-23.552-1.024-7.168-2.048-14.336-4.096-21.504-7.168-6.656-3.072-13.312-6.656-18.944-10.752l-7.68-5.12-9.216 11.264-12.8-10.752 9.216-11.264c-4.096-4.096-7.168-8.192-9.728-11.264-2.56-3.072-5.12-7.168-7.68-12.288s-5.12-9.728-7.168-13.824c-2.048-4.608-3.584-9.728-4.608-14.848-1.536-5.632-2.048-11.776-1.536-18.944s2.048-13.312 5.632-17.92c3.584-4.608 7.68-8.192 11.776-10.24 4.608-2.048 9.216-3.072 13.824-2.56 4.608 0.512 9.216 2.56 13.824 6.656 5.12 4.096 8.192 9.216 9.216 14.336 1.024 5.12 0.512 9.728-2.048 13.312s-4.608 5.632-7.168 7.168c-2.048 1.024-4.096 1.536-6.656 1.024l-9.216-1.536c-2.56 0-4.608 0-7.168 1.024-2.048 1.024-3.072 5.632-2.048 13.824 0.512 5.632 2.048 11.264 4.096 16.384s4.096 8.704 6.656 10.752l7.68 9.216L427.008 517.12z m-46.592 81.92c5.12 3.072 11.264 6.144 18.432 9.728s15.36 4.096 24.064 2.048c8.704-2.048 15.36-6.656 20.992-12.8 5.632-6.656 8.704-12.8 8.704-18.944 0.512-6.144-1.024-12.288-3.584-18.944-2.56-6.656-5.632-12.8-8.704-18.944l-4.608-8.704-55.296 66.56z m131.072-184.32c-3.584-1.536-7.168-3.584-10.752-4.608-3.584-1.536-7.68-2.048-12.8-2.56-5.12 0-10.752 1.024-16.384 3.584-6.144 2.56-11.264 6.656-15.36 11.776-6.144 7.68-9.216 15.36-8.704 23.04 0 7.68 2.048 15.872 5.632 24.576l4.096 10.24L511.488 414.72z" fill="#FFFFFF" ></path></symbol><symbol id="icon-recommend" viewBox="0 0 1024 1024"><path d="M524.288 106.496C472.064 106.496 430.08 144.896 430.08 192.512c0 122.88 94.208 299.52 94.208 299.52s94.208-177.664 94.208-299.52c-0.512-47.104-42.496-86.016-94.208-86.016M201.728 389.12C296.448 464.896 491.52 502.272 491.52 502.272S412.672 321.024 317.952 245.248c-36.864-29.696-92.672-20.992-124.928 18.432-31.744 39.424-27.648 95.744 8.704 125.44m562.688-101.888c6.144-4.608 13.824-7.168 21.504-7.168 14.336 0 28.672 7.68 38.912 20.48 15.872 20.48 14.336 48.128-3.072 61.44-45.568 34.304-119.296 59.392-178.176 75.776 32.768-54.784 76.8-117.76 120.832-150.528m84.992 111.104c37.888-28.16 43.008-84.48 11.776-125.44-18.944-25.088-47.616-38.4-75.264-38.4-17.408 0-34.816 5.12-49.152 16.384-97.792 73.728-181.76 253.44-181.76 253.44S752.64 471.04 849.408 398.336m21.504 117.248c-117.248-27.136-307.2 22.528-307.2 22.528s149.504 128 265.728 155.136c45.568 10.752 91.648-20.48 103.424-69.632 10.752-49.152-16.384-97.28-61.952-108.032m-333.312 41.984s-5.632 202.24 48.64 312.32c20.992 43.008 76.288 59.392 123.904 36.352 47.104-23.04 67.584-76.288 46.592-119.296-55.296-110.592-219.136-229.376-219.136-229.376m-245.76 228.864c-20.48 43.008 0.512 96.256 47.616 118.784 47.104 22.528 101.888 5.632 123.392-37.376 53.76-111.104 46.08-312.32 46.08-312.32s-163.84 120.832-217.088 230.912M174.08 510.464c-47.616 10.752-76.8 60.928-65.024 112.64 11.776 51.2 59.904 83.968 108.032 73.728 122.88-28.16 278.528-160.768 278.528-160.768s-199.168-53.76-321.536-25.6" fill="#FF6A00" ></path></symbol><symbol id="icon-date" viewBox="0 0 1024 1024"><path d="M521.9 92c132.957 0 251.507 61.844 328.48 158.462l2.32 2.938 56.4-44.1c5.137-4.05 12.715-0.488 12.993 5.963l0.007 0.237-0.8 180.9c0 5.016-4.74 8.775-9.654 7.755l-0.246-0.055-175.6-43c-6.417-1.58-8.253-9.786-3.2-13.94l0.2-0.16 60.2-47c-8.6-11-17.9-21.5-27.8-31.4-31.6-31.7-68.4-56.5-109.3-73.8-42.3-17.9-87.3-27-133.8-27-46.4 0-91.5 9.1-133.8 27-40.9 17.4-77.7 42.2-109.3 73.8-31.6 31.6-56.4 68.4-73.7 109.4-17.9 42.4-27 87.4-27 133.9s9.1 91.5 27 133.9c17.3 41 42.1 77.8 73.7 109.4 31.6 31.7 68.4 56.5 109.3 73.8 42.3 17.9 87.3 27 133.8 27 46.4 0 91.5-9.1 133.8-27 40.9-17.4 77.7-42.2 109.3-73.8 31.6-31.6 56.4-68.4 73.7-109.4 2.1-4.9 4.1-9.9 5.9-14.9 0.108-0.296 0.232-0.581 0.37-0.856C849.385 613.353 864.5 601 882.5 601c21.263 0 38.5 17.237 38.5 38.5a38.32 38.32 0 0 1-6.188 20.94C854.787 819.158 701.492 932 521.9 932 289.8 932 101.7 743.7 102 511.5 102.3 279.5 290 92 521.9 92zM514 280c17.673 0 32 14.327 32 32v225.126l126.248 88.4c14.477 10.137 17.996 30.09 7.859 44.567-10.137 14.477-30.09 17.996-44.568 7.859l-127.787-89.478a32.114 32.114 0 0 1-5.258-4.605C490.506 579.249 482 567.618 482 554V312c0-17.673 14.327-32 32-32z" ></path></symbol><symbol id="icon-hot" viewBox="0 0 1024 1024"><path d="M236.8512 392.0384s-34.304 179.9168 93.1328 274.9952c62.7712-112.4352 164.7104-137.5232 164.7104-137.5232s60.1088 183.1936 162.0992 208.7424c88.8832-39.8336 198.656-137.0112 218.2656-212.6336 14.1824 107.52 71.936 237.9264-232.6528 397.5168-86.1184-70.0416-166.0416-185.7536-172.544-228.7616-13.5168 116.5824-9.1648 207.7184 31.3856 248.3712-87.6032 14.4896-276.7872-65.3312-332.544-221.4912s68.1472-329.216 68.1472-329.216z" fill="#ffa115" ></path><path d="M791.04 327.7824a30.68928 30.68928 0 0 0-23.1424-10.5472h-0.1024c-8.9088 0-17.3568 3.9424-23.1936 10.7008l-5.4272 6.2976c-11.3152 13.2096-20.7872 24.2176-29.5424 33.8944 4.0448-24.7296 4.7616-51.9168-1.024-80.9984-16.64-83.5584-80.7936-159.7952-196.1472-233.0624-8.0384-5.12-18.0224-6.1952-26.9312-2.9184-8.96 3.2256-15.872 10.4448-18.7904 19.5584-0.3584 1.024-36.6592 111.616-159.1296 214.4768-140.5952 118.1184-201.216 197.4784-188.672 355.3792 13.056 164.0448 158.5664 332.8512 379.6992 332.8512h2.7648c10.7008-0.0512 20.6336-5.7344 26.1632-14.9504s5.8368-20.6336 0.8192-30.1056c-27.4432-52.1728-39.936-88.0128-41.8304-125.5936 33.8432 61.184 79.9744 120.32 143.4112 148.3776 6.7584 3.0208 14.3872 3.4304 21.4528 1.28 40.1408-12.3392 212.2752-97.024 258.048-257.536 32.9728-115.5072-6.8608-239.0528-118.4256-367.104z m59.3408 350.3104c-34.9184 122.4192-162.2016 193.1776-206.336 211.6608-54.3232-29.2864-100.9152-95.5392-145.7152-206.848a30.67392 30.67392 0 0 0-30.8224-19.1488 30.6688 30.6688 0 0 0-27.5456 23.6544c-20.5824 88.064-22.8352 141.9776 10.9568 221.44-158.5664-21.6064-260.8128-148.992-270.6944-273.1008-10.3424-129.8944 34.7648-192.4096 166.912-303.4624 92.5696-77.824 140.9024-159.9488 162.8672-206.08 188.6208 132.4544 143.9744 238.1312 113.9712 309.1968-2.2016 5.1712-4.2496 10.0864-6.144 14.7456a30.76096 30.76096 0 0 0 8.96 35.2256c10.3424 8.5504 25.0368 9.3184 36.3008 2.048 49.2544-32.0512 71.2704-53.9648 104.3456-91.904 79.7184 101.12 107.6224 196.0448 82.944 282.5728z" fill="#474A54" ></path><path d="M429.4144 330.496c-0.5632 0.512-57.8048 53.4016-117.1968 107.6224-65.536 59.8016-105.8304 187.2896-58.9824 274.5856a30.63296 30.63296 0 0 0 27.0848 16.1792c4.9152 0 9.8816-1.1776 14.4896-3.6352 14.9504-8.0384 20.5312-26.6752 12.544-41.6256-29.2352-54.4768-6.7584-151.7056 46.2848-200.1408C413.1328 429.1584 470.528 376.1664 471.0912 375.6032a30.78656 30.78656 0 0 0 1.7408-43.4176 30.74048 30.74048 0 0 0-43.4176-1.6896z" fill="#474A54" ></path></symbol><symbol id="icon-label" viewBox="0 0 1024 1024"><path d="M943.45 208.26L815.74 80.55a56.508 56.508 0 0 0-44.89-16.33L560.48 82.68a56.478 56.478 0 0 0-35.01 16.33L80.55 543.93c-22.07 22.07-22.07 57.84 0 79.9l319.62 319.62c22.07 22.07 57.84 22.07 79.9 0l444.92-444.92a56.503 56.503 0 0 0 16.33-35.01l18.46-210.37a56.508 56.508 0 0 0-16.33-44.89z" fill="#8C9EFF" ></path><path d="M739.76 284.24m-84 0a84 84 0 1 0 168 0 84 84 0 1 0-168 0Z" fill="#FFFFFF" ></path><path d="M440.04 792m-28 0a28 28 0 1 0 56 0 28 28 0 1 0-56 0Z" fill="#FFD600" ></path></symbol><symbol id="icon-browse" viewBox="0 0 1024 1024"><path d="M997 435.6c-28.2-36.7-65.4-81.4-107.4-122.2-54.6-53.2-110.5-95.6-166.1-126.3-71.2-39.2-142-59.1-210.7-59.1s-139.6 19.9-210.7 59.1c-55.5 30.7-111.4 73.1-166.1 126.3-42 40.8-79.3 85.5-107.5 122.1-34.8 45.3-34.8 107.8 0 153.1 28.2 36.7 65.4 81.4 107.4 122.2C190.5 764 246.5 806.4 302 837.1c71.2 39.2 142.1 59.1 210.7 59.1 68.7 0 139.6-19.9 210.8-59 55.5-30.7 111.4-73.1 166.1-126.3 42-40.8 79.3-85.6 107.4-122.2 34.8-45.3 34.8-107.8 0-153.1z m-37.3 99c-66.2 89-243.8 299-446.8 299-57.5 0-117.7-17.1-179-50.8-50.5-27.7-101.7-66.6-152.2-115.6-51.1-49.5-91-99.5-115.7-132.6-10-13.5-10-31.6 0-44.9 66.1-89 243.7-299 446.8-299 57.5 0 117.6 17.1 179 50.8 50.5 27.7 101.7 66.6 152.2 115.6 51.1 49.5 91 99.5 115.7 132.6 9.9 13.4 9.9 31.6 0 44.9z" ></path><path d="M512 321.7c-105.7 0-191.6 86-191.6 191.6 0 105.7 86 191.6 191.6 191.6s191.6-86 191.6-191.6c0-105.7-86-191.6-191.6-191.6z m0 319.2c-70.3 0-127.6-57.2-127.6-127.6S441.7 385.7 512 385.7s127.6 57.2 127.6 127.6S582.3 640.9 512 640.9z" ></path></symbol><symbol id="icon-like" viewBox="0 0 1024 1024"><path d="M598.354747 67.542626c-48.148687 0-90.130101 32.905051-98.960808 79.437576 0 0-14.312727 72.882424-21.798787 99.090101-12.308687 43.196768-55.363232 90.944646-86.522829 106.188283-23.531313 11.636364-110.99798 11.765657-116.350707 11.765656H155.707475c-32.762828 0-59.384242 26.479192-59.384243 59.384243v475.022222c0 32.762828 26.479192 59.384242 59.384243 59.384242h548.033939c88.126061 0 163.025455-64.452525 176.135758-151.647676l45.873131-305.713132c10.834747-71.809293-44.8-136.274747-117.423838-136.274747H673.254141s20.066263-66.469495 30.228687-178.669899c5.081212-56.837172-35.167677-110.99798-94.280404-117.152323-3.620202-0.54303-7.227475-0.814545-10.847677-0.814546zM333.705051 898.288485V421.533737c38.917172-2.534141 66.999596-8.016162 83.574949-16.316767 43.726869-21.669495 99.633131-81.040808 117.281616-143.088485 7.899798-27.681616 21.39798-96.155152 23.001212-104.184243 3.47798-17.92 20.596364-31.159596 40.649697-31.159596 1.603232 0 3.206465 0.129293 4.822627 0.271516 28.211717 2.947879 43.326061 29.698586 41.32202 52.686868-9.360808 103.912727-27.823838 166.503434-28.082425 166.904243l-23.130505 76.489697h215.182223c17.519192 0 33.564444 7.356768 45.071515 20.596363 11.507071 13.239596 16.316768 30.228687 13.640404 47.618586L821.294545 797.052121c-8.830707 58.569697-58.181818 101.094141-117.423838 101.094142h-370.165656v0.142222z m-177.997576 0v-475.022222h118.626262v475.022222H155.707475z m0 0" ></path></symbol></svg>',i=(i=document.getElementsByTagName("script"))[i.length-1].getAttribute("data-injectcss"),d=function(l,a){a.parentNode.insertBefore(l,a)};if(i&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(l){console&&console.log(l)}}function z(){p||(p=!0,t())}function M(){try{c.documentElement.doScroll("left")}catch(l){return void setTimeout(M,50)}z()}a=function(){var l,a;(a=document.createElement("div")).innerHTML=F,F=null,(l=a.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",a=l,(l=document.body).firstChild?d(a,l.firstChild):l.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(h=function(){document.removeEventListener("DOMContentLoaded",h,!1),a()},document.addEventListener("DOMContentLoaded",h,!1)):document.attachEvent&&(t=a,c=l.document,p=!1,M(),c.onreadystatechange=function(){"complete"==c.readyState&&(c.onreadystatechange=null,z())})}(window);
\ No newline at end of file
import axios from 'axios';
import qs from 'qs';
import { Message } from 'element-ui';
axios.defaults.withCredentials = true;
// 发送时
axios.interceptors.request.use(
(config) => config,
(err) => Promise.reject(err)
);
// 响应时
axios.interceptors.response.use(
(response) => response,
(err) => Promise.resolve(err.response)
);
// 检查状态码
function checkStatus(res) {
// console.log("log status =>", res);
if (res.status === 200 || res.status === 304) {
return res.data;
}
return {
code: 0,
msg: res.data.msg || res.statusText,
data: res.statusText,
};
}
// 检查CODE值
function checkCode(res) {
// console.log("log code =>", res);
if (res.code === 0) {
Message({
message: res.msg,
type: 'error',
duration: 2 * 1000,
});
throw new Error(res.msg);
}
return res;
}
const prefix = '/client_api';
export default {
get(url, params) {
if (!url) return;
return axios({
method: 'get',
url: prefix + url,
params,
timeout: 30000,
})
.then(checkStatus)
.then(checkCode);
},
post(url, data) {
if (!url) return;
return axios({
method: 'post',
url: prefix + url,
data: qs.stringify(data),
timeout: 30000,
})
.then(checkStatus)
.then(checkCode);
},
};
<template>
<div class="detail-content" v-loading="loading">
<div class="detail-body">
<div class="detail-title">{{ blogInfo.title }}</div>
<div class="detail-func">
<div class="func-icon">
<Icon name="icon-date02"></Icon>
<div class="box-text">
{{ blogInfo.releaseTime | formatTime("yyyy-MM-dd") }}
</div>
</div>
<div class="func-icon">
<Icon name="icon-browse02"></Icon>
<div class="box-text">{{ blogInfo.pv | formatNumber() }}</div>
</div>
<div class="func-icon" v-if="blogInfo.auth">
<Icon name="icon-laborer"></Icon>
<div class="box-text">
{{ blogInfo.auth }}
</div>
</div>
</div>
<div class="detail-main fmt" v-html="blogHtml"></div>
<div class="detail-label">
标签:
<div
class="box-text label-text"
:style="{ backgroundColor: getLabelColor(label) }"
v-for="label in blogInfo.type"
@click="$router.push(`/label/${label}`)"
:key="label"
>
{{ label }}
</div>
</div>
<div class="detail-page" v-if="count > 2">
<div class="page-common page-pre" @click="goto(preInfo._id)">
上一篇&nbsp;&nbsp;&nbsp;&nbsp;<span> {{ preInfo.title }}</span>
</div>
<div class="page-common page-next" @click="goto(nextInfo._id)">
<span>{{ nextInfo.title }}</span
>&nbsp;&nbsp;&nbsp;&nbsp;下一篇
</div>
</div>
</div>
</div>
</template>
<script>
import { apiGetBlogList, apiUpdatePV } from "api/blog";
import label from "src/mixins/label";
export default {
name: "detailContent",
mixins: [label],
components: {},
props: {},
computed: {},
data() {
return {
loading: false,
blogHtml: "",
id: "",
blogInfo: {},
preInfo: {},
nextInfo: {},
query: {},
pageindex: 1,
pagesize: 8,
currentIndex: 0,
count: 0,
};
},
watch: {
$route: {
handler(to, from) {
this.id = to.params.id;
this.query = to.query;
this.updatePV();
this.getBlogList();
},
deep: true,
immediate: true,
},
},
created() {},
mounted() {},
beforeDestroy() {},
methods: {
goto(id) {
this.$router.push({ path: `/article/detail/${id}`, query: this.query });
},
getBlogList() {
this.loading = true;
return apiGetBlogList(this.query)
.then((res) => {
let { list } = res.data;
this.count = list.length;
this.blogInfo = list.filter((item, index) => {
if (item._id === this.id) {
this.currentIndex = index;
return item;
}
})[0];
this.blogHtml = this.blogInfo.html.replace(
/<a /gi,
`<a target='_blank'`
);
let preIndex = !this.currentIndex
? list.length - 1
: this.currentIndex - 1;
let nextIndex =
this.currentIndex === list.length - 1 ? 0 : this.currentIndex + 1;
this.preInfo = list[preIndex];
this.nextInfo = list[nextIndex];
})
.catch((err) => {
console.log(err);
})
.finally(() => {
this.loading = false;
});
},
updatePV() {
return apiUpdatePV({ _id: this.id })
.then((res) => {})
.catch((err) => {
console.log(err);
})
.finally(() => {});
},
},
};
</script>
<style lang="less" scoped>
.detail-content {
width: 70%;
background-color: #fff;
margin-top: 20px;
padding: 24px;
.detail-body {
.detail-title {
display: block;
font-size: 24px;
font-weight: bold;
text-align: center;
color: rgb(51, 51, 51);
}
.detail-func {
display: flex;
justify-content: center;
align-items: center;
padding: 20px 0 30px;
position: relative;
&::after {
content: "";
height: 1px;
width: 100%;
background-color: @cuttingLineColor;
position: absolute;
bottom: 20px;
}
.func-icon {
color: @assistColor;
display: flex;
align-items: center;
margin-right: 24px;
.box-text {
padding-left: 6px;
position: relative;
top: 1px;
}
}
}
.detail-main {
margin-bottom: 50px;
}
.detail-label {
display: flex;
align-items: center;
margin-bottom: 24px;
color: @assistColor;
svg {
font-size: 18px;
}
.box-text {
padding-left: 6px;
position: relative;
top: 2px;
}
.label-text {
padding: 4px 10px;
color: #fff;
margin-left: 8px;
border-radius: 12px;
font-size: 14px;
top: 0;
cursor: pointer;
&:hover {
border-radius: 0;
transition: 1s ease all;
}
}
}
.detail-page {
display: flex;
align-items: center;
padding-top: 24px;
position: relative;
&::before {
content: "";
height: 1px;
width: 100%;
background-color: @cuttingLineColor;
position: absolute;
top: 0;
}
.page-common {
color: @assistColor;
position: relative;
cursor: pointer;
display: flex;
align-items: center;
span {
color: @mainColor;
font-weight: bold;
font-size: 20px;
max-width: 220px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
}
.page-pre {
padding-left: 16px;
flex: 1;
&::before {
content: "";
width: 10px;
height: 10px;
border-left: 1px solid @assistColor;
border-bottom: 1px solid @assistColor;
transform: rotate(45deg);
position: absolute;
top: 3px;
left: 0;
}
}
.page-next {
text-align: right;
padding-right: 16px;
&::after {
content: "";
width: 10px;
height: 10px;
border-right: 1px solid @assistColor;
border-top: 1px solid @assistColor;
transform: rotate(45deg);
position: absolute;
top: 3px;
right: 0;
}
}
}
}
}
</style>
<template>
<div class="home-wrapper">
<div class="home-body">
<router-view></router-view>
<div class="side-wrapper">
<side-article :sideClassify="BROWSE_STATUS"></side-article>
<side-article
:sideClassify="RECOMMEND_STATUS"
:class="{ 'side-sticky': showSide && showSticky }"
></side-article>
<label-classify
:class="[showSide && showSticky ? 'label-sticky' : 'side-sticky']"
></label-classify>
</div>
</div>
</div>
</template>
<script>
import SideArticle from "components/sideArticle";
import { BROWSE_STATUS, RECOMMEND_STATUS } from "src/constant/side";
import DetailContent from "./components/detailContent";
import LabelClassify from "components/labelClassify";
export default {
name: "labelComponent",
components: {
SideArticle,
DetailContent,
LabelClassify,
},
props: {},
computed: {},
data() {
return {
BROWSE_STATUS,
RECOMMEND_STATUS,
scrollTop: 0,
showSticky: false,
showSide: true,
};
},
watch: {},
created() { },
mounted() {
const clientHeight = document.documentElement.clientHeight;
this.showSide = clientHeight > 840; // 840 = 665 + 170(label分类高度) + 之间间距
window.addEventListener("scroll", this.handleScroll);
},
beforeDestroy() {
window.removeEventListener("scroll", this.handleScroll);
},
methods: {
handleScroll() {
this.scrollTop =
document.documentElement.scrollTop || document.body.scrollTop;
this.showSticky = this.scrollTop > 665; // 665是一个side-article组件的高度
},
},
};
</script>
<style lang="less" scoped>
.side-sticky {
position: sticky;
top: 0;
}
.label-sticky {
position: sticky;
top: 665px;
}
</style>
<template>
<div class="blog-wrapper" v-loading="loading">
<div class="blog-list" v-if="total > 0">
<div v-for="item in blogList" :key="item._id" class="list-item">
<div class="item-content">
<div class="item-img">
<img v-lazy="item.fileCoverImgUrl" @click="goto(item._id)" />
</div>
<div class="content-box">
<div class="content-title" @click="goto(item._id)">
{{ item.title }}
</div>
<div class="content-desc">
{{ item.desc }}
</div>
</div>
</div>
<div class="item-footer">
<div class="item-func">
<div class="func-box">
<Icon name="icon-date02"></Icon>
<div class="box-text">
{{ item.releaseTime | formatTime("yyyy-MM-dd") }}
</div>
</div>
<div
class="func-box likes"
:class="{ 'icon-likes': getLikesColor(item._id) }"
@click="handleLikes(item._id)"
>
<Icon name="icon-like02"></Icon>
<div class="box-text">
{{ getLikesNumber(item._id, item.likes) | formatNumber() }}
</div>
</div>
<div class="func-box">
<Icon name="icon-browse02"></Icon>
<div class="box-text">{{ item.pv | formatNumber() }}</div>
</div>
<div class="func-box">
<Icon name="icon-label01"></Icon>
<div
class="box-text label-text"
:style="{ backgroundColor: getLabelColor(label) }"
v-for="label in item.type"
@click="$router.push(`/label/${label}`)"
:key="label"
>
{{ label }}
</div>
</div>
</div>
<div class="item-read" @click="goto(item._id)">阅读全文>></div>
</div>
</div>
</div>
<NoneData v-else-if="!total"></NoneData>
<Paging
:page-index="pageindex"
:total="total"
:page-size="pagesize"
@change="pageChange"
></Paging>
</div>
</template>
<script>
import { apiGetBlogList } from "api/blog";
import like from "src/mixins/like";
import label from "src/mixins/label";
export default {
mixins: [like, label],
data() {
return {
loading: false,
blogList: [],
pageindex: 1,
pagesize: 8,
total: -1,
};
},
computed: {},
watch: {},
created() {
this.getBlogList();
},
mounted() {
},
methods: {
goto(id) {
this.$router.push({
path: `/article/detail/${id}`,
query: {
pageindex: this.pageindex,
pagesize: this.pagesize,
},
});
},
pageChange(page) {
this.pageindex = page;
document.documentElement.scrollTop = document.body.scrollTop = 0;
this.getBlogList();
},
getBlogList() {
let params = {
pageindex: this.pageindex,
pagesize: this.pagesize,
};
this.loading = true;
return apiGetBlogList(params)
.then((res) => {
let { list, total } = res.data;
this.blogList = list;
this.total = total;
})
.catch((err) => {
console.log(err);
})
.finally(() => {
this.loading = false;
});
},
},
};
</script>
<style lang="less" scoped>
.blog-wrapper {
width: 70%;
margin-top: 20px;
.blog-list {
margin-bottom: 30px;
.list-item {
padding: 20px;
border-radius: 12px;
background-color: #fff;
margin-bottom: 16px;
position: relative;
transition: box-shadow 0.4s;
box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.08);
&:hover {
box-shadow: 5px 15px 30px 5px rgba(0, 0, 0, 0.15);
}
&:hover .item-content .content-box .content-title {
color: green;
}
&:hover img {
transform: scale(1.2);
}
.item-content {
display: flex;
align-items: flex-start;
.item-img {
width: 240px;
height: 160px;
margin-right: 16px;
overflow: hidden;
img {
width: 100%;
border-radius: 6px;
height: 100%;
object-fit: cover;
cursor: pointer;
transition: all 0.4s linear;
}
}
.content-box {
flex: 1;
.content-title {
color: @thinColor;
font-size: 24px;
font-weight: bold;
margin-bottom: 10px;
&:hover {
cursor: pointer;
}
.ellipsis-line-clamp();
}
.content-desc {
color: @assistColor;
line-height: 28px;
.ellipsis-line-clamp(4);
}
}
}
.item-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 24px;
.item-func {
display: flex;
align-items: center;
.func-box {
display: flex;
align-items: center;
padding-right: 24px;
color: @assistColor;
svg {
font-size: 18px;
}
.box-text {
padding-left: 6px;
position: relative;
top: 2px;
}
.label-text {
padding: 4px 10px;
color: #fff;
margin-left: 8px;
border-radius: 12px;
font-size: 14px;
top: 0;
cursor: pointer;
&:hover {
border-radius: 0;
transition: 1s ease all;
}
}
}
.likes {
&:hover {
cursor: pointer;
}
}
.icon-likes {
color: #dfa400;
}
}
.item-read {
color: @thinHighlightColor;
&:hover {
cursor: pointer;
}
}
}
}
}
}
</style>
\ No newline at end of file
<template>
<div class="blog-classify" v-loading="loading">
<div class="list-title">
<Icon name="icon-label01"></Icon>
<span v-html="getTitle"></span>
</div>
<div class="blog-list" v-if="total > 0">
<div class="list-item" v-for="item in blogList" :key="item._id">
<div class="item-img">
<img v-lazy="item.fileCoverImgUrl" @click="goto(item._id)" />
</div>
<div class="item-title" v-html="getKeywordHighlight(item.title)"></div>
<div class="item-desc" v-html="getKeywordHighlight(item.desc)"></div>
<div class="item-label">
<div class="label-title">标签:</div>
<div class="label-box">
<div
class="box-text label-text"
:style="{ backgroundColor: getLabelColor(label) }"
v-for="label in item.type"
@click="$router.push(`/label/${label}`)"
:key="label"
>
{{ label }}
</div>
</div>
</div>
<div class="item-footer">
<div class="footer-text" @click="goto(item._id)">+ 文章阅读</div>
<div class="footer-box">
<div
class="footer-icon likes"
@click="handleLikes(item._id)"
:class="{ 'icon-likes': getLikesColor(item._id) }"
>
<Icon name="icon-like02"></Icon>
<div class="box-text">
{{ getLikesNumber(item._id, item.likes) | formatNumber() }}
</div>
</div>
<div class="footer-icon">
<Icon name="icon-browse02"></Icon>
<div class="box-text">{{ item.pv | formatNumber() }}</div>
</div>
</div>
</div>
</div>
</div>
<NoneData v-else-if="!total"></NoneData>
<Paging
:page-index="pageindex"
:total="total"
:page-size="pagesize"
@change="pageChange"
></Paging>
</div>
</template>
<script>
import { apiGetBlogList } from "api/blog";
import like from "src/mixins/like";
import label from "src/mixins/label";
export default {
name: "blogClassify",
components: {},
props: {},
mixins: [like, label],
computed: {
getTitle({ isQuery, keyword, total }) {
return keyword
? `${isQuery ? "搜索关键词" : "标签分类"}
“<font color="#f75353"> ${keyword} </font>” 的结果,共${total}篇`
: `全部文章,共${total}篇`;
},
// 当选择标签分类时,不展示高亮
getKeywordHighlight({ isQuery, keyword }) {
return (value) =>
isQuery && value.includes(keyword)
? value.replace(
new RegExp(keyword, "g"),
`<font color="#f75353">${keyword}</font>`
)
: value;
},
},
data() {
return {
loading: false,
blogList: [],
pageindex: 1,
pagesize: 6,
total: -1,
isQuery: "", // 用来区分是搜索框、标签搜索场景
keyword: "",
};
},
watch: {
$route: {
handler(to, from) {
this.isQuery = to.query.search;
this.keyword = to.params.keyword;
this.keyword = this.keyword === "all" ? "" : this.keyword;
this.getBlogList();
},
deep: true,
immediate: true,
},
},
created() {
document.documentElement.scrollTop = document.body.scrollTop = 0;
},
mounted() { },
beforeDestroy() { },
methods: {
goto(id) {
this.$router.push({
path: `/article/detail/${id}`,
query: {
keyword: this.keyword,
pageindex: this.pageindex,
pagesize: this.pagesize,
},
});
},
pageChange(page) {
this.pageindex = page;
document.documentElement.scrollTop = document.body.scrollTop = 0;
this.getBlogList();
},
getBlogList() {
let params = {
keyword: this.keyword,
isQuery: this.isQuery,
pageindex: this.pageindex,
pagesize: this.pagesize,
};
this.loading = true;
return apiGetBlogList(params)
.then((res) => {
let { list, total } = res.data;
this.blogList = list;
this.total = total;
})
.catch((err) => {
console.log(err);
})
.finally(() => {
this.loading = false;
});
},
},
};
</script>
<style lang="less" scoped>
.blog-classify {
width: 70%;
background-color: #fff;
margin-top: 20px;
padding-bottom: 30px;
.list-title {
color: @mainColor;
border-bottom: 1px solid #e5e5e5;
padding: 20px 10px;
background-color: #f7f7f7;
font-size: 18px;
position: relative;
&::after {
content: " ";
position: absolute;
height: 2px;
width: 4%;
left: 0;
bottom: -1px;
background: @mainColor;
transition: 2s ease all;
}
&:hover {
&::after {
width: 100%;
}
}
span {
margin-left: 6px;
letter-spacing: 1px;
}
}
.blog-list {
display: flex;
flex-wrap: wrap;
padding: 20px 24px 40px;
.list-item {
width: 33.3%;
height: 384px;
padding: 20px;
border-bottom: 1px solid #eee;
border-left: 1px solid #eee;
position: relative;
transition: box-shadow 0.4s;
box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.08);
&:hover {
box-shadow: 5px 15px 30px 5px rgba(0, 0, 0, 0.15);
}
&:hover img {
transform: scale(1.2);
}
&:hover .item-footer .footer-text {
color: green;
}
.item-img {
height: 160px;
overflow: hidden;
cursor: pointer;
img {
width: 100%;
height: 100%;
object-fit: cover;
cursor: pointer;
border-radius: 4px;
transition: all 0.5s ease;
}
}
.item-title {
display: block;
width: 100%;
color: @thinColor;
line-height: 24px;
margin: 14px 0 6px;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.item-desc {
color: @assistColor;
line-height: 22px;
font-size: 14px;
.ellipsis-line-clamp(3);
}
.item-label {
display: flex;
align-items: center;
position: absolute;
max-width: 220px;
bottom: 54px;
color: @assistColor;
.label-title {
min-width: 48px;
}
.label-box {
flex: 1;
display: flex;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
.box-text {
padding-left: 6px;
position: relative;
top: 2px;
}
.label-text {
padding: 4px 8px;
color: #fff;
margin-right: 8px;
border-radius: 12px;
font-size: 12px;
top: 0;
cursor: pointer;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
&:last-child {
margin-right: 0;
}
&:hover {
border-radius: 0;
transition: 1s ease all;
}
}
}
}
.item-footer {
display: flex;
justify-content: space-between;
align-items: center;
position: absolute;
left: 20px;
bottom: 20px;
width: 84%;
.footer-text {
color: @thinHighlightColor;
cursor: pointer;
}
.footer-box {
display: flex;
align-items: center;
.footer-icon {
color: @assistColor;
display: flex;
align-items: center;
margin-left: 24px;
.box-text {
padding-left: 6px;
position: relative;
top: 1px;
}
}
.likes {
cursor: pointer;
}
.icon-likes {
color: #dfa400;
}
}
}
}
}
}
</style>
<template>
<div class="intro-container">
<div class="intro-box">
<div class="intro-title">BLOG</div>
<div class="intro-desc">
个人博客 – 个人博客
</div>
</div>
<img src="../../../images/cloud-left.png" class="cloud-left" />
<img src="../../../images/cloud-right.png" class="cloud-right" />
<img src="../../../images/grass-confetti.png" class="grass-confetti" />
</div>
</template>
<script>
export default {
name: "bookCover",
components: {},
props: {},
computed: {},
data() {
return {};
},
watch: {},
created() { },
mounted() { },
beforeDestroy() { },
methods: {},
};
</script>
<style lang="less" scoped>
.intro-container {
background: linear-gradient(to bottom, #c6dde4, #fefeff);
position: relative;
width: 100%;
overflow: hidden;
min-height: 240px;
.intro-box {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
text-align: center;
z-index: 99;
.intro-title {
color: @thinColor;
font-family: lato, sans-serif;
font-size: 3.5em;
letter-spacing: 10px;
margin-top: 0;
margin-bottom: 0;
text-shadow: rgb(198, 221, 228) -1px -1px 1px,
rgb(254, 254, 255) 1px 1px 1px;
margin-bottom: 20px;
}
.intro-desc {
color: @mainColor;
font-size: 1em;
font-weight: 400;
padding: 0.2em 0;
letter-spacing: 5px;
text-transform: capitalize;
margin-top: 0;
margin-bottom: 0;
text-shadow: rgb(198, 221, 228) -1px -1px 1px,
rgb(254, 254, 255) 1px 1px 1px;
}
}
img {
position: absolute;
bottom: 0;
object-fit: contain;
&.cloud-left {
top: 0;
left: 300px;
}
&.cloud-right {
top: 0;
right: 300px;
}
}
}
</style>
<template>
<div class="home-wrapper">
<intro></intro>
<div class="home-body">
<blog></blog>
<div class="side-wrapper">
<myself></myself>
<search :isCache="true"></search>
<label-classify></label-classify>
<side-article :sideClassify="BROWSE_STATUS"></side-article>
<side-article :sideClassify="RECOMMEND_STATUS"></side-article>
</div>
</div>
</div>
</template>
<script>
import Intro from "./components/intro";
import Blog from "./components/blog";
import Myself from "components/myself";
import Search from "components/search";
import LabelClassify from "components/labelClassify";
import SideArticle from "components/sideArticle";
import { BROWSE_STATUS, RECOMMEND_STATUS } from "src/constant/side";
export default {
name: "indexComponent",
components: {
Intro,
Blog,
Myself,
Search,
LabelClassify,
SideArticle,
},
props: {},
computed: {},
data() {
return {
BROWSE_STATUS,
RECOMMEND_STATUS,
};
},
watch: {},
created() { },
mounted() { },
beforeDestroy() { },
methods: {},
};
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<template>
<div class="home-wrapper">
<div class="home-body">
<router-view> </router-view>
<div class="side-wrapper">
<search></search>
<label-classify></label-classify>
<side-article :sideClassify="BROWSE_STATUS"></side-article>
</div>
</div>
</div>
</template>
<script>
import Search from "components/search";
import LabelClassify from "components/labelClassify";
import SideArticle from "components/sideArticle";
import { BROWSE_STATUS } from "src/constant/side";
export default {
name: "labelComponent",
components: {
Search,
LabelClassify,
SideArticle,
},
props: {},
computed: {},
data() {
return {
BROWSE_STATUS,
};
},
watch: {},
created() {},
mounted() {},
beforeDestroy() {},
methods: {},
};
</script>
<style lang="less" scoped>
</style>
<template>
<div class="comment-editor" ref="container">
<div class="input-wrapper">
<input-box
ref="inputBox"
@keyup.enter.ctrl.exact.native="handlerSubmit"
v-model="inputContent"
placeholder="说点什么吧......"
class="input-box"
>
</input-box>
</div>
<div class="footer-action">
<emoji-picker
trigger-pick="click"
@activated="$refs.inputBox.focus()"
@selected="handlerEmojiSelected"
></emoji-picker>
<input
type="text"
placeholder="你的昵称"
v-model="nickname"
maxlength="10"
/>
<span class="submit-tiptext">Ctrl + Enter</span>
<div
@click="handlerSubmit"
class="submit-button"
:disabled="!inputContent"
>
提交
</div>
</div>
</div>
</template>
<script>
import InputBox from "./inputBox";
import EmojiPicker from "./emojiPicker";
import { colorList } from "src/constant/headerColor";
export default {
name: "comment-editor",
components: { InputBox, EmojiPicker },
data() {
return {
inputContent: "",
nickname: "",
};
},
props: {},
computed: {},
destroyed() {},
mounted() {},
methods: {
handlerSubmit() {
let params = {
content: this.inputContent,
nickname: this.nickname,
createTime: new Date().getTime() + "",
headerColor: colorList[Math.floor(Math.random() * 7)],
};
this.$emit("submit", params);
},
handlerEmojiSelected(e) {
this.$refs.inputBox.focus();
const clonedNode = e.target.cloneNode(true);
clonedNode.style.verticalAlign = "text-top";
document.execCommand("insertHTML", false, clonedNode.outerHTML);
},
handleReset() {
this.$refs.inputBox.reset();
this.inputContent = "";
this.nickname = "";
},
},
};
</script>
<style scoped lang="less">
.comment-editor {
width: 100%;
padding: 24px 20px;
.input-wrapper {
&.inline {
display: flex;
.input-box {
flex: 1;
margin-right: 14px;
}
}
}
.footer-action {
margin-top: 10px;
display: flex;
align-items: center;
input {
margin-left: auto;
margin-right: 24px;
height: 32px;
border: none;
border: 1px solid @borderBoldColor;
border-radius: 20px;
padding-left: 12px;
outline: none;
&::placeholder {
color: @borderBoldColor;
}
}
.submit-tiptext {
margin-right: 4px;
font-size: 14px;
color: @borderBoldColor;
}
.submit-button {
align-self: flex-end;
transition: all 0.2s;
background: #409eff;
border-radius: 4px;
display: inline-block;
cursor: pointer;
padding: 6px 10px;
color: white;
user-select: none;
&.button-enter,
&.button-leave-to {
// zoom:0;
margin-left: -40px;
transform: scale(0, 0);
}
&[disabled] {
cursor: not-allowed;
background: #66b1ff;
}
&:hover {
background: #66b1ff;
}
&:not([disabled]):active {
background: #3a8ee6;
}
}
}
}
</style>
\ No newline at end of file
<template>
<div class="comment-main">
<div class="side-title">
<Icon name="icon-comment"></Icon>
<span>{{ total }}</span
>条评论, <span>{{ replyCount }}</span
>条回复
</div>
<div class="comment-item" v-for="item in commentList" :key="item._id">
<div class="comment-part">
<div class="item-img">
<Icon name="icon-user03" :style="{ color: item.headerColor }"></Icon>
</div>
<div class="item-box">
<div class="box-title">
{{ item.nickname }}
<span>{{ item.createTime | formatTime("yyyy-MM-dd hh:mm") }}</span>
</div>
<div class="box-content" v-html="item.content"></div>
<div class="item-icon">
<div
class="box-icon"
:class="{ 'icon-likes': getLikesColor(item._id) }"
@click="handleLikes(item._id)"
>
<Icon name="icon-like02"></Icon>
<span
>{{ getLikesNumber(item._id, item.likes) | formatNumber() }}
</span>
</div>
<div class="box-icon" @click="handleCilckReply(item)">
<Icon name="icon-reply02"></Icon>
<span>{{ getReplyBox(item._id) ? "取消" : "回复" }}</span>
</div>
</div>
<comment-editor
v-show="getReplyBox(item._id)"
ref="editor"
@submit="handleReply"
></comment-editor>
</div>
</div>
<template v-if="item.replyList && item.replyList.length">
<reply-item
v-for="(reply, index) in item.replyList"
:key="reply._id + index"
:byReplyUser="reply.byReplyUser"
:replyContent="reply.replyContent"
:replyTime="reply.replyTime"
:replyHeaderColor="reply.replyHeaderColor"
:replyUser="reply.replyUser"
></reply-item>
</template>
</div>
</div>
</template>
<script>
import { apiUpdateLikes, apiUpdateReplys } from "api/message";
import CommentEditor from "./commentEditor";
import ReplyItem from "./replyItem";
import { colorList } from "src/constant/headerColor";
export default {
name: "commentItem",
components: { CommentEditor, ReplyItem },
props: {
commentList: {
type: Array,
default: () => [],
},
total: {
type: Number,
default: 0,
},
replyCount: {
type: Number,
default: 0,
},
},
computed: {
getLikesNumber({ likeList }) {
return (id, likes) => (likeList.includes(id) ? likes + 1 : likes);
},
getLikesColor({ likeList }) {
return (id) => likeList.includes(id);
},
getReplyBox({ currentId, isReply }) {
return (id) => currentId === id && isReply;
},
},
data() {
return {
currentId: "", // 当前id
byReplyUser: "", // 当前被回复用户
isLike: false, // 是否点赞
isReply: false, // 是否回复
likeList: [],
};
},
watch: {},
created() {},
mounted() {},
beforeDestroy() {},
methods: {
// 点赞
handleLikes(id) {
if (this.likeList.includes(id)) {
this.isLike = true;
this.likeList.splice(this.likeList.indexOf(id), 1);
} else {
this.isLike = false;
this.likeList.push(id);
}
this.currentId = id;
return apiUpdateLikes({ _id: id, isLike: this.isLike })
.then((res) => {})
.catch((err) => {
console.log(err);
})
.finally(() => {});
},
handleCilckReply(item) {
this.currentId = item._id;
this.byReplyUser = item.nickname;
this.isReply = !this.isReply;
},
handleReply(reply) {
let params = {
_id: this.currentId,
replyTime: new Date().getTime() + "",
replyContent: reply.content,
replyUser: reply.nickname,
byReplyUser: this.byReplyUser,
byReplyUser: this.byReplyUser,
replyHeaderColor: colorList[Math.floor(Math.random() * 7)],
};
return apiUpdateReplys(params)
.then((res) => {
this.isReply = false;
this.likeList = [];
this.$emit("success");
})
.catch((err) => {
console.log(err);
})
.finally(() => {});
},
},
};
</script>
<style lang="less" scoped>
.comment-main {
padding: 20px;
width: 70%;
margin: 0 auto;
// border: 1px solid @borderColor;
// border-radius: 6px;
.side-title {
font-size: 14px;
margin-bottom: 30px;
svg {
font-size: 20px;
}
&::after {
background: @warningColor;
width: 19.5%;
}
&:hover {
&::after {
width: 100%;
}
}
span {
color: @warningColor;
margin-right: 4px;
font-weight: bold;
}
}
.comment-item {
position: relative;
padding-bottom: 10px;
&::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background-color: @borderColor;
}
.comment-part {
display: flex;
align-items: flex-start;
padding: 20px 0 10px;
.item-img {
padding-right: 24px;
svg {
font-size: 32px;
}
img {
height: 42px;
width: 42px;
object-fit: cover;
border-radius: 50%;
}
}
.item-box {
flex: 1;
.box-title {
color: @mainColor;
font-size: 14px;
font-weight: bold;
span {
font-size: 12px;
color: @borderBoldColor;
font-weight: 500;
}
}
.box-content {
font-size: 14px;
color: @thinColor;
line-height: 24px;
margin-top: 10px;
}
.item-icon {
display: flex;
align-items: center;
justify-content: flex-end;
cursor: pointer;
.box-icon {
display: flex;
justify-content: flex-end;
color: @assistColor;
padding-left: 24px;
svg {
margin-right: 6px;
font-size: 18px;
}
span {
position: relative;
top: 1px;
}
}
.icon-likes {
color: #dfa400;
}
}
}
}
}
}
</style>
<template>
<div
@keyup.esc="hidePicker"
ref="container"
class="emoji-wrapper"
hidefocus="true"
v-on="handleMouse()"
>
<span class="emoji-button" @click.stop="togglePickerVisibility">
<img
:class="{ inactive: !pickerVisible }"
class="button-icon"
src="../../../images/emoji/icon.svg"
width="20"
height="20"
alt
/>
<span v-if="buttonTextVisible" class="button-text">表情</span>
</span>
<ul :class="['emoji-picker', pickerPosition]" v-if="pickerVisible">
<li v-for="(url, key) in files" :key="key" class="emoji-picker-item">
<img
class="emoji-icon"
@click="handlerSelect"
width="20"
height="20"
:src="url"
alt
/>
</li>
</ul>
</div>
</template>
<script>
const requireEmoji = require.context("../../../images/emoji");
let files = requireEmoji.keys();
export default {
data() {
return {
pickerVisible: false,
files: files.map((url) =>
require(`../../../images/emoji/${url.slice(2)}`)
),
};
},
props: {
buttonTextVisible: {
type: Boolean,
default: true,
},
triggerPick: {
tyep: String,
default: "hover",
validator(value) {
return ["hover", "click"].includes(value);
},
},
pickerPosition: {
type: String,
default: "right",
validator(value) {
return ["left", "middle", "right"].includes(value);
},
},
},
watch: {
pickerVisible(newValue) {
newValue ? this.$emit("activated") : this.$emit("inactivated");
},
},
mounted() {
const docHandleClick = (this.docHandleClick = (e) => {
if (!this.$refs.container.contains(e.target)) {
this.hidePicker();
}
});
const handleKeyup = (this.handleKeyup = (e) => {
if (e.key === "Escape") {
this.hidePicker();
}
});
document.addEventListener("click", docHandleClick);
document.addEventListener("keyup", handleKeyup);
},
destroyed() {
document.removeEventListener("click", this.docHandleClick);
document.removeEventListener("click", this.handleKeyup);
},
methods: {
handlerSelect(e) {
this.$emit("selected", e);
},
hidePicker() {
this.pickerVisible = false;
},
togglePickerVisibility() {
if (this.triggerPick === "click") {
this.pickerVisible = !this.pickerVisible;
}
},
handleMouse() {
const mouseenter = function () {
this.pickerVisible = true;
}.bind(this);
const mouseleave = function () {
this.pickerVisible = false;
}.bind(this);
if (this.triggerPick === "hover") {
return {
mouseenter,
mouseleave,
};
} else {
return {};
}
},
},
};
</script>
<style scoped lang="less">
.emoji-picker {
display: flex;
flex-wrap: wrap;
width: 300px;
}
.emoji-picker-item {
margin: 4px;
cursor: pointer;
img {
user-select: none;
}
}
.emoji-wrapper {
position: relative;
display: inline-block;
z-index: 1000;
}
.emoji-button {
font-size: 14px;
cursor: pointer;
user-select: none;
display: flex;
justify-content: center;
align-items: center;
.button-icon {
margin-right: 6px;
&.inactive {
filter: grayscale(100%);
}
}
&:hover {
color: #027fff;
}
.button-text {
vertical-align: super;
}
}
.emoji-picker {
background: #fff;
box-shadow: @borderBoldColor 1px 1px 7px;
border-radius: 5px;
padding: 10px;
display: flex;
position: absolute;
&.left {
right: 0;
}
&.middle {
left: 50%;
transform: translateX(-50%);
}
}
</style>
\ No newline at end of file
<template>
<div type="text" class="input-box-wrapper">
<div
class="content textarea"
ref="richText"
v-on="listeners"
v-bind="$attrs"
:contenteditable="true"
></div>
<div class="append-wrapper">
<slot name="append"></slot>
</div>
</div>
</template>
<script>
export default {
name: "input-box",
props: {},
data() {
return {};
},
computed: {
listeners() {
return Object.assign({}, this.$listeners, {
input: function (e) {
const inputContent = e.target.innerHTML;
this.$emit("input", inputContent);
}.bind(this),
});
},
},
mounted() {},
methods: {
focus() {
this.$refs.richText.focus();
},
reset() {
this.$refs.richText.innerHTML = "";
},
},
};
</script>
<style scoped lang="less">
.input-box-wrapper {
position: relative;
}
.content {
max-height: 200px;
overflow: auto;
&::-webkit-scrollbar {
width: 0;
}
&.textarea {
min-height: 100px;
}
&.text {
min-height: 80px;
}
&:empty:before {
content: attr(placeholder);
color: @borderBoldColor;
position: absolute;
left: 10px;
top: 7px;
}
&.focused {
border: #66b1ff 1px solid;
cursor: text;
}
&:focus {
outline: none;
}
border: 1px solid @borderBoldColor;
border-radius: 3px;
padding: 7px 10px;
padding-right: 30px;
position: relative;
}
.append-wrapper {
position: absolute;
right: 1px;
top: 1px;
bottom: 1px;
display: flex;
cursor: pointer;
align-items: center;
}
</style>
\ No newline at end of file
<template>
<div class="reply-item">
<Icon
name="icon-user02"
:style="{ color: replyHeaderColor }"
class="item-img"
></Icon>
<div class="reply-box">
<div class="box-content">
<div class="reply-user">
<span class="reply-name">{{ replyUser }}</span>
<span class="by-reply-name">@ {{ byReplyUser }}:</span>
</div>
<div v-html="replyContent" class="reply-content"></div>
</div>
<div class="reply-date">
{{ replyTime | formatTime("yyyy-MM-dd hh:mm:ss") }}
</div>
</div>
</div>
</template>
<script>
export default {
name: "replyItem",
components: {},
props: {
byReplyUser: {
type: String,
default: "",
},
replyContent: {
type: String,
default: "",
},
replyHeaderColor: {
type: String,
default: "",
},
replyTime: {
type: String,
default: "",
},
replyUser: {
type: String,
default: "",
},
},
computed: {},
data() {
return {};
},
watch: {},
created() {},
mounted() {},
beforeDestroy() {},
methods: {},
};
</script>
<style lang="less" scoped>
.reply-item {
background-color: @thinBgColor;
padding: 10px 20px;
margin-left: 42px;
margin-bottom: 10px;
border-radius: 10px;
display: flex;
align-items: flex-start;
.item-img {
font-size: 32px;
margin-right: 10px;
}
.reply-box {
flex: 1;
.box-content {
.reply-user {
font-size: 14px;
line-height: 24px;
.reply-name {
color: @mainColor;
}
.by-reply-name {
color: @warningColor;
}
}
.reply-content {
flex: 1;
font-size: 14px;
line-height: 24px;
color: @thinColor;
}
}
.reply-date {
font-size: 12px;
color: @borderBoldColor;
margin-top: 2px;
text-align: right;
}
}
}
</style>
<template>
<div class="home-wrapper" v-loading="loading">
<div class="side-title">
<Icon name="icon-message"></Icon>
留言板
</div>
<div class="home-body">
<comment-editor @submit="handleComment" ref="editor"></comment-editor>
<comment-item
v-if="total > 0"
:commentList="commentList"
:total="total"
:replyCount="replyCount"
@success="initData"
></comment-item>
<none-data v-else-if="!total"></none-data>
<Paging
:page-index="pageindex"
:total="total"
:page-size="pagesize"
@change="pageChange"
></Paging>
</div>
</div>
</template>
<script>
import CommentEditor from "./components/commentEditor";
import {
apiAddMessage,
apiGetMessageList,
apiGetReplyCount,
} from "api/message";
import CommentItem from "./components/commentItem";
export default {
name: "commentIndex",
components: { CommentEditor, CommentItem },
data() {
return {
loading: false,
commentList: [],
pageindex: 1,
pagesize: 8,
total: -1, // 评论数量
replyCount: 0, // 回复数量
};
},
props: {},
computed: {},
destroyed() { },
mounted() {
this.initData();
},
methods: {
pageChange(page) {
this.pageindex = page;
document.documentElement.scrollTop = document.body.scrollTop = 0;
this.getMessageList();
},
initData() {
this.loading = true;
Promise.all([this.getMessageList(), this.getReplyCount()])
.catch((err) => {
console.log(err);
})
.finally(() => {
this.loading = false;
});
},
handleComment(params) {
return apiAddMessage(params)
.then((res) => {
this.$refs.editor.handleReset();
this.getMessageList();
})
.catch((err) => {
console.log(err);
})
.finally(() => { });
},
getMessageList() {
let params = {
pageindex: this.pageindex,
pagesize: this.pagesize,
};
return apiGetMessageList(params)
.then((res) => {
let { list, total } = res.data;
this.commentList = list;
this.total = total;
})
.catch((err) => {
console.log(err);
})
.finally(() => { });
},
getReplyCount() {
return apiGetReplyCount()
.then((res) => {
let { data } = res;
this.replyCount = data[0].replyCount;
})
.catch((err) => {
console.log(err);
})
.finally(() => { });
},
},
};
</script>
<style scoped lang="less">
.home-body {
background-color: #fff;
flex-direction: column;
padding-bottom: 24px;
}
.side-title {
width: 1200px;
background-color: #fff;
margin: 20px auto 0;
padding-left: 20px;
&::after {
width: 8.5%;
}
&:hover {
&::after {
width: 100%;
}
}
}
.none-data-wrapper {
width: 100%;
}
.paging-container {
margin: 0 auto;
padding-top: 24px;
}
</style>
\ No newline at end of file
<template>
<div class="home-wrapper">
<div class="side-title">
<Icon name="icon-me"></Icon>
关于我们
</div>
<div class="home-body">
<div class="myself-main">
<div class="main-desc">
</div>
</div>
<div class="side-main">
<div class="side-wrapper">
<div class="side-img">
<img src="../../images/avatar.png" class="avatar" alt="" />
</div>
<div class="side-content">
<div class="content-item">RF</div>
<div class="content-item">Running Football</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "myself",
components: {},
props: {},
computed: {},
data() {
return {};
},
watch: {},
created() {},
mounted() {},
beforeDestroy() {},
methods: {},
};
</script>
<style lang="less" scoped>
.home-body {
background-color: #fff;
}
.side-title {
width: 1200px;
background-color: #fff;
margin: 20px auto 0;
padding-left: 20px;
&::after {
width: 8.4%;
}
&:hover {
&::after {
width: 100%;
}
}
}
.myself-main {
width: 70%;
padding: 24px;
border-right: 1px solid @borderColor;
.main-desc {
font-size: 14px;
line-height: 32px;
color: @thinColor;
}
.main-img {
margin-top: 10px;
max-height: 300px;
object-fit: contain;
}
.main-footer {
background: @thinBgColor;
padding: 10px;
text-align: left;
line-height: 32px;
margin: 20px auto;
color: #0609308a;
a {
color: #0609308a;
text-decoration: underline;
}
}
}
.side-main {
flex: 1;
.side-wrapper {
margin-top: 24px;
.side-title {
width: 92%;
margin: 0;
padding-left: 0;
svg {
font-size: 24px;
}
&::after {
width: 10%;
}
&:hover {
&::after {
width: 100%;
}
}
}
.side-img {
display: flex;
justify-content: center;
margin-bottom: 24px;
.avatar {
width: 100px;
height: 100px;
border-radius: 50%;
}
.qrcode {
width: 80%;
height: 80%;
border-radius: 6px;
margin-top: 24px;
}
}
.side-content {
.content-item {
width: 92%;
padding: 5px 10px;
margin: 5px 0;
border-radius: 5px;
font-size: 14px;
color: @thinColor;
background-color: @thinBgColor;
}
}
}
}
</style>
import blogModel from "../../models/blog";
module.exports = {
async list(ctx, next) {
console.log(
"----------------获取博客列表 client_api/blog/list-----------------------"
);
let {
keyword = null,
isQuery = null,
pageindex = 1,
pagesize = 9,
sortBy = null,
} = ctx.request.query;
// 条件参数
let conditions = { isVisible: true };
if (keyword) {
let reg = new RegExp(keyword, "i");
// 区分搜索框、标签场景
let searchObj = isQuery
? [{ title: { $regex: reg } }, { desc: { $regex: reg } }]
: [{ type: { $regex: reg } }];
conditions["$or"] = [...searchObj];
}
// 排序参数
let sortParams = {};
if (sortBy) {
sortParams[sortBy] = -1;
sortParams["releaseTime"] = -1;
}
let options = {
limit: pagesize * 1,
skip: (pageindex - 1) * pagesize,
sort: sortParams,
};
try {
let data = await ctx.find(blogModel, conditions, null, options);
return ctx.send(data);
} catch (e) {
console.log(e);
return ctx.sendError(e);
}
},
async info(ctx, next) {
console.log(
"----------------获取博客信息 client_api/blog/info-----------------------"
);
let _id = ctx.request.query._id;
try {
let data = await ctx.findOne(blogModel, { _id });
return ctx.send(data);
} catch (e) {
return ctx.sendError(e);
}
},
async updateLikes(ctx, next) {
console.log(
"----------------点赞文章 client_api/blog/updateLikes------------------"
);
let paramsData = ctx.request.body;
let num = JSON.parse(paramsData.isLike) ? -1 : 1;
let options = { $inc: { likes: num } };
try {
let data = await ctx.update(blogModel, { _id: paramsData._id }, options);
ctx.send();
} catch (e) {
ctx.sendError(e);
}
},
async updatePV(ctx, next) {
console.log(
"----------------文章浏览量 client_api/blog/updatePV------------------"
);
let paramsData = ctx.request.body;
let options = { $inc: { pv: 1 } };
try {
let data = await ctx.update(blogModel, { _id: paramsData._id }, options);
ctx.send();
} catch (e) {
ctx.sendError(e);
}
},
};
import labelModel from "../../models/label";
module.exports = {
async list(ctx, next) {
console.log(
"----------------获取标签列表 label/list-----------------------"
);
let { keyword, pageindex = 1, pagesize = 50 } = ctx.request.query;
try {
let reg = new RegExp(keyword, "i");
let data = await ctx.findPage(
labelModel,
{
$or: [{ label: { $regex: reg } }, { bgColor: { $regex: reg } }],
},
null,
{ limit: pagesize * 1, skip: (pageindex - 1) * pagesize }
);
ctx.send(data);
} catch (e) {
console.log(e);
ctx.sendError(e);
}
},
};
import messageModel from '../../models/message';
module.exports = {
async add(ctx, next) {
console.log('----------------添加留言 message/add-----------------------');
let paramsData = ctx.request.body;
if (!paramsData.nickname) {
paramsData.nickname = '匿名网友';
}
try {
await ctx.add(messageModel, paramsData);
ctx.send(paramsData);
} catch (e) {
ctx.sendError(e);
}
},
async list(ctx, next) {
console.log(
'----------------获取评论列表 client_api/message/list-----------------------'
);
let { pageindex = 1, pagesize = 10 } = ctx.request.query;
// 排序参数
let sortParams = {
createTime: -1,
};
let options = {
limit: pagesize * 1,
skip: (pageindex - 1) * pagesize,
sort: sortParams,
};
try {
let data = await ctx.find(messageModel, null, null, options);
return ctx.send(data);
} catch (e) {
console.log(e);
return ctx.sendError(e);
}
},
async replyCount(ctx, next) {
console.log(
'----------------获取回复列表 client_api/message/replyCount-----------------------'
);
let conditions = [
{ $project: { replyCount: { $size: '$replyList' } } },
{ $group: { _id: null, replyCount: { $sum: '$replyCount' } } },
];
try {
let data = await ctx.aggregate(messageModel, conditions);
return ctx.send(data);
} catch (e) {
console.log(e);
return ctx.sendError(e);
}
},
async updateLikes(ctx, next) {
console.log(
'----------------点赞留言 client_api/message/updateLikes------------------'
);
let paramsData = ctx.request.body;
let num = JSON.parse(paramsData.isLike) ? -1 : 1;
let options = { $inc: { likes: num } };
try {
let data = await ctx.update(
messageModel,
{ _id: paramsData._id },
options
);
ctx.send();
} catch (e) {
ctx.sendError(e);
}
},
async updateReplys(ctx, next) {
console.log(
'----------------回复留言 client_api/message/updateReplys------------------'
);
let paramsData = ctx.request.body;
if (!paramsData.replyUser) {
paramsData.replyUser = '匿名网友';
}
let options = {
$push: { replyList: { $each: [paramsData], $position: 0 } },
};
try {
let data = await ctx.update(
messageModel,
{ _id: paramsData._id },
options
);
ctx.send();
} catch (e) {
ctx.sendError(e);
}
},
};