聚合搜索引擎切换导航(自用)

* 搜索引擎快捷工具 * 核心功能:页面底部搜索引擎快捷栏、拖拽排序、自定义引擎管理、快捷搜索 、增加底部搜索引擎栏偏移设置(确保任何浏览器内搜索引擎导航栏都能够聚焦在输入法键盘上方)

当前为 2025-10-28 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         聚合搜索引擎切换导航(自用)
// @namespace    http://tampermonkey.net/
// @version      v1.31
// @author       晚风知我意
// @match        *://*/*searchstring=*
// @match        *://*/*searchquery=*
// @match        *://*/*searchword=*
// @match        *://*/*searchterm=*
// @match        *://*/*searchtext=*
// @match        *://*/*searchkey=*
// @match        *://*/*keywords=*
// @match        *://*/*searchfor=*
// @match        *://*/*findword=*
// @match        *://*/*findtext=*
// @match        *://*/*findkey=*
// @match        *://*/*keyword=*
// @match        *://*/*question=*
// @match        *://*/*subject=*
// @match        *://*/*lookfor=*
// @match        *://*/*lookup=*
// @match        *://*/*request=*
// @match        *://*/*pattern=*
// @match        *://*/*search=*
// @match        *://*/*string=*
// @match        *://*/*phrase=*
// @match        *://*/*query=*
// @match        *://*/*terms=*
// @match        *://*/*value=*
// @match        *://*/*title=*
// @match        *://*/*topic=*
// @match        *://*/*seek=*
// @match        *://*/*word=*
// @match        *://*/*text=*
// @match        *://*/*find=*
// @match        *://*/*ask=*
// @match        *://*/*name=*
// @match        *://*/*web=*
// @match        *://*/*key=*
// @match        *://*/*wd=*
// @match        *://*/*kw=*
// @match        *://*/*q=*
// @match        *://*/*p=*
// @match        *://*/*s=*
// @grant        unsafeWindow
// @grant        GM_addStyle
// @grant        GM_setValue
// @grant        GM_getValue
// @icon         https://hub.gitmirror.com/https://raw.githubusercontent.com/qq5855144/greasyfork/main/shousuo.svg
// @run-at       document-body
// @license     MIT
// @description * 搜索引擎快捷工具 * 核心功能:页面底部搜索引擎快捷栏、拖拽排序、自定义引擎管理、快捷搜索 、增加底部搜索引擎栏偏移设置(确保任何浏览器内搜索引擎导航栏都能够聚焦在输入法键盘上方)
// ==/UserScript==

            const punkDeafultMark = "Bing-Google-Baidu-MetaSo-YandexSearch-Bilibili-ApkPure-Quark-Zhihu";
            const defaultSearchEngines = [{
                    name: "谷歌",
                    searchUrl: "https://www.google.com/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /google\.com.*?search.*?q=/g,
                    mark: "Google",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="240px" height="149px" viewBox="0 0 240 149" enable-background="new 0 0 240 149" xml:space="preserve">  <image id="image0" width="240" height="149" x="0" y="0"
    xlink:href="data:image/png;base64,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
UISRnxnkAUUGd8vFvsI8uc0y9DLTEGuFUBwwgaTNuXD1GXFl9t1Srk7avEfJuqhDrnZhCAeFWQaf
MTx3hhHbdcMtvvIC8BXYpx0oLS21ikdPvu3vH8R+OXdtLJiyTbgpBmt49c3gJeIbkhAwNUIBQqYl
EQmaME0CGd6B8KlECo6jkYprOLYEDAeGcNEpW2DgSZllHQutP/PqVX893Oz934avwD7txlMvvjjJ
6nPx92evccYt3py0kjGG40qQBgCG5zcGBBFkus6+gIYQAoYgGEKDpAtihbBhoGthgHt1MtcVdzXf
3bB67u/u+faEVhf++7LiK7BPu/P3Z586u8+IK6Yt3iZHLtmli3fVCGEnXCjXgdbKKxQqACLtFSmU
XqVRy1DoHFHcvWukOlvKhbnB+MxFW2Y8/sgxLEnzRcdXYJ9jRklJiXHSuWePi6LHebVN2V0S2spi
SX1sRYYmDckawYB2A5K2FGRAh9jZ3dnCrNkfzXqn5HtTmk60/D4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+
Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+
Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pv9h/H9iLpNnG3Ki
uQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNC0xMi0yNVQwNDozMjo0MSswMDowMJAYXHAAAAAldEVY
dGRhdGU6bW9kaWZ5ADIwMjQtMTItMjVUMDQ6MzI6NDErMDA6MDDhReTMAAAAKHRFWHRkYXRlOnRp
bWVzdGFtcAAyMDI0LTEyLTI1VDA0OjMyOjQxKzAwOjAwtlDFEwAAAABJRU5ErkJggg==" />
</svg>
`
                },
                {
                    name: "必应",
                    searchUrl: "https://www.bing.com/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /bing\.com.*?search\?q=?/g,
                    mark: "Bing",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="240px" height="149px" viewBox="0 0 240 149" enable-background="new 0 0 240 149" xml:space="preserve">  <image id="image0" width="240" height="149" x="0" y="0"
    xlink:href="data:image/png;base64,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" />
</svg>
`
                },
                {
                    name: "百度",
                    searchUrl: "https://www.baidu.com/s?wd={keyword}",
                    searchkeyName: ["wd", "word"],
                    matchUrl: /baidu\.com.*?w(or)?d=?/g,
                    mark: "Baidu",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="240px" height="149px" viewBox="0 0 240 149" enable-background="new 0 0 240 149" xml:space="preserve">  <image id="image0" width="240" height="149" x="0" y="0"
    xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAACVCAYAAABmbHd7AAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
AAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAEIcSURBVHja7b15nF1Vlff9
W3vvc+5Uc6UqSWWeBxICJEBABMIso4jJgziPaUXxcXrU7udty7afx+HpdmzsjogoiGJFQASZRIIQ
IEBCyEDmVCWpqtQ83fkMe6/3j3NuDYCSaEHa7vPlQ+rm5ta555571t5rr/VbawMRERERERERERER
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER
EREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREf+N
oBN9Av8NoNtv35acO6WmipLK8jzldHbuH1yz5uzCiT6xiL99IgN+A2lqeiYxrWzZ+c2H/UuPHHVn
Ow4lZUwNzZpjDqxYoh/e3rzh6TVr1rjHerzNmzdbVX7DySx5meenck9tf+HhtWsvHjrRnzPixBEZ
8BvE/fcfTfYfSH710cey72zt8BryOVZgImkRi0rfm7GopvWjV+l1onLnd1etWuW/zuHoj788MPXI
0ak3vbwvd+VAXk+yhO0tmqeeX3aqdXvzrid+974vXJo70Z854s0nMuA3gN/97vlJRzbP+dJvftv3
yY5eyKJmaADMCK64BBJxg/o5qfyX31PzVd/s/I/L37My/aeOd/8dm0/bumnePz76xOClA/35mMcg
oYB4meH5i2r6rr8k8ZtEVcf/edu7Fh0GwCf680e8ecgTfQL/1di8ebPV1zL//Xc19X+6rdNNZl1N
mhnaGBhjgp+a4XsMN1u02ge9k1adNf1I2j1t165d619lfJse3FTx0rbZ637z4OAl/UN5O6990mBo
zXAd0EBfJrG/3V02q2FKw9oPf3THneu/13eir0HEm4c40SfwXw3Kz170+4f6P9zd71bnPZBhQBsG
l6ZgAyD8u5MDWvZlJz31fOGGiy6KT3nlsdatW2e198688Te/7b1gYCivCj6TNgRjCIYJ2gD5vKBD
zXn18992X5NOT/58Y+O/15/oaxDx5hEZ8Diz+2X3qoOHzdJsXpNhBjOPOLVEIAAEBpihNZAeJLFz
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
Js6T6+L+5NqYVz/BztfVWdm6KlGoqYoXamvKnaqqBMorU1SeiiMVsxG3JdlSIKkkbCFgqeB/JQWU
kpBSQEkJS0rYSsKKEeIVghsmy+IHPzR5k1Pc/OUP3XTR7hN97SLGj2gG/uug/fv7ygu9FWfs2+Nd
mOkX8/oGzLxMQSvPMLTRYVF7sKmYrcCWJfoSMRq0LZGJx1C0FNrsOGUSlaK3oszPynDDnUIfLF+L
iZkcNWRy/qR80VQVHEzJ5lGddryJQ1mR6BkA5Xscghdu88EmSH2QANsSlRMUL16oWi66KP7g7h2P
//imz121Ha9ZNxbxt0pkwOMAM9NDDx2wW1raLCJlDQ0BqARQelBZegIgWTTlvtLl5TUcj+cMUKnr
6rrN+eefH+4WHPDVr36VzjvvPFEoFGSrrpd+ISPcHFSZVSiLl9tLPEotV2JKreXXVQ9lC9VenlWx
gApi4aZSKls1wR4oKzMHUWz51eOP39L2ne98p4jIeP/LERnw3ziNjY1i8eLFBJwkk5N1Ku9LDz0v
F3bt2sVvlFY5IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiLiL+f/B2HbDwAnkK5KAAAAJXRFWHRkYXRl
OmNyZWF0ZQAyMDI0LTEyLTI1VDA0OjMyOjQxKzAwOjAwkBhccAAAACV0RVh0ZGF0ZTptb2RpZnkA
MjAyNC0xMi0yNVQwNDozMjo0MSswMDowMOFF5MwAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjQt
MTItMjVUMDQ6MzI6NDErMDA6MDC2UMUTAAAAAElFTkSuQmCC" />
</svg>
`
                },
                {
                    name: "密塔",
                    searchUrl: "https://metaso.cn/?s=itab1&q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /metaso\.cn.*?q=/g,
                    mark: "MetaSo",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="240px" height="149px" viewBox="0 0 240 149" enable-background="new 0 0 240 149" xml:space="preserve">  <image id="image0" width="240" height="149" x="0" y="0"
    xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAACVCAYAAABmbHd7AAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
AAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAE3QSURBVHja7Z13nJxVvf8/
33OeMm17STa9QxIgVFF6RAFpKsqKggqCxGvhKtar/i6jt3nv/am/G2tQCCCgDAJSDJ3QawIppPey
m22zuzM77SnnfH9/PDO7mxCSUDaB+3reviSzM7tzzvOc53vO93zbAUJCQkJCQkJCQkJCQkJCQkJC
QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJC
QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJC
QkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkL2gA51B95NFi5cGKmJ
1hyWzvvH95bkGKWMFkPodFVVYotpWa9ZXmn9F75wdv7dbHP+/Pl2oq55dqmE4x2dmKA8rhUR6orb
fnuUS89FImJTa2ure6jvTcj/Tv5XCDAz08P3PTx1e6f+8vY+XLKjzxrbnZHC15JgSkTjpmqOl9KT
agp3tjTEfvuly05bA4DfYZvinjseOHJrr3fp9l7rS10ZqzZTsIWriAxLIFEN1VzjbT+8PntLUzxz
xyWXfGHNob5PIfuCaf6ijdbo3DS/tZXUW/3rZDJlnX56k547d65/MHv9vhdgZqa7/rLouOc2OD9e
1R7/WHefYZY8QUoBDIIWDEMC0Si4IeH7Z0xLPDpxTOK6L1xyxFIQvW0hvuGGJz/07Ebvp1t76JSe
frY9j0hDBNOCBMjUiEc0NzUYxVOnOi9Mqkl/67LLLlt5qO/Xoeauh55uQV4crjX8SCSy9IILji8c
6j6lUs9HOzvl+VvTA8fHq6NdzdWlv379qjO3Hcjfrlq1ynruuc65a3YMnDK6ubak9ZaH/ukfL196
sPpuHLrb9u7w2J2PjX9+g/2DV9uiH2vvI7PkMEEziAggBjTB00BRMeUKMJ+U7kfPMDpw2+35b14K
bHg7bd6cenzs4tfEr1a1W3N6Bnzp+URggJghiAAG2BcoOYJyRcTyJZzxkdktP7nl7oe/8oWLzu46
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
43XX1U1JxKpHb+jP9z/puG6dz54AAMFQ0YjRDuXn9/wOzmYfHV1TF9G6NHh2rrLctdUUv26grefv
2MvkffVlH3vljnuf/UG6tyOzYcOu3b5z7YrHVx5++Jlf6cllP+V4xRMZOk4k2RCyMxqPPWxZ9qIL
Lji+cpjO3+6678Vdu3Z2fM5nnq4VC9s0Oq1Y7KGsZd5zbetH3xD2GmH1h3g8OtXk/E4AmDt3rn9X
6rm7s6XsX7dtfvKpPX//3HPPdW6++eZbZNbv27h584huBUc0nZCZ6ZFH1p/z+Mquf1zbrT7Um6Gq
UolI+0HD0gDqqlkdNUGunjYh+icL2T9d0Tqy8c7vhOeffz7a0RE9/9GVfddsSYsTM3nD8BwmxRwc
BW0zxjRRcdY4fnnyePvXXqdx7zvNC1377LNV23rjn3/wtd4vbkhbR/Xmhe25RCCGNBiGKXh8rV+Y
M8ldPLuBflnVJJ6e+w7zZZPMIolynuReSKUulq2tdw66gJLJhZEJs0ZVaWnHpAhULCF9jT7KPxDt
3Ws+cCqVkntGipXfqxzrvpd2Wa5e/SQl36TqRjKVsqbKKQ05d8AGAJFAblcC/Xuq8MxMtz34UpXK
GbWedMik+lzUX9n/ZpFryWRSAKeL4e0uXrzYOOOMM9S+FptkMilGOvx3xPOBk8mkmPaBDyQsOf7E
nV3ulza258aUfB2tldKrqRWdjdVyaR3ojwMDy3vfA1bn/ZJKpWQs1lLtqvhndvT5H9nU6bS4vjIT
wizUNVBfc7W8p6a6/sHVL9+WfrcGL5lMGqccc0qDW6ILd2bEx9annSbP50hdwio2N8itLY3Ru71c
4bHVq58qHKx48ZD3BgelpE6FVColp0+fXuV5VkQIw1+69MnM+0Fo34wlCxaYVccdV5PRUcM0Y6WX
X07nR7oSw5IFC8zokROrij7sYu2Ykp9OD7zTFTckJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk
JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk
JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk
JCQkJCQkJOT9yv8HgdYjHo2Ztd8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjQtMTItMjVUMDQ6MzI6
NDErMDA6MDCQGFxwAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDI0LTEyLTI1VDA0OjMyOjQxKzAwOjAw
4UXkzAAAACh0RVh0ZGF0ZTp0aW1lc3RhbXAAMjAyNC0xMi0yNVQwNDozMjo0MSswMDowMLZQxRMA
AAAASUVORK5CYII=" />
</svg>
`
                },
                {
                    name: "Yandex",
                    searchUrl: "https://yandex.com/search/?text={keyword}",
                    searchkeyName: ["text"],
                    matchUrl: /yandex\.com.*?text=/g,
                    mark: "YandexSearch",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="120px" height="75px" viewBox="0 0 120 75" enable-background="new 0 0 120 75" xml:space="preserve">  <image id="image0" width="120" height="75" x="0" y="0"
    href="data:image/png;base64,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" />
</svg>`
                },
                {
                    name: "ApkPure",
                    searchUrl: "https://apkpure.com/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /apkpure\.com.*?q=?/g,
                    mark: "ApkPure",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="240px" height="149px" viewBox="0 0 240 149" enable-background="new 0 0 240 149" xml:space="preserve">  <image id="image0" width="240" height="149" x="0" y="0"
    xlink:href="data:image/png;base64,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" />
</svg>
`
                },
                {
                    name: "哔哩哔哩",
                    searchUrl: "https://m.bilibili.com/search?keyword={keyword}",
                    searchkeyName: ["keyword"],
                    matchUrl: /bilibili\.com.*?keyword=/g,
                    mark: "Bilibili",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="120px" height="75px" viewBox="0 0 120 75" enable-background="new 0 0 120 75" xml:space="preserve">  <image id="image0" width="120" height="75" x="0" y="0"
    href="data:image/png;base64,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
QmCC" />
</svg>
`
                },
                {
                    name: "夸克",
                    searchUrl: "https://quark.sm.cn/s?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /quark\.sm\.cn.*?q=/g,
                    mark: "Quark",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="120px" height="75px" viewBox="0 0 120 75" enable-background="new 0 0 120 75" xml:space="preserve">  <image id="image0" width="120" height="75" x="0" y="0"
    href="data:image/png;base64,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" />
</svg>
`
                },
                {
                    name: "知乎",
                    searchUrl: "https://www.zhihu.com/search?type=content&q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /zhihu\.com.*?q=/g,
                    mark: "Zhihu",
                    svgCode: `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="120px" height="75px" viewBox="0 0 120 75" enable-background="new 0 0 120 75" xml:space="preserve">  <image id="image0" width="120" height="75" x="0" y="0"
    xlink:href="data:image/png;base64,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
9IgAAAAASUVORK5CYII=" />
</svg>
`
                },
                {
                    name: "GitHub",
                    searchUrl: "https://github.com/search?q={keyword}+is%3Apublic&type=repositories&s=stars&o=desc",
                    searchkeyName: ["q"],
                    matchUrl: /github\.com.*?search\?q=/,
                    mark: "GitHub",
                    svgCode: `
      <svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7138"><path d="M512 95.872a426.666667 426.666667 0 0 0-134.912 831.445333c21.333333 3.754667 29.312-9.045333 29.312-20.266666 0-10.112-0.512-43.733333-0.512-79.445334-107.221333 19.712-134.954667-26.154667-143.488-50.133333a155.136 155.136 0 0 0-43.733333-60.288c-14.933333-7.978667-36.266667-27.733333-0.554667-28.245333a85.376 85.376 0 0 1 65.621333 43.733333 91.178667 91.178667 0 0 0 124.245334 35.2 89.770667 89.770667 0 0 1 27.221333-57.088c-94.933333-10.666667-194.133333-47.445333-194.133333-210.645333a166.058667 166.058667 0 0 1 43.733333-114.688 153.344 153.344 0 0 1 4.266667-113.066667s35.712-11.178667 117.333333 43.733333a402.218667 402.218667 0 0 1 213.333333 0c81.578667-55.466667 117.333333-43.733333 117.333334-43.733333a153.301333 153.301333 0 0 1 4.266666 113.066667 165.077333 165.077333 0 0 1 43.733334 114.688c0 163.712-99.754667 199.978667-194.688 210.645333a101.034667 101.034667 0 0 1 28.8 78.933333c0 57.088-0.512 102.954667-0.512 117.333334 0 11.221333 7.978667 24.533333 29.312 20.266666A426.88 426.88 0 0 0 512 95.872z" fill="#6563FF" p-id="7139"></path></svg>
    `
                },
                {
                    name: "YouTube",
                    searchUrl: "https://www.youtube.com/results?search_query={keyword}",
                    searchkeyName: ["search_query"],
                    matchUrl: "youtube\\.com.*?results\\?search_query=",
                    mark: "YouTube",
                    svgCode: `
      <svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 40 16"><path fill="#eab308" d="m5.375 2.647l.006-.028l.016-.118l-.74-.004c-.668-.004-.873 0-.891.017c-.009.008-.24.885-.651 2.473c-.196.758-.361 1.363-.367 1.345s-.24-.883-.522-1.922a107 107 0 0 0-.524-1.901c-.01-.01-.906-.014-1.632-.008c-.105.001-.164-.205.938 3.299c.152.485.381 1.172.507 1.526c.146.408.25.724.321.987c.126.501.13.815.103 1.182c-.032.423-.036 3.413-.005 3.463c.024.038 1.425.056 1.558.02c.021-.006.035-.026.045-.139c.033-.097.036-.484.036-2.09V8.698l.09-.283c.059-.185.206-.672.328-1.082l.327-1.09c.529-1.724 1.033-3.419 1.047-3.516l.011-.079zm7.846 2.488v.107h-.017l-.009 2.953l-.009 2.863l-.229.233c-.257.261-.462.361-.648.314c-.203-.051-.197.028-.214-3.356l-.016-3.115h-1.474v.107h-.017v3.38c0 3.621 0 3.619.184 3.982c.146.29.36.431.725.479c.481.064 1-.154 1.481-.622l.209-.203v.351c0 .303.009.353.064.368c.09.025 1.206.027 1.326.002l.1-.021v-.104l.017-.003V5.114l-1.472.02zM9.483 6.661c-.14-.599-.401-1.002-.832-1.28c-.676-.437-1.449-.484-2.165-.13c-.522.258-.859.686-1.032 1.314a1.4 1.4 0 0 0-.047.231c-.044.222-.049.552-.061 2.093c-.018 2.374.01 2.656.307 3.195c.292.529.897.917 1.556.997c.198.024.6-.013.832-.078c.525-.146 1.029-.561 1.252-1.032a1.8 1.8 0 0 0 .189-.604c.065-.353.07-.925.07-2.381c0-1.857-.006-2.06-.068-2.326zM7.802 11.5a.7.7 0 0 1-.515.098c-.135-.029-.318-.241-.374-.434c-.07-.241-.075-3.594-.015-4.251c.1-.329.378-.501.682-.419c.237.064.358.212.427.523c.051.231.057.518.046 2.207c-.007 1.12-.011 1.668-.048 1.962c-.037.185-.099.235-.203.315zm28.142-3.154h.712l-.011-.645c-.011-.592-.02-.659-.099-.82c-.125-.253-.309-.366-.601-.366c-.351 0-.573.17-.678.518c-.045.148-.092 1.167-.058 1.255c.019.049.121.058.735.058m-4.76-1.467a.49.49 0 0 0-.477-.278a.9.9 0 0 0-.508.203l-.127.097v4.634l.127.097c.288.22.604.266.822.12a.48.48 0 0 0 .186-.263c.057-.164.062-.375.055-2.325c-.008-2.032-.012-2.152-.078-2.285"/><path fill="#eab308" d="M40.014 4.791c-.142-1.701-.255-2.253-.605-2.962C38.944.89 38.273.395 37.317.286c-.739-.084-3.521-.203-6.094-.26c-4.456-.099-11.782.092-12.718.331a2.25 2.25 0 0 0-1.094.634c-.591.588-.944 1.432-1.085 2.6c-.323 2.666-.33 5.886-.019 8.649c.134 1.188.41 1.96.928 2.596c.323.397.881.734 1.379.835c.35.071 2.1.169 4.65.26c.38.014 1.385.037 2.235.052c1.77.031 5.025.013 6.886-.039c1.252-.035 3.534-.128 3.961-.161c.12-.009.398-.027.618-.039c.739-.042 1.209-.196 1.65-.543c.571-.449 1.013-1.278 1.2-2.251c.177-.92.295-2.559.319-4.42c.02-1.555-.007-2.393-.119-3.741zM22.27 4.175l-.828.01l-.036 8.83l-.718.009c-.555.008-.724-.001-.737-.036c-.01-.025-.021-2.016-.026-4.424l-.009-4.379l-1.617-.02v-1.38l4.779.019l.02 1.36zm5.077 5.061v3.797h-1.308v-.4c0-.301-.011-.4-.047-.4c-.026 0-.144.099-.263.22c-.259.263-.565.474-.827.572c-.542.203-1.056.084-1.275-.293c-.201-.345-.204-.423-.204-4.005v-3.29h1.307l.01 3.098c.01 3.044.011 3.1.084 3.224c.097.164.244.209.478.144c.138-.038.232-.105.455-.327l.282-.28V5.437h1.308v3.797zm5.102 3.255c-.115.257-.372.508-.583.57c-.549.162-.99.03-1.499-.449c-.158-.149-.305-.269-.327-.269q-.04 0-.041.345v.345h-1.308V2.785h1.308v1.672c0 .919.012 1.672.027 1.672s.153-.122.307-.27c.354-.341.649-.491 1.024-.519c.669-.051 1.068.294 1.25 1.08c.057.245.062.525.062 2.798c0 2.768 0 2.78-.221 3.273zm5.535-1.52a5 5 0 0 1-.077.727c-.182.674-.666 1.152-1.366 1.348c-.942.264-1.98-.168-2.394-.997c-.232-.465-.241-.558-.241-2.831c0-1.853.007-2.081.066-2.334c.168-.715.584-1.178 1.289-1.435c.204-.074.417-.113.63-.117c.761-.016 1.515.393 1.832 1.059c.213.449.24.642.261 1.908l.019 1.136l-2.789.019l-.01.763c-.015 1.077.058 1.408.349 1.603c.244.165.62.152.824-.027c.192-.168.246-.349.265-.877l.017-.463h1.347z"/></svg>
    `
                },

                {
                    "name": "Baidu图片",
                    "searchUrl": "https://www.baidu.com/sf/vsearch?pd=image_content&from={source}&atn=page&fr=tab&tn=vsearch&ss=100&sa=tb&rsv_sug4={suggestion}&inputT={input_time}&oq={original_query}&word={keyword}",
                    "searchkeyName": ["keyword", "source", "suggestion", "input_time", "original_query"],
                    "matchUrl": /baidu\.com\/sf\/vsearch.*?word=/g,
                    "mark": "Baidutp",
                    "svgCode": ` <svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="-80 -80 1184 1184" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5096" data-spm-anchor-id="a313x.search_index.i1.i0.7d613a81c9IUMe"><path d="M483.84 368.64h30.72v161.28h-71.68c-12.8-2.56-23.04-10.24-30.72-20.48-5.12-7.68-10.24-15.36-10.24-25.6-2.56-10.24-2.56-17.92 0-28.16 2.56-10.24 7.68-20.48 15.36-28.16 5.12-5.12 15.36-10.24 23.04-12.8 2.56 0 7.68-2.56 10.24-2.56h33.28v-43.52m-35.84 71.68c-5.12 2.56-12.8 7.68-15.36 12.8-2.56 5.12-2.56 10.24-2.56 17.92 0 7.68 2.56 15.36 5.12 20.48 5.12 7.68 12.8 10.24 20.48 10.24h25.6v-64h-28.16c0 2.56-2.56 2.56-5.12 2.56z m81.92-25.6h30.72v74.24c0 2.56 0 7.68 2.56 7.68 2.56 2.56 5.12 2.56 10.24 2.56h33.28v-87.04h30.72v112.64H563.2c-7.68 0-15.36-2.56-20.48-7.68-7.68-5.12-10.24-15.36-10.24-23.04-2.56-25.6-2.56-51.2-2.56-79.36z" fill="#FCFBFF" p-id="5097"></path><path d="M468.48 102.4c10.24-2.56 17.92 0 28.16 5.12 12.8 7.68 20.48 20.48 25.6 35.84 7.68 20.48 7.68 46.08-2.56 66.56-5.12 10.24-10.24 20.48-17.92 28.16-7.68 5.12-15.36 10.24-25.6 10.24s-17.92-2.56-25.6-7.68c-10.24-10.24-17.92-23.04-23.04-35.84-5.12-20.48-5.12-43.52 2.56-61.44 5.12-15.36 10.24-25.6 23.04-33.28l15.36-7.68z m138.24 10.24c7.68-2.56 12.8 0 20.48 2.56 7.68 5.12 12.8 12.8 20.48 20.48 7.68 10.24 12.8 23.04 15.36 35.84 2.56 10.24 0 17.92-2.56 28.16-2.56 10.24-7.68 20.48-12.8 30.72-5.12 7.68-12.8 15.36-20.48 20.48-7.68 5.12-17.92 7.68-25.6 5.12-10.24 0-23.04-5.12-30.72-12.8-7.68-7.68-12.8-17.92-15.36-28.16-2.56-10.24-2.56-23.04 0-33.28s5.12-20.48 10.24-28.16c5.12-10.24 12.8-17.92 20.48-23.04 5.12-10.24 12.8-15.36 20.48-17.92z m-245.76 97.28c10.24-2.56 20.48 0 28.16 5.12 12.8 7.68 23.04 17.92 30.72 33.28 2.56 5.12 5.12 10.24 5.12 17.92 2.56 15.36 2.56 30.72-2.56 46.08-2.56 10.24-7.68 20.48-15.36 25.6-10.24 7.68-23.04 12.8-35.84 12.8-10.24 0-20.48-5.12-30.72-10.24-10.24-10.24-17.92-23.04-20.48-35.84-2.56-10.24-2.56-17.92-2.56-28.16 2.56-15.36 7.68-30.72 15.36-46.08 5.12-10.24 15.36-17.92 28.16-20.48z m320 35.84c12.8-2.56 23.04 0 35.84 5.12 10.24 5.12 17.92 12.8 23.04 23.04 5.12 7.68 7.68 17.92 7.68 25.6 0 12.8 0 25.6-2.56 38.4-2.56 10.24-5.12 17.92-10.24 25.6-5.12 7.68-12.8 12.8-23.04 15.36-7.68 2.56-17.92 2.56-25.6 2.56-10.24 0-20.48-5.12-28.16-10.24-7.68-5.12-12.8-12.8-15.36-23.04-2.56-12.8-5.12-25.6-2.56-35.84 0-12.8 2.56-25.6 7.68-38.4 2.56-7.68 10.24-17.92 17.92-23.04 2.56-2.56 7.68-5.12 15.36-5.12z m-161.28 48.64c12.8-2.56 23.04 0 35.84 5.12 17.92 7.68 30.72 23.04 40.96 38.4 12.8 17.92 28.16 33.28 40.96 48.64 15.36 15.36 30.72 28.16 46.08 40.96l7.68 7.68c12.8 12.8 20.48 28.16 20.48 46.08 2.56 17.92-2.56 35.84-10.24 53.76-5.12 12.8-15.36 23.04-25.6 28.16-15.36 7.68-35.84 10.24-53.76 10.24-17.92 0-35.84-5.12-51.2-10.24-20.48-5.12-40.96-7.68-64-5.12-10.24 0-20.48 2.56-28.16 5.12-23.04 2.56-43.52 5.12-66.56 2.56-17.92 0-35.84-10.24-48.64-23.04-7.68-7.68-12.8-17.92-15.36-30.72-2.56-10.24-5.12-20.48-5.12-30.72 0-12.8 5.12-25.6 10.24-35.84 7.68-15.36 23.04-30.72 35.84-40.96 5.12-2.56 7.68-5.12 12.8-10.24 7.68-5.12 15.36-12.8 20.48-17.92 12.8-12.8 25.6-25.6 33.28-40.96 2.56-5.12 5.12-7.68 7.68-12.8 17.92-15.36 35.84-25.6 56.32-28.16m-35.84 74.24v46.08h-33.28c-2.56 0-7.68 0-10.24 2.56-7.68 2.56-15.36 7.68-23.04 12.8-7.68 7.68-12.8 17.92-15.36 28.16-2.56 10.24-2.56 17.92 0 28.16 2.56 7.68 5.12 17.92 10.24 25.6 7.68 10.24 17.92 17.92 30.72 20.48 5.12 2.56 12.8 0 17.92 0h53.76v-161.28c-10.24-2.56-20.48-2.56-30.72-2.56m46.08 46.08v81.92c0 7.68 2.56 17.92 10.24 23.04 5.12 5.12 12.8 7.68 20.48 7.68h74.24v-112.64h-30.72v87.04h-33.28c-2.56 0-7.68 0-10.24-2.56-2.56-2.56-2.56-5.12-2.56-7.68v-74.24c-7.68-2.56-17.92-2.56-28.16-2.56z" fill="#306CFF" p-id="5098"></path><path d="M448 440.32c2.56 0 5.12-2.56 7.68-2.56h28.16v64h-25.6c-7.68 0-17.92-5.12-20.48-10.24-5.12-5.12-5.12-12.8-5.12-20.48 0-5.12 0-12.8 2.56-17.92 2.56-5.12 7.68-10.24 12.8-12.8z" fill="#306CFF" p-id="5099"></path><path d="M294.4 704h33.28v-7.68h43.52v7.68h30.72v23.04h-30.72V768h-43.52v-40.96h-33.28v192H238.08v-250.88H358.4v-10.24h74.24v10.24h87.04v25.6h-225.28v10.24z m0 61.44l7.68-33.28h20.48l-7.68 33.28h-20.48z m102.4 92.16H384l-23.04 61.44h-61.44l25.6-61.44h-25.6v-81.92h53.76l2.56-5.12h64l-2.56 5.12h89.6v81.92h-15.36l-5.12 17.92h12.8v-7.68h12.8l2.56 25.6H460.8v-15.36l7.68-17.92h-15.36v40.96h64v20.48h-122.88l2.56-64z m-17.92-61.44h-25.6v10.24h25.6v-10.24z m-23.04 28.16v12.8h25.6v-12.8h-25.6z m43.52-58.88h-23.04l-5.12-33.28h20.48l7.68 33.28z m2.56 0l7.68-33.28h23.04l-7.68 33.28h-23.04z m33.28-38.4h-30.72v-23.04H435.2v-7.68h43.52v7.68h38.4v23.04h-38.4V768H435.2v-40.96z m20.48 79.36v-10.24h-25.6v10.24h25.6z m0 17.92h-25.6v12.8h25.6v-12.8z m58.88-58.88h-25.6l-7.68-33.28h25.6l7.68 33.28zM545.28 663.04h276.48v256H545.28v-256z m53.76 28.16v202.24H768V691.2h-168.96z m84.48 61.44l20.48-25.6h-102.4l17.92-33.28h56.32l-5.12 7.68h92.16v20.48l-20.48 33.28 25.6 51.2h-61.44l-23.04-46.08-20.48 46.08h-61.44l23.04-51.2-17.92-20.48H665.6l17.92 17.92z m-79.36 58.88l158.72 10.24v25.6l-158.72-10.24v-25.6z m0 64v-25.6l158.72 10.24v25.6l-158.72-10.24z" fill="#306CFF" p-id="5100"></path></svg> `
                },

                {
                    name: "淘宝",
                    searchUrl: "https://s.taobao.com/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: "taobao\\.com.*?search\\?q=",
                    mark: "TaoBao",
                    svgCode: `
      <svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 24 24"><path fill="#dc2626" d="M21.31 9.9a.959.959 0 1 1 0 1.918a.959.959 0 0 1 0-1.917m2.39 3.047H13.292v-.96h4.15V9.76h-2.887v-.768h2.887v-.923h-2.508v.203h-1.642V5.373h1.642v.35c.494-.06 1.463-.181 2.517-.296v-.825h1.852v.64c.925-.08 1.753-.13 2.211-.11c1.49.07 2.445.28 2.485 1.272c.036.99-1.424 1.905-1.424 1.905l-.45-.434v.193h-2.813v.923h3.23v.768h-3.23v2.228H23.7zM21.526 7.3l-.012-.011s1.373-.76.343-1.272c-.863-.43-5.534.305-6.923.625V7.3zM1.882 6.417a1 1 0 0 0 0-2a1 1 0 0 0-1 1a1 1 0 0 0 1 1m3.41-.86a7 7 0 0 0 .371-.72l-1.466-.412s-.59 1.93-1.644 2.828c0 0 1.02.59 1.01.573a10 10 0 0 0 .781-.88c.235-.1.459-.197.68-.287c-.272.487-.71 1.22-1.148 1.681l.618.539s.42-.404.879-.891h.524v.9H3.856v.72h2.041v1.723l-.078-.002c-.224-.01-.575-.047-.712-.265c-.168-.263-.044-.75-.035-1.046H3.661l-.05.026s-.517 2.315 1.49 2.263c1.879.052 2.954-.523 3.472-.918l.206.764l1.158-.482l-.785-1.919l-.94.292l.176.658c-.242.18-.518.316-.819.413V9.608h1.995v-.72H7.57v-.9h2.003v-.72H6.015c.257-.311.459-.598.51-.78l-.62-.168c2.661-.952 4.142-.789 4.129.773v4.113s.156 1.412-1.461 1.31l-.876-.187l-.207.83s3.782 1.081 4.091-1.824s-.077-4.758-.077-4.758s-.345-2.682-6.213-1.02zM.058 12.153l1.587.99c1.097-2.38 1.026-2.065 1.302-2.92c.283-.873.345-1.54-.136-2.022c-.617-.62-.685-.677-1.602-1.358l-.66 1.013l1.216.758s.814.415.428 1.19c-.362.738-2.135 2.35-2.135 2.35m19.94 6.849s-.018.523-.67.523c-.59 0-.636-.411-.636-.411c-.249.3-.621.454-1.07.454c-.76 0-1.296-.513-1.296-1.29c0-.785.557-1.28 1.398-1.28c.383 0 .725.147.926.404q.012-.105.014-.196c0-.563-.31-.813-1.01-.813c-.339 0-.666.049-1.014.14c.11-.218.192-.379.297-.457c.12-.097.43-.14.942-.14c1.269 0 1.742.425 1.742 1.427v1.203c0 .316.033.436.377.436m-1.327-.745c0-.482-.255-.747-.638-.747c-.404 0-.667.282-.667.76c0 .466.278.76.654.76c.388 0 .651-.274.651-.773m5.27-.501c0 1.153-.692 1.827-1.778 1.827c-1.096 0-1.777-.674-1.777-1.827c0-1.159.681-1.825 1.777-1.825c1.086 0 1.779.671 1.779 1.825m-1.086 0c0-.87-.237-1.3-.692-1.3c-.473 0-.694.43-.694 1.3c0 .866.22 1.299.694 1.299c.467 0 .692-.433.692-1.3m-7.131-.044c0 1.17-.654 1.856-1.577 1.856c-.423 0-.806-.163-1.047-.47c0 0-.108.427-.661.427c-.689 0-.665-.523-.665-.523c.387.016.376-.215.376-.436V15.68c0-.356-.074-.48-.427-.487c.014-.107.078-.538.679-.538c.816 0 .761.915.761.915v.786c.23-.268.552-.394.99-.394c.963 0 1.57.645 1.57 1.75m-1.094.08c0-.898-.272-1.355-.762-1.355c-.439 0-.74.396-.74 1.104v.36c0 .721.316 1.117.763 1.117c.477 0 .739-.413.739-1.226m-3.243-.036c0 1.153-.688 1.827-1.78 1.827c-1.094 0-1.773-.674-1.773-1.827c0-1.159.68-1.825 1.773-1.825s1.78.671 1.78 1.825m-1.083 0c0-.87-.236-1.3-.697-1.3c-.467 0-.688.43-.688 1.3c0 .866.22 1.299.688 1.299c.469 0 .697-.433.697-1.3m-5.99-2.716c-.267.078-.79.097-1.55.097c-.926 0-1.54-.039-1.855-.039c-.52 0-.726.134-.909.66c.3-.103.673-.11 1.135-.11c.352 0 .411.044.411.295v2.903c0 .282.118.679.726.679c.71 0 .834-.526.834-.526c-.355-.007-.425-.131-.425-.487v-2.56c0-.267.102-.28.471-.28c.126 0 .21.007.26.007c.546 0 .69-.104.903-.64M7.446 19s-.018.523-.666.523c-.556 0-.64-.412-.64-.412c-.249.3-.621.455-1.066.455c-.766 0-1.3-.513-1.3-1.29c0-.785.557-1.28 1.4-1.28c.384 0 .727.147.925.404c.004-.07.01-.136.01-.196c0-.563-.304-.813-1.006-.813c-.338 0-.667.049-1.015.14c.113-.218.192-.379.294-.457c.13-.097.433-.14.947-.14c1.265 0 1.746.425 1.746 1.427v1.203c0 .316.028.436.371.436m-1.326-.745c0-.482-.256-.747-.638-.747c-.401 0-.667.282-.667.76c0 .466.28.76.652.76c.389 0 .653-.274.653-.773"/></svg>
    `
                },
                {
                    name: "PubMed",
                    searchUrl: "https://pubmed.ncbi.nlm.nih.gov/?term={keyword}",
                    searchkeyName: ["term"],
                    matchUrl: "pubmed\\.ncbi\\.nlm\\.nih\\.gov.*?term={keyword}",
                    mark: "PubMed",
                    svgCode: `
      <svg xmlns="http://www.w3.org/2000/svg" width="120" height="160" viewBox="0 0 384 512"><path fill="#0284c7" d="M120.193 177.738C123.188 77.35 64.278 64 64.278 64v31.262c-23.443-11.65-45.95-13.332-45.95-13.332v255.179s98.105-11.417 98.105 84.41c0 0 36.584-153.375 248.86 26.481c0-61.593.378-216.94.378-268.285c-195.715-142.584-245.478-1.977-245.478-1.977m187.206 173.82l-12.376-97.654h-.448l-40.728 97.654h-17.56l-38.936-97.654h-.448l-14.176 97.654h-43.875l28.801-169.619h43.427l34.435 90.65l36.466-90.65h43.875l25.682 169.62z"/></svg>
    `
                },
                {
                    name: "DuckDuckGo",
                    searchUrl: "https://duckduckgo.com/?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: "duckduckgo\\.com.*?q={keyword}",
                    mark: "DuckDuckGo",
                    svgCode: `
      <svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="940"><path d="M65.3 509.6C65.3 756.7 265.6 957 512.7 957c247.1 0 447.4-200.3 447.4-447.4 0-247.1-200.3-447.4-447.4-447.4-247.1 0.1-447.4 200.4-447.4 447.4z" fill="#CC6633" p-id="941"></path><path d="M98.2 512c0 227.6 184.5 412.1 412.1 412.1 227.6 0 412.1-184.5 412.1-412.1 0-227.6-184.5-412.1-412.1-412.1C282.7 99.9 98.2 284.4 98.2 512z" fill="#FFFFFF" p-id="942"></path><path d="M899.3 515.8c0 183.7-127.2 338.1-298.1 379.6-10.4-19.8-20.3-39.1-28.7-55.1 29.2 25.9 64.5 35.8 84.3 23.5 25.4-15.5 34.4-72.5-5.2-124.3-12.2 0.5-28.3 2.4-46.2 7.5-25.4 7.5-44.3 19.3-56.5 28.3-10.8-16.5-25.9-44.7-33.4-82.4-6.1-30.6-4.7-57-2.4-74.9 13.7 9.4 104.5 40 149.8 39.1 45.2-0.9 119.1-28.3 111.1-50.4-8-22.1-81.5 19.3-158.7 12.2-57-5.2-66.9-30.6-54.2-49.4 16-23.5 44.7 4.2 92.3-9.9 47.6-14.1 114.4-39.6 138.9-53.7 57-32-24-45.2-42.9-36.3-18.4 8.5-81 24.5-110.7 31.6 16.5-57.9-23.1-158.7-67.3-203-14.6-14.6-36.3-23.5-61.2-28.3-9.4-13.2-25-25.9-47.1-37.2-42.4-22.1-90.4-30.1-137.5-22.1h-2.4c-5.6 0.9-8.9 3.3-13.7 3.8 5.6 0.5 26.8 10.4 40.5 16-6.6 2.8-15.5 4.2-22.6 7.1-2.8 0.5-5.2 0.9-8 2.4-6.6 2.8-11.8 14.1-11.3 19.8 32-3.3 79.6-0.9 114.4 9.4-24.5 3.3-47.1 9.9-63.6 18.4-0.5 0.5-0.9 0.5-1.9 0.9-1.9 0.9-4.2 1.4-5.7 2.4-52.3 27.3-75.3 91.8-61.7 169.1 12.2 69.7 63.6 309.4 87.6 423.4-151.2-51.8-260-196.9-260-367.3 0-216.2 175.2-390.9 390.9-390.9 216-0.2 391.2 175 391.2 390.7z" fill="#DE5833" p-id="943"></path><path d="M368.1 452.2c0 16.1 13.1 29.2 29.2 29.2s29.2-13.1 29.2-29.2-13.1-29.2-29.2-29.2-29.2 13.1-29.2 29.2z m0 0M590.8 410.3c-13.7-0.5-25.4 10.4-25.9 24-0.5 13.7 10.4 25.4 24 25.9h1.9c13.7 0 25-11.3 25-25 0-13.6-11.3-24.9-25-24.9z m-185.5-41.9s-21.7-9.9-42.9 3.3c-21.2 13.7-20.3 27.3-20.3 27.3s-11.3-25 18.8-37.2c29.8-12.7 44.9 6.6 44.4 6.6z m200.6-1.9s-15.5-8.9-27.8-8.9c-25 0.5-32 11.3-32 11.3s4.2-26.4 36.3-21.2c10.3 2.3 19.3 8.9 23.5 18.8z m0 0" fill="#336699" p-id="944"></path><path d="M544.7 521.4c22.6-8.9 32.5-8.9 68.3-16 22.6-4.7 52.3-10.8 87.1-21.7 27.8-8.5 33.9-12.7 51.8-14.1 24-1.9 57.5 0.9 61.2 14.1 1.9 6.1-4.2 12.7-9.4 18.8-13.2 15.1-29.7 20.3-56.5 28.3-33.4 10.4-35.8 10.4-47.1 14.1-53.7 17-50.9 21.7-70.6 23.5-35.8 3.3-56-11.8-65.9 0-6.1 7.5-4.2 20.3 0 28.3 6.1 10.8 18.4 14.1 37.7 18.8 23.5 5.6 42.4 5.2 47.1 4.7 17-0.9 29.2-4.2 47.1-9.4 37.7-10.8 48.5-19.8 65.9-14.1 3.3 0.9 17.9 5.7 18.8 14.1 1.9 17-49.4 40-94.2 47.1-43.3 6.6-79.6-2.4-89.5-4.7-6.6-1.9-18.4-5.6-42.4-14.1-27.3-9.4-34.4-12.7-42.4-18.8-8.5-6.6-21.2-16.5-23.5-33-2.4-17 8.5-30.6 14.1-37.7 8.5-10.3 19.8-19.2 42.4-28.2z m0 0" fill="#FDD20A" p-id="945"></path><path d="M521.1 775.7c3.8-3.3 8.5-6.6 14.1-9.4 10.8-5.6 20.7-8.5 28.3-9.4-1.4 3.3-3.3 6.1-4.7 9.4 13.2-6.6 27.3-12.7 42.4-18.8 23.1-9.4 45.2-17 65.9-23.5 7.1 11.3 20.3 33.9 23.5 65.9 3.3 32.5-4.7 58.4-9.4 70.6-5.7 3.3-30.1 16-61.2 9.4s-47.6-27.8-51.8-33c-1.4 4.7-3.3 9.4-4.7 14.1-5.2 0.9-13.7 1.9-23.5 0-10.8-1.9-18.8-6.6-23.5-9.4-22.1 10.8-43.8 22.1-65.9 33-3.3 4.2-9 6.1-14.1 4.7-7.1-1.9-9.4-8.9-9.4-9.4-5.2-15.5-10.4-34.9-14.1-56.5-3.8-23.1-4.7-43.8-4.7-61.2-1.9-5.7 0.5-11.8 4.7-14.1 4.2-2.4 8.9-0.5 9.4 0 17.4 2.4 41 7.1 65.9 18.8 12.6 6.1 23.9 12.7 32.8 18.8z m0 0" fill="#66CC33" p-id="946"></path></svg>
    `
                },

                {
                    name: "矢量图库",
                    searchUrl: "https://www.iconfont.cn/search/index?searchType=icon&q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /iconfont\.cn\/search\/index\?searchType=icon&q=/g,
                    mark: "iconfont",
                    svgCode: `
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1090 1090" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="37714"><path d="M850.2784 547.9936c5.4784 7.5264 8.192 16.4352 7.5264 25.344-7.5264 183.7568-159.1808 330.4448-345.088 330.4448-185.9584 0-337.6128-146.688-345.1904-330.4448a38.1952 38.1952 0 0 1 7.5776-25.344L483.84 138.752a39.3216 39.3216 0 0 1 62.464 0l303.9744 409.2416z" fill="#00F9E5" p-id="37715"></path><path d="M402.2272 683.7248a170.2912 170.2912 0 0 1-240.128-11.6736 169.9328 169.9328 0 1 1 251.8016-228.2496 169.3184 169.3184 0 0 1-11.6736 239.9232z" fill="#FFFFFF" p-id="37716"></path><path d="M288.3072 743.3728a185.0368 185.0368 0 0 1-137.9328-61.0304c-68.608-76.0832-63.1296-193.9968 13.056-262.5536a182.7328 182.7328 0 0 1 133.7856-47.9744 186.9824 186.9824 0 0 1 129.024 61.0304c68.608 76.0832 63.1296 193.9968-13.056 262.5536a185.4976 185.4976 0 0 1-124.8768 47.9744z m-0.6656-340.0192c-38.4 0-74.8032 13.7216-103.6288 39.7312a154.624 154.624 0 0 0-10.9568 218.0096 152.576 152.576 0 0 0 107.008 50.688 153.6 153.6 0 0 0 111.1552-39.7312 154.624 154.624 0 0 0 11.008-217.9584 152.576 152.576 0 0 0-107.008-50.7392h-7.5776z" fill="#0C6066" p-id="37717"></path><path d="M226.56 489.728a89.2416 89.2416 0 0 0-6.144 126.8224 89.4464 89.4464 0 0 0 126.9248 6.144c12.288-10.9568 20.5824-24.6784 25.344-39.0656L226.56 489.728z" fill="#1E1E1E" p-id="37718"></path><path d="M282.112 382.7712l188.0576-258.4576c10.24-13.6704 26.0608-21.9136 43.2128-21.9136 17.152 0 32.9216 8.192 43.2128 21.9136L741.888 383.488l-37.0176 2.7136-172.2368-242.688a23.0912 23.0912 0 0 0-36.352 0l-180.48 246.784-33.5872-7.5264z m-58.9824 333.824c15.7696 30.208 37.0688 57.6 62.464 82.2784a326.5536 326.5536 0 0 0 225.7408 91.1872c84.3776 0 164.6592-32.256 225.7408-91.136a319.6416 319.6416 0 0 0 65.8432-89.1392l44.5952-24.0128a361.0112 361.0112 0 0 1-88.4736 135.7312 357.6832 357.6832 0 0 1-495.4112 0.6656 356.352 356.352 0 0 1-87.1424-131.584l46.6432 26.0608z" fill="#0C6066" p-id="37719"></path><path d="M444.0576 626.176a170.3936 170.3936 0 0 0-34.9696-187.904 171.8272 171.8272 0 0 0-233.984-8.192c-4.8128 4.8128-9.6256 8.9088-14.4384 14.3872-1.3312 1.3824-0.6656 3.4304 0.7168 4.096l277.8624 178.944c1.3824 0.6656 4.096 0 4.8128-1.3824z" fill="#308DF6" p-id="37720"></path><path d="M444.0576 626.176l14.4384 6.144a186.3168 186.3168 0 0 0-37.7344-205.6704A187.136 187.136 0 0 0 288.256 371.8144c-43.9296 0-88.5248 15.0528-123.4944 46.592-5.4784 4.8128-11.008 10.2912-15.7696 15.104a19.2 19.2 0 0 0-4.8128 13.0048c0 6.144 2.7136 12.3392 8.9088 15.7696l277.1968 178.2272c3.4304 2.048 6.8608 2.7648 10.2912 2.7648a19.3536 19.3536 0 0 0 10.2912-2.7648 29.2352 29.2352 0 0 0 7.5776-8.192l-14.4384-6.144-14.3872-6.1952 11.6736 5.4784-6.8608-10.9568a12.1856 12.1856 0 0 0-4.8128 5.4784l11.6736 5.4784-6.8608-10.9568 6.8608 10.9568v-13.0048a11.6224 11.6224 0 0 0-6.8608 2.048l6.8608 10.9568v-13.0048 13.0048l6.8608-10.9568a13.2608 13.2608 0 0 0-6.8608-2.048v13.0048l6.8608-10.9568-277.9136-178.944-6.8608 10.9568h13.056c0-4.096-2.048-8.192-6.144-10.9568l-6.912 10.9568h13.056-13.056l9.6256 8.9088a14.4384 14.4384 0 0 0 3.4304-8.9088h-13.056l9.6256 8.9088c4.096-4.096 8.192-8.9088 13.0048-13.0048a154.2144 154.2144 0 0 1 102.2464-38.4c39.7824 0 80.2816 15.104 109.7728 45.2608 30.208 30.1568 44.5952 69.2224 44.5952 108.288 0 21.248-4.096 42.496-13.0048 61.696l14.3872 6.8608z" fill="#0C6066" p-id="37721"></path><path d="M621.7728 683.7248a170.2912 170.2912 0 0 0 240.128-11.6736 169.9328 169.9328 0 1 0-251.8016-228.2496 169.3184 169.3184 0 0 0 11.6736 239.9232z" fill="#FFFFFF" p-id="37722"></path><path d="M610.816 695.3984c-76.1856-68.608-81.664-186.4704-13.056-262.5536a185.6512 185.6512 0 0 1 129.024-61.0304 181.76 181.76 0 0 1 133.7856 47.9744c76.1856 68.608 81.664 186.4704 13.056 262.5536a185.0368 185.0368 0 0 1-137.9328 61.0304 185.4976 185.4976 0 0 1-124.928-47.9744z m117.2992-292.0448a153.9072 153.9072 0 0 0-107.008 50.688 154.624 154.624 0 0 0 10.9568 218.0096 154.624 154.624 0 0 0 111.1552 39.7824 153.9072 153.9072 0 0 0 107.008-50.688 154.624 154.624 0 0 0-10.9056-218.0608 153.088 153.088 0 0 0-103.6288-39.7312h-7.5776z" fill="#0C6066" p-id="37723"></path><path d="M797.44 489.0112c37.0688 33.6384 39.7824 90.5216 6.144 126.8224a89.4464 89.4464 0 0 1-126.9248 6.1952 89.8048 89.8048 0 0 1-25.344-39.0656l146.1248-93.952z" fill="#1E1E1E" p-id="37724"></path><path d="M579.9424 625.4592a170.3936 170.3936 0 0 1 34.9696-187.8528 171.8272 171.8272 0 0 1 233.984-8.192c4.8128 4.7616 9.6256 8.9088 14.4384 14.336 1.3312 1.4336 0.6656 3.4816-0.7168 4.1472l-277.8624 178.944c-2.048 1.3312-4.096 0.6656-4.8128-1.3824z" fill="#308DF6" p-id="37725"></path><path d="M579.9424 625.4592l14.3872-6.144a148.7872 148.7872 0 0 1-13.0048-61.7472c0-39.0656 14.3872-78.1312 44.544-108.288a153.7024 153.7024 0 0 1 109.824-45.2608c36.352 0 72.704 13.056 102.2464 38.4 4.8128 4.096 8.9088 8.192 13.0048 13.0048l9.6256-8.9088h-13.056c0 2.7648 1.3824 6.144 3.4304 8.9088l9.6256-8.9088h-13.056 13.056l-6.8608-10.9568c-3.4304 2.7648-6.144 6.8608-6.144 10.9568h13.0048l-6.8608-10.9568-277.9136 178.2272 6.8608 11.008v-13.056a13.2608 13.2608 0 0 0-6.8608 2.048l6.8608 11.008v-13.056 13.056l6.8608-11.008a11.6224 11.6224 0 0 0-6.8608-2.048v13.056l6.8608-11.008-6.8608 11.008 11.6736-5.5296c-1.3824-2.7136-2.7136-4.7616-4.8128-5.4784l-6.8608 11.008 11.6736-5.5296-14.3872 6.144-14.4384 6.1952a14.848 14.848 0 0 0 7.5776 8.2432 17.92 17.92 0 0 0 10.24 2.7648 19.3536 19.3536 0 0 0 10.3424-2.7648l277.8624-178.8928a18.3296 18.3296 0 0 0 8.2432-15.7696 17.6128 17.6128 0 0 0-4.8128-12.3392c-4.7616-5.5296-10.24-10.2912-15.7696-15.104a187.392 187.392 0 0 0-123.4944-46.592c-48.0256 0-96.768 18.4832-132.4544 54.784a186.3168 186.3168 0 0 0-37.7344 205.6704l14.4384-6.144z" fill="#0C6066" p-id="37726"></path></svg>
`
                },

                {
                    name: "搜狗",
                    searchUrl: "https://www.sogou.com/web?query={keyword}",
                    searchkeyName: ["query"],
                    matchUrl: /sogou\.com.*?query=/g,
                    mark: "Sogou",
                    svgCode: `
  <svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4716"><path d="M676.8 297.6l48 14.4 4.8 76.8c-30.4-12.8-60.8-22.4-92.8-28.8-38.4-9.6-78.4-16-116.8-16-16 0-32 1.6-46.4 6.4-8 3.2-16 8-19.2 16-3.2 6.4-1.6 12.8 1.6 17.6 4.8 8 12.8 14.4 20.8 17.6 17.6 9.6 38.4 14.4 59.2 19.2 40 9.6 80 19.2 118.4 36.8 17.6 8 35.2 17.6 51.2 30.4 9.6 8 19.2 17.6 25.6 28.8 14.4 25.6 14.4 60.8-1.6 86.4-12.8 20.8-35.2 36.8-57.6 46.4-27.2 11.2-57.6 17.6-86.4 19.2-32 3.2-64 3.2-96 0-48-4.8-94.4-16-140.8-32-16-4.8-32-11.2-48-17.6-1.6-25.6-3.2-52.8-4.8-78.4 27.2 12.8 56 24 86.4 32 40 11.2 83.2 17.6 124.8 14.4 16-1.6 32-3.2 48-8 8-3.2 16-6.4 22.4-11.2 3.2-3.2 6.4-8 4.8-12.8-1.6-6.4-4.8-9.6-9.6-14.4-9.6-8-20.8-12.8-32-17.6-12.8-4.8-27.2-9.6-40-11.2-28.8-6.4-59.2-12.8-88-20.8-30.4-9.6-60.8-19.2-88-36.8-14.4-9.6-27.2-22.4-33.6-38.4-6.4-12.8-6.4-28.8-4.8-41.6 3.2-20.8 12.8-40 27.2-56 14.4-16 33.6-27.2 52.8-33.6 22.4-9.6 48-14.4 72-16 38.4-3.2 78.4 0 116.8 4.8 43.2 6.4 83.2 14.4 121.6 24z" fill="#E94924" p-id="4717"></path><path d="M827.2 737.6l-38.4-32c-6.4 8-12.8 14.4-20.8 22.4-16 16-35.2 32-54.4 44.8-19.2 12.8-40 24-60.8 33.6l22.4 43.2c60.8-25.6 110.4-64 152-112z m-196.8 22.4c-16 6.4-33.6 11.2-49.6 16-22.4 4.8-46.4 8-68.8 8-41.6 0-83.2-8-121.6-24-17.6-8-36.8-17.6-52.8-28.8s-32-24-46.4-38.4c-14.4-14.4-27.2-28.8-38.4-46.4-11.2-16-20.8-35.2-28.8-52.8-16-38.4-24-78.4-24-121.6S208 388.8 224 350.4c8-17.6 17.6-36.8 28.8-52.8s24-32 38.4-46.4c14.4-14.4 28.8-27.2 46.4-38.4 16-11.2 35.2-20.8 52.8-28.8 38.4-16 78.4-24 121.6-24s83.2 8 121.6 24c17.6 8 36.8 17.6 52.8 28.8s32 24 46.4 38.4c14.4 14.4 27.2 28.8 38.4 46.4 11.2 16 20.8 35.2 28.8 52.8 16 38.4 24 78.4 24 121.6 0 38.4-6.4 75.2-20.8 110.4-12.8 33.6-30.4 64-54.4 89.6l38.4 32c52.8-62.4 84.8-144 84.8-232C872 273.6 710.4 112 512 112S152 273.6 152 472 313.6 832 512 832c49.6 0 97.6-9.6 140.8-28.8l-22.4-43.2z" fill="#E94924" p-id="4718"></path></svg>
  `
                },

                {
                    name: "猫脚本",
                    searchUrl: "https://scriptcat.org/zh-CN/search?keyword={keyword}",
                    searchkeyName: ["keyword"],
                    matchUrl: /scriptcat\.org\/zh-CN\/search\?keyword=/g,
                    mark: "ScriptCat",
                    svgCode: `
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="-20 -20 168 168"><image width="128" height="128" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAG1BMVEVMaXERldsSltsSltsSltsRltsSl90Rl9wSlttF1ZwEAAAACHRSTlMATXih5MctGii4iq0AAAAJcEhZcwAACxMAAAsTAQCanBgAAAKeSURBVHic7ZvrdoMgEIT3wmXf/4l7TNuYpCKDslLPYX6L81VwWDeUaGpqampqQ8yZuiszg1dqMLMofe0lmllQ6FL7Vk+Eh/0i4J78c2lHhKe9mdWnQdeLzUIHBFlm9Kn6JMTXy88jvNubxeoI+9QZhE97M6uOCdYNYcPeQusUHEfYskemQLeGtSNs2yOLULcHtiGU7BEAKQ3FEcr2SBJxeTCGsGePBFHaG17/E3Ye4EOpCpArd9hFqNmbAdus2VGEuj2QQ7SVRBsI/EeIPZBDtJ1EvVTPISoHQQ/pHQDEEwCJMvYE4DsAZE8AqNw3RyH+BCXRMSE5RJ5JhOQQeQaB3gNA/ACwkor9APgeAMkPoF6QPeQHQDQ2iQIIEMfmEPkFgd4FQLwA0K9L9gLguwCkwTlEbkmE+lMYm0PklUTxPgA6NofIK4nwLhePjQEaD5AG5xA5JRHuT2FsDpFPECAxwMEsRGEfAJa43J8HtYeAQFKzoQTpKv/SCynXAcj13al38f8EIMfmEBZJchVAcV+Wwf5EmdW1W28WtX42IYkPRVSBN2TxAGj56ZPHFkTkk8oNBRG5dMybDsaYg1r8KYytyMijJsM/zJzew7YDCGnsS0AOi6BtCVD/+hD/NHbKwpYcXJQ7z0FoiaGcuPuGGFU4ARB5sfbrli8YuXqU0FlBywjqbf6DwKOL0lgAiFcBFFIxX+ZfCIV0HYAM/jIyHtwfiNiBVhXO6fTCjGkJt7eHG8o7s6yx+bsyTxLE39RZ4z3u7UuJn9ZdCJ7+xfvXdYbg0/+g9KoipDdBN3+iI53L3bXWLmlMqR6n0t+Vm+ZhZ88/LoYRtO/TX5URBqAHc0b59b8V/iqKq/u3EovoR+kaoqqsAT41NTU1NTU1Rbi+AHOl+uItChMBAAAAAElFTkSuQmCC"/></svg>
`
                },

                {
                    name: "360搜索",
                    searchUrl: "https://www.so.com/s?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /so\.com.*?q=/g,
                    mark: "360Search",
                    svgCode: `
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11332"><path d="M534.096842 129.347368H533.557895c0 0.538947 0 0.538947 0.538947 0zM40.96 594.997895c0.538947 1.077895 1.077895 1.616842 1.077895 2.694737 0-1.077895-0.538947-2.155789-1.077895-2.694737zM707.098947 603.621053c31.797895 0 57.128421 25.869474 57.128421 57.128421 0 12.395789-3.772632 23.713684-10.778947 32.875789h0.538947c31.797895-53.355789 50.122105-115.873684 50.122106-182.16421 0-196.715789-158.989474-355.705263-355.705263-355.705264s-355.705263 158.989474-355.705264 355.705264c0 64.134737 17.246316 124.496842 46.888421 176.235789h0.538948c-4.311579-8.084211-7.006316-17.246316-7.006316-26.947368 0-31.797895 25.869474-57.128421 57.128421-57.128421 21.018947 0 38.804211 11.317895 49.044211 28.025263-19.941053-35.031579-31.797895-75.991579-31.797895-119.646316 0-133.12 107.789474-240.909474 240.909474-240.909474S689.852632 378.88 689.852632 512c0 44.193684-11.856842 85.153684-32.336843 120.724211 10.24-17.246316 28.564211-29.103158 49.583158-29.103158z" fill="#28B75A" p-id="11333"></path><path d="M241.448421 633.802105c-0.538947-1.077895-1.077895-1.616842-1.616842-2.155789 0.538947 0.538947 0.538947 1.616842 1.616842 2.155789z" fill="#28B75A" p-id="11334"></path><path d="M764.766316 661.288421c0-31.797895-25.869474-57.128421-57.128421-57.128421-21.557895 0-39.882105 11.856842-49.583158 29.103158-41.498947 71.68-119.107368 120.185263-208.572632 120.185263-88.387368 0-165.456842-47.966316-207.494737-119.107368h-0.538947c-9.701053-17.785263-28.564211-30.181053-50.122105-30.181053-31.797895 0-57.128421 25.869474-57.128421 57.128421 0 11.856842 3.772632 23.174737 10.24 32.336842C205.338947 797.642105 319.056842 867.705263 448.943158 867.705263s243.065263-69.524211 305.583158-173.541052h-0.538948c6.467368-9.162105 10.778947-20.48 10.778948-32.87579zM180.547368 717.338947c3.233684 0.538947 6.467368 1.077895 10.24 1.077895-3.233684 0-7.006316-0.538947-10.24-1.077895z m-18.32421-7.006315c1.077895 0.538947 2.694737 1.616842 3.772631 2.155789-1.616842-0.538947-2.694737-1.077895-3.772631-2.155789z m7.545263 4.311579c2.694737 1.077895 5.389474 2.155789 8.623158 2.694736-3.233684-1.077895-5.928421-1.616842-8.623158-2.694736z m77.608421-63.056843c0.538947 3.233684 1.077895 6.467368 1.077895 9.701053 0-3.233684-0.538947-6.467368-1.077895-9.701053z m-2.155789-7.006315c0.538947 1.077895 0.538947 2.155789 1.077894 3.233684 0-1.077895-0.538947-2.155789-1.077894-3.233684z m405.827368 7.006315c-0.538947 3.233684-1.077895 6.467368-1.077895 9.701053 0-3.233684 0-6.467368 1.077895-9.701053z m1.616842-8.08421c-0.538947 1.616842-1.077895 2.694737-1.077895 4.311579 0.538947-1.616842 1.077895-3.233684 1.077895-4.311579z m64.673684 73.835789c-3.233684 0.538947-7.006316 1.077895-10.24 1.077895 3.772632 0 7.006316-0.538947 10.24-1.077895z m29.103158-14.551579c-2.155789 1.616842-4.311579 3.772632-6.467368 5.389474 2.155789-1.616842 4.311579-3.233684 6.467368-5.389474z m-8.623158 7.006316c-2.155789 1.077895-4.311579 2.694737-6.467368 3.772632 2.155789-1.616842 4.311579-2.694737 6.467368-3.772632z m-9.162105 4.311579c-2.694737 1.077895-5.928421 2.155789-9.162105 2.694737 3.233684-0.538947 6.467368-1.077895 9.162105-2.694737z m20.48-14.012631c1.616842-2.155789 3.772632-3.772632 4.850526-5.928421-1.616842 2.155789-3.233684 4.311579-4.850526 5.928421z" fill="#F9B617" p-id="11335"></path><path d="M713.027368 649.431579m-57.128421 0a57.128421 57.128421 0 1 0 114.256842 0 57.128421 57.128421 0 1 0-114.256842 0Z" fill="#28944A" p-id="11336"></path><path d="M707.098947 661.288421m-57.128421 0a57.128421 57.128421 0 1 0 114.256842 0 57.128421 57.128421 0 1 0-114.256842 0Z" fill="#F9B617" p-id="11337"></path><path d="M184.858947 649.431579m-57.128421 0a57.128421 57.128421 0 1 0 114.256842 0 57.128421 57.128421 0 1 0-114.256842 0Z" fill="#28944A" p-id="11338"></path><path d="M190.787368 661.288421m-57.128421 0a57.128421 57.128421 0 1 0 114.256842 0 57.128421 57.128421 0 1 0-114.256842 0Z" fill="#F9B617" p-id="11339"></path><path d="M913.515789 810.576842m-57.128421 0a57.128421 57.128421 0 1 0 114.256843 0 57.128421 57.128421 0 1 0-114.256843 0Z" fill="#F9B617" p-id="11340"></path></svg>
`
                },

                {
                    name: "Startpage",
                    searchUrl: "https://www.startpage.com/sp/search?query={keyword}",
                    searchkeyName: ["query"],
                    matchUrl: /startpage\.com.*?query=/g,
                    mark: "Startpage",
                    svgCode: `
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21932"><path d="M849.728 748.224l-157.696-105.088a281.856 281.856 0 0 0 38.592-140.672c0-157.312-128-285.312-285.312-285.312-157.376 0-285.376 128-285.376 285.312s128 285.312 285.376 285.312a283.648 283.648 0 0 0 209.152-92.8l159.68 106.496a31.808 31.808 0 0 0 44.352-8.896 31.872 31.872 0 0 0-8.768-44.352z m-404.352-24.384A221.632 221.632 0 0 1 224 502.464c0-122.048 99.328-221.312 221.376-221.312s221.312 99.264 221.312 221.312a221.568 221.568 0 0 1-221.312 221.376z" fill="#F08218" p-id="21933"></path></svg>
`
                },

                {
                    name: "WolframAlpha",
                    searchUrl: "https://www.wolframalpha.com/input?i={keyword}",
                    searchkeyName: ["i"],
                    matchUrl: /wolframalpha\.com.*?i=/g,
                    mark: "WolframAlpha",
                    svgCode: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="-165 -92.84 1080 607.68"><g fill="none" stroke-width="2"><path stroke="#e4959a" d="m375.21 0-.17 361.92q0 .84-.75.48l-.6-.29q-.4-.19-.84-.15l-5.44.43q-.5.04-.88-.27c-1.29-1.01-6.75-.84-8.62-.91q-.58-.02-.6.56l-.08 2.58q-.02.65.63.65h1.64q.5 0 .5.5v16.51q0 .45.45.5l1.79.18q.76.08.76-.68v-16.19a.93.93 0 0 1 1.2-.89l4.05 1.22q.46.14.48.63l.59 16.14q.03.76.78.68l1.63-.16q.62-.06.59-.68l-.54-16.58q-.02-.36.34-.41l2.13-.31" vector-effect="non-scaling-stroke"/><path stroke="#f7c7c7" d="m374.25 365.46.46.04" vector-effect="non-scaling-stroke"/><path stroke="#e4959a" d="M374.71 365.5c.18.24.29.37.29.69q-.11 27.91.19 55.81" vector-effect="non-scaling-stroke"/><path stroke="#caccd0" d="M38.46 321.75c-.35 6.76-1.01 15.13 1.24 21.07 3.07 8.08 11.28 15.42 20.55 15.42q123.84.03 247.69-.01 15.37 0 22.42-11.27c3.63-5.79 3.92-13.01 3.68-19.86-.27-7.81-.29-14.38-.33-21.6" vector-effect="non-scaling-stroke"/><path stroke="#fce885" d="M333.71 305.5q.09-110.84.02-221.69c0-1.77-1.26-7.58-3.22-9.48q-.71-.7-1.31-1.51c-5.22-7.06-11.47-10.31-20.46-10.31q-123.9-.03-247.8.01c-6.33 0-12.07 3.45-16.5 7.65-2.05 1.93-2.91 4.72-4.22 7.24-1.91 3.67-2.05 8.17-2.04 11.59q.49 116.37.28 232.75" vector-effect="non-scaling-stroke"/><path stroke="#c6b455" d="M333.71 305.5c-1.21 10.32-.57 20.75-.88 31.13-.28 9.22-6.83 16.59-15.16 19.56q-3.66 1.31-10.13 1.31H66.53q-8.35 0-12.39-1.41c-8.68-3.05-14.36-10.4-15.01-19.68q-.51-7.32-.67-14.66" vector-effect="non-scaling-stroke"/><path stroke="#e4959a" d="m340.84 376.49.46.69q.27.41.32.9l.93 8.88q.08.68.75.78l2.09.32q.76.12.59-.63c-1.16-5.19-1.91-10-1.15-15.46q.65-4.75-.96-9.44-.19-.53-.67-.82-3.04-1.81-6.46-.5-.46.17-.43.65l1.14 24.99q.03.62.65.64l1.81.03q.51.01.49-.49l-.38-10.27q-.06-1.58.82-.27M323.35 373.5q-.93-5.8-1.17-11.66-.03-.6-.62-.51l-1.75.26q-.52.07-.47.6l2.57 25.85q.07.68.75.66l1.41-.06q.63-.02.68-.65l.94-11.95a.38.38 0 0 1 .76-.01l1.09 11.83q.06.57.62.68l1.19.24q.78.16.85-.64l2.4-25.75q.07-.76-.7-.76l-1.52-.01q-.61 0-.61.61.04 6.41-1.06 12.72-.01.05-.06.06-.16.01-.3-.06-.03-.03-.03-.07-.15-5.77-1-11.47-.1-.66-.77-.66h-1.14q-.59 0-.66.59l-1.11 10.15q-.11 1.08-.29.01M295.35 376q-1.07-6.27-1.18-12.62-.01-.63-.64-.63h-1.55q-.76 0-.68.75 1.36 12.6 2.61 25.23c.15 1.5 1.01 1.93 2.38 1.39a.72.7-9.7 0 0 .44-.6l1.09-12.77a.3.3 0 0 1 .6 0l1.12 12.75q.05.59.64.65l1.35.14q.64.06.7-.58l2.33-25.62q.06-.59-.54-.59h-1.67q-.41 0-.44.41l-.99 12.48q-.01.11-.12.11h-.32q-.18 0-.18-.18-.07-5.91-1.14-11.71-.12-.64-.76-.62l-1.17.03q-.56.02-.6.57l-.98 11.4q-.1 1.19-.3.01M355.55 377.14c.05-3.81.9-12.59-3.66-13.19-6.95-.92-4.97 14.47-4.87 20.84.06 3.92 1.46 9.75 7.02 6.34q.44-.27.6-.77c1.52-4.61.86-9.15.91-13.22M312.2 378.81a.25.25 0 0 1 .5-.01l1.4 12.33q.08.71.79.58l1.45-.28q.49-.09.52-.58.81-12.7 1.42-25.43.07-1.41-1.89-.99-.49.1-.51.6l-.54 12.72q-.1 2.48-.46.02l-1.66-11.42q-.09-.58-.68-.58h-1.06q-.69 0-.74.69-.39 5.06-1.04 10.09-.3 2.31-.52-.01l-1.03-10.95q-.08-.77-.82-.57l-1.54.43q-.57.15-.49.74l3.22 25.6q.06.46.52.46h1.47q.52 0 .56-.52l1.13-12.92M364.31 385.3c-1.25-.8-2.62-2.28-4.07-.9q-.33.31-.76.48l-.77.3q-.68.26-.22.82l2.58 3.13q.38.46.76 0l2.59-3.14q.34-.4-.11-.69M370.75 390.3a.25.24 43 0 0 .38-.01l2.52-3.32q.44-.58-.14-1.02-2.93-2.19-5.62.37-.29.28-.03.59l2.89 3.39M335.956 386.616a.65.65 0 0 0-.665-.635l-1.7.039a.65.65 0 0 0-.634.664l.067 2.96a.65.65 0 0 0 .664.635l1.7-.039a.65.65 0 0 0 .635-.664l-.067-2.96" vector-effect="non-scaling-stroke"/><path stroke="#db5d62" d="M374.71 365.5q.21-.93-.02-1.79-.2-.73-.38 0-.21.85-.06 1.75" vector-effect="non-scaling-stroke"/><path stroke="#e4959a" d="M618.84 167.58c-9.58-14.12-1.8-32.35-9.49-46.33q-.23-.41-.01-.83c6.03-11.43 5.52-26.3 3-38.66-3.93-19.28-16.69-19.11-32.84-15.65q-.51.11-.49.63l4.78 102.49a2.13 2.13 0 0 0 2.25 2.03l9.96-.55q.43-.02.41-.45l-1.95-42.03q-.03-.61.57-.67l2.54-.24q.45-.05.64.36 2.83 5.99 2.86 9.57c.12 13.93-.66 25.8 7.25 34.89q.28.32.7.29l9.24-.63q.5-.04.45.46l-.85 9.18q-.05.52.33.88l1.17 1.13q.32.31.76.29l9.41-.47q.52-.03.57-.54l2-21.58q.06-.69.76-.67l7.63.22q.36.01.41.37l3.15 24.8q.09.73.83.71l9.91-.34a2.11 2.1-4.4 0 0 2.02-2.35l-12.63-107q-.08-.72-.8-.68l-14.33.74q-.55.03-.6.58l-9.2 89.95q-.06.6-.41.1M434.81 121.02l-4.63-54.68q-.04-.52-.57-.48l-9.46.74a2.34 2.34 0 0 0-2.15 2.57l10.88 105.87a.4.4 0 0 0 .41.36l10.27-.45a.51.5-88.7 0 0 .48-.46l4.99-53.55q.14-1.49.29 0l5.38 53.55q.05.51.56.51H461a.56.55-87.1 0 0 .55-.5l9.68-104.6a1.94 1.93 3.1 0 0-1.9-2.11l-9.41-.13q-.42-.01-.45.41l-3.64 52.39a.24.24 0 0 1-.48.01l-5.21-48.9q-.06-.57-.63-.57h-9.96q-.46 0-.5.46l-4.09 49.56q-.07.84-.15 0M684.78 123.5l-6.32-51.68q-.07-.57-.65-.57h-13.5q-1.81.01-1.81 1.81v100.53a1.9 1.9 0 0 0 1.9 1.9l7.81.01a2.03 2.02-89.9 0 0 2.03-2.03l.02-42.49q0-1.4.2-.02l6.71 47.05a.58.57-4 0 0 .57.49h5.97q.58 0 .67-.57c.67-4.57 6.29-45.93 7.14-46.59q.23-.17.23.12v44.97a2.06 2.05.3 0 0 2.04 2.05c2.02.02 7.07.54 8.64-.57 1.91-1.35.95-3.04.98-4.68q.67-46.76.28-61.17-.63-23.15.06-35.56.18-3.23-1.36-4.86-.37-.39-.9-.39h-13.3q-.57 0-.64.56l-6.5 51.69q-.14 1.07-.27 0M511.56 154.49c-.05-19.18.45-38.37.11-57.55-.16-8.86-2.78-21.16-11.97-24.63q-5.28-1.98-10.28.18c-11.11 4.79-11.73 19.44-11.83 29.51q-.37 37.35-.43 52.24-.04 9.22 2.54 17.28c4.61 14.4 23.27 15.9 28.72 1.38q3.16-8.42 3.14-18.41M563.82 119.66l-.37-24.92q0-.57.56-.58l11.18-.23a2.62 2.61 89.4 0 0 2.56-2.62V79.47a2.16 2.15-.8 0 0-2.22-2.15l-24.33.72q-.64.02-.63.66.92 51.3 1.81 102.61.04 2.12 1.12 3.18.4.39.95.38l9.93-.17q.58-.01.57-.58l-.62-46.28q-.01-.59.58-.59l9.49-.01a1.9 1.9 0 0 0 1.9-1.95l-.37-14.43q-.01-.61-.63-.61h-10.89q-.58 0-.59-.59M528.66 170.17q-.98-.04-.96-1.02l2.09-88.82a.75.75 0 0 0-.72-.77l-8.82-.36q-.53-.03-.99.25c-2.34 1.43-1.66 2.9-1.71 5.17q-1.14 50.45-2.16 100.95-.02.63.61.65l25.76.83a1.86 1.86 0 0 0 1.92-1.81l.36-13.98q.01-.54-.53-.56l-14.85-.53M484.31 318.67l7.38.33q.67.03.74.7l2.43 24.75a.89.89 0 0 0 .87.8q3.77.01 7.91.01c4.99 0 3.9-3.29 3.59-6.72q-4.6-51.55-9.5-103.35a.5.49 86.7 0 0-.49-.44H482.7q-.58 0-.65.57-6.55 51.34-13.08 102.68c-.61 4.74 8.27 3.25 10.97 3.25q1.05 0 1.18-1.05l2.48-20.93q.08-.63.71-.6M635.92 319.48q.06-.48.54-.46l7.52.31a.73.71 88.2 0 1 .69.66l2.44 24.96q.06.52.58.55l9.89.46a2.02 2.01-.9 0 0 2.11-2.17l-8.78-107.81q-.05-.63-.69-.66l-14.25-.59q-.6-.03-.68.56l-14.3 103.49a2.17 2.16 5.5 0 0 2.04 2.46l9.39.46q.67.03.75-.63l2.75-21.59M526 331.5a.25.25 0 0 1-.25-.25V243a2.25 2.25 0 0 0-2.25-2.25h-9.25q-.5 0-.5.5v104.5A2.25 2.25 0 0 0 516 348h23.5a2.25 2.25 0 0 0 2.25-2.25v-12.12a2.13 2.13 0 0 0-2.13-2.13H526M598.12 284.76l.82-40.74a1.98 1.98 0 0 0-1.98-2.02h-9.92q-.46 0-.47.46l-2.2 102.67q-.01.52.51.54l9.27.37a2.51 2.5-88.1 0 0 2.6-2.44l1.08-41.2q.01-.5.51-.49l7.16.13q.5.01.49.5c-.08 14.66-.55 29.34-.76 44-.03 2.16.89 3.18 3.02 3.19q6.05.02 8.85.02.57 0 .58-.57l2.1-102.98a.42.42 0 0 0-.4-.43l-10.1-.35a1.91 1.9-88.2 0 0-1.97 1.86l-.9 37.78q-.01.47-.47.45l-7.43-.34q-.4-.01-.39-.41M558.7 316.27c8.07-.06 15.28-2.31 18.04-10.34 4-11.66 6.49-34.57-.58-46.34-5.41-9.03-17.66-7.43-26.66-7.86a1.91 1.91 0 0 0-2.01 1.85l-3.27 104.47q-.02.61.59.64l9.72.36q.63.02 1.04-.46c2.02-2.36 1.84-27.18 2.48-41.69q.03-.62.65-.63M427.36 369.02q-.96-3.19-1.39-6.35-.09-.64-.73-.65l-1.92-.03q-.75-.01-.6.72 1.35 6.68 2.69 13.36c.81 4.04.59 7.9.59 11.99q0 .69.7.69h2.11q.71 0 .61-.71c-1.32-9.44.76-17.27 2.28-26q.1-.57-.48-.56l-2.07.03q-.58.01-.66.59l-.95 6.91q-.06.4-.18.01M418.58 366.18q.99 2.55.33 5.15-.17.65.5.65l2.26.03q.57 0 .61-.56c.15-2.5.25-7.56-2.1-9.14-3.49-2.36-6.24 1.34-6.32 4.62q-.18 7.7.44 18.28c.33 5.78 6.85 6.91 7.95 1.04q.68-3.62.48-6.61-.05-.64-.69-.64h-1.99q-.52 0-.48.51c.08 1.47.32 5.88-.98 6.71a.57.57 0 0 1-.87-.42q-1.06-9.68-.58-19.39a.75.74 35.8 0 1 1.44-.23M440.7 366.79l.44 4.71q.05.58.63.53l1.58-.16q.56-.05.6-.61c.22-2.75.73-9.81-4.11-9.55q-3.89.21-4 4.8-.24 9.64.51 19.22c.29 3.69 3.15 5.45 6.42 3.57q.45-.26.64-.75 1.7-4.3.96-8.95-.1-.62-.72-.61l-1.54.03q-.49.01-.52.5l-.31 5.99a.76.76 0 0 1-1.26.53c-1.4-1.21-1.19-16.21-1.22-19.15a.95.95 0 0 1 1.9-.1M388.89 385.43a.36.36 0 0 1-.39-.36v-7.51a.36.36 0 0 1 .43-.35l2.01.38a.36.36 0 0 0 .42-.36l-.05-3.63a.36.36 0 0 0-.36-.35h-2.39a.36.36 0 0 1-.36-.34l-.27-6.16a.36.36 0 0 1 .31-.37l2.95-.44a.36.36 0 0 0 .31-.36v-3.04a.36.36 0 0 0-.38-.36l-6.04.26a.36.36 0 0 0-.34.37l.81 26.42a.36.36 0 0 0 .37.35l6.17-.15a.36.36 0 0 0 .35-.35l.16-3.52a.36.36 0 0 0-.38-.37l-3.33.24M460.64 378q.43 5.22.88 10.32c.08 1 .54 1.86 1.69 1.39q.46-.2.54-.7l1.6-10.77q.4-2.64.4.03v10.85q0 .63.63.63h1.34q.78 0 .78-.78V363q0-.5-.5-.5h-2.98q-.49 0-.55.48l-1.53 11.73q-.19 1.45-.36 0l-1.39-11.65q-.07-.56-.63-.56h-2.93q-.63 0-.63.62v25.25q0 .63.63.63h1.65q.65 0 .66-.65.08-5.2.64-10.35.03-.3.06 0M406.97 385.07c2.6-.69 2.33 4.47 2.53 6.07q.08.61.7.61h1.99q.69 0 .61-.69l-3.17-26.72q-.08-.72-.8-.64l-2.52.26q-.72.07-.8.8l-2.61 25.57q-.07.67.61.67h1.87q.62 0 .66-.62l.29-4.54q.04-.62.64-.77M454.52 367.94a4.11 4.11 0 0 0-4.138-4.08l-.32.001a4.11 4.11 0 0 0-4.081 4.14l.139 19.899a4.11 4.11 0 0 0 4.138 4.08l.32-.002a4.11 4.11 0 0 0 4.081-4.138l-.139-19.9M398.01 368.37a.75.75 0 0 1 1.33.47l.08 5.25q.01.41.42.41h1.88q.45 0 .47-.46c.19-3.86.98-10.75-4.5-9.78-5.23.92-3.55 15.43-3.88 20.79-.13 2.13.15 5.17 1.74 6.89q.36.39.9.35l4.97-.35a.83.82-1.1 0 0 .77-.8l.31-12.2q.01-.57-.55-.59l-3.25-.15q-.63-.02-.72.6l-.28 2.05q-.1.77.66.87l.52.07q.56.08.53.64l-.33 5.58a.77.76-74.8 0 1-1.11.64c-1.42-.71-1.09-18.92.04-20.28M383 388.42a.41.41 0 0 0-.41-.41l-3.35-.03a.41.41 0 0 1-.41-.42l.52-22.64a.41.41 0 0 0-.41-.42h-2.22a.41.41 0 0 0-.41.4l-.44 26.43a.41.41 0 0 0 .41.42h6.31a.41.41 0 0 0 .41-.41v-2.92M434.465 386.449a.46.46 0 0 0-.47-.45l-2.12.044a.46.46 0 0 0-.45.47l.07 3.319a.46.46 0 0 0 .47.45l2.12-.045a.46.46 0 0 0 .45-.47l-.07-3.318" vector-effect="non-scaling-stroke"/><path stroke="#f39b33" d="M159.71 127.75q-20.91-8.92-41.96-17.5-3.09-1.26-4.25-1.46" vector-effect="non-scaling-stroke"/><path stroke="#d07c1b" d="m113.5 108.79-1.11-.68q-.53-.33-.46.29l5.53 52.35" vector-effect="non-scaling-stroke"/><path stroke="#ef8329" d="m117.46 160.75-47.54 8.66q-1.21.22-.35 1.11l34.54 35.84" vector-effect="non-scaling-stroke"/><path stroke="#f0801f" d="m104.11 206.36-40.74 38.36q-.4.38.09.63.58.31 1.29.11" vector-effect="non-scaling-stroke"/><path stroke="#c57c22" d="m64.75 245.46 52.43 8.38" vector-effect="non-scaling-stroke"/><path stroke="#d07c1b" d="M117.18 253.84q-3 27.56-8.07 55.03a.41.4-8.6 0 0 .59.43l48.55-25.09" vector-effect="non-scaling-stroke"/><path stroke="#c57c22" d="m158.25 284.21 25.27 47.05" vector-effect="non-scaling-stroke"/><path stroke="#f0801f" d="M183.52 331.26q-.18.42.17.48.49.09.72-.35l24.92-46.32a.68.66-61.7 0 1 .9-.28l44.8 23.94a.4.4 0 0 0 .59-.36l-1.12-51.58" vector-effect="non-scaling-stroke"/><path stroke="#d07c1b" d="m254.5 256.79 47.75-5.83" vector-effect="non-scaling-stroke"/><path stroke="#f0801f" d="M302.25 250.96q.92.3.95-.06a1.66.41-82.5 0 0-.14-1.29l-33.85-40.11" vector-effect="non-scaling-stroke"/><path stroke="#f39b33" d="m269.21 209.5 33.26-39.2a.49.48-64.2 0 0-.27-.79l-47.29-9.39" vector-effect="non-scaling-stroke"/><path stroke="#f0801f" d="m254.91 160.12 4.27-50.14q.05-.61-.52-.39l-47.51 18.59" vector-effect="non-scaling-stroke"/><path stroke="#f3b04d" d="M211.15 128.18c-1.25-.23-21.8-38.52-24.16-42.79a.42.42 0 0 0-.72-.02l-26.56 42.38" vector-effect="non-scaling-stroke"/><path stroke="#eb6061" d="M211.15 128.18q-13.44 16.38-26.09 33.75" vector-effect="non-scaling-stroke"/><path stroke="#db5d62" d="M185.06 161.93q-.65.21-1.27.82" vector-effect="non-scaling-stroke"/><path stroke="#eb6061" d="M183.79 162.75q-.28-.3-.38-.65" vector-effect="non-scaling-stroke"/><path stroke="#ee7a76" d="m183.41 162.1-23.7-34.35" vector-effect="non-scaling-stroke"/><path stroke="#db4849" d="M229.95 193.38c-1.91 2.25-9.18 3.84-12.16 4.62" vector-effect="non-scaling-stroke"/><path stroke="#e4959a" d="m217.79 198-.03-14.54a.88.88 0 0 0-.92-.88q-16.1.66-32.09.13" vector-effect="non-scaling-stroke"/><path stroke="#d82d34" d="m184.75 182.71-.96-19.96" vector-effect="non-scaling-stroke"/><path stroke="#eb4b48" d="m254.91 160.12-24.96 33.26" vector-effect="non-scaling-stroke"/><path stroke="#d82d34" d="M229.95 193.38q-.67-1.5-.68-2.44c-.05-10.49-.07-26.15.2-45.54q.03-1.69-1.51-.99-21.15 9.58-42.9 17.52" vector-effect="non-scaling-stroke"/><path stroke="#eb4b48" d="M183.41 162.1q-1.26.37-1.94-.28-.29-.27-.66-.42l-41.2-16.83" vector-effect="non-scaling-stroke"/><path stroke="#f49899" d="m184.75 182.71-30.93.26q-.55.01-.56.56l-.26 12.18" vector-effect="non-scaling-stroke"/><path stroke="#eb4b48" d="M153 195.71c-1.63-.47-11.62-4.45-12.21-3.96" vector-effect="non-scaling-stroke"/><path stroke="#e7333e" d="M140.79 191.75v-1.25" vector-effect="non-scaling-stroke"/><path stroke="#eb4b48" d="M269.21 209.5q-8.32-3.18-16.78-5.95c-2.31-.75-4.8-2.14-7.31-2.9-5.29-1.62-9.47-3.46-14.25-5.48a.54.54 0 0 0-.62.85c5.24 5.95 11.19 14.26 14.66 18.71 1.23 1.59 13.69 17.26 13.15 17.57" vector-effect="non-scaling-stroke"/><path stroke="#cb4744" d="m258.06 232.3-44.12 12.18" vector-effect="non-scaling-stroke"/><path stroke="#eb4b48" d="m213.94 244.48-1.65.52" vector-effect="non-scaling-stroke"/><path stroke="#ee7a76" d="m212.29 245-12.06-17.07" vector-effect="non-scaling-stroke"/><path stroke="#f6b2ae" d="m200.23 227.93 16.99-.18q.53-.01.53-.53v-14.95q0-.74-.73-.73l-63.31.16q-.59 0-.59.59l-.1 14.69q-.01.74.73.74l16.64.16" vector-effect="non-scaling-stroke"/><path stroke="#ee7a76" d="m170.39 227.88-12.68 18.37" vector-effect="non-scaling-stroke"/><path stroke="#cb4744" d="M157.71 246.25q-1.24-1.21-2.96-1.46" vector-effect="non-scaling-stroke"/><path stroke="#c0474b" d="m154.75 244.79-44.25-14.58" vector-effect="non-scaling-stroke"/><path stroke="#eb4b48" d="m110.5 230.21 29.79-37.71" vector-effect="non-scaling-stroke"/><path stroke="#ea4d52" d="m140.29 192.5.5-.75" vector-effect="non-scaling-stroke"/><path stroke="#f6b2ae" d="m153 195.71.34 3.07q.05.51.55.43 4.14-.63 8 .31" vector-effect="non-scaling-stroke"/><path stroke="#eb4b48" d="M161.89 199.52q11.39 5.08 23.25 9.08" vector-effect="non-scaling-stroke"/><path stroke="#db4849" d="m185.14 208.6 27.99-9.24" vector-effect="non-scaling-stroke"/><path stroke="#f6b2ae" d="M213.13 199.36c1.4-.51 5.05.61 4.66-1.36" vector-effect="non-scaling-stroke"/><path stroke="#e4959a" d="M213.13 199.36q-13.77-.51-27.49-.03" vector-effect="non-scaling-stroke"/><path stroke="#f49899" d="m185.64 199.33-23.75.19" vector-effect="non-scaling-stroke"/><path stroke="#cb4744" d="M113.5 108.79q.21 1.22 1.19 2.52 12.47 16.71 24.92 33.26" vector-effect="non-scaling-stroke"/><path stroke="#c82c2f" d="M139.61 144.57q.58 17.8.92 35.76c.02 1.23 1.37 10.27.26 10.17" vector-effect="non-scaling-stroke"/><path stroke="#c72f3a" d="m140.79 190.5-23.33-29.75" vector-effect="non-scaling-stroke"/><path stroke="#e7333e" d="M140.29 192.5q-2.03 0-3.76.92c-8.53 4.54-19.18 8.12-28.38 11.23q-2.16.73-4.04 1.71" vector-effect="non-scaling-stroke"/><path stroke="#d82d34" d="M185.14 208.6q-1.41-4.91.5-9.27" vector-effect="non-scaling-stroke"/><path stroke="#9d2833" d="m158.52 247.39-.27 36.82" vector-effect="non-scaling-stroke"/><path stroke="#f7c7c7" d="m200.23 227.93-29.84-.05" vector-effect="non-scaling-stroke"/><path stroke="#eb6061" d="m212.29 245-27.92 39.85" vector-effect="non-scaling-stroke"/><path stroke="#c05c65" d="m184.37 284.85-25.85-37.46" vector-effect="non-scaling-stroke"/><path stroke="#cb5c5d" d="m158.52 247.39-.81-1.14" vector-effect="non-scaling-stroke"/><path stroke="#c82c2f" d="M254.5 256.79q-19.48-6.14-39.26-11.25-.63-.17-1.3-1.06M302.25 250.96l-.65-.87q-.28-.37-.72-.54l-42.82-17.25" vector-effect="non-scaling-stroke"/><path stroke="#bd2c37" d="m183.52 331.26.85-46.41M110.5 230.21c-14.83 5.06-29.58 10.11-44.78 13.97q-.49.12-.68.59l-.29.69" vector-effect="non-scaling-stroke"/><path stroke="#9d2833" d="M154.75 244.79q.3 1.22-.75 1.44-18.91 3.94-36.82 7.61" vector-effect="non-scaling-stroke"/><path stroke="#e4959a" d="m592.48 81.89 1.05 28.54a.51.51 0 0 0 .52.49l.88-.03a9.02 6.87 87.9 0 0 6.54-9.27l-.42-11.53a9.02 6.87 87.9 0 0-7.2-8.76l-.88.03a.51.51 0 0 0-.49.53M639.07 143.59l-2.39-24.84q-.12-1.28-.26 0l-2.68 24.97q-.06.53.48.53h4.26q.66 0 .59-.66M490.01 144.26c-.12 6.9-1.34 17.17 3.02 23.01a1.83 1.82-50.5 0 0 3.11-.3c2.06-4.26 2.56-8.26 2.57-13.48q.09-28.27.01-56.54c-.01-3.77-.52-6-2.3-9.03a2.06 2.06 0 0 0-2.5-.88c-2.67 1.01-3.42 7.39-3.47 9.91-.26 15.78-.17 31.54-.44 47.31M491.07 301.94l-1.94-25.93q-.03-.44-.09 0l-3.32 25.81q-.09.68.6.68h4.2q.59 0 .55-.56M643.53 302.33l-1.6-25.82q-.04-.62-.13-.01l-3.72 25.57q-.09.57.49.6l4.36.26q.63.04.6-.6M559.69 269.16l-1.03 31.05a.54.54 0 0 0 .52.55l.74.03a8.96 6.94-88.1 0 0 7.23-8.73l.47-14.21a8.96 6.94-88.1 0 0-6.64-9.18l-.74-.03a.54.54 0 0 0-.55.52M339.46 364.7l.12 7.88a.19.19 0 0 0 .2.19l.08-.01a3.13 2.2 89.1 0 0 2.16-3.16l-.04-2a3.13 2.2 89.1 0 0-2.24-3.09h-.09a.19.19 0 0 0-.19.19M352.372 368.538a1.15 1.15 0 0 0-1.162-1.138h-.06a1.15 1.15 0 0 0-1.138 1.163l.196 18.719a1.15 1.15 0 0 0 1.162 1.138h.06a1.15 1.15 0 0 0 1.138-1.163l-.196-18.719M407.28 381.26l.78-.02a.2.2 0 0 0 .2-.21l-.01-.12a5.18.47 88.3 0 0-.62-5.16h-.24a5.18.47 88.3 0 0-.32 5.2l.01.12a.2.2 0 0 0 .2.19M451.59 388.39l-.32-20.84a.1.1 0 0 0-.11-.1h-.03a2.25 2.21 89.1 0 0-2.17 2.29l.26 16.54a2.25 2.21 89.1 0 0 2.25 2.21h.03a.1.1 0 0 0 .09-.1" vector-effect="non-scaling-stroke"/></g><path fill="#fff" d="M0 0h375.21l-.17 361.92q0 .84-.75.48l-.6-.29q-.4-.19-.84-.15l-5.44.43q-.5.04-.88-.27c-1.29-1.01-6.75-.84-8.62-.91q-.58-.02-.6.56l-.08 2.58q-.02.65.63.65h1.64q.5 0 .5.5v16.51q0 .45.45.5l1.79.18q.76.08.76-.68v-16.19a.93.93 0 0 1 1.2-.89l4.05 1.22q.46.14.48.63l.59 16.14q.03.76.78.68l1.63-.16q.62-.06.59-.68l-.54-16.58q-.02-.36.34-.41l2.13-.31.46.04c.18.24.29.37.29.69q-.11 27.91.19 55.81H0V0Zm38.46 321.75c-.35 6.76-1.01 15.13 1.24 21.07 3.07 8.08 11.28 15.42 20.55 15.42q123.84.03 247.69-.01 15.37 0 22.42-11.27c3.63-5.79 3.92-13.01 3.68-19.86-.27-7.81-.29-14.38-.33-21.6q.09-110.84.02-221.69c0-1.77-1.26-7.58-3.22-9.48q-.71-.7-1.31-1.51c-5.22-7.06-11.47-10.31-20.46-10.31q-123.9-.03-247.8.01c-6.33 0-12.07 3.45-16.5 7.65-2.05 1.93-2.91 4.72-4.22 7.24-1.91 3.67-2.05 8.17-2.04 11.59q.49 116.37.28 232.75Zm302.38 54.74.46.69q.27.41.32.9l.93 8.88q.08.68.75.78l2.09.32q.76.12.59-.63c-1.16-5.19-1.91-10-1.15-15.46q.65-4.75-.96-9.44-.19-.53-.67-.82-3.04-1.81-6.46-.5-.46.17-.43.65l1.14 24.99q.03.62.65.64l1.81.03q.51.01.49-.49l-.38-10.27q-.06-1.58.82-.27Zm-17.49-2.99q-.93-5.8-1.17-11.66-.03-.6-.62-.51l-1.75.26q-.52.07-.47.6l2.57 25.85q.07.68.75.66l1.41-.06q.63-.02.68-.65l.94-11.95a.38.38 0 0 1 .76-.01l1.09 11.83q.06.57.62.68l1.19.24q.78.16.85-.64l2.4-25.75q.07-.76-.7-.76l-1.52-.01q-.61 0-.61.61.04 6.41-1.06 12.72-.01.05-.06.06-.16.01-.3-.06-.03-.03-.03-.07-.15-5.77-1-11.47-.1-.66-.77-.66h-1.14q-.59 0-.66.59l-1.11 10.15q-.11 1.08-.29.01Zm-28 2.5q-1.07-6.27-1.18-12.62-.01-.63-.64-.63h-1.55q-.76 0-.68.75 1.36 12.6 2.61 25.23c.15 1.5 1.01 1.93 2.38 1.39a.72.7-9.7 0 0 .44-.6l1.09-12.77a.3.3 0 0 1 .6 0l1.12 12.75q.05.59.64.65l1.35.14q.64.06.7-.58l2.33-25.62q.06-.59-.54-.59h-1.67q-.41 0-.44.41l-.99 12.48q-.01.11-.12.11h-.32q-.18 0-.18-.18-.07-5.91-1.14-11.71-.12-.64-.76-.62l-1.17.03q-.56.02-.6.57l-.98 11.4q-.1 1.19-.3.01Zm60.2 1.14c.05-3.81.9-12.59-3.66-13.19-6.95-.92-4.97 14.47-4.87 20.84.06 3.92 1.46 9.75 7.02 6.34q.44-.27.6-.77c1.52-4.61.86-9.15.91-13.22Zm-43.35 1.67a.25.25 0 0 1 .5-.01l1.4 12.33q.08.71.79.58l1.45-.28q.49-.09.52-.58.81-12.7 1.42-25.43.07-1.41-1.89-.99-.49.1-.51.6l-.54 12.72q-.1 2.48-.46.02l-1.66-11.42q-.09-.58-.68-.58h-1.06q-.69 0-.74.69-.39 5.06-1.04 10.09-.3 2.31-.52-.01l-1.03-10.95q-.08-.77-.82-.57l-1.54.43q-.57.15-.49.74l3.22 25.6q.06.46.52.46h1.47q.52 0 .56-.52l1.13-12.92Zm52.11 6.49c-1.25-.8-2.62-2.28-4.07-.9q-.33.31-.76.48l-.77.3q-.68.26-.22.82l2.58 3.13q.38.46.76 0l2.59-3.14q.34-.4-.11-.69Zm6.44 5a.25.24 43 0 0 .38-.01l2.52-3.32q.44-.58-.14-1.02-2.93-2.19-5.62.37-.29.28-.03.59l2.89 3.39Zm-34.794-3.684a.65.65 0 0 0-.665-.635l-1.7.039a.65.65 0 0 0-.634.664l.067 2.96a.65.65 0 0 0 .664.635l1.7-.039a.65.65 0 0 0 .635-.664l-.067-2.96Z"/><path fill="#c82a35" d="M375.21 0H750v422H375.19q-.3-27.9-.19-55.81c0-.32-.11-.45-.29-.69q.21-.93-.02-1.79-.2-.73-.38 0-.21.85-.06 1.75l-2.13.31q-.36.05-.34.41l.54 16.58q.03.62-.59.68l-1.63.16q-.75.08-.78-.68l-.59-16.14q-.02-.49-.48-.63l-4.05-1.22a.93.93 0 0 0-1.2.89v16.19q0 .76-.76.68l-1.79-.18q-.45-.05-.45-.5V365.5q0-.5-.5-.5h-1.64q-.65 0-.63-.65l.08-2.58q.02-.58.6-.56c1.87.07 7.33-.1 8.62.91q.38.31.88.27l5.44-.43q.44-.04.84.15l.6.29q.75.36.75-.48L375.21 0Zm243.63 167.58c-9.58-14.12-1.8-32.35-9.49-46.33q-.23-.41-.01-.83c6.03-11.43 5.52-26.3 3-38.66-3.93-19.28-16.69-19.11-32.84-15.65q-.51.11-.49.63l4.78 102.49a2.13 2.13 0 0 0 2.25 2.03l9.96-.55q.43-.02.41-.45l-1.95-42.03q-.03-.61.57-.67l2.54-.24q.45-.05.64.36 2.83 5.99 2.86 9.57c.12 13.93-.66 25.8 7.25 34.89q.28.32.7.29l9.24-.63q.5-.04.45.46l-.85 9.18q-.05.52.33.88l1.17 1.13q.32.31.76.29l9.41-.47q.52-.03.57-.54l2-21.58q.06-.69.76-.67l7.63.22q.36.01.41.37l3.15 24.8q.09.73.83.71l9.91-.34a2.11 2.1-4.4 0 0 2.02-2.35l-12.63-107q-.08-.72-.8-.68l-14.33.74q-.55.03-.6.58l-9.2 89.95q-.06.6-.41.1Zm-184.03-46.56-4.63-54.68q-.04-.52-.57-.48l-9.46.74a2.34 2.34 0 0 0-2.15 2.57l10.88 105.87a.4.4 0 0 0 .41.36l10.27-.45a.51.5-88.7 0 0 .48-.46l4.99-53.55q.14-1.49.29 0l5.38 53.55q.05.51.56.51H461a.56.55-87.1 0 0 .55-.5l9.68-104.6a1.94 1.93 3.1 0 0-1.9-2.11l-9.41-.13q-.42-.01-.45.41l-3.64 52.39a.24.24 0 0 1-.48.01l-5.21-48.9q-.06-.57-.63-.57h-9.96q-.46 0-.5.46l-4.09 49.56q-.07.84-.15 0Zm249.97 2.48-6.32-51.68q-.07-.57-.65-.57h-13.5q-1.81.01-1.81 1.81v100.53a1.9 1.9 0 0 0 1.9 1.9l7.81.01a2.03 2.02-89.9 0 0 2.03-2.03l.02-42.49q0-1.4.2-.02l6.71 47.05a.58.57-4 0 0 .57.49h5.97q.58 0 .67-.57c.67-4.57 6.29-45.93 7.14-46.59q.23-.17.23.12v44.97a2.06 2.05.3 0 0 2.04 2.05c2.02.02 7.07.54 8.64-.57 1.91-1.35.95-3.04.98-4.68q.67-46.76.28-61.17-.63-23.15.06-35.56.18-3.23-1.36-4.86-.37-.39-.9-.39h-13.3q-.57 0-.64.56l-6.5 51.69q-.14 1.07-.27 0Zm-173.22 30.99c-.05-19.18.45-38.37.11-57.55-.16-8.86-2.78-21.16-11.97-24.63q-5.28-1.98-10.28.18c-11.11 4.79-11.73 19.44-11.83 29.51q-.37 37.35-.43 52.24-.04 9.22 2.54 17.28c4.61 14.4 23.27 15.9 28.72 1.38q3.16-8.42 3.14-18.41Zm52.26-34.83-.37-24.92q0-.57.56-.58l11.18-.23a2.62 2.61 89.4 0 0 2.56-2.62V79.47a2.16 2.15-.8 0 0-2.22-2.15l-24.33.72q-.64.02-.63.66.92 51.3 1.81 102.61.04 2.12 1.12 3.18.4.39.95.38l9.93-.17q.58-.01.57-.58l-.62-46.28q-.01-.59.58-.59l9.49-.01a1.9 1.9 0 0 0 1.9-1.95l-.37-14.43q-.01-.61-.63-.61h-10.89q-.58 0-.59-.59Zm-35.16 50.51q-.98-.04-.96-1.02l2.09-88.82a.75.75 0 0 0-.72-.77l-8.82-.36q-.53-.03-.99.25c-2.34 1.43-1.66 2.9-1.71 5.17q-1.14 50.45-2.16 100.95-.02.63.61.65l25.76.83a1.86 1.86 0 0 0 1.92-1.81l.36-13.98q.01-.54-.53-.56l-14.85-.53Zm-44.35 148.5 7.38.33q.67.03.74.7l2.43 24.75a.89.89 0 0 0 .87.8q3.77.01 7.91.01c4.99 0 3.9-3.29 3.59-6.72q-4.6-51.55-9.5-103.35a.5.49 86.7 0 0-.49-.44H482.7q-.58 0-.65.57-6.55 51.34-13.08 102.68c-.61 4.74 8.27 3.25 10.97 3.25q1.05 0 1.18-1.05l2.48-20.93q.08-.63.71-.6Zm151.61.81q.06-.48.54-.46l7.52.31a.73.71 88.2 0 1 .69.66l2.44 24.96q.06.52.58.55l9.89.46a2.02 2.01-.9 0 0 2.11-2.17l-8.78-107.81q-.05-.63-.69-.66l-14.25-.59q-.6-.03-.68.56l-14.3 103.49a2.17 2.16 5.5 0 0 2.04 2.46l9.39.46q.67.03.75-.63l2.75-21.59ZM526 331.5a.25.25 0 0 1-.25-.25V243a2.25 2.25 0 0 0-2.25-2.25h-9.25q-.5 0-.5.5v104.5A2.25 2.25 0 0 0 516 348h23.5a2.25 2.25 0 0 0 2.25-2.25v-12.12a2.13 2.13 0 0 0-2.13-2.13H526Zm72.12-46.74.82-40.74a1.98 1.98 0 0 0-1.98-2.02h-9.92q-.46 0-.47.46l-2.2 102.67q-.01.52.51.54l9.27.37a2.51 2.5-88.1 0 0 2.6-2.44l1.08-41.2q.01-.5.51-.49l7.16.13q.5.01.49.5c-.08 14.66-.55 29.34-.76 44-.03 2.16.89 3.18 3.02 3.19q6.05.02 8.85.02.57 0 .58-.57l2.1-102.98a.42.42 0 0 0-.4-.43l-10.1-.35a1.91 1.9-88.2 0 0-1.97 1.86l-.9 37.78q-.01.47-.47.45l-7.43-.34q-.4-.01-.39-.41Zm-39.42 31.51c8.07-.06 15.28-2.31 18.04-10.34 4-11.66 6.49-34.57-.58-46.34-5.41-9.03-17.66-7.43-26.66-7.86a1.91 1.91 0 0 0-2.01 1.85l-3.27 104.47q-.02.61.59.64l9.72.36q.63.02 1.04-.46c2.02-2.36 1.84-27.18 2.48-41.69q.03-.62.65-.63Zm-131.34 52.75q-.96-3.19-1.39-6.35-.09-.64-.73-.65l-1.92-.03q-.75-.01-.6.72 1.35 6.68 2.69 13.36c.81 4.04.59 7.9.59 11.99q0 .69.7.69h2.11q.71 0 .61-.71c-1.32-9.44.76-17.27 2.28-26q.1-.57-.48-.56l-2.07.03q-.58.01-.66.59l-.95 6.91q-.06.4-.18.01Zm-8.78-2.84q.99 2.55.33 5.15-.17.65.5.65l2.26.03q.57 0 .61-.56c.15-2.5.25-7.56-2.1-9.14-3.49-2.36-6.24 1.34-6.32 4.62q-.18 7.7.44 18.28c.33 5.78 6.85 6.91 7.95 1.04q.68-3.62.48-6.61-.05-.64-.69-.64h-1.99q-.52 0-.48.51c.08 1.47.32 5.88-.98 6.71a.57.57 0 0 1-.87-.42q-1.06-9.68-.58-19.39a.75.74 35.8 0 1 1.44-.23Zm22.12.61.44 4.71q.05.58.63.53l1.58-.16q.56-.05.6-.61c.22-2.75.73-9.81-4.11-9.55q-3.89.21-4 4.8-.24 9.64.51 19.22c.29 3.69 3.15 5.45 6.42 3.57q.45-.26.64-.75 1.7-4.3.96-8.95-.1-.62-.72-.61l-1.54.03q-.49.01-.52.5l-.31 5.99a.76.76 0 0 1-1.26.53c-1.4-1.21-1.19-16.21-1.22-19.15a.95.95 0 0 1 1.9-.1Zm-51.81 18.64a.36.36 0 0 1-.39-.36v-7.51a.36.36 0 0 1 .43-.35l2.01.38a.36.36 0 0 0 .42-.36l-.05-3.63a.36.36 0 0 0-.36-.35h-2.39a.36.36 0 0 1-.36-.34l-.27-6.16a.36.36 0 0 1 .31-.37l2.95-.44a.36.36 0 0 0 .31-.36v-3.04a.36.36 0 0 0-.38-.36l-6.04.26a.36.36 0 0 0-.34.37l.81 26.42a.36.36 0 0 0 .37.35l6.17-.15a.36.36 0 0 0 .35-.35l.16-3.52a.36.36 0 0 0-.38-.37l-3.33.24Zm71.75-7.43q.43 5.22.88 10.32c.08 1 .54 1.86 1.69 1.39q.46-.2.54-.7l1.6-10.77q.4-2.64.4.03v10.85q0 .63.63.63h1.34q.78 0 .78-.78V363q0-.5-.5-.5h-2.98q-.49 0-.55.48l-1.53 11.73q-.19 1.45-.36 0l-1.39-11.65q-.07-.56-.63-.56h-2.93q-.63 0-.63.62v25.25q0 .63.63.63h1.65q.65 0 .66-.65.08-5.2.64-10.35.03-.3.06 0Zm-53.67 7.07c2.6-.69 2.33 4.47 2.53 6.07q.08.61.7.61h1.99q.69 0 .61-.69l-3.17-26.72q-.08-.72-.8-.64l-2.52.26q-.72.07-.8.8l-2.61 25.57q-.07.67.61.67h1.87q.62 0 .66-.62l.29-4.54q.04-.62.64-.77Zm47.55-17.13a4.11 4.11 0 0 0-4.138-4.08l-.32.001a4.11 4.11 0 0 0-4.081 4.14l.139 19.899a4.11 4.11 0 0 0 4.138 4.08l.32-.002a4.11 4.11 0 0 0 4.081-4.138l-.139-19.9Zm-56.51.43a.75.75 0 0 1 1.33.47l.08 5.25q.01.41.42.41h1.88q.45 0 .47-.46c.19-3.86.98-10.75-4.5-9.78-5.23.92-3.55 15.43-3.88 20.79-.13 2.13.15 5.17 1.74 6.89q.36.39.9.35l4.97-.35a.83.82-1.1 0 0 .77-.8l.31-12.2q.01-.57-.55-.59l-3.25-.15q-.63-.02-.72.6l-.28 2.05q-.1.77.66.87l.52.07q.56.08.53.64l-.33 5.58a.77.76-74.8 0 1-1.11.64c-1.42-.71-1.09-18.92.04-20.28ZM383 388.42a.41.41 0 0 0-.41-.41l-3.35-.03a.41.41 0 0 1-.41-.42l.52-22.64a.41.41 0 0 0-.41-.42h-2.22a.41.41 0 0 0-.41.4l-.44 26.43a.41.41 0 0 0 .41.42h6.31a.41.41 0 0 0 .41-.41v-2.92Zm51.465-1.971a.46.46 0 0 0-.47-.45l-2.12.044a.46.46 0 0 0-.45.47l.07 3.319a.46.46 0 0 0 .47.45l2.12-.045a.46.46 0 0 0 .45-.47l-.07-3.318Z"/><path fill="#f8d00a" d="M333.71 305.5c-1.21 10.32-.57 20.75-.88 31.13-.28 9.22-6.83 16.59-15.16 19.56q-3.66 1.31-10.13 1.31H66.53q-8.35 0-12.39-1.41c-8.68-3.05-14.36-10.4-15.01-19.68q-.51-7.32-.67-14.66.21-116.38-.28-232.75c-.01-3.42.13-7.92 2.04-11.59 1.31-2.52 2.17-5.31 4.22-7.24 4.43-4.2 10.17-7.65 16.5-7.65q123.9-.04 247.8-.01c8.99 0 15.24 3.25 20.46 10.31q.6.81 1.31 1.51c1.96 1.9 3.22 7.71 3.22 9.48q.07 110.85-.02 221.69Zm-174-177.75q-20.91-8.92-41.96-17.5-3.09-1.26-4.25-1.46l-1.11-.68q-.53-.33-.46.29l5.53 52.35-47.54 8.66q-1.21.22-.35 1.11l34.54 35.84-40.74 38.36q-.4.38.09.63.58.31 1.29.11l52.43 8.38q-3 27.56-8.07 55.03a.41.4-8.6 0 0 .59.43l48.55-25.09 25.27 47.05q-.18.42.17.48.49.09.72-.35l24.92-46.32a.68.66-61.7 0 1 .9-.28l44.8 23.94a.4.4 0 0 0 .59-.36l-1.12-51.58 47.75-5.83q.92.3.95-.06a1.66.41-82.5 0 0-.14-1.29l-33.85-40.11 33.26-39.2a.49.48-64.2 0 0-.27-.79l-47.29-9.39 4.27-50.14q.05-.61-.52-.39l-47.51 18.59c-1.25-.23-21.8-38.52-24.16-42.79a.42.42 0 0 0-.72-.02l-26.56 42.38Z"/><path fill="#fff" d="m619.25 167.48 9.2-89.95q.05-.55.6-.58l14.33-.74q.72-.04.8.68l12.63 107a2.11 2.1-4.4 0 1-2.02 2.35l-9.91.34q-.74.02-.83-.71l-3.15-24.8q-.05-.36-.41-.37l-7.63-.22q-.7-.02-.76.67l-2 21.58q-.05.51-.57.54l-9.41.47q-.44.02-.76-.29l-1.17-1.13q-.38-.36-.33-.88l.85-9.18q.05-.5-.45-.46l-9.24.63q-.42.03-.7-.29c-7.91-9.09-7.13-20.96-7.25-34.89q-.03-3.58-2.86-9.57-.19-.41-.64-.36l-2.54.24q-.6.06-.57.67l1.95 42.03q.02.43-.41.45l-9.96.55a2.13 2.13 0 0 1-2.25-2.03l-4.78-102.49q-.02-.52.49-.63c16.15-3.46 28.91-3.63 32.84 15.65 2.52 12.36 3.03 27.23-3 38.66q-.22.42.01.83c7.69 13.98-.09 32.21 9.49 46.33q.35.5.41-.1Zm-26.77-85.59 1.05 28.54a.51.51 0 0 0 .52.49l.88-.03a9.02 6.87 87.9 0 0 6.54-9.27l-.42-11.53a9.02 6.87 87.9 0 0-7.2-8.76l-.88.03a.51.51 0 0 0-.49.53Zm46.59 61.7-2.39-24.84q-.12-1.28-.26 0l-2.68 24.97q-.06.53.48.53h4.26q.66 0 .59-.66ZM434.96 121.02l4.09-49.56q.04-.46.5-.46h9.96q.57 0 .63.57l5.21 48.9a.24.24 0 0 0 .48-.01l3.64-52.39q.03-.42.45-.41l9.41.13a1.94 1.93 3.1 0 1 1.9 2.11l-9.68 104.6a.56.55-87.1 0 1-.55.5h-9.74q-.51 0-.56-.51l-5.38-53.55q-.15-1.49-.29 0l-4.99 53.55a.51.5-88.7 0 1-.48.46l-10.27.45a.4.4 0 0 1-.41-.36L418 69.17a2.34 2.34 0 0 1 2.15-2.57l9.46-.74q.53-.04.57.48l4.63 54.68q.08.84.15 0ZM685.05 123.5l6.5-51.69q.07-.56.64-.56h13.3q.53 0 .9.39 1.54 1.63 1.36 4.86-.69 12.41-.06 35.56.39 14.41-.28 61.17c-.03 1.64.93 3.33-.98 4.68-1.57 1.11-6.62.59-8.64.57a2.06 2.05.3 0 1-2.04-2.05v-44.97q0-.29-.23-.12c-.85.66-6.47 42.02-7.14 46.59q-.09.57-.67.57h-5.97a.58.57-4 0 1-.57-.49l-6.71-47.05q-.2-1.38-.2.02l-.02 42.49a2.03 2.02-89.9 0 1-2.03 2.03l-7.81-.01a1.9 1.9 0 0 1-1.9-1.9V73.06q0-1.8 1.81-1.81h13.5q.58 0 .65.57l6.32 51.68q.13 1.07.27 0ZM511.67 96.94c.34 19.18-.16 38.37-.11 57.55q.02 9.99-3.14 18.41c-5.45 14.52-24.11 13.02-28.72-1.38q-2.58-8.06-2.54-17.28.06-14.89.43-52.24c.1-10.07.72-24.72 11.83-29.51q5-2.16 10.28-.18c9.19 3.47 11.81 15.77 11.97 24.63Zm-21.66 47.32c-.12 6.9-1.34 17.17 3.02 23.01a1.83 1.82-50.5 0 0 3.11-.3c2.06-4.26 2.56-8.26 2.57-13.48q.09-28.27.01-56.54c-.01-3.77-.52-6-2.3-9.03a2.06 2.06 0 0 0-2.5-.88c-2.67 1.01-3.42 7.39-3.47 9.91-.26 15.78-.17 31.54-.44 47.31Z"/><path fill="#fff" d="M564.41 120.25h10.89q.62 0 .63.61l.37 14.43a1.9 1.9 0 0 1-1.9 1.95l-9.49.01q-.59 0-.58.59l.62 46.28q.01.57-.57.58l-9.93.17q-.55.01-.95-.38-1.08-1.06-1.12-3.18-.89-51.31-1.81-102.61-.01-.64.63-.66l24.33-.72a2.16 2.15-.8 0 1 2.22 2.15v11.84a2.62 2.61 89.4 0 1-2.56 2.62l-11.18.23q-.56.01-.56.58l.37 24.92q.01.59.59.59ZM528.66 170.17l14.85.53q.54.02.53.56l-.36 13.98a1.86 1.86 0 0 1-1.92 1.81l-25.76-.83q-.63-.02-.61-.65 1.02-50.5 2.16-100.95c.05-2.27-.63-3.74 1.71-5.17q.46-.28.99-.25l8.82.36a.75.75 0 0 1 .72.77l-2.09 88.82q-.02.98.96 1.02Z"/><path fill="#c82a35" d="M592.48 81.89a.51.51 0 0 1 .49-.53l.88-.03a9.02 6.87 87.9 0 1 7.2 8.76l.42 11.53a9.02 6.87 87.9 0 1-6.54 9.27l-.88.03a.51.51 0 0 1-.52-.49l-1.05-28.54Z"/><path fill="#ee8f8f" d="M211.15 128.18q-13.44 16.38-26.09 33.75-.65.21-1.27.82-.28-.3-.38-.65l-23.7-34.35 26.56-42.38a.42.42 0 0 1 .72.02c2.36 4.27 22.91 42.56 24.16 42.79Z"/><path fill="#c82a35" d="M490.01 144.26c.27-15.77.18-31.53.44-47.31.05-2.52.8-8.9 3.47-9.91a2.06 2.06 0 0 1 2.5.88c1.78 3.03 2.29 5.26 2.3 9.03q.08 28.27-.01 56.54c-.01 5.22-.51 9.22-2.57 13.48a1.83 1.82-50.5 0 1-3.11.3c-4.36-5.84-3.14-16.11-3.02-23.01Z"/><path fill="#a8282b" d="M113.5 108.79q.21 1.22 1.19 2.52 12.47 16.71 24.92 33.26.58 17.8.92 35.76c.02 1.23 1.37 10.27.26 10.17l-23.33-29.75-5.53-52.35q-.07-.62.46-.29l1.11.68Z"/><path fill="#ed655c" d="M113.5 108.79q1.16.2 4.25 1.46 21.05 8.58 41.96 17.5l23.7 34.35q-1.26.37-1.94-.28-.29-.27-.66-.42l-41.2-16.83q-12.45-16.55-24.92-33.26-.98-1.3-1.19-2.52Z"/><path fill="#e83033" d="m254.91 160.12-24.96 33.26q-.67-1.5-.68-2.44c-.05-10.49-.07-26.15.2-45.54q.03-1.69-1.51-.99-21.15 9.58-42.9 17.52 12.65-17.37 26.09-33.75l47.51-18.59q.57-.22.52.39l-4.27 50.14Z"/><path fill="#c82a35" d="m636.68 118.75 2.39 24.84q.07.66-.59.66h-4.26q-.54 0-.48-.53l2.68-24.97q.14-1.28.26 0ZM229.95 193.38c-1.91 2.25-9.18 3.84-12.16 4.62l-.03-14.54a.88.88 0 0 0-.92-.88q-16.1.66-32.09.13l-.96-19.96q.62-.61 1.27-.82 21.75-7.94 42.9-17.52 1.54-.7 1.51.99c-.27 19.39-.25 35.05-.2 45.54q.01.94.68 2.44Z"/><path fill="#e83033" d="m139.61 144.57 41.2 16.83q.37.15.66.42.68.65 1.94.28.1.35.38.65l.96 19.96-30.93.26q-.55.01-.56.56l-.26 12.18c-1.63-.47-11.62-4.45-12.21-3.96v-1.25c1.11.1-.24-8.94-.26-10.17q-.34-17.96-.92-35.76Z"/><path fill="#ed655c" d="m254.91 160.12 47.29 9.39a.49.48-64.2 0 1 .27.79l-33.26 39.2q-8.32-3.18-16.78-5.95c-2.31-.75-4.8-2.14-7.31-2.9-5.29-1.62-9.47-3.46-14.25-5.48a.54.54 0 0 0-.62.85c5.24 5.95 11.19 14.26 14.66 18.71 1.23 1.59 13.69 17.26 13.15 17.57l-44.12 12.18-1.65.52-12.06-17.07 16.99-.18q.53-.01.53-.53v-14.95q0-.74-.73-.73l-63.31.16q-.59 0-.59.59l-.1 14.69q-.01.74.73.74l16.64.16-12.68 18.37q-1.24-1.21-2.96-1.46l-44.25-14.58 29.79-37.71.5-.75c.59-.49 10.58 3.49 12.21 3.96l.34 3.07q.05.51.55.43 4.14-.63 8 .31 11.39 5.08 23.25 9.08l27.99-9.24c1.4-.51 5.05.61 4.66-1.36 2.98-.78 10.25-2.37 12.16-4.62l24.96-33.26Z"/><path fill="#e63548" d="m117.46 160.75 23.33 29.75v1.25l-.5.75q-2.03 0-3.76.92c-8.53 4.54-19.18 8.12-28.38 11.23q-2.16.73-4.04 1.71l-34.54-35.84q-.86-.89.35-1.11l47.54-8.66Z"/><path fill="#fff" d="M184.75 182.71q15.99.53 32.09-.13a.88.88 0 0 1 .92.88l.03 14.54c.39 1.97-3.26.85-4.66 1.36q-13.77-.51-27.49-.03l-23.75.19q-3.86-.94-8-.31-.5.08-.55-.43l-.34-3.07.26-12.18q.01-.55.56-.56l30.93-.26Z"/><path fill="#e83033" d="m140.29 192.5-29.79 37.71c-14.83 5.06-29.58 10.11-44.78 13.97q-.49.12-.68.59l-.29.69q-.71.2-1.29-.11-.49-.25-.09-.63l40.74-38.36q1.88-.98 4.04-1.71c9.2-3.11 19.85-6.69 28.38-11.23q1.73-.92 3.76-.92ZM269.21 209.5l33.85 40.11a1.66.41-82.5 0 1 .14 1.29q-.03.36-.95.06l-.65-.87q-.28-.37-.72-.54l-42.82-17.25c.54-.31-11.92-15.98-13.15-17.57-3.47-4.45-9.42-12.76-14.66-18.71a.54.54 0 0 1 .62-.85c4.78 2.02 8.96 3.86 14.25 5.48 2.51.76 5 2.15 7.31 2.9q8.46 2.77 16.78 5.95Z"/><path fill="#c82a35" d="m213.13 199.36-27.99 9.24q-1.41-4.91.5-9.27 13.72-.48 27.49.03Z"/><path fill="#e83033" d="m161.89 199.52 23.75-.19q-1.91 4.36-.5 9.27-11.86-4-23.25-9.08Z"/><path fill="#fff" d="m200.23 227.93-29.84-.05-16.64-.16q-.74 0-.73-.74l.1-14.69q0-.59.59-.59l63.31-.16q.73-.01.73.73v14.95q0 .52-.53.53l-16.99.18Z"/><path fill="#ee8f8f" d="m170.39 227.88 29.84.05L212.29 245l-27.92 39.85-25.85-37.46-.81-1.14 12.68-18.37Z"/><path fill="#92283a" d="m110.5 230.21 44.25 14.58q.3 1.22-.75 1.44-18.91 3.94-36.82 7.61l-52.43-8.38.29-.69q.19-.47.68-.59c15.2-3.86 29.95-8.91 44.78-13.97Z"/><path fill="#a8282b" d="m258.06 232.3 42.82 17.25q.44.17.72.54l.65.87-47.75 5.83q-19.48-6.14-39.26-11.25-.63-.17-1.3-1.06l44.12-12.18Z"/><path fill="#fff" d="m483.6 319.27-2.48 20.93q-.13 1.05-1.18 1.05c-2.7 0-11.58 1.49-10.97-3.25q6.53-51.34 13.08-102.68.07-.57.65-.57h14.54a.5.49 86.7 0 1 .49.44q4.9 51.8 9.5 103.35c.31 3.43 1.4 6.72-3.59 6.72q-4.14 0-7.91-.01a.89.89 0 0 1-.87-.8l-2.43-24.75q-.07-.67-.74-.7l-7.38-.33q-.63-.03-.71.6Zm7.47-17.33-1.94-25.93q-.03-.44-.09 0l-3.32 25.81q-.09.68.6.68h4.2q.59 0 .55-.56ZM635.92 319.48l-2.75 21.59q-.08.66-.75.63l-9.39-.46a2.17 2.16 5.5 0 1-2.04-2.46l14.3-103.49q.08-.59.68-.56l14.25.59q.64.03.69.66l8.78 107.81a2.02 2.01-.9 0 1-2.11 2.17l-9.89-.46q-.52-.03-.58-.55l-2.44-24.96a.73.71 88.2 0 0-.69-.66l-7.52-.31q-.48-.02-.54.46Zm7.61-17.15-1.6-25.82q-.04-.62-.13-.01l-3.72 25.57q-.09.57.49.6l4.36.26q.63.04.6-.6ZM526 331.5h13.62a2.13 2.13 0 0 1 2.13 2.13v12.12a2.25 2.25 0 0 1-2.25 2.25H516a2.25 2.25 0 0 1-2.25-2.25v-104.5q0-.5.5-.5h9.25a2.25 2.25 0 0 1 2.25 2.25v88.25a.25.25 0 0 0 .25.25ZM598.51 285.17l7.43.34q.46.02.47-.45l.9-37.78a1.91 1.9-88.2 0 1 1.97-1.86l10.1.35a.42.42 0 0 1 .4.43l-2.1 102.98q-.01.57-.58.57-2.8 0-8.85-.02c-2.13-.01-3.05-1.03-3.02-3.19.21-14.66.68-29.34.76-44q.01-.49-.49-.5l-7.16-.13q-.5-.01-.51.49l-1.08 41.2a2.51 2.5-88.1 0 1-2.6 2.44l-9.27-.37q-.52-.02-.51-.54l2.2-102.67q.01-.46.47-.46h9.92a1.98 1.98 0 0 1 1.98 2.02l-.82 40.74q-.01.4.39.41Z"/><path fill="#a8282b" d="M154.75 244.79q1.72.25 2.96 1.46l.81 1.14-.27 36.82-48.55 25.09a.41.4-8.6 0 1-.59-.43q5.07-27.47 8.07-55.03 17.91-3.67 36.82-7.61 1.05-.22.75-1.44Z"/><path fill="#e83033" d="M213.94 244.48q.67.89 1.3 1.06 19.78 5.11 39.26 11.25l1.12 51.58a.4.4 0 0 1-.59.36l-44.8-23.94a.68.66-61.7 0 0-.9.28l-24.92 46.32q-.23.44-.72.35-.35-.06-.17-.48l.85-46.41L212.29 245l1.65-.52Z"/><path fill="#92283a" d="m158.52 247.39 25.85 37.46-.85 46.41-25.27-47.05.27-36.82Z"/><path fill="#fff" d="M558.05 316.9c-.64 14.51-.46 39.33-2.48 41.69q-.41.48-1.04.46l-9.72-.36q-.61-.03-.59-.64l3.27-104.47a1.91 1.91 0 0 1 2.01-1.85c9 .43 21.25-1.17 26.66 7.86 7.07 11.77 4.58 34.68.58 46.34-2.76 8.03-9.97 10.28-18.04 10.34q-.62.01-.65.63Zm1.64-47.74-1.03 31.05a.54.54 0 0 0 .52.55l.74.03a8.96 6.94-88.1 0 0 7.23-8.73l.47-14.21a8.96 6.94-88.1 0 0-6.64-9.18l-.74-.03a.54.54 0 0 0-.55.52Z"/><path fill="#c82a35" d="M559.69 269.16a.54.54 0 0 1 .55-.52l.74.03a8.96 6.94-88.1 0 1 6.64 9.18l-.47 14.21a8.96 6.94-88.1 0 1-7.23 8.73l-.74-.03a.54.54 0 0 1-.52-.55l1.03-31.05ZM489.13 276.01l1.94 25.93q.04.56-.55.56h-4.2q-.69 0-.6-.68l3.32-25.81q.06-.44.09 0ZM641.93 276.51l1.6 25.82q.03.64-.6.6l-4.36-.26q-.58-.03-.49-.6l3.72-25.57q.09-.61.13.01Z"/><path fill="#9498a0" d="M333.71 305.5c.04 7.22.06 13.79.33 21.6.24 6.85-.05 14.07-3.68 19.86q-7.05 11.27-22.42 11.27-123.85.04-247.69.01c-9.27 0-17.48-7.34-20.55-15.42-2.25-5.94-1.59-14.31-1.24-21.07q.16 7.34.67 14.66c.65 9.28 6.33 16.63 15.01 19.68q4.04 1.41 12.39 1.41h241.01q6.47 0 10.13-1.31c8.33-2.97 14.88-10.34 15.16-19.56.31-10.38-.33-20.81.88-31.13Z"/><path fill="#c82a35" d="m340.02 376.76.38 10.27q.02.5-.49.49l-1.81-.03q-.62-.02-.65-.64l-1.14-24.99q-.03-.48.43-.65 3.42-1.31 6.46.5.48.29.67.82 1.61 4.69.96 9.44c-.76 5.46-.01 10.27 1.15 15.46q.17.75-.59.63l-2.09-.32q-.67-.1-.75-.78l-.93-8.88q-.05-.49-.32-.9l-.46-.69q-.88-1.31-.82.27Zm-.56-12.06.12 7.88a.19.19 0 0 0 .2.19l.08-.01a3.13 2.2 89.1 0 0 2.16-3.16l-.04-2a3.13 2.2 89.1 0 0-2.24-3.09h-.09a.19.19 0 0 0-.19.19ZM323.64 373.49l1.11-10.15q.07-.59.66-.59h1.14q.67 0 .77.66.85 5.7 1 11.47 0 .04.03.07.14.07.3.06.05-.01.06-.06 1.1-6.31 1.06-12.72 0-.61.61-.61l1.52.01q.77 0 .7.76l-2.4 25.75q-.07.8-.85.64l-1.19-.24q-.56-.11-.62-.68l-1.09-11.83a.38.38 0 0 0-.76.01l-.94 11.95q-.05.63-.68.65l-1.41.06q-.68.02-.75-.66l-2.57-25.85q-.05-.53.47-.6l1.75-.26q.59-.09.62.51.24 5.86 1.17 11.66.18 1.07.29-.01Z"/><path fill="#fff" d="m427.54 369.01.95-6.91q.08-.58.66-.59l2.07-.03q.58-.01.48.56c-1.52 8.73-3.6 16.56-2.28 26q.1.71-.61.71h-2.11q-.7 0-.7-.69c0-4.09.22-7.95-.59-11.99q-1.34-6.68-2.69-13.36-.15-.73.6-.72l1.92.03q.64.01.73.65.43 3.16 1.39 6.35.12.39.18-.01ZM418.58 366.18a.75.74 35.8 0 0-1.44.23q-.48 9.71.58 19.39a.57.57 0 0 0 .87.42c1.3-.83 1.06-5.24.98-6.71q-.04-.51.48-.51h1.99q.64 0 .69.64.2 2.99-.48 6.61c-1.1 5.87-7.62 4.74-7.95-1.04q-.62-10.58-.44-18.28c.08-3.28 2.83-6.98 6.32-4.62 2.35 1.58 2.25 6.64 2.1 9.14q-.04.56-.61.56l-2.26-.03q-.67 0-.5-.65.66-2.6-.33-5.15ZM440.7 366.79a.95.95 0 0 0-1.9.1c.03 2.94-.18 17.94 1.22 19.15a.76.76 0 0 0 1.26-.53l.31-5.99q.03-.49.52-.5l1.54-.03q.62-.01.72.61.74 4.65-.96 8.95-.19.49-.64.75c-3.27 1.88-6.13.12-6.42-3.57q-.75-9.58-.51-19.22.11-4.59 4-4.8c4.84-.26 4.33 6.8 4.11 9.55q-.04.56-.6.61l-1.58.16q-.58.05-.63-.53l-.44-4.71ZM388.89 385.43l3.33-.24a.36.36 0 0 1 .38.37l-.16 3.52a.36.36 0 0 1-.35.35l-6.17.15a.36.36 0 0 1-.37-.35l-.81-26.42a.36.36 0 0 1 .34-.37l6.04-.26a.36.36 0 0 1 .38.36v3.04a.36.36 0 0 1-.31.36l-2.95.44a.36.36 0 0 0-.31.37l.27 6.16a.36.36 0 0 0 .36.34h2.39a.36.36 0 0 1 .36.35l.05 3.63a.36.36 0 0 1-.42.36l-2.01-.38a.36.36 0 0 0-.43.35v7.51a.36.36 0 0 0 .39.36ZM460.58 378q-.56 5.15-.64 10.35-.01.65-.66.65h-1.65q-.63 0-.63-.63v-25.25q0-.62.63-.62h2.93q.56 0 .63.56l1.39 11.65q.17 1.45.36 0l1.53-11.73q.06-.48.55-.48H468q.5 0 .5.5v25.97q0 .78-.78.78h-1.34q-.63 0-.63-.63v-10.85q0-2.67-.4-.03l-1.6 10.77q-.08.5-.54.7c-1.15.47-1.61-.39-1.69-1.39q-.45-5.1-.88-10.32-.03-.3-.06 0Z"/><path fill="#c82a35" d="m295.65 375.99.98-11.4q.04-.55.6-.57l1.17-.03q.64-.02.76.62 1.07 5.8 1.14 11.71 0 .18.18.18h.32q.11 0 .12-.11l.99-12.48q.03-.41.44-.41h1.67q.6 0 .54.59l-2.33 25.62q-.06.64-.7.58l-1.35-.14q-.59-.06-.64-.65l-1.12-12.75a.3.3 0 0 0-.6 0l-1.09 12.77a.72.7-9.7 0 1-.44.6c-1.37.54-2.23.11-2.38-1.39q-1.25-12.63-2.61-25.23-.08-.75.68-.75h1.55q.63 0 .64.63.11 6.35 1.18 12.62.2 1.18.3-.01Z"/><path fill="#ee8f8f" d="m374.71 365.5-.46-.04q-.15-.9.06-1.75.18-.73.38 0 .23.86.02 1.79Z"/><path fill="#c82a35" d="M355.55 377.14c-.05 4.07.61 8.61-.91 13.22q-.16.5-.6.77c-5.56 3.41-6.96-2.42-7.02-6.34-.1-6.37-2.08-21.76 4.87-20.84 4.56.6 3.71 9.38 3.66 13.19Zm-3.178-8.602a1.15 1.15 0 0 0-1.162-1.138h-.06a1.15 1.15 0 0 0-1.138 1.163l.196 18.719a1.15 1.15 0 0 0 1.162 1.138h.06a1.15 1.15 0 0 0 1.138-1.163l-.196-18.719Z"/><path fill="#fff" d="m406.33 385.84-.29 4.54q-.04.62-.66.62h-1.87q-.68 0-.61-.67l2.61-25.57q.08-.73.8-.8l2.52-.26q.72-.08.8.64l3.17 26.72q.08.69-.61.69h-1.99q-.62 0-.7-.61c-.2-1.6.07-6.76-2.53-6.07q-.6.15-.64.77Zm.95-4.58.78-.02a.2.2 0 0 0 .2-.21l-.01-.12a5.18.47 88.3 0 0-.62-5.16h-.24a5.18.47 88.3 0 0-.32 5.2l.01.12a.2.2 0 0 0 .2.19ZM454.66 387.84a4.11 4.11 0 0 1-4.082 4.139l-.32.002a4.11 4.11 0 0 1-4.138-4.081l-.14-19.9a4.11 4.11 0 0 1 4.082-4.139l.32-.002a4.11 4.11 0 0 1 4.138 4.081l.14 19.9Zm-3.07.55-.32-20.84a.1.1 0 0 0-.11-.1h-.03a2.25 2.21 89.1 0 0-2.17 2.29l.26 16.54a2.25 2.21 89.1 0 0 2.25 2.21h.03a.1.1 0 0 0 .09-.1Z"/><path fill="#c82a35" d="m312.2 378.81-1.13 12.92q-.04.52-.56.52h-1.47q-.46 0-.52-.46l-3.22-25.6q-.08-.59.49-.74l1.54-.43q.74-.2.82.57l1.03 10.95q.22 2.32.52.01.65-5.03 1.04-10.09.05-.69.74-.69h1.06q.59 0 .68.58l1.66 11.42q.36 2.46.46-.02l.54-12.72q.02-.5.51-.6 1.96-.42 1.89.99-.61 12.73-1.42 25.43-.03.49-.52.58l-1.45.28q-.71.13-.79-.58l-1.4-12.33a.25.25 0 0 0-.5.01Z"/><path fill="#fff" d="M398.01 368.37c-1.13 1.36-1.46 19.57-.04 20.28a.77.76-74.8 0 0 1.11-.64l.33-5.58q.03-.56-.53-.64l-.52-.07q-.76-.1-.66-.87l.28-2.05q.09-.62.72-.6l3.25.15q.56.02.55.59l-.31 12.2a.83.82-1.1 0 1-.77.8l-4.97.35q-.54.04-.9-.35c-1.59-1.72-1.87-4.76-1.74-6.89.33-5.36-1.35-19.87 3.88-20.79 5.48-.97 4.69 5.92 4.5 9.78q-.02.46-.47.46h-1.88q-.41 0-.42-.41l-.08-5.25a.75.75 0 0 0-1.33-.47ZM339.46 364.7a.19.19 0 0 1 .19-.19h.09a3.13 2.2 89.1 0 1 2.24 3.09l.04 2a3.13 2.2 89.1 0 1-2.16 3.16l-.08.01a.19.19 0 0 1-.2-.19l-.12-7.88ZM383 388.42v2.92a.41.41 0 0 1-.41.41h-6.31a.41.41 0 0 1-.41-.42l.44-26.43a.41.41 0 0 1 .41-.4h2.22a.41.41 0 0 1 .41.42l-.52 22.64a.41.41 0 0 0 .41.42l3.35.03a.41.41 0 0 1 .41.41Z"/><rect width="2.36" height="21.02" x="-1.18" y="-10.51" fill="#fff" rx="1.15" transform="rotate(-.6 36263.062 -33356.462)"/><path fill="#c82a35" d="M451.59 388.39a.1.1 0 0 1-.09.1h-.03a2.25 2.21 89.1 0 1-2.25-2.21l-.26-16.54a2.25 2.21 89.1 0 1 2.17-2.29h.03a.1.1 0 0 1 .11.1l.32 20.84ZM407.28 381.26a.2.2 0 0 1-.2-.19l-.01-.12a5.18.47 88.3 0 1 .32-5.2h.24a5.18.47 88.3 0 1 .62 5.16l.01.12a.2.2 0 0 1-.2.21l-.78.02ZM360.24 384.4c1.45-1.38 2.82.1 4.07.9q.45.29.11.69l-2.59 3.14q-.38.46-.76 0l-2.58-3.13q-.46-.56.22-.82l.77-.3q.43-.17.76-.48ZM370.75 390.3l-2.89-3.39q-.26-.31.03-.59 2.69-2.56 5.62-.37.58.44.14 1.02l-2.52 3.32a.25.24 43 0 1-.38.01Z"/><rect width="3" height="4.26" x="-1.5" y="-2.13" fill="#c82a35" rx=".65" transform="rotate(-1.3 17272.827 -14547.507)"/><rect width="3.04" height="4.24" x="-1.52" y="-2.12" fill="#fff" rx=".46" transform="rotate(-1.2 18748.132 -20478.446)"/></svg>`
                },

                {
                    name: "谷歌学术",
                    searchUrl: "https://scholar.google.com/scholar?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /scholar\.google\..*?q=/g,
                    mark: "GoogleScholar",
                    svgCode: `<svg height="2500" width="2500" xmlns="http://www.w3.org/2000/svg" viewBox="-144 -144 800 800"><g fill="none" fill-rule="evenodd"><path d="M256 411.12L0 202.667 256 0z" fill="#4285f4"/><path d="M256 411.12l256-208.453L256 0z" fill="#356ac3"/><circle cx="256" cy="362.667" fill="#a0c3ff" r="149.333"/><path d="M121.037 298.667c23.968-50.453 75.392-85.334 134.963-85.334s110.995 34.881 134.963 85.334H121.037z" fill="#76a7fa"/></g></svg>`
                },

                {
                    name: "百度学术",
                    searchUrl: "https://xueshu.baidu.com/s?wd={keyword}",
                    searchkeyName: ["wd"],
                    matchUrl: /xueshu\.baidu\.com.*?wd=/g,
                    mark: "BaiduScholar",
                    svgCode: `<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="-150 -150 1324 1324" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5105"><path d="M511.986 414.714c-191.674 0-334.943 197.644-334.943 374.347 0 56.378 14.317 95.128 43.637 118.527 31.017 24.782 74.386 27.934 108.671 27.934 24.707 0 51.605-1.884 80.119-3.886 65.727-4.578 139.383-4.578 205.072 0 28.512 2.001 55.451 3.886 80.079 3.886 75.346 0 152.308-17.394 152.308-146.462 0-176.702-143.228-374.346-334.943-374.346z" fill="#FCB814" p-id="5106"></path><path d="M655.237 453.999c68.496 73.199 110.236 174.568 110.236 269.898 0 129.067-76.962 146.463-152.306 146.463-24.628 0-51.566-1.884-80.08-3.886-65.687-4.577-139.343-4.577-205.07 0-28.515 2.001-55.412 3.886-80.119 3.886-17.92 0-38.303-0.954-58.124-5.313 7.207 17.536 17.388 31.754 30.907 42.541 31.015 24.783 74.383 27.937 108.672 27.937 24.705 0 51.604-1.886 80.118-3.885 65.727-4.579 139.383-4.579 205.072 0 28.514 2 55.451 3.885 80.079 3.885 75.346 0 152.308-17.397 152.308-146.463-0.001-128.817-76.165-268.669-191.693-335.063z" fill="#070707" p-id="5107"></path><path d="M237.652 524.078c22.742-9.311 40.099-27.78 48.835-51.947 11.542-31.902 7.464-70.421-11.199-105.673-32.443-61.263-103.939-95.43-155.965-74.038-22.784 9.315-40.099 27.824-48.873 52.026-11.542 31.863-7.464 70.385 11.199 105.673 25.59 48.33 74.117 80.812 120.718 80.812 12.388 0 24.279-2.309 35.285-6.853z m184.597-115.633c5.001 0 10.005-0.501 15.006-1.501 58.685-12.008 94.047-90.663 80.579-179.056-13.43-88.237-72.076-149.925-130.912-137.919-58.726 11.968-94.047 90.589-80.579 179.018 12.315 80.812 61.031 139.458 115.906 139.458z m531.315-63.998c-8.736-24.162-26.13-42.711-48.875-52.026-52.14-21.471-123.523 12.775-155.964 74.038-18.662 35.288-22.74 73.809-11.2 105.673 8.736 24.167 26.095 42.597 48.835 51.947 11.006 4.505 22.898 6.814 35.326 6.814h0.04c46.56 0 95.009-32.479 120.598-80.773 18.663-35.248 22.78-73.77 11.24-105.673z m-327.366 62.497a76.259 76.259 0 0 0 14.971 1.501h0.039c54.796 0 103.552-58.646 115.905-139.458 13.47-88.429-21.933-167.05-80.579-179.018-58.915-12.006-117.521 49.682-130.914 137.919-13.545 88.393 21.857 167.048 80.578 179.056z" fill="#FCB814" p-id="5108"></path><path d="M275.289 366.46c-23.675-44.709-68.142-74.863-110.671-79.648 24.92 14.012 47.279 35.939 61.799 63.358 18.662 35.25 22.74 73.771 11.199 105.671-8.736 24.167-26.095 42.638-48.835 51.949-11.006 4.541-22.898 6.851-35.287 6.851-3.52 0-7.053-0.54-10.585-0.902 18.873 10.818 39.294 17.195 59.457 17.195 12.39 0 24.283-2.312 35.288-6.853 22.742-9.311 40.099-27.782 48.835-51.947 11.54-31.904 7.462-70.424-11.2-105.674z m242.545-138.572c-10.639-69.9-49.68-122.978-94.686-136.117 22.373 24.913 39.354 61.09 45.814 103.536 13.468 88.39-21.894 167.049-80.58 179.057a76.202 76.202 0 0 1-15.005 1.499c-7.383 0-14.639-1.141-21.727-3.178 20.023 22.467 44.589 35.759 70.599 35.759a76.22 76.22 0 0 0 15.006-1.499c58.686-12.007 94.048-90.667 80.579-179.057z m435.728 116.557c-7.446-20.595-21.444-36.713-39.424-46.911 2.576 4.557 5.003 9.244 6.842 14.33 11.542 31.906 7.425 70.425-11.237 105.676-25.59 48.293-74.038 80.771-120.599 80.771h-0.04c-12.427 0-24.32-2.307-35.326-6.814-3.357-1.38-6.334-3.353-9.448-5.118 9.65 17.085 24.055 30.31 42.03 37.701 11.006 4.505 22.898 6.813 35.326 6.813h0.04c46.56 0 95.009-32.479 120.598-80.77 18.663-35.252 22.78-73.771 11.238-105.678zM714.244 109.321c12.178 31.099 16.525 69.845 10.287 110.795-12.353 80.81-61.108 139.455-115.905 139.455h-0.04c-4.961 0-9.965-0.497-14.969-1.499-14.055-2.876-26.726-9.657-37.759-19.385 14.119 36.054 38.816 61.81 70.341 68.257a76.174 76.174 0 0 0 14.969 1.499h0.04c54.796 0 103.552-58.645 115.905-139.455 10.246-67.271-7.837-128.771-42.869-159.667z" fill="#070707" p-id="5109"></path></svg>`
                },

                {
                    name: "CNKI",
                    searchUrl: "https://search.cnki.net/search.aspx?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /cnki\.net.*?q=/g,
                    mark: "CNKI",
                    svgCode: `<svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M571.1 254v527.7h52.3l19 66.2 92-66.2h129.4V254H571.1z m233.3 467.8h-60.8L666 781l-16.9-59.2h-16v-409h171.3v409zM540.7 552.6s0-56.4-27.8-59.5c-27.9-3.1-114.5 0-114.5 0V317.5h128.4s-1.5-58-26.3-58H291.6l32.5-95.6s-52.6 3.1-71.2 36c-18.5 33-78.9 202.2-78.9 202.2s20.1 9.4 54.2-15.7c34-25.1 44.9-69 44.9-69l61.9-3.1 1.5 178.7s-106.8-1.6-128.4 0c-21.7 1.6-34 59.5-34 59.5h162.5s-13.9 98.7-55.7 170.8C239 795.5 160.1 851.9 160.1 851.9s57.2 23.5 112.9-9.4 96.8-177.7 96.8-177.7l130.7 162s11.9-77.1-2.1-98.9c-14-21.8-90.4-109.3-90.4-109.3l-33.3 29.8 23.7-95.8h142.3z" fill="#ffc168"></path></svg>`
                },

                {
                    name: "StackOverflow",
                    searchUrl: "https://stackoverflow.com/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /stackoverflow\.com.*?search\?q=/g,
                    mark: "StackOverflow",
                    svgCode: `<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="-100 -100 1224 1224" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5564"><path d="M512 64C264.896 64 64 264.896 64 512s200.896 448 448 448 448-200.896 448-448S759.104 64 512 64z" fill="#F48024" p-id="5565"></path><path d="M625.28 587.616l-237.792-34.4 8.224-52.064 232.576 44.704-2.976 41.76zM629.504 532.16l-210.464-98.208 19.296-42.08 210.464 98.24-19.296 42.08zM657.6 479.552l-178.912-149.088 29.792-35.072 178.912 149.12-29.824 35.04zM555.84 249.792l36.832-28.064 138.56 185.92-36.8 28.064-138.56-185.92zM626.016 656.704h-245.568v-52.608h245.568v52.608z" fill="#FFFFFF" p-id="5566"></path><path d="M661.088 551.456v140.32h-315.712v-140.288H292.768v192.928h420.928v-192.96H661.12z" fill="#FFFFFF" p-id="5567"></path></svg>`
                },

                {
                    name: "MDN",
                    searchUrl: "https://developer.mozilla.org/zh-CN/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /developer\.mozilla\.org.*?q=/g,
                    mark: "MDN",
                    svgCode: `<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="-100 -100 1224 1224" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10685"><path d="M393.155 131.134L167.583 857.539h-92.28l224.784-726.405h93.068z m82.026 0v726.405h-82.026V131.134h82.026z m317.852 0L568.25 857.539h-92.28l224.783-726.405h92.28z m82.026 0v726.405h-82.026V131.134h82.026z" fill="#0069C2" p-id="10686"></path></svg> `
                },

                {
                    name: "Coursera",
                    searchUrl: "https://www.coursera.org/search?query={keyword}",
                    searchkeyName: ["query"],
                    matchUrl: /coursera\.org.*?query=/g,
                    mark: "Coursera",
                    svgCode: `<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="-200 -200 1424 1424" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2406" data-spm-anchor-id="a313x.search_index.i1.i4.24d13a817z7S6A"><path d="M1023.65408 503.712a215.904 215.904 0 0 0-0.832-12.768l0.064 0.864v-0.16a254.4 254.4 0 0 0-42.816-120.96l0.576 0.896a268.128 268.128 0 0 0-36.896-44.256l-0.096-0.064a268.704 268.704 0 0 0-68.384-47.52l-1.6-0.704a295.104 295.104 0 0 0-127.52-28.512h-2.816 0.128-1.28a312.864 312.864 0 0 0-109.504 19.648l2.176-0.704a269.76 269.76 0 0 0-78.304 42.944l0.576-0.448a280 280 0 0 0-14.368 12.512l0.16-0.16-3.616 3.616-4.992 5.344h0.032l-2.4 2.336-1.12 1.184-6.016 6.272c-4.448 4.992-8.608 9.984-12.64 14.88v-0.096L512.00608 357.728a258.24 258.24 0 0 0-21.344 29.568c-3.808 5.984-7.52 12.064-11.04 18.208l-48.928 98.944 0.096 0.032-2.56 5.024-5.376 10.912c-10.72 21.728-22.24 43.392-35.04 61.216-28.672 31.456-61.056 46.848-102.656 46.848a120.96 120.96 0 0 1-8.928-0.352c-25.088-0.992-46.592-6.912-65.664-18.208a110.528 110.528 0 0 1-42.112-43.36l-0.288-0.576a112 112 0 0 1-13.92-58.624v0.192l0.096-1.44c1.312-32.416 13.696-57.696 38.56-79.392 6.048-5.28 12.416-9.728 19.04-13.664 0.896-0.544 1.888-1.024 2.784-1.536 18.528-10.112 39.552-15.136 63.648-15.136l7.52 0.224c38.368 1.44 67.936 13.408 91.52 36.832l73.984-132.832a288 288 0 0 0-57.696-29.632l-2.016-0.672c-0.8-0.288-1.696-0.672-2.56-0.928-2.656-0.928-5.248-1.92-7.936-2.784a307.04 307.04 0 0 0-72.064-14.784l-1.152-0.064-3.2-0.384 1.248 0.128c-3.872-0.224-7.84-0.672-11.744-0.864a350.304 350.304 0 0 0-12.48-0.288h-4.16c-46.336 0-90.208 10.56-129.344 29.376l1.792-0.768a265.6 265.6 0 0 0-106.144 91.456l-0.608 0.96a253.856 253.856 0 0 0-43.36 142.624v1.728-0.096c-0.096 66.72 24.224 125.344 72.576 174.624 50.528 51.68 116.096 79.52 194.848 82.816 5.024 0.224 10.016 0.352 15.072 0.352 44.576 0 85.792-7.936 122.784-23.808a288 288 0 0 0 27.392-13.728c4.992-2.848 9.728-5.92 14.432-9.184l3.424-2.336 5.856-3.968c7.008-5.024 13.536-10.496 19.936-16.256l2.208-2.144a295.36 295.36 0 0 0 11.04-10.88l13.28-15.008 5.024-6.304 2.4-3.456 2.336-3.36c19.712-33.12 83.84-153.632 83.84-153.632v-0.256l3.84-7.328 3.168-5.76c9.472-17.184 16.288-29.408 25.344-42.24l0.256-0.416c21.024-30.592 57.344-52.352 100.096-56.032 71.68-6.176 134.496 40.928 140.256 105.184 5.76 64.288-47.648 121.44-119.392 127.616a145.12 145.12 0 0 1-44.096-2.912l0.96 0.192-0.384 0.128c-52.576-10.976-86.048-49.28-102.56-66.464l-68.992 126.88s21.472 21.6 36.128 32.384a279.008 279.008 0 0 0 48.896 28 299.616 299.616 0 0 0 121.088 25.12c5.152 0 4.128 0 9.472-0.224 78.688-3.296 148.864-33.44 199.456-85.12 47.904-49.056 73.952-105.088 74.144-171.424v-2.016l-0.48-10.976z" fill="#2A73CC" p-id="2407"></path></svg>`
                },

                {
                    name: "京东",
                    searchUrl: "https://search.jd.com/Search?keyword={keyword}",
                    searchkeyName: ["keyword"],
                    matchUrl: /jd\.com.*?keyword=/g,
                    mark: "JD",
                    svgCode: `<svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" fill="#ff4f81" style="height: 100px; width: 100px;"><path d="M744.031 425.741v-45.281h-169.537v45.394h72.056v43.256c0 7.959-1.406 11.981-4.162 14.4s-7.003 3.684-12.6 3.797v13.472c14.569-0.478 25.2-3.6 31.978-9.506 6.722-5.85 10.125-14.85 10.125-26.944v-38.447h72.141v-0.141zM719.591 411.734h-120.628v-17.156h120.628v17.156zM671.975 346.091h-25.453v10.659h-78.216v14.119h181.912v-14.119h-78.216l-0.028-10.659zM568.306 500.356h14.428c30.825-26.859 38.841-65.166 38.841-65.166h-27.816c-3.347 27.084-14.766 49.922-25.453 65.166v0 0zM696.922 435.191c0 0 8.044 38.306 38.841 65.166h14.428c-10.659-15.244-22.078-38.081-25.481-65.166h-27.787zM776.909 500.356h14.456c30.825-26.859 38.841-65.166 38.841-65.166h-27.816c-3.403 27.084-14.794 49.922-25.481 65.166v0 0zM905.525 435.191c0 0 8.044 38.306 38.841 65.166h14.456c-10.688-15.244-22.106-38.081-25.481-65.166h-27.816zM840.894 356.75l4.95-10.744h-25.481l-5.006 10.744h-38.475v14.119h31.866l-25.65 54.956h73.8v43.256c0 8.353-1.378 11.981-4.134 14.4-2.784 2.419-7.003 3.684-12.6 3.797v13.472c14.541-0.478 25.2-3.6 31.978-9.506 6.75-5.85 10.125-14.878 10.125-26.944v-38.475h70.313v-14.119h-70.313v-30.375h-25.341v30.375h-41.4l18.844-40.838h124.453v-14.119h-117.928zM462.078 385.325c-32.203-28.238-79.509-42.525-140.512-42.525h-71.916v338.372h71.916c61.003 0 108.394-14.316 140.512-42.469 32.006-28.012 48.881-71.803 48.881-126.647-0.028-54.9-16.903-98.803-48.881-126.731M425.15 602.45c-21.488 19.631-54.225 29.644-97.313 29.644h-25.003v-239.934h25.003c43.088 0 75.853 9.984 97.313 29.531 21.094 19.181 32.203 50.4 32.203 90.422-0.028 39.909-11.109 71.1-32.203 90.337v0 0zM156.613 546.959c0 22.275-1.491 37.969-4.444 46.659-2.756 8.241-7.566 15.159-14.203 20.419-8.044 6.159-17.887 10.688-29.194 13.584-11.053 2.813-24.919 4.275-41.119 4.416h-5.653v49.022h5.4c1.238 0.084 2.222 0 2.616 0 46.969 0 83.784-9.984 106.566-29.503 23.316-20.025 35.128-50.287 35.128-90.197v-218.475h-55.069l-0.028 204.075zM746.056 543.416c-37.266 0-67.584 30.291-67.584 67.556s30.319 67.584 67.584 67.584 67.584-30.319 67.584-67.584-30.319-67.556-67.584-67.556M746.056 658.306c-26.072 0-47.306-21.263-47.306-47.334 0-26.1 21.206-47.334 47.306-47.334 26.1 0 47.306 21.234 47.306 47.334s-21.206 47.334-47.306 47.334v0 0zM525.894 628.466c-7.144 0-12.938 5.794-12.938 12.966 0 7.144 5.794 12.938 12.938 12.938s12.938-5.794 12.938-12.938c0.028-7.172-5.794-12.966-12.938-12.966v0 0zM940.906 547.381l-45.563 85.387-45.563-85.388h-21.066v127.266h19.969v-85.922l46.631 84.178 46.631-84.206v85.95h20.053v-127.294l-21.094 0.028zM662.891 646.409c-8.663 7.622-19.772 11.897-31.303 11.897-26.072 0-47.306-21.206-47.306-47.334 0-26.072 21.206-47.278 47.306-47.278 11.531 0 22.669 4.191 31.331 11.897l1.575 1.35 14.344-14.316-1.772-1.603c-12.459-11.362-28.631-17.634-45.478-17.634-37.266 0-67.556 30.319-67.556 67.556 0 37.294 30.319 67.556 67.556 67.556 16.847 0 33.019-6.272 45.506-17.606l1.688-1.603-14.287-14.316-1.603 1.434zM662.891 646.409z"></path></svg>`
                },

                {
                    name: "亚马逊",
                    searchUrl: "https://www.amazon.com/s?k={keyword}",
                    searchkeyName: ["k"],
                    matchUrl: /amazon\..*?k=/g,
                    mark: "Amazon",
                    svgCode: `
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4883"><path d="M832 696c-6.72 5.44-12.88 2.4-10.16-4.88 9.52-24 31.28-77.6 21.2-90.64s-68.08-6.08-93.84-3.04c-8 0.88-9.2-5.76-1.84-10.96 46-32 121.44-22.72 130.32-12.08S874.64 660.56 832 696z m-22.72-57.6c-80.72 58.88-197.6 90.08-298.16 90.08a542.24 542.24 0 0 1-363.84-137.36c-8-6.64-0.88-16 8-10.56a737.6 737.6 0 0 0 364.08 95.52 733.44 733.44 0 0 0 277.68-56c14.08-5.76 25.44 8.8 11.92 18.56z m25.2-309.6c0 9.12-1.84 11.52-6.16 12.08s-3.68-3.6-22.72-9.04-56-7.28-69.92 6.08-8.88 34.24 13.76 43.36c37.44 16 93.6 16 97.28 72-1.2 61.52-66.88 67.6-86.48 67.6a184 184 0 0 1-60.8-12.16c-14.4-5.76-13.76-13.6-13.76-13.6v-17.68c0-8 15.36 0 15.36 0a144 144 0 0 0 56 10.64c31.04 0.56 47.28-7.6 48.48-30s-28.8-29.76-45.52-34.64-72-15.44-72-64.56S735.36 296 765.76 296s48 6.08 59.2 12.16 9.2 11.84 9.2 11.84v8.8zM600.4 513.52a103.36 103.36 0 0 1-10.8 1.52h-15.28a28.8 28.8 0 0 1-10.8-3.04c-4.88-2.72-6.08-12.08-8-17.84s-36.56-144-36.56-144L482.88 503.2a19.2 19.2 0 0 1-6.16 8.8 49.92 49.92 0 0 1-13.76 3.04h-13.2a17.04 17.04 0 0 1-12.24-4.56 56.8 56.8 0 0 1-9.2-19.44l-54.32-177.36s-4.88-12.08 4.56-12.08h25.76s10.8-3.68 15.36 15.12 39.6 154.64 39.6 154.64L497.28 312a24 24 0 0 1 4.64-9.12 61.68 61.68 0 0 1 19.6-1.52h12.32s7.36-1.2 10.72 9.12S584 472.88 584 472.88l42.64-159.2a59.6 59.6 0 0 1 3.12-7.52c1.84-3.68 3.68-4.56 9.2-4.56h24a5.6 5.6 0 0 1 6.08 6.08c0 2.72-60.72 195.2-60.72 195.2s-4.32 9.76-8 10.64z m-259.84 1.52s-6.72 3.04-13.84-6.08a171.52 171.52 0 0 1-13.76-22.4A88 88 0 0 1 244.56 520c-45.76 0.56-69.36-24-70-63.04s35.28-68.56 74.56-67.68a271.28 271.28 0 0 1 62.32 8v-23.52s-1.6-30.64-19.68-39.12-42.96-6.64-64-1.2a115.76 115.76 0 0 0-24 7.28 20.48 20.48 0 0 1-8 3.04c-4.96 0.88-6.16-2.16-6.16-4.56v-17.92s-2.48-5.12 8-10.64a160 160 0 0 1 66.88-15.12c30.64 0 56 6.08 69.92 24S350.96 352 350.96 384v61.6s-3.04 28.8 8 40.64c0 0 6.16 6.64 3.12 12.08a98.96 98.96 0 0 1-21.2 16.72zM312 423.44a176.72 176.72 0 0 0-54.56-6c-24 2.4-41.76 13.04-40 42.08s32.88 33.12 53.12 27.04c31.68-9.44 41.44-27.04 41.44-63.12z" fill="#473EE5" p-id="4884"></path></svg>
`
                },

                {
                    name: "AliExpress",
                    searchUrl: "https://www.aliexpress.com/wholesale?SearchText={keyword}",
                    searchkeyName: ["SearchText"],
                    matchUrl: /aliexpress\.com.*?SearchText=/g,
                    mark: "AliExpress",
                    svgCode: `<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 24 24"><path fill="#dc2626" d="M5.166 9.096a.02.02 0 0 0-.022.021c0 .396-.32.717-.713.717a.02.02 0 0 0-.021.022c0 .012.01.021.021.021c.394 0 .713.322.713.718q.002.02.022.021c.011 0 .021-.01.021-.021A.717.717 0 0 1 5.9 9.88a.021.021 0 0 0 0-.043a.716.716 0 0 1-.713-.718v-.002a.02.02 0 0 0-.006-.015a.02.02 0 0 0-.015-.006m-3.693.526L0 13.462h.48l.355-.922h1.782l.354.922h.481L1.98 9.622zm2.264.002v3.838h.491V9.624zm2.375 0v3.838h2.413v-.502H6.613v-1.19H8.19v-.477H6.613v-1.166h1.773v-.502zm-4.386.592l.698 1.82H1.028zm14.689.402a1.47 1.47 0 0 0-.966.366V10.7h-.491v2.763h.49c.002-.477 0-.955.002-1.433a.97.97 0 0 1 .965-.918zm4.18.007q-.079 0-.158.01c-.315.031-.606.175-.753.377a.7.7 0 0 0-.14.465c.007.2.066.357.233.496c.184.147.42.2.657.259c.311.067.426.095.546.186c.08.07.133.127.136.27c0 .25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5c.54-.01.891-.217 1.029-.534c.066-.153.063-.309.063-.38a.68.68 0 0 0-.267-.545c-.228-.177-.583-.228-.636-.242c-.437-.078-.658-.196-.697-.341c-.043-.192.102-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.17 1.17 0 0 0-.939-.494m2.387 0q-.079 0-.157.01c-.316.031-.607.175-.753.377a.7.7 0 0 0-.14.465c.006.2.065.357.233.496c.183.147.42.2.657.259c.31.067.426.095.545.186c.081.07.134.127.136.27c.001.25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5c.541-.01.891-.217 1.03-.534c.065-.153.062-.309.062-.38a.68.68 0 0 0-.267-.545c-.227-.177-.583-.228-.636-.242c-.437-.078-.658-.196-.696-.341c-.043-.192.101-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.17 1.17 0 0 0-.94-.494m-9.84.002a1.46 1.46 0 0 0-1.42 1.117a1.3 1.3 0 0 0-.041.327v2.833h.491v-1.813c.17.18.487.42.96.454a1.45 1.45 0 0 0 1.208-.627a1.457 1.457 0 0 0-1.199-2.292zm4.804 0a1.448 1.448 0 0 0-1.288 2.08c.255.53.811.87 1.412.833a1.45 1.45 0 0 0 1.012-.51l-.363-.291a.97.97 0 0 1-1.106.273a1.01 1.01 0 0 1-.602-.69h2.239l.002-.427a1.295 1.295 0 0 0-1.306-1.268m-9.2.08l1.062 1.377l-1.062 1.378h.581l.779-1.01l.778 1.01h.581l-1.062-1.378l1.062-1.378h-.581l-.778 1.01l-.779-1.01zm-3.825.015v2.74h.49v-2.74zm8.233.37a.96.96 0 0 1 .95.993a.963.963 0 0 1-.863.998a.96.96 0 0 1-1.034-.739c-.074-.382 0-.746.307-1.019a.96.96 0 0 1 .64-.233m4.79.015a.823.823 0 0 1 .819.755h-1.76a.964.964 0 0 1 .94-.755z"/></svg>`
                },

                {
                    name: "微博",
                    searchUrl: "https://s.weibo.com/weibo?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /weibo\.com.*?q=/g,
                    mark: "Weibo",
                    svgCode: `<svg class="icon" viewBox="100 100 824 824" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M213 630.4c-33-1-64.7-7.1-93.5-23.9-21.6-12.6-39.8-29.2-41.7-55.6-1-13.5 1.1-28.7 6.7-40.8 21.8-47.5 57.5-81.8 105.9-102.2 6-2.6 12.9-3.8 19.5-4.2 21.1-1.1 32.4 12.7 28.2 33.4-1 4.9-0.9 10.1-1.3 15.1 5.1-1.2 10.1-2.5 15.3-3.5 13.1-2.4 26.1-6.1 39.3-6.6 22.5-0.8 33.7 14.2 26.5 35.6-3.6 10.7-0.7 14.3 9.3 18 36.9 13.4 44.5 49.1 17.5 80.9-25 29.6-58.4 43.9-95.7 50.2-11.9 1.9-24 2.5-36 3.6z m-17-18.8c34.7 0.5 64-8 88.9-29.2 21.3-18.1 27.4-44.1 13.3-65.3-6.1-9.1-15.5-16.9-25-22.5-24.4-14.6-51.8-15.5-79-12.2-23.6 2.9-45.3 11.5-63.8 27.1-31 26-28.5 65.2 5.8 86.3 19.1 11.7 40 16.4 59.8 15.8z" fill="#F70B19"></path><path d="M588.4 544.6c-0.5-2.7-1.9-5.6-1.2-7.8 8.1-25.7 16.9-51.1 24.6-76.9 2-6.5 4.6-8.7 11-8.2 7 0.4 14 0.1 21.5 0.1-0.5-3.7-0.8-6.5-1.2-9.7 2.5-0.9 5-1.8 8.4-3.1 1.6 4.3 3.1 8.1 4.8 12.8h29.6c-4.7 15.8-8.8 30.4-13.6 44.8-0.6 1.7-4.7 3.1-7.3 3.2-10 0.4-20 0.2-31.7 0.2 2.9 6.5 5.1 11.4 7.6 17.2 10.6-5 20.2-9.5 29.8-14 5 6.1 5.1 6.2-1 9.2-7.1 3.4-14.4 6.5-24.5 11 9.9 4.4 17.5 7.8 25.3 11.3-3.2 7.3-8.2 7.6-15.6 4.6-17.7-7.3-27.1-20.9-31.1-38.2-11.1-3.7-16.2 0.5-17.9 10.9-1.1 6.5-3.5 12.7-5.9 20.8 9.6-2.8 18.1-5.2 26.5-7.6-0.7 9-3.2 10.3-38.1 19.4z m30.4-72.7c14.4 0 28.4-0.6 42.4 0.2 9.3 0.5 11.6-3.7 11.3-12.6-13.4 0-26.7 0.6-40-0.2-8.9-0.6-13.1 2.5-13.7 12.6z m-5.5 20.2c14.1 0 28.1-0.6 42.1 0.2 9.4 0.5 11.3-4 10.9-12.7-13.2 0-26.2 0.5-39.1-0.2-8.7-0.5-14.3 1.3-13.9 12.7z"></path><path d="M401.6 451.3c-1.8 9.3-2.2 17.3-5.2 24.1-1.9 4.1-8.1 9.1-12 8.9-7.2-0.5-8.4-7.5-7-14.1 3.1-14.8 2.9-29.4-3.1-43.4-10.2-23.8-33.8-38.7-59.9-38.1-4.4 0.1-9.1 1.5-13 0.2-4-1.4-7.1-5.3-10.6-8.1 3.1-3.8 5.7-10.3 9.3-10.9 41.9-7.1 78.3 11.1 95 52.8 3.8 9.2 4.6 19.8 6.5 28.6z" fill="#FC7F06"></path><path d="M919.1 506.2c-0.4-1.9-1.1-5.4-1.2-5.3-7.3 1-16.2-4.9-21.7 5-0.6 1.1-6 1.2-7.2 0-6.7-7.5-17.2-7.7-23.7-0.3-1.7 2-5.3 2.3-9.8 4.1 4.1-14.1 7.1-26 11.1-37.5 0.9-2.7 5.3-5.4 8.4-5.8 6.2-0.9 12.7 0 19.1-0.4 2.5-0.2 4.9-1.8 7.3-2.8-0.2-1-0.4-1.9-0.6-2.9h-35.9c-0.3-7 2.8-8.6 8.4-8.4 9.7 0.3 19.5 0.1 29 0.1 5.1-3.2 1.9-15.4 13.2-11.2-0.5 3.4-1 6.9-1.6 10.8h16.5c-1.4-2.9-2.6-5.3-4.1-8.3 1.1-0.9 3-2.9 3.5-2.6 4.1 2.5 7.9 5.5 11.8 8.3l-1.8 2.7c3.2 0.2 6.4 0.3 9.7 0.5l1.8 2.7c-2.7 1.7-5.2 4.6-8 4.8-8.7 0.6-17.5 0-26.2 0.4-2.8 0.1-5.5 1.8-8.2 2.8 0.3 1 0.5 2.1 0.8 3.1h29.9c-4 13.5-7.3 25.8-11.7 37.8-0.6 1.6-6.2 1.5-9.5 2.1 0.3-0.1 0.7 0.3 0.7 0.3z m-26.9-18.7c-20.2-1.1-20.2-1.1-21.1 5.8 19 2.1 19.4 2 21.1-5.8z m7.9 5.7c20 2.3 21.4 1.9 23.7-5.8-7.6 1.7-16.5-4.6-23.7 5.8z m-25.3-14.7c7.5-0.2 15.8 5.1 21.6-3.3-7.6 0-15.8-4.9-21.6 3.3z m54.6-3.3c-15.9-3.2-21.3-2.1-22.8 4.8 7.4-1.7 15.9 3.8 22.8-4.8zM888.5 627.8c2.4-8.3 5.1-16.5 7.1-25 0.7-2.9 0.7-7.5-1-9.1-1.9-1.7-6.9-2-9.2-0.7-4.1 2.3-8.2 5.8-10.3 9.9-2.9 5.5-4.5 11.9-5.6 18-1.6 9-6.7 10.4-15.6 7.7 2.4-8.9 5-17.6 7.2-26.5 0.7-2.7 0.9-7.7-0.2-8.2-3-1.4-7.7-2.2-10.2-0.7-4.2 2.6-8.2 6.6-10.6 11-2.7 4.8-4.1 10.6-5 16.1-1.6 9.6-6.9 10.9-15.5 8.2 4.4-15.3 8.8-30.2 13.5-46.6 4.6 1.3 8.4 2.4 12.3 3.5-0.3 0.7-0.5 1.4-0.8 2.1 5.9-1.7 11.8-4.6 17.7-4.6 5.2 0 10.4 3.4 15.6 5.3 6.3-1.7 13.8-4.8 21.4-5.3 9-0.6 13.1 4.6 11.2 13.5-2.1 10.1-4.6 20.3-8.6 29.7-1.2 2.8-7.8 3.4-12 5-0.5-1.2-0.9-2.2-1.4-3.3zM566.7 448.8c-2.2 1.7-4.3 4.4-6.7 4.8-9 1.2-18 2.2-27 2-6.9-0.1-10.4 2-11.6 8.9-1 5.5-2.9 10.8-4.8 17.6h42.9c0.3 1.3 0.5 2.5 0.8 3.8-3 0.9-6.1 2.7-9.1 2.5-8.2-0.7-11.7 2.9-13.6 10.7-3.2 13.2-8 26.1-11.5 39.2-1.7 6.3-4.7 7.3-10.7 4.8 5.2-17.6 10.4-35 15.5-52.4-14.2-4.4-15.2-3.8-19.8 9.1-6.1 17.4-15.7 32.5-31.1 44.3-1.6-1.7-3.3-3.5-5.6-6 26.3-19.5 30.1-49.8 38.7-77.5 2.7-8.8 6.1-12.7 15.5-12.7 11.9 0 23.9-1.6 35.8-2.5 0.7 1.2 1.5 2.3 2.3 3.4zM769.6 485.9c9.1-13.2 18.1-26.5 27.5-39.5 2-2.7 5.7-4.2 8.7-6.2 0.7 0.8 1.5 1.6 2.2 2.4-3 5.3-5.9 10.7-9.6 17.3h25.8c-0.9 2.6-1 5.2-1.9 5.5-12.1 3.9-11.7 16.4-17.2 24.9-3.3 5.1-5.4 11.1-9.4 15.4-8.4 9-5.3 16.7 1 24.6 1.5 1.8 3.2 3.5 5.5 6-2.4 2.6-4.7 5.3-7.9 8.8-4.3-6.9-8.1-13-12-19.2-8.7 5.8-17.8 11.9-27.1 17.8-0.2 0.1-2.3-2.8-4.1-5 20-11.1 35.9-24.3 27.5-48.8-3.3-1.5-6.3-2.9-9.3-4.3l0.3 0.3z m36.7-16.4c-0.7-1.1-1.4-2.1-2.1-3.2-4.7 2.1-12.7 3.2-13.6 6.3-2.7 9.5-2.7 19.7-3.7 29.6 1.1 0.3 2.2 0.5 3.4 0.8 5.3-11.1 10.7-22.3 16-33.5zM442.7 602c-11.5 8.4-9.7 28.6-29.8 28.1-1.1-15.9-2.1-31-3.2-46.7h12.4c1 9 1.9 17.7 3.1 29.1 5.3-8.8 9.7-15.3 13.2-22.3s8.2-9 16.3-6v26.1c12.1-7.2 10.9-26.2 30.4-28.3-4.5 7.7-7.7 13.3-11 18.7-4.6 7.4-9.9 14.4-13.9 22-3.7 7-8.4 8.9-16 5.8-0.6-8.6-1-17.2-1.5-26.5zM575.7 624.2c-3.5 2.4-6.2 4.3-8.9 6.2-0.7-0.6-1.5-1.1-2.2-1.7 5.9-20.5 11.8-41.1 17.7-61.5h12.4c-1.6 6.4-3.1 12.1-4.6 17.9 1 0.1 1.6 0.5 2 0.3 7.9-4.7 16.5-7.7 24.2-1.1 7.7 6.7 5.3 15.8 2.4 24.2-3.6 10.4-10.2 17.9-20.9 21.4-8.6 2.8-16 1.5-22.1-5.7z m26.8-33.5c-11.2-0.3-17.8 6.4-19.9 18.5-0.6 3.5 0.1 9.4 2.2 10.6 3.1 1.7 10.4 1.8 11.8-0.2 4.7-7.1 8-15.2 10.8-23.2 0.4-1.4-4-4.6-4.9-5.7zM796.2 582.5c16.4-0.1 23.8 10.3 18.1 25.8-5.2 14-15.7 21.4-30.2 22.7-16.4 1.5-25-10.2-19.8-25.8 4.6-13.8 16.9-22.6 31.9-22.7z m-14.6 39.1c12.5 0.4 20.5-8.9 21-20.5 0.2-5.4-1.1-10-8-10.2-8.6-0.3-19.1 10.8-18.5 21.2 0.2 3.8 4.2 7.4 5.5 9.5zM659.6 582.6c17.5 0.2 24.8 13.2 16.3 29.9-6 11.6-16.4 17.5-29.1 18.6-15.8 1.3-24.4-10.1-19.6-25.2 4.5-14.4 17.2-23.5 32.4-23.3zM645 621.9c12.4-0.1 21.7-11.3 21.1-22-0.3-5.5-3.3-9.3-9.6-9-8.7 0.3-17.5 10.8-16.8 21.6 0.2 3.7 4 7.2 5.3 9.4z"></path><path d="M338.4 456.3c0.7-17.9-7.1-25.6-25-27.1-4.3-0.4-8.2-5-12.3-7.7 3.6-3 6.9-8.2 10.7-8.6 31.2-3.2 48.5 24.5 43.5 45.3-1.3 5.5-1.5 11.9-9.5 11.8-6.1-0.1-7.8-3.5-7.4-13.7z" fill="#FC7F06"></path><path d="M527.4 617.8c-6.7 9.4-16.1 13.5-27.4 13.4-15.2-0.1-22.4-10.4-17.9-25 5.3-16.9 23-27.2 40.3-23.3 9.3 2.1 12.5 9.4 10.1 24.9-9.7 0-19.7 0.2-29.6-0.1-5.2-0.1-10.8 0.2-8.9 6.7 1.1 3.5 6.5 7.1 10.5 8 3.1 0.7 7-3 10.8-4.4 3.6-1.3 7.5-2.2 11.2-3.2 0.3 0.9 0.6 2 0.9 3z m-7.5-17.2c0.9-0.8 1.9-1.5 2.8-2.3-2.7-2.8-5.1-7.4-8.2-8-7.5-1.3-13.9 1.6-17 10.2 8.1 0.1 15.2 0.1 22.4 0.1zM918.7 505.8c-0.1 2-0.3 3.9-0.5 6.7h16.1c0.6 1.1 1.1 2.2 1.7 3.2-2.7 1.5-5.5 4.5-7.9 4.2-10.1-1.4-14.9 2.3-17.3 12.3-2.5 9.9-23.1 16.8-32.4 11.5-1.5-0.8-1.7-3.8-2.5-5.7 8.8-1.7 17.1-2.3 24.6-5.1 2.6-1 3-7.4 4.8-12.2h-40.8c4.5 3.8 7.9 6.6 11.3 9.5-6.8 6.3-6.8 6.3-18.9-4.1 1.1-1.7 2.2-3.3 4-6.1h-16.2c-0.4-1-0.8-2.1-1.3-3.1 2.7-1.4 5.4-3.8 8.2-4 9-0.5 18-0.7 27-0.1 14 0.9 27.5-0.8 40.4-6.5 0.1-0.1-0.3-0.5-0.3-0.5zM823.7 477c4.8-3.3 7.5-6.5 10.3-6.7 5.4-0.3 7.6-2.1 8.6-7.4 1.1-5.8 3-11.7 5.5-17.1 1.4-3 4.8-5 7.3-7.4 1 0.7 2 1.5 3 2.2-2.6 9.4-5.2 18.8-8 28.6 3.1 0.5 6 1 12.7 2-4.1 3.3-6.4 6.5-8.2 6.4-6.9-0.7-8.4 3.3-9.9 8.6-4.9 17.3-9.9 34.6-15.5 51.7-1.1 3.2-4.9 5.5-7.5 8.2-1.1-0.8-2.2-1.6-3.3-2.3 3.1-10.7 6.2-21.3 9.3-32 3.2-10.8 6.5-21.6 9.9-33.1-3.9-0.4-7.4-0.9-14.2-1.7zM755 611.2c-0.2 3.8 0 4.6-0.3 5-7.4 11.6-21.7 17.7-32.7 14.1-8.8-2.9-11.5-9.6-10.9-18.1 1-13.8 13.4-27.6 26-29.5 13.8-2 20.3 0.4 22.5 8.9 0.5 2.1-0.2 6.2-1.3 6.5-2.6 0.8-6 0.7-8.5-0.5-3.7-1.6-8-7.1-10-6.2-4.7 2-8.6 6.6-12.2 10.6-1.6 1.8-2.6 4.9-2.4 7.4 0.3 3.7 1.1 9.9 2.9 10.3 3.9 1 8.8-0.4 12.9-1.8 4.5-1.4 8.5-3.9 14-6.7zM473.3 487.8l-0.7 9.1h21.5l1.2 3.6c-2.8 1.3-5.4 3.4-8.3 3.6-17.9 1-18 0.9-23.4 18.6-6.2 20.1-8.2 21.4-32.7 18.9 4.3-3.3 6.8-6.8 8.9-6.6 9.5 1.2 13.2-3.6 15-11.9 1.2-5.8 3.1-11.5 5.2-18.9h-22.8c-0.5-0.6-1-1.3-1.5-1.9 1.8-1.6 3.5-4.2 5.5-4.6 3.9-0.8 8-0.6 12-0.3 5.4 0.4 9.6-0.3 11.6-6.5 0.7-2.2 4-3.5 6.2-5.3 0.9 0.7 1.6 1.4 2.3 2.2zM748.4 511.5c-10.8-2.9-17.1-2.1-21 9.3-2.8 8.3-10.1 15-15.4 22.4-1.4-0.7-2.8-1.3-4.2-2 0.7-2.8 0.9-5.9 2.3-8.3 4.1-7.5 9.6-14.3 12.6-22.1 2.1-5.5 4.4-7.4 9.9-7.3 8.3 0.3 16.6 0.1 25.6 0.1-1.2 5.8-2.1 10.6-3.3 16.7 4.5-2.4 7.7-4.2 13.5-7.3-1.6 4.5-1.8 8-3.6 9.4-5.2 4.1-11 7.5-16.9 10.7-1.6 0.9-4.1 0.2-6.2 0.2 0.2-2.1 0-4.2 0.7-6.1 1.7-5.3 3.9-10.4 6-15.7zM743.8 470.5c2.6-2.2 6.3-3.8 7.7-6.6 2.6-5.3 3.6-11.4 5.9-16.9 1-2.4 3.6-4.2 5.5-6.3 1 0.5 1.9 1 2.9 1.6-2.3 8.7-4.5 17.3-6.8 26.1 11.5 3.9 10.4-5.2 12.3-10.2 1.7-4.7 1.9-10.3 10.5-7.4-2 6.9-3.7 13.9-6.3 20.6-0.8 2.1-4.1 4.5-6.3 4.6-12.4 0.4-24.8 0.2-39 0.2 5.3-9.5 3.2-20.9 12.2-26.7 1.1 0.4 2.2 0.9 3.3 1.3l-4.2 16.8c0.7 0.9 1.5 1.9 2.3 2.9zM722.5 469.8c2 1 4.1 2 6.1 2.9-0.2 0.9-0.2 1.7-0.6 2.1-15.7 13.4-16.6 33.4-22.9 50.9-1.6 4.4-2.2 9.1-4.3 13.2-1.3 2.7-4.5 4.5-6.8 6.7-0.8-0.7-1.6-1.4-2.4-2 3.9-13.5 7.8-26.9 12.1-42-4.8 3.6-8.2 6.1-11.6 8.6-0.8-0.5-1.6-0.9-2.4-1.4 1.4-3 2.2-6.7 4.4-8.8 10.3-9.1 21-17.8 31.5-26.6-1-1.1-2.1-2.3-3.1-3.6zM438.7 479.9c6.4-1 12.9-1.9 20.4-3.1-1.2-3.7-2.5-7.6-4-12.2 9.6-8.2 9.5 3.1 13.9 7.1-2.2 1.8-4 3.4-5.8 4.9l0.3 1.8c4.5-0.8 9.7-0.6 13.4-2.8 4.8-2.8 8.1-8.1 12.6-11.4 2.3-1.6 6-1.3 9.1-1.8 0.2 1 0.5 1.9 0.7 2.9-3.8 3.6-7.5 7.1-12.8 12.1 6.6 0.3 11.3 0.6 18.3 1-2.3 2.8-3.5 5.3-4.7 5.3-20.3 0.2-40.6 0.2-60.9 0.2-0.1-1.4-0.3-2.7-0.5-4zM562.4 584.5c-3.8 13.7-7.1 27.5-11.8 40.9-1 2.8-7.4 3.8-11.3 5.6-0.6-0.9-1.3-1.8-1.9-2.7 4-13.9 7.6-27.9 12.4-41.5 0.9-2.7 6.8-3.6 10.3-5.3 0.8 1 1.6 2 2.3 3zM508.5 455.9c-2.5 1.3-4.9 3.7-7.4 3.8-17 0.3-34 0.2-52.5 0.2 6.8-14.1 19.2-4.4 26.6-8.4 2-4.2 3.9-8.2 5.7-12.1 1.1 0.2 2.1 0.4 3.2 0.6 1.4 3.6 2.8 7.2 4.6 11.9h18c0.6 1.3 1.2 2.6 1.8 4zM588.4 504.9c-8.5 13.4-16.7 26.2-25.1 39.5-3.1-0.9-5.9-1.7-8.9-2.5 0.3-1 0.3-2 0.7-2.7 7.3-11.1 15-22 21.8-33.4 3.5-5.8 6.5-5.2 11.5-0.9zM769.3 485.6c-0.4 6.7-4 8.8-10.6 8.5-10-0.5-20-0.1-30-0.1-0.5-1-1-2-1.6-2.9 2.8-1.7 5.5-4.6 8.3-4.7 11.3-0.6 22.7-0.3 34.1-0.3 0.1-0.2-0.2-0.5-0.2-0.5zM738.5 446.2c-11.1 10-22.2 20.1-33.4 30.1-1-0.6-2-1.2-3-1.9 1.5-3.1 2.2-7.4 4.6-8.9 10.6-6.6 16.4-20.4 29.4-23.4 0.9 1.4 1.6 2.8 2.4 4.1zM605.2 458l-8.1 5.4c-4.8-5.4-9.3-10.5-14.3-16.1 2.7-2.3 4.9-4.1 7.6-6.5 5 5.8 9.5 11.1 14.8 17.2zM585.8 490.6c-1.7-1.4-2.9-2.4-4.2-3.5-4-3.5-8-6.9-12-10.4 8.6-9 8.6-9 24.4 7-2.6 2.3-5.3 4.5-8.2 6.9z"></path><path d="M426.4 529.8c10.4-16.4 16.5-21.1 22.9-17.3-10.2 16.7-16 21.1-22.9 17.3zM485.4 523.9c-2.7 1.7-4.8 3.1-8.1 5.2-2.4-5.1-4.6-9.6-6.8-14.1 8.2-7.3 8.9-6.9 14.9 8.9zM697.7 618c0.2 10.8-4.9 13.7-14.2 11.1 0.3-12.1 0.7-12.4 14.2-11.1zM566.7 567.1c0.4 10.3-4.8 12-12.9 9.6-2-11.6 5.3-10.6 12.9-9.6z"></path><path d="M196 611.6c-19.8 0.6-40.7-4.1-59.8-15.8-34.3-21.1-36.9-60.2-5.8-86.3 18.6-15.6 40.3-24.2 63.8-27.1 27.2-3.3 54.6-2.4 79 12.2 9.5 5.7 18.9 13.5 25 22.5 14.1 21.2 8 47.2-13.3 65.3-24.9 21.2-54.2 29.7-88.9 29.2z m9.2-103.6c-0.3-0.9-0.6-1.7-1-2.6-11 4.1-22.9 6.8-32.9 12.6-18.8 11-26.8 31.8-21.3 49.5 7.7 24.4 34 36.8 62 28.7 19.8-5.8 35-17.7 39.1-38.8 5.3-28.1-15-49.3-45.9-49.4z" fill="#FFFFFF"></path><path d="M205.2 508c31 0.1 51.3 21.3 45.9 49.4-4.1 21.1-19.2 33-39.1 38.8-27.9 8.2-54.3-4.3-62-28.7-5.5-17.6 2.5-38.5 21.3-49.5 10-5.9 33.5-10.9 33.9-10z m-3.9 53.1c0.5-9.3-4.1-14.6-13.3-15.1-11.6-0.7-21.4 7.2-21.7 17.5-0.2 8.3 5.5 14.4 14.2 15 10.6 0.7 20.2-7.3 20.8-17.4z m10-25.6c-3.4 4.2-6.2 6.5-7 9.4-0.3 1.2 4.4 5.5 5.3 5.1 2.8-1.2 5.5-3.8 7-6.5 0.6-1-2.5-3.9-5.3-8z"></path><path d="M201.3 561.1c-0.6 10.1-10.1 18.1-20.7 17.3-8.7-0.6-14.5-6.7-14.2-15 0.3-10.3 10.1-18.2 21.7-17.5 9 0.7 13.7 6 13.2 15.2zM211.3 535.5c2.8 4 5.9 7 5.3 8-1.4 2.7-4.2 5.3-7 6.5-1 0.4-5.7-3.9-5.3-5.1 0.9-2.8 3.7-5.1 7-9.4z" fill="#FFFFFF"></path></svg>`
                },

                {
                    name: "抖音",
                    searchUrl: "https://www.douyin.com/search/{keyword}",
                    searchkeyName: ["keyword"],
                    matchUrl: /douyin\.com.*?search/g,
                    mark: "Douyin",
                    svgCode: `<svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M773.9392 301.8752m-200.0384 0a200.0384 200.0384 0 1 0 400.0768 0 200.0384 200.0384 0 1 0-400.0768 0Z" fill="#40ECCB"></path><path d="M924.4672 706.2528a24.32 24.32 0 0 1-24.2688 24.2688h-145.7664a24.3712 24.3712 0 0 0-24.2688 24.32 24.2688 24.2688 0 0 0 24.2688 24.2688h48.5888a24.32 24.32 0 0 1 24.2688 24.32 24.32 24.32 0 0 1-24.2688 24.2688h-64.512A388.7616 388.7616 0 0 1 122.88 390.4512h-48.5888a24.32 24.32 0 0 1 0-48.5888h97.28a24.2688 24.2688 0 0 0 6.8096-47.5648l0.768-0.9728H122.88a24.32 24.32 0 1 1 0-48.5888h101.632a388.7616 388.7616 0 0 1 619.52 437.248h56.32a24.32 24.32 0 0 1 24.1152 24.2688z" fill="#43CEED"></path><path d="M675.1744 490.7008a194.56 194.56 0 0 1-69.12-20.8384 18.8416 18.8416 0 0 0-27.4944 16.8448v135.2192c0 86.3744-66.56 156.3136-148.48 156.3136s-148.48-69.9392-148.48-156.2624S348.16 465.92 430.08 465.92h6.3488a18.688 18.688 0 0 1 17.5616 18.7904v49.6128a18.688 18.688 0 0 1-19.4048 18.6368h-3.7888c-36.608 0-66.56 31.232-66.56 69.7856s29.7472 69.7344 66.56 69.7344 66.56-31.232 66.56-69.7344V305.5616a18.7904 18.7904 0 0 1 18.5344-18.8416h46.4896a18.944 18.944 0 0 1 18.688 16.4864c6.8608 51.2 45.2096 91.5968 93.7472 99.1232a19.0464 19.0464 0 0 1 16.384 18.688v55.3984a14.4384 14.4384 0 0 1-16.0256 14.2848z" fill="#FFFFFF"></path></svg>`
                },

                {
                    name: "小红书",
                    searchUrl: "https://www.xiaohongshu.com/search_result?keyword={keyword}",
                    searchkeyName: ["keyword"],
                    matchUrl: /xiaohongshu\.com.*?keyword=/g,
                    mark: "Xiaohongshu",
                    svgCode: `<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2743"><path d="M780.8 486.4h25.6c6.4-38.4 0-38.4-25.6-38.4v38.4z m38.4 108.8h51.2v-44.8c0-12.8-6.4-12.8-19.2-12.8h-70.4V640h-57.6V537.6h-57.6v-51.2h51.2V448h-32v-44.8h32v-12.8h51.2v12.8c25.6 0 57.6 0 70.4 25.6 12.8 19.2 12.8 38.4 19.2 64h6.4c32 0 44.8 19.2 51.2 44.8v64c0 25.6-25.6 38.4-57.6 38.4-19.2 0-38.4-19.2-38.4-44.8z m-204.8-6.4h51.2v44.8h-192c6.4-12.8 19.2-32 25.6-44.8h51.2V448h-25.6v-44.8h121.6V448h-32v140.8zM435.2 499.2h-32c-19.2-6.4-25.6-12.8-19.2-25.6 12.8-25.6 32-57.6 44.8-83.2 0 0 6.4-6.4 12.8-6.4h44.8c-12.8 25.6-25.6 44.8-38.4 70.4h6.4c19.2-12.8 38.4-6.4 64-6.4-19.2 32-32 57.6-51.2 89.6h32c-6.4 12.8-12.8 25.6-19.2 32 0 6.4-6.4 6.4-6.4 6.4h-51.2c-19.2 0-25.6-12.8-19.2-25.6 6.4-19.2 19.2-32 32-51.2M204.8 384H256v204.8c0 32-19.2 44.8-51.2 44.8-25.6 0-32-12.8-38.4-38.4h38.4V384zM115.2 448h57.6c-12.8 57.6 0 115.2-44.8 166.4-12.8-12.8-19.2-32-32-44.8v-6.4L115.2 448m224 166.4c-44.8-51.2-32-108.8-44.8-166.4h57.6l6.4 83.2v6.4c12.8 32-6.4 51.2-19.2 76.8m25.6 25.6c12.8-19.2 19.2-32 25.6-51.2l6.4-6.4h76.8c-6.4 25.6-12.8 38.4-19.2 51.2L448 640H364.8m505.6-192v-25.6c0-12.8 12.8-19.2 25.6-19.2s25.6 12.8 25.6 19.2c0 12.8-6.4 25.6-25.6 25.6h-25.6" fill="#FF2741" p-id="2744"></path></svg>`
                },

                {
                    name: "豆瓣",
                    searchUrl: "https://www.douban.com/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /douban\.com.*?q=/g,
                    mark: "Douban",
                    svgCode: `<svg class="icon" viewBox="-50 -50 1124 1124" version="1.1" xmlns="http://www.w3.org/2000/svg" fill="#3369e7"><path d="M356.648079 392.557654l283.467431 0 0 117.680213-283.467431 0 0-117.680213ZM510.739747 65.657372c-245.837897 0-445.131875 198.960401-445.131875 444.35946 0 245.399059 199.293978 444.335924 445.131875 444.335924 245.841991 0 445.135968-198.936865 445.135968-444.335924C955.876739 264.617773 756.582761 65.657372 510.739747 65.657372zM261.476703 227.805356l495.300494 0 0 45.025473-495.300494 0L261.476703 227.805356zM711.749879 343.438956l0 211.824383-425.712821 0 0-211.824383L711.749879 343.438956zM756.777197 746.621599l-519.860849 0 0-46.048779 162.975353 0c-14.174395-49.118698-32.648899-66.770729-55.598504-101.091396l55.598504-19.459191c22.069526 32.588209 41.747487 71.431889 59.172035 120.550587l105.184837 0c20.833321-49.118698 39.121576-80.002079 54.858623-123.092479l60.440987 24.537859c-15.792308 36.347836-32.866872 49.435922-50.93613 98.55462l128.166166 0L756.77822 746.621599z"></path></svg>`
                },

                {
                    name: "IMDb",
                    searchUrl: "https://www.imdb.com/find?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /imdb\.com.*?q=/g,
                    mark: "IMDb",
                    svgCode: `<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 32 32"><path fill="#eab308" d="M0 7v18h32V7zm2 2h28v14H2zm3 2.688v8.624h2v-8.625zm3.094 0v8.624H10V15.5l.906 4.813h1.281L13 15.5v4.813h1.813v-8.625H12l-.5 4.124l-.688-4.124zm7.812 0v8.5h2.406c1.301 0 1.79-.2 2.188-.5c.398-.2.594-.688.594-1.188v-5.188c0-.601-.196-1.113-.594-1.312c-.5-.2-.688-.313-2.188-.313zm6.188.124v8.5h1.812s.086-.601.188-.5c.199 0 1.008.375 1.406.375c.5 0 .7.008 1-.093c.398-.2.5-.48.5-.782v-5c0-.699-.71-1.218-1.313-1.218c-.601 0-1.175.394-1.375.594v-1.876zM18 13c.398 0 .813.008.813.406v5c0 .399-.512.407-.813.407zm6.594 1c.101 0 .218.105.218.406v4.281c0 .2-.019.407-.218.407c-.102 0-.188-.106-.188-.407v-4.28c0-.2-.011-.407.188-.407"/></svg>`
                },

                {
                    name: "RottenTomatoes",
                    searchUrl: "https://www.rottentomatoes.com/search?search={keyword}",
                    searchkeyName: ["search"],
                    matchUrl: /rottentomatoes\.com.*?search=/g,
                    mark: "RottenTomatoes",
                    svgCode: `<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="-6 -6 36 36"><path fill="#000000" d="M5.866 0L4.335 1.262l2.082 1.8c-2.629-.989-4.842 1.4-5.012 2.338c1.384-.323 2.24-.422 3.344-.335c-7.042 4.634-4.978 13.148-1.434 16.094c5.784 4.612 13.77 3.202 17.91-1.316C27.26 13.363 22.993.65 10.86 2.766c.107-1.17.633-1.503 1.243-1.602c-.89-1.493-3.67-.734-4.556 1.374C7.52 2.602 5.866 0 5.866 0M4.422 7.217H6.9c2.673 0 2.898.012 3.55.202c1.06.307 1.868.973 2.313 1.904q.074.158.13.305l7.623.008l.027 2.912l-2.745-.024v7.549l-2.982-.016v-7.522l-2.127.016a2.9 2.9 0 0 1-1.056 1.134c-.287.176-.3.19-.254.264c.127.2 2.125 3.642 2.125 3.659l-3.39.019l-2.013-3.376c-.034-.047-.122-.068-.344-.084l-.297-.02l.037 3.48l-3.075-.038zm3.016 2.288l.024.338c.014.186.024.729.024 1.206v.867l.582-.025c.32-.013.695-.049.833-.078c.694-.146 1.048-.478 1.087-1.018c.027-.378-.063-.636-.303-.87c-.318-.309-.761-.416-1.733-.418Z"/></svg>`
                },

                {
                    name: "Steam",
                    searchUrl: "https://store.steampowered.com/search/?term={keyword}",
                    searchkeyName: ["term"],
                    matchUrl: /steampowered\.com.*?term=/g,
                    mark: "Steam",
                    svgCode: `
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22418"><path d="M511.7 155C321.2 155 165 301.9 150.2 488.7L344.6 569c17-11.6 37.2-17.9 57.8-17.8 1.9 0 3.8 0.1 5.7 0.2l86.5-125.2v-1.8c0.1-75.5 61.3-136.7 136.8-136.8 75.4 0 136.8 61.4 136.8 136.9s-61.4 136.8-136.8 136.8h-3.2l-123.2 88c0 1.6 0.1 3.2 0.1 4.8 0 27.2-10.8 53.3-30 72.6-19.2 19.3-45.3 30.1-72.5 30.1-48.9-0.2-90.9-34.6-100.7-82.5l-139.2-57.7c43.1 152.3 182.9 264 349 264 200.4 0 362.8-162.5 362.8-362.8C874.5 317.4 712 155 511.7 155zM377.5 705.6L333 687.2c7.9 16.4 21.6 30.2 39.7 37.8 28.8 11.9 61.9 5.4 84-16.6s28.7-55.1 16.9-83.9c-15.9-38.5-59.5-57.4-98.4-42.7l46.1 19c28.9 12.1 42.6 45.3 30.6 74.3-12.2 28.8-45.4 42.5-74.4 30.5z m345.1-281.3c-0.1-50.3-40.8-91.1-91.2-91.2-50.3 0-91.2 40.8-91.2 91.2 0 50.3 40.8 91.2 91.2 91.2 50.4-0.1 91.2-40.9 91.2-91.2z m-159.4-0.2c0-24.5 13.1-47.1 34.2-59.3 21.2-12.2 47.3-12.2 68.5 0 21.2 12.2 34.2 34.8 34.2 59.3 0 37.8-30.7 68.5-68.5 68.5-18.2 0-35.6-7.2-48.4-20.1-12.8-12.8-20-30.2-20-48.4z m0 0" p-id="22419"></path></svg>
`
                },

                {
                    name: "Spotify",
                    searchUrl: "https://open.spotify.com/search/{keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /open\.spotify\.com.*?search/g,
                    mark: "Spotify",
                    svgCode: `<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10682"><path d="M512 141.21142578C307.21236968 141.21142578 141.21142578 307.21236968 141.21142578 512S307.21236968 882.78857422 512 882.78857422 882.78857422 716.78763032 882.78857422 512C882.78857422 307.23767093 716.78763032 141.23672703 512 141.21142578z m170.04913027 534.76542529c-6.65420651 10.93010342-20.89876221 14.34576069-31.77826313 7.69155419-87.0613093-53.20835015-196.66595633-65.22640372-325.72719931-35.75054648-12.4481734 2.85903192-24.8457443-4.93372725-27.67947425-17.38190064-2.85903192-12.4481734 4.908426-24.8457443 17.38189994-27.67947425C455.47719687 570.59749847 576.64447712 584.48783808 674.38287734 644.19858724c10.87950092 6.70480902 14.34576069 20.89876221 7.66625293 31.77826384z m45.36498917-100.92634767c-8.37468578 13.61202658-26.18670551 17.86262225-39.77343157 9.51323771-99.63598823-61.25412037-251.59478573-78.99023709-369.47291352-43.21438938-15.28190334 4.63011297-31.42404706-3.99758387-36.07946128-19.25418668-4.60481171-15.28190334 4.02288512-31.39874581 19.27948796-36.05416076 134.6528006-40.86138174 302.07061019-21.07587023 416.50777945 49.26136877 13.61202658 8.37468578 17.91322474 26.16140498 9.53853897 39.74813034z m3.89637959-105.15164209c-119.52270402-70.9697681-316.66938194-77.49746837-430.77763639-42.88547457-18.3180433 5.56625635-37.69873626-4.78192047-43.23969135-23.09996378-5.5409551-18.3180433 4.78192047-37.69873626 23.12526502-43.2649926 130.98413154-39.74813033 348.70065686-32.0818774 486.2883924 49.59028358 16.47105851 9.79155076 21.88550808 31.06983099 12.11925787 47.51558825-9.74094826 16.49635976-31.06983099 21.93610986-47.51558755 12.14455912z" fill="#2EBD59" p-id="10683"></path></svg>`
                },

                {
                    name: "网易云音乐",
                    searchUrl: "https://music.163.com/#/search/m/?s={keyword}",
                    searchkeyName: ["s"],
                    matchUrl: /music\.163\.com.*?s=/g,
                    mark: "NeteaseMusic",
                    svgCode: `<svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M244.5 496.1v55.1c0 11-9 22.1-17.9 26.6-5 2.5-10.3 3.2-15.9 3.2-34.9-0.1-69.9-0.1-104.8-0.1-17.3 0-31.7-15.8-31.6-31.6 0.2-36 0.1-72 0.1-108.1 0-11.7 8.3-22.8 18.5-27.6 4.7-2.2 9.6-3.1 14.8-3.1 35.3 0.1 70.6 0.1 105.9 0.1 12.1 0 23 8.2 28 18.4 2.3 4.7 3.1 9.6 3.1 14.8-0.3 17.5-0.2 34.9-0.2 52.3z m-62.7-19c0.2 0 0.8 0.1 1.3 0.1 0.5 0.1 1 0.1 1.4 0.4 8.5 4.5 14.9 11.3 16.9 20.7 2.4 11.5 0.1 22.3-7.8 31.5-12.7 14.8-36.2 18.4-53.4 9.4-18.7-9.7-30-34.5-21.8-55.9 4.2-11 10.7-19.8 21.4-25.2 2.8-1.4 5.8-2.7 8.4-4.5 3.5-2.4 4.1-6.3 2-9.8-1.8-3.1-6-4.5-9.3-3.2-19.1 7.5-31.7 20.8-38.1 40.5-4.7 14.6-3 28.5 2.9 42.2 4.2 9.6 10.6 17.5 19.1 24 7 5.3 14.6 8.9 22.9 10.8 13.3 3 26.3 1.2 38.8-4.4 22.2-9.9 37.2-35.5 29.2-61.3-4.3-13.8-13.4-23.2-26.4-28.9-4.2-1.8-8.8-2.7-13.6-4-0.4-3.1-1.1-6.5-1.3-9.9-0.2-4.3 4-6.9 7.9-5.1 2 0.9 3.9 2.2 5.8 3.3 5.3 3.1 10.2 1.9 12.2-3.2 1.1-2.9-0.2-7.4-3.5-9.4-3.6-2.2-7.6-3.8-11.5-5.5-9-4-20.7 2.5-25.3 10.6-3.1 5.4-2.3 11.3-0.8 17 0.5 2.1 2 4.4-1.1 5.8-1.5 0.7-3 1.3-4.5 2-13.5 5.8-21.6 23.6-17.7 38.2 3.4 12.6 18.5 23.2 31.6 18.7 8.3-2.8 19-12.8 17.8-23.5-0.6-7-2.2-14.1-3.5-21.4z" fill="#E00000"></path><path d="M285.6 555.4V438.8c5.6 3.4 11.6 2.3 17.3 2.3 27.1 0.2 54.3 0 81.4 0.2 4.1 0 8.3 1 12.2 2.2 5 1.5 6.7 5.8 7 10.6 0.3 4.5 0.1 9.1 0.1 13.7 0 23.4-0.2 46.8 0.1 70.3 0.2 13.5-5.1 16-15.9 17.3-5.8 0.7-11.7 0.1-17.5 0.1-1.1-4.5 0.2-6.1 4.4-6.5 3.4-0.3 6.9-1 10.1-2 2.3-0.7 3.9-2.4 3.9-5.4-0.1-28.3 0-56.7-0.1-85 0-4.2-3.2-7-8.2-7-10-0.1-19.9 0-29.9 0-15.5 0-31 0.1-46.5-0.1-3 0-3.9 0.9-3.9 3.9 0.1 32.8 0 65.6 0.2 98.4 0 3.3-0.9 4.2-4.1 3.9-3.4-0.5-6.9-0.3-10.6-0.3zM887.7 461c4.6 0 8.9-0.1 13.1 0.1 0.6 0 1.6 1.5 1.6 2.4 0.1 6.5 0.2 13 0 19.5-0.1 3.1 0.7 4.2 4 4.1 12.4-0.2 24.7-0.1 37.1-0.1 5.2 0 7.6 2.4 7.9 8.1-0.8 0.1-1.6 0.2-2.3 0.2-14.4 0-28.8 0.1-43.2 0-2.7 0-3.5 0.9-3.5 3.5 0.1 13.9 0.1 27.9 0.1 41.8 0 10.3-3.1 14-13.2 14.8-6.6 0.5-13.2 0.1-19.8 0.1 1-5.5 2.1-6.2 7.5-6.7 2.7-0.2 5.6-0.8 7.9-2.1 1.5-0.9 2.6-3.6 2.6-5.4 0.2-14.4 0-28.8 0.1-43.2 0-2.8-1.7-2.7-3.6-2.7-10.1 0-20.2 0.1-30.3-0.1-3-0.1-6.3-0.6-9-1.9-4.5-2-6.3-6.5-6.1-11 0.8-14.2 2.1-28.4 3.3-42.9h20.9c26.8-0.2 53.6-0.3 80.3-0.6 2.5 0 2.9 1.2 2.9 3-0.1 1.9 0.4 4.2-2.9 4.3l-68.4 1.5c-5.2 0.1-10.3 0.1-15.5 0-1.9 0-2.8 0.5-3 2.6-0.6 10.2-1.4 20.3-2.2 30.5-0.4 5.2 0.6 6.2 5.7 6.3 7.9 0 15.9-0.1 23.8 0.1 3.2 0.1 4.1-1.1 4-4.2 0.1-7.3 0.2-14.5 0.2-22zM710.1 493.7c4.3 0.3 8.1 0.7 11.9 0.7 22.6 0.1 45.2 0 67.7 0 4.1 0 8.2 0.2 12.2 0.5 6.4 0.4 10.9 5.1 11 12.7 0.3 15 0.1 30 0.2 45 0 2.6-1.5 2.8-3.5 2.8-12.5-0.1-25 0-37.5 0-15.3 0-30.5 0.1-45.8-0.1-3.8 0-7.6-0.7-11.4-1.3-2.7-0.5-5-4.7-5-9.1v-50.1c0.1-0.4 0.2-0.9 0.2-1.1z m51.4 35.1c-11.1 0-22.1 0.1-33.2 0-2.6 0-3.7 0.8-3.5 3.5 0.2 2.5 0 5 0.1 7.6 0 4.8 2 7.2 6.8 7.2 21 0.1 42 0.1 63.1 0.1 2.1 0 3-0.8 2.9-3-0.2-3.7-0.3-7.5 0-11.2 0.3-3.3-0.7-4.4-4.1-4.3-10.7 0.2-21.4 0.1-32.1 0.1z m-0.3-8.5c10.9 0 21.8-0.1 32.8 0.1 2.6 0 3.8-0.7 3.6-3.4-0.2-2.9 0-5.8 0-8.6 0-5-0.8-6.1-5.8-6.1-21.1-0.1-42.2-0.1-63.3-0.1-2.6 0-3.7 1.2-3.6 3.8 0.1 3.5 0.2 7 0 10.4-0.3 3.2 0.9 4.1 4.1 4.1 10.6-0.3 21.4-0.2 32.2-0.2zM419.2 542.6c8.4-6.1 16.9-12 25.1-18.4 8.3-6.5 15.1-14.4 21.8-23.8-7.1 0-13.1-0.1-19 0.1-0.9 0-1.8 1.4-2.6 2.3-4.1 4.7-7.9 10-14 12.3-3.6 1.3-7.5 1.7-12.3 2.6 4.9-4.9 9.7-8.3 12.6-13 2.9-4.7 3.9-10.5 5.7-16.1 4.2 4.7 10 3.9 15.5 3.9 24.9 0.1 49.7 0.3 74.6-0.1 10.6-0.2 16.8 6.1 18.7 15.8 1.8 9.5 1.4 19-0.6 28.2-2.2 9.8-8.2 16.4-20.5 17.6-7.4 0.8-14.7 1.2-22 1.8-1.1-5.7-0.2-6.9 4.6-6.9 8.1-0.1 15.5-1.9 20.4-8.9 1.7-2.5 3-5.8 3.2-8.8 0.6-7.2 0.6-14.4 0.6-21.6 0-5.9-1.7-7.9-7-9.2-2.1-0.5-4.3-0.4-6.4-0.1-1 0.1-2.3 1.2-2.6 2-2.3 9.1-7.4 16.6-13.5 23.5-10.2 11.6-22.6 20.4-37 26.1-5.3 2.1-11.1 2.7-16.6 4.1-0.2-0.6-0.4-1.1-0.6-1.7 2.4-1.3 4.8-2.7 7.3-4 20-10.7 34.5-26.6 44.5-46.8 1.2-2.4 1.1-3.6-2-3.5-4.2 0.1-8.4-0.1-12.6 0.1-1.2 0.1-3 0.8-3.5 1.8-6.7 11.9-17 20.1-27.8 27.8-7.2 5.1-14.7 9.9-23.5 12-3.4 0.8-6.9 1-10.3 1.4-0.1 0-0.2-0.2-0.2-0.5zM658.7 512.1c5.2 0 9.7-0.1 14.3 0.1 0.7 0 1.7 0.9 1.9 1.6 2.2 7.5 4.6 15 6.4 22.6 1.3 5.7-0.8 14.8-6.4 16.9-3.1 1.1-6.4 2.1-9.6 2.1-27.3 0.2-54.5 0.2-81.8 0-6.4-0.1-13.5-1.1-15.8-8.5-1.2-3.9-1.3-8.6-0.4-12.6 1.9-8 4.9-15.7 7.5-23.5 1.9-5.6 3.9-11.1 5.9-16.7 1.7-4.6 1.1-5.8-3.8-5.8-3.5 0-7 0.1-10.4 0-5.1-0.1-7.1-2.1-7.4-7.6 0.6-0.1 1.1-0.2 1.7-0.2h116c5.8 0 7.3 1.5 7.8 7.5-1.3 0.1-2.5 0.3-3.8 0.3-26.5 0-53.1 0.1-79.6-0.1-3.3 0-4.6 1.6-5.4 4.2-3.3 10.1-6.4 20.3-9.7 30.4-1.2 3.8-2.8 7.6-4.1 11.3-2.6 7.2 1.4 13.1 9.2 13.1 22.5 0.1 44.9 0 67.4 0.1 7.2 0 10-3.5 8.1-10.5-2-7.4-4.3-14.8-6.5-22.1-0.3-0.8-0.8-1.3-1.5-2.6zM536.9 486.4c-28.2 0-55.9 0-83.6-0.1-3.1 0-6.3-0.3-9.1-1.4-4-1.6-5.7-5.6-5.8-9.5-0.4-12-0.1-24-0.1-36 0-0.2 0.2-0.4-0.1 0.1 3.4 0.5 6.5 1.3 9.6 1.3 22.9 0.2 45.8 0.1 68.8 0.4 4.5 0.1 9.1 1.2 13.6 2.3 4.7 1.1 6.5 5.3 6.7 9.2 0.3 11.2 0 22.3 0 33.7z m-49.1-19.5h-31.3c-1.1 0-2.6 0.2-3.2 0.9-1.8 2.3-0.2 8.2 2.6 9.4 1.9 0.8 4.1 1.3 6.2 1.3 17.3 0.1 34.6 0.1 51.9 0.1 8.7 0 8.6 0 8.2-8.5-0.1-2.5-0.9-3.3-3.4-3.2-10.4 0.1-20.7 0-31 0z m-0.5-7.9c10.4 0 20.9 0 31.3-0.1 1.1 0 2.6-0.3 3.1-1 2.3-3.2-0.3-8.4-4.4-8.5-20.6-0.1-41.2-0.1-61.9 0-0.9 0-2.1 1.4-2.5 2.4-0.4 0.9 0 2.1-0.1 3.2-0.3 2.9 0.8 4 3.9 3.9 10.2 0 20.4 0.1 30.6 0.1zM697.9 480.4h17.6c4.1 0 3.8 0.1 2.8-3.8-0.9-3.7-1-7.6-1.4-11.7h15.6v6.9c0.1 5.7 3 8.6 8.5 8.6h41c5.2 0 8.7-3.4 8.8-8.6v-7h15.6c-0.7 4.2-1.3 8.1-2.1 12-0.5 2.3-0.5 3.8 2.5 3.7 3.8-0.1 7.7 0 11.5 0 5.1 0.1 6.8 2.2 6 7.7H706.7c-6.8 0-7.5-0.6-8.8-7.8z"></path><path d="M306.4 462.7c3.7 0 7.1 0.2 10.4-0.1 2.2-0.1 2.4 0.6 2.7 2.6 0.8 7.5 2 14.9 3.1 22.3 0.1 0.5 0.6 0.9 1.6 2.5 2.7-9.4 4.1-18.1 4.5-27.1h13.4c-0.7 3.4-1.1 6.8-2.2 10-3.4 9.8-7.5 19.4-10.6 29.2-0.9 2.8 0 6.7 1.4 9.4 2.8 5.6 6.7 10.6 9.6 16.1 1.4 2.6 1.4 6 1.5 9.2-7.5-6.3-13.2-13.7-17.9-22.6-6.2 8-12.1 15.7-18.1 23.4-0.4-0.2-0.9-0.5-1.3-0.7 0.2-3.1-0.6-6.2 1.4-9.4 4.3-6.7 8.2-13.5 12-20.5 0.6-1.1 0.5-3 0.1-4.3-2.3-7.1-5.1-14-7.3-21.1-1.7-5.4-2.9-11-4.3-16.5v-2.4zM383.3 537.4c-2.4-2.7-5.1-5.2-7.3-8.1-3.1-4.1-5.8-8.4-8.8-12.6-0.6-0.8-1.4-1.4-2.2-2.1-0.5 0.7-1.1 1.4-1.6 2.1-4.3 7.4-9.5 14.3-16.2 20.5-1.1-3.5-1.1-6.5 0.7-9.4 4-6.5 7.8-13.2 11.7-19.7 2.1-3.5-0.5-6.2-1.5-9.1-2.5-7.2-5.2-14.4-7.7-21.6-1.5-4.6-2.6-9.3-4.1-14.6 4.6 0 8.5-0.1 12.3 0.1 0.5 0 1.3 1.5 1.5 2.4 1.2 6.9 2.1 13.9 3.3 20.9 0.2 1 1.1 1.9 1.7 2.8 0.5-1 1.4-1.9 1.5-2.9 1.1-7.7 2.2-15.3 3.2-23.1h12.8c-3.1 13.8-6.3 27.2-12.3 39.8-1.6 3.3 0.8 5.8 2.1 8.3 2.7 5.2 5.7 10.3 9.2 15.1 2.6 3.2 3.1 6.7 1.7 11.2zM701.8 447.1c0.9-0.1 1.8-0.2 2.7-0.2 15 0 30-0.1 45 0.1 3.6 0 5.2-0.9 4.6-4.6-0.2-1.4 0-2.8 0-4.7 4.7 0 9.1-0.1 13.5 0.1 0.5 0 1.3 1.2 1.4 1.9 0.2 1.2 0.1 2.4 0 3.6-0.3 2.8 0.9 3.8 3.7 3.7 13.9-0.1 27.8-0.1 41.8-0.1 5.3 0 7.2 2.2 6.6 7.9H709c-5.7-0.3-6.8-1.5-7.2-7.7zM681.2 451h-3.1c-36.1 0-72.2 0-108.4 0.1-3.7 0-5.5-1.1-6.6-4.8-0.9-3.2 0.3-3.2 2.7-3.2H672.4c6.6 0.2 7 0.6 8.8 7.9zM836 550.5c2.1-4.7 4.7-9.2 6.4-14 2.8-8.4 5-16.9 7.5-25.4 0.3-0.9 0.9-2.5 1.4-2.5 4.7-0.2 9.4-0.1 14.4-0.1-4 18.7-11 34.4-28.5 42.9-0.5-0.3-0.9-0.6-1.2-0.9zM953.3 550.7c-11.1 0.4-29.2-26.2-28.9-42.4H939c2.8 14.6 6.5 29.2 14.3 42.4z"></path><path d="M181.8 477.1c1.3 7.4 2.9 14.4 3.7 21.6 1.2 10.7-9.5 20.7-17.8 23.5-13.1 4.5-28.2-6.2-31.6-18.7-3.9-14.6 4.2-32.4 17.7-38.2 1.5-0.7 3-1.3 4.5-2 3.1-1.4 1.6-3.7 1.1-5.8-1.4-5.8-2.2-11.6 0.8-17 4.5-8.1 16.2-14.5 25.3-10.6 3.9 1.7 7.9 3.3 11.5 5.5 3.3 2 4.6 6.5 3.5 9.4-1.9 5-6.9 6.3-12.2 3.2-1.9-1.1-3.8-2.4-5.8-3.3-3.9-1.8-8.1 0.8-7.9 5.1 0.1 3.4 0.8 6.8 1.3 9.9 4.8 1.4 9.4 2.2 13.6 4 12.9 5.7 22.1 15 26.4 28.9 8 25.8-7 51.5-29.2 61.3-12.5 5.6-25.5 7.4-38.8 4.4-8.3-1.9-15.9-5.5-22.9-10.8-8.5-6.5-14.9-14.3-19.1-24-6-13.6-7.6-27.5-2.9-42.2 6.3-19.7 18.9-33.1 38.1-40.5 3.4-1.3 7.5 0.1 9.3 3.2 2.1 3.5 1.4 7.4-2 9.8-2.6 1.8-5.6 3-8.4 4.5-10.6 5.4-17.2 14.2-21.4 25.2-8.2 21.4 3.1 46.2 21.8 55.9 17.2 9 40.7 5.4 53.4-9.4 7.9-9.2 10.2-20.1 7.8-31.5-2-9.4-8.4-16.1-16.9-20.7-0.4-0.2-0.9-0.3-1.4-0.4-0.7-0.3-1.3-0.3-1.5-0.3z m-16.3 0c-12.6 2.9-18.3 15.7-12.8 26 1.9 3.6 6.6 5.6 10 4.6 4.7-1.4 8-4.8 7.3-9.2-1.1-7.2-3-14.3-4.5-21.4z" fill="#FFFFFF"></path><path d="M165.5 477.1c1.5 7.1 3.4 14.2 4.5 21.4 0.7 4.4-2.6 7.8-7.3 9.2-3.4 1-8.1-1-10-4.6-5.5-10.4 0.1-23.2 12.8-26z" fill="#E00000"></path></svg>`
                },

                {
                    name: "Pinterest",
                    searchUrl: "https://www.pinterest.com/search/pins/?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: /pinterest\..*?q=/g,
                    mark: "Pinterest",
                    svgCode: `<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="-50 -50 356 356"><path fill="#CB1F27" d="M0 128.002c0 52.414 31.518 97.442 76.619 117.239c-.36-8.938-.064-19.668 2.228-29.393c2.461-10.391 16.47-69.748 16.47-69.748s-4.089-8.173-4.089-20.252c0-18.969 10.994-33.136 24.686-33.136c11.643 0 17.268 8.745 17.268 19.217c0 11.704-7.465 29.211-11.304 45.426c-3.207 13.578 6.808 24.653 20.203 24.653c24.252 0 40.586-31.149 40.586-68.055c0-28.054-18.895-49.052-53.262-49.052c-38.828 0-63.017 28.956-63.017 61.3c0 11.152 3.288 19.016 8.438 25.106c2.368 2.797 2.697 3.922 1.84 7.134c-.614 2.355-2.024 8.025-2.608 10.272c-.852 3.242-3.479 4.401-6.409 3.204c-17.884-7.301-26.213-26.886-26.213-48.902c0-36.361 30.666-79.961 91.482-79.961c48.87 0 81.035 35.364 81.035 73.325c0 50.213-27.916 87.726-69.066 87.726c-13.819 0-26.818-7.47-31.271-15.955c0 0-7.431 29.492-9.005 35.187c-2.714 9.869-8.026 19.733-12.883 27.421a127.9 127.9 0 0 0 36.277 5.249c70.684 0 127.996-57.309 127.996-128.005C256.001 57.309 198.689 0 128.005 0C57.314 0 0 57.309 0 128.002"/></svg>`
                },

                {
                    name: "Flickr",
                    searchUrl: "https://www.flickr.com/search/?text={keyword}",
                    searchkeyName: ["text"],
                    matchUrl: /flickr\.com.*?text=/g,
                    mark: "Flickr",
                    svgCode: `<svg class="icon" style="width: 1.0546875em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="-50 -50 1180 1124" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4547"><path d="M487.747368 48.505263c-241.100261 0-436.547368 195.447107-436.547368 436.547369s195.447107 436.547368 436.547368 436.547368c3.637895 0 7.178779-0.407444 10.763318-0.606316 1.261137-0.067907 2.522274-0.087309 3.788261-0.150366a936.927663 936.927663 0 0 0 13.644531-0.756682c31.853406-2.046922 62.717305-7.804497 92.305516-16.370527 27.521886-7.974265 53.937853-18.344691 78.976269-31.227688 87.746021-45.129297 157.360775-119.371453 197.809314-209.634897 0.305583-0.679074 0.761533-1.285389 1.062265-1.969313 8.250745-18.674526 15.608994-37.809853 21.221053-57.750367 4.365474-15.516834 8.114931-31.276194 10.763318-47.442998 2.905465-17.752926 4.637103-35.884194 5.456842-54.267688 0.242526-5.456842 0.756682-10.855478 0.756682-16.370526 0-17.704421-1.435756-34.991697-3.487529-52.143158-0.412295-3.482678-1.168977-6.853794-1.668581-10.307369C888.740379 211.216168 707.548968 48.505263 487.747368 48.505263z" fill="#285DBA" p-id="4548"></path><path d="M487.747368 242.536017c-133.942434 0-242.526316 108.603284-242.526315 242.526316 0 133.942434 108.583882 242.506914 242.526315 242.506913s242.526316-108.56448 242.526316-242.506913c0-133.923032-108.593583-242.526316-242.526316-242.526316z m-93.003991 317.660968c-42.160775 0-76.337583-34.147705-76.337583-76.30848 0-42.180177 34.176808-76.327882 76.337583-76.327882 42.165625 0 76.327882 34.147705 76.327882 76.327882-0.009701 42.165625-34.162257 76.30848-76.327882 76.30848z m191.532732 0c-42.165625 0-76.327882-34.147705-76.327882-76.30848 0-42.180177 34.162257-76.327882 76.327882-76.327882 42.141373 0 76.327882 34.147705 76.327883 76.327882 0 42.165625-34.186509 76.30848-76.327883 76.30848z" fill="#ECECEC" p-id="4549" data-spm-anchor-id="a313x.search_index.i1.i1.620c3a814GzNtL"></path><path d="M482.896842 48.505263C241.796581 48.505263 46.349474 243.952371 46.349474 485.052632s195.447107 436.547368 436.547368 436.547368V48.505263z" fill="#FFFFFF" opacity=".15" p-id="4550"></path></svg>`
                },

                {
                    name: "维基百科",
                    searchUrl: "https://zh.wikipedia.org/w/index.php?search={keyword}",
                    searchkeyName: ["search"],
                    matchUrl: /wikipedia\.org.*?search=/g,
                    mark: "Wikipedia",
                    svgCode: `<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="-3 -3 30 30"><path fill="#333333" d="m14.97 18.95l-2.56-6.03c-1.02 1.99-2.14 4.08-3.1 6.03c-.01.01-.47 0-.47 0C7.37 15.5 5.85 12.1 4.37 8.68C4.03 7.84 2.83 6.5 2 6.5v-.45h5.06v.45c-.6 0-1.62.4-1.36 1.05c.72 1.54 3.24 7.51 3.93 9.03c.47-.94 1.8-3.42 2.37-4.47c-.45-.88-1.87-4.18-2.29-5c-.32-.54-1.13-.61-1.75-.61c0-.15.01-.25 0-.44l4.46.01v.4c-.61.03-1.18.24-.92.82c.6 1.24.95 2.13 1.5 3.28c.17-.34 1.07-2.19 1.5-3.16c.26-.65-.13-.91-1.21-.91c.01-.12.01-.33.01-.43c1.39-.01 3.48-.01 3.85-.02v.42c-.71.03-1.44.41-1.82.99L13.5 11.3c.18.51 1.96 4.46 2.15 4.9l3.85-8.83c-.3-.72-1.16-.87-1.5-.87v-.45l4 .03v.42c-.88 0-1.43.5-1.75 1.25c-.8 1.79-3.25 7.49-4.85 11.2z"/></svg>`
                },

                {
                    name: "ArchWiki",
                    searchUrl: "https://wiki.archlinux.org/index.php?search={keyword}",
                    searchkeyName: ["search"],
                    matchUrl: /archlinux\.org.*?search=/g,
                    mark: "ArchWiki",
                    svgCode: `<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="-3 -3 54 54"><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" d="M28.24 36.93a11.89 11.89 0 0 0 .24-2.14c.11-3.95-1.8-7.34-4.18-7.54S19.8 30 19.7 34v.21a11.27 11.27 0 0 0 .3 2.69c-4.47.83-9.26 3-15.44 6.6c7.87-14.12 11.16-20.28 13.64-25.44c1.68 1.34 4.06 1.73 6.15 2a24 24 0 0 1-4.75-5.11c1.93-4.18 2.65-6.27 4.4-10.45c3.57 8.36 3.6 9.45 14 28.85c-1.68-1-2.74-.83-4.56-.6a55.28 55.28 0 0 1 7 5.15c1 1.94 1.82 3.39 3 5.6c-6.1-3.52-10.83-5.71-15.25-6.57Z"/></svg>`
                },

                {
                    name: "微信读书",
                    searchUrl: "https://weread.qq.com/web/search/books?keyword={keyword}",
                    searchkeyName: ["keyword"],
                    matchUrl: /weread\.qq\.com.*?keyword=/g,
                    mark: "WeRead",
                    svgCode: `<svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" fill="#6E99FF"><path d="M474.697931 463.133036c52.537564-55.155181 119.125121-74.453712 197.466374-70.189595-1.747807-8.009418-1.814322-14.22191-4.389984-19.11843-12.712533-24.170492-22.698978-50.789757-39.787168-71.474868-102.242616-123.764791-308.057121-138.461515-427.463652-31.18935-61.691037 55.423287-87.38421 124.68986-69.739341 206.809159 11.298324 52.575426 43.588751 92.715635 85.609797 124.551714 13.697977 10.382465 15.916505 19.665899 10.030447 34.608216-7.30436 18.535145-12.809747 37.781488-19.0908 56.720839 17.596773-3.874237 31.816636-9.761318 44.911886-17.542538 30.707372-18.24555 61.189617-28.17162 98.18623-16.900925 22.337751 6.800893 47.565319 4.123924 74.762751 5.92085C405.477406 585.486688 421.574013 518.909363 474.697931 463.133036zM497.939261 319.220369c19.834744-0.284479 31.798217 10.92277 32.226982 30.178323 0.442068 19.85521-10.726296 31.997762-29.841655 32.44597-21.970384 0.51677-38.566364-12.741185-38.723953-30.930453C461.449185 333.410556 477.38411 319.510988 497.939261 319.220369zM309.594639 381.837498c-21.693068 0.073678-37.788651-13.573133-37.541011-31.828916 0.233314-17.353227 16.143679-30.628578 36.897352-30.79333 19.576871-0.150426 33.157167 13.06148 32.867572 31.983435C341.537142 369.591593 328.722278 381.778146 309.594639 381.837498z"></path><path d="M835.363224 471.499587c-81.796958-78.773088-215.099986-91.444689-312.212768-29.66974-125.474736 79.81379-124.392078 243.768933 2.771113 320.735885 61.081147 36.97103 127.145795 47.321772 196.581214 28.592198 14.377452-3.879354 26.002211-2.758834 38.630832 5.067412 17.174148 10.645454 35.464723 19.495006 53.278437 29.115108 1.274016-0.950651 2.548032-1.901303 3.822049-2.852978-4.882194-17.019629-10.796904-33.842783-14.117532-51.16531-1.249457-6.507204 1.530866-15.896038 5.932106-20.968567 11.326976-13.038968 25.615401-23.515576 36.914748-36.58115C913.685034 636.613112 908.943033 542.366611 835.363224 471.499587zM589.682755 564.978609c-14.864546 0.228197-26.891464-11.264555-26.424836-25.248034 0.456395-13.707187 11.322883-23.429619 26.14752-23.38971 16.312524 0.041956 29.684066 11.452843 29.205159 24.921599C618.16239 553.809221 604.82257 564.746318 589.682755 564.978609zM737.859539 565.009308c-13.485129-0.203638-26.317389-11.747555-26.63359-23.958668-0.340761-13.07069 12.692067-24.846898 27.374464-24.735357 16.766872 0.12996 28.897144 11.084453 28.241204 25.499767C766.255263 554.683125 753.061776 565.241598 737.859539 565.009308z"></path></svg>`
                },

                {
                    name: "天眼查",
                    searchUrl: "https://www.tianyancha.com/search?key={keyword}",
                    searchkeyName: ["key"],
                    matchUrl: /tianyancha\.com.*?key=/g,
                    mark: "Tianyancha",
                    svgCode: `<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5330"><path d="M0 0m136.533333 0l750.933334 0q136.533333 0 136.533333 136.533333l0 750.933334q0 136.533333-136.533333 136.533333l-750.933334 0q-136.533333 0-136.533333-136.533333l0-750.933334q0-136.533333 136.533333-136.533333Z" fill="transparent" p-id="5331"></path><path d="M776.874667 455.68c0-13.312 17.408-123.562667-145.749334-114.688-224.938667 17.408-375.466667 264.533333-405.845333 348.16A337.237333 337.237333 0 0 1 331.093333 221.866667a349.184 349.184 0 0 1 375.466667 8.874666 418.133333 418.133333 0 0 0-313.344 70.314667C626.688 204.8 759.125333 270.336 785.066667 309.930667c48.810667 70.656 13.312 132.437333-8.533334 145.749333zM853.333333 512a330.410667 330.410667 0 0 1-44.032 167.594667 204.8 204.8 0 0 1-247.125333-88.405334 204.8 204.8 0 0 0 286.72-119.125333A122.88 122.88 0 0 1 853.333333 512z" fill="#0081EE" p-id="5332"></path><path d="M556.032 848.213333c-12.970667 0-30.72 4.437333-44.032 4.437334a344.405333 344.405333 0 0 1-264.533333-123.562667A593.92 593.92 0 0 1 546.133333 385.024a390.485333 390.485333 0 0 0 9.898667 463.189333z" fill="#0081EE" p-id="5333"></path><path d="M516.437333 508.586667a224.256 224.256 0 0 0 260.437334 216.064 339.285333 339.285333 0 0 1-176.469334 110.250666 359.082667 359.082667 0 0 1-83.968-326.314666z" fill="#0081EE" p-id="5334"></path></svg>`
                },
                {
                    name: "Ecosia",
                    searchUrl: "https://www.ecosia.org/search?q={keyword}",
                    searchkeyName: ["q"],
                    matchUrl: "ecosia\\.org.*?search\\?q=",
                    mark: "Ecosia",
                    svgCode: `
      <svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="-5 -5 34 34"><path fill="#dc2626" d="M15.198 6.818H8.786v10.48h6.412v-3.342h-3.98v-1.262H13.8V11.42h-2.584v-1.261h3.981zM11.972.06A12.003 12.003 0 0 0 0 12.064a12 12 0 0 0 10.083 11.848c.068-1.277.196-2.723.434-3.652v-.014c0-.005 0-.007-.01-.012c0-.005-.01-.007-.012-.009c0-.002-.01-.002-.014-.002h-.356c-2.307 0-5.943-.333-6.916-3.45c-1.458-4.642 2.025-6.314 3.484-4.97c0 .004.012.008.019.008q.013.001.02-.005q.014-.007.015-.016v-.021c-.322-.945-2.148-6.867 2.64-8.496c4.08-1.369 8.07 1.491 7.461 5.265v.017c0 .007.01.012.012.014c0 .002.012.005.016.005c0 0 .012-.002.016-.005c.298-.246 1.603-1.186 2.919-.148c1.247.982.844 3.73-1.627 5.003q-.013.003-.02.014v.023c0 .01.01.014.015.02q.014.006.023.001c1.596-.239 4.316 1.193 2.11 4.375c-1.447 2.1-4.71 2.365-6.168 2.365h-1.071s-.01 0-.012.002c0 .002-.01.005-.012.007c0 .002 0 .005-.01.009v.012c-.021.751.331 2.304.693 3.688A12 12 0 0 0 24 12.063A12.003 12.003 0 0 0 11.997.06h-.03z"/></svg>
    `
                },
            ];
                                 
         // ===== 常量定义区 =====
// 样式类名常量(统一管理,避免硬编码)
const CLASS_NAMES = Object.freeze({
    ENGINE_CONTAINER: 'engine-container',
    ENGINE_DISPLAY: 'engine-display',
    ENGINE_BUTTON: 'engine-button',
    HAMBURGER_MENU: 'punkjet-hamburger-menu',
    SEARCH_OVERLAY: 'punkjet-search-overlay',
    MANAGEMENT_PANEL: 'engine-management-panel',
    ENGINE_CARD: 'engine-card',
    DRAGGING: 'dragging',
    DRAG_OVER: 'drag-over',
    ENGINE_SCROLL_AREA: 'engine-scroll-area', // 新增:引擎滚动区域
    KEYBOARD_ACTIVE: 'keyboard-active' // 新增:键盘激活状态
});

// 存储键名常量(统一管理GM存储键)
const STORAGE_KEYS = Object.freeze({
    USER_SEARCH_ENGINES: 'userSearchEngines',
    PUNK_SETUP_SEARCH: 'punk_setup_search',
    LAST_SUCCESSFUL_KEYWORDS: 'last_successful_keywords',
    CURRENT_INPUT: 'currentInput',
    ENGINE_BAR_OFFSET: 'engineBarOffset'  // 新增,用于保存用户设置的偏移值
});

// 默认配置(抽离默认值,便于维护)
const DEFAULT_CONFIG = {
    PUNK_DEFAULT_MARK: 'Bing-Google-Baidu-MetaSo-YandexSearch-Bilibili-ApkPure-Quark-Zhihu',
    SEARCH_PARAMS: ['q', 'query', 'search', 'keyword', 'keywords', 'wd', 'key'],
    MONITORED_INPUT_SELECTOR: 'input[type="text"], input[type="search"], textarea, input#kw',
    CHECK_SCOPE_INTERVAL: 1000,
    SHOW_SEARCH_BOX_DELAY: 10000,
    SCROLL_TIMEOUT_DURATION: 150,
    BAIDU_INPUT_DELAY: 500,
    DRAG_SORT_DELAY: 500,
    ENGINE_BAR_OFFSET_DEFAULT: 0  // 默认偏移为0
};

// ===== 全局状态管理 =====
// 用对象封装全局状态,避免零散变量污染作用域
const appState = {
    userSearchEngines: GM_getValue(STORAGE_KEYS.USER_SEARCH_ENGINES, []),
    searchUrlMap: [...defaultSearchEngines, ...GM_getValue(STORAGE_KEYS.USER_SEARCH_ENGINES, [])], // defaultSearchEngines为原代码默认引擎数组
    lastScrollTop: 0,
    punkJetBoxVisible: true,
    currentInput: sessionStorage.getItem(STORAGE_KEYS.CURRENT_INPUT) || '',
    scriptLoaded: false,
    containerAdded: false,
    hasUnsavedChanges: false,
    scrollTimeout: null,
    isScrolling: false,
    hideTimeout: null,
    touchStartY: null,
    hamburgerMenuOpen: false,
    searchOverlayVisible: false
};

// ===== 可访问性模块 =====
/**
 * 可访问性功能模块 - 键盘导航、ARIA标签、焦点管理
 */
const accessibility = {
    /**
     * 初始化键盘导航支持
     */
    initKeyboardNavigation() {
        document.addEventListener('keydown', (e) => {
            // Alt+S 打开搜索框
            if (e.altKey && e.key === 's') {
                e.preventDefault();
                searchOverlay.showSearchOverlay();
            }

            // ESC 关闭各种弹窗
            if (e.key === 'Escape') {
                if (appState.searchOverlayVisible) {
                    searchOverlay.hideSearchOverlay();
                }
                if (appState.hamburgerMenuOpen) {
                    hamburgerMenu.hideHamburgerMenu();
                }
                const panel = document.getElementById(CLASS_NAMES.MANAGEMENT_PANEL);
                if (panel && panel.style.display === 'block') {
                    managementPanel.closeManagementPanel();
                }
            }

            // Alt+M 打开菜单
            if (e.altKey && e.key === 'm') {
                e.preventDefault();
                hamburgerMenu.toggleHamburgerMenu();
            }

            // Alt+E 打开引擎管理
            if (e.altKey && e.key === 'e') {
                e.preventDefault();
                managementPanel.showManagementPanel();
            }
        });
    },

    /**
     * 改进ARIA标签
     */
    enhanceAriaLabels() {
        const buttons = document.querySelectorAll(`.${CLASS_NAMES.ENGINE_BUTTON}`);
        buttons.forEach(button => {
            const engineName = button.getAttribute('title');
            button.setAttribute('aria-label', `使用${engineName}搜索`);
            button.setAttribute('role', 'button');
            button.setAttribute('tabindex', '0');
        });

        // 为汉堡菜单按钮添加ARIA
        const hamburgerButton = document.querySelector('.engine-hamburger-button');
        if (hamburgerButton) {
            hamburgerButton.setAttribute('aria-label', '打开菜单');
            hamburgerButton.setAttribute('aria-expanded', 'false');
            hamburgerButton.setAttribute('aria-haspopup', 'true');
        }

        // 为搜索遮罩添加ARIA
        const overlay = document.getElementById(CLASS_NAMES.SEARCH_OVERLAY);
        if (overlay) {
            const searchInput = overlay.querySelector('input');
            if (searchInput) {
                searchInput.setAttribute('aria-label', '搜索关键词或网址');
            }
        }
    },

    /**
     * 更新汉堡菜单ARIA状态
     */
    updateHamburgerAriaState() {
        const hamburgerButton = document.querySelector('.engine-hamburger-button');
        if (hamburgerButton) {
            hamburgerButton.setAttribute('aria-expanded', appState.hamburgerMenuOpen.toString());
        }
    },

    /**
     * 焦点管理 - 陷阱焦点在模态框内
     * @param {HTMLElement} element - 模态框元素
     */
    trapFocus(element) {
        const focusableElements = element.querySelectorAll(
            'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
        );

        if (focusableElements.length === 0) return;

        const firstElement = focusableElements[0];
        const lastElement = focusableElements[focusableElements.length - 1];

        const handleKeyDown = (e) => {
            if (e.key !== 'Tab') return;

            if (e.shiftKey) {
                // Shift + Tab
                if (document.activeElement === firstElement) {
                    lastElement.focus();
                    e.preventDefault();
                }
            } else {
                // Tab
                if (document.activeElement === lastElement) {
                    firstElement.focus();
                    e.preventDefault();
                }
            }
        };

        element.addEventListener('keydown', handleKeyDown);

        // 存储事件处理器以便清理
        if (!element._focusTrapHandler) {
            element._focusTrapHandler = handleKeyDown;
        }

        // 初始聚焦到第一个元素
        setTimeout(() => firstElement.focus(), 100);
    },

    /**
     * 移除焦点陷阱
     * @param {HTMLElement} element - 模态框元素
     */
    removeFocusTrap(element) {
        if (element._focusTrapHandler) {
            element.removeEventListener('keydown', element._focusTrapHandler);
            delete element._focusTrapHandler;
        }
    },

    /**
     * 初始化可访问性功能
     */
    init() {
        this.initKeyboardNavigation();

        // 延迟执行ARIA标签增强,等待DOM加载
        setTimeout(() => {
            this.enhanceAriaLabels();
        }, 1000);

        // 监听DOM变化,动态增强ARIA标签
        const observer = new MutationObserver(() => {
            this.enhanceAriaLabels();
        });

        observer.observe(document.body, {
            childList: true,
            subtree: true
        });
    }
};

// ===== 防抖工具模块 =====
/**
 * 防抖工具模块 - 更精细的防抖控制
 */
const debounceUtils = {
    timers: new Map(),

    /**
     * 防抖函数
     * @param {string} key - 防抖标识键
     * @param {Function} fn - 要执行的函数
     * @param {number} delay - 延迟时间(ms)
     * @param {boolean} immediate - 是否立即执行
     */
    debounce(key, fn, delay = 300, immediate = false) {
        // 清除现有定时器
        if (this.timers.has(key)) {
            clearTimeout(this.timers.get(key));
        }

        // 立即执行模式
        if (immediate && !this.timers.has(key)) {
            fn();
            this.timers.set(key, setTimeout(() => {
                this.timers.delete(key);
            }, delay));
        } else {
            // 延迟执行模式
            const timer = setTimeout(() => {
                fn();
                this.timers.delete(key);
            }, delay);
            this.timers.set(key, timer);
        }
    },

    /**
     * 节流函数
     * @param {string} key - 节流标识键
     * @param {Function} fn - 要执行的函数
     * @param {number} limit - 时间限制(ms)
     */
    throttle(key, fn, limit = 300) {
        if (!this.timers.has(key)) {
            fn();
            this.timers.set(key, setTimeout(() => {
                this.timers.delete(key);
            }, limit));
        }
    },

    /**
     * 清除指定防抖定时器
     * @param {string} key - 防抖标识键
     */
    cancel(key) {
        if (this.timers.has(key)) {
            clearTimeout(this.timers.get(key));
            this.timers.delete(key);
        }
    },

    /**
     * 清除所有防抖定时器
     */
    clearAll() {
        this.timers.forEach((timer, key) => {
            clearTimeout(timer);
            this.timers.delete(key);
        });
    }
};

// ===== 工具函数库 =====
/**
 * 工具函数集合 - 封装通用逻辑,提升复用性
 */
const utils = {
    /**
     * 清除所有定时器
     */
    clearAllTimeouts() {
        if (appState.scrollTimeout) {
            clearTimeout(appState.scrollTimeout);
            appState.scrollTimeout = null;
        }
        if (appState.hideTimeout) {
            clearTimeout(appState.hideTimeout);
            appState.hideTimeout = null;
        }
        // 同时清除防抖定时器
        debounceUtils.clearAll();
    },

    /**
     * 检查引擎容器是否已存在
     * @returns {boolean} 存在返回true,否则false
     */
    isEngineContainerExists() {
        return document.querySelector(`.${CLASS_NAMES.ENGINE_CONTAINER}`) !== null;
    },

    /**
     * 检查当前页面是否在有效作用域内(匹配搜索引擎页面)
     * @returns {boolean} 有效返回true,否则false
     */
    isValidScope() {
        return appState.searchUrlMap.some(item =>
            window.location.href.match(item.matchUrl) !== null
        );
    },

    /**
     * 验证URL是否有效(http/https协议)
     * @param {string} string - 待验证的URL字符串
     * @returns {boolean} 有效返回true,否则false
     */
    isValidUrl(string) {
        try {
            const url = new URL(string);
            return url.protocol === 'http:' || url.protocol === 'https:';
        } catch (_) {
            return false;
        }
    },

    /**
     * 获取当前页面的搜索关键词(从URL参数、输入框、存储中优先级获取)
     * @returns {string} 搜索关键词
     */
    getKeywords() {
        try {
            // 1. 从URL参数中提取关键词
            const url = new URL(window.location.href);
            const searchParams = url.searchParams;
            let keywords = '';

            // 优先从通用参数中提取
            for (const param of DEFAULT_CONFIG.SEARCH_PARAMS) {
                if (searchParams.has(param)) {
                    keywords = searchParams.get(param).trim();
                    if (keywords) break;
                }
            }

            // 通用参数未提取到,从引擎配置的参数中提取
            if (!keywords) {
                for (const urlItem of appState.searchUrlMap) {
                    if (window.location.href.match(urlItem.matchUrl) !== null) {
                        for (const keyItem of urlItem.searchkeyName) {
                            if (searchParams.has(keyItem)) {
                                keywords = searchParams.get(keyItem).trim();
                                if (keywords) break;
                            }
                        }
                        if (keywords) break;
                    }
                }
            }

            // 2. 关键词存在时更新存储,不存在时从存储中读取
            if (keywords) {
                localStorage.setItem(STORAGE_KEYS.LAST_SUCCESSFUL_KEYWORDS, keywords);
                sessionStorage.setItem(STORAGE_KEYS.LAST_SUCCESSFUL_KEYWORDS, keywords);
            } else {
                keywords = sessionStorage.getItem(STORAGE_KEYS.LAST_SUCCESSFUL_KEYWORDS) ||
                    localStorage.getItem(STORAGE_KEYS.LAST_SUCCESSFUL_KEYWORDS) || '';
            }

            return keywords;
        } catch (error) {
            console.error("获取关键词失败:", error.message, "当前URL:", window.location.href);
            return "";
        }
    },

    /**
     * 获取搜索关键词(整合遮罩层、输入框、存储多渠道)
     * @returns {string} 最终搜索关键词
     */
    getSearchKeywords() {
        let keywords = "";

        // 1. 优先从搜索遮罩层输入框获取
        if (appState.searchOverlayVisible) {
            const searchInput = document.getElementById("overlay-search-input");
            if (searchInput && searchInput.value.trim()) {
                return searchInput.value.trim();
            }
        }

        // 2. 从百度特定输入框获取
        const baiduInput = document.querySelector('input#kw, input[name="wd"], input[name="word"]');
        if (baiduInput && baiduInput.value.trim()) {
            keywords = baiduInput.value.trim();
            return keywords;
        }

        // 3. 从页面所有输入框中获取
        const allInputs = document.querySelectorAll(DEFAULT_CONFIG.MONITORED_INPUT_SELECTOR);
        for (const input of allInputs) {
            const inputVal = input.value.trim();
            if (inputVal) {
                keywords = inputVal;
                break;
            }
        }

        // 4. 从工具函数提取的关键词中获取
        if (!keywords) {
            keywords = this.getKeywords().trim();
        }

        // 5. 最后从sessionStorage获取
        if (!keywords) {
            keywords = sessionStorage.getItem(STORAGE_KEYS.CURRENT_INPUT) || "";
        }

        return keywords;
    },

    /**
     * 更新未保存更改状态(显示指示器、激活保存按钮)
     */
    markUnsavedChanges() {
        appState.hasUnsavedChanges = true;
        const indicator = document.getElementById("unsaved-indicator");
        const saveBtn = document.getElementById("panel-save-btn");

        if (indicator) indicator.style.display = "block";
        if (saveBtn) {
            saveBtn.style.opacity = "1";
            saveBtn.style.pointerEvents = "auto";
            saveBtn.style.background = "#e67e22";
            saveBtn.innerHTML = this.createInlineSVG('save') + ' 保存更改';

            // 统一hover事件处理
            const handleHover = function(isEnter) {
                this.style.transform = isEnter ? "translateY(-2px)" : "translateY(0)";
                this.style.boxShadow = isEnter ? "0 4px 8px rgba(0,0,0,0.2)" : "none";
            };

            // 移除旧事件,避免重复绑定
            saveBtn.removeEventListener("mouseenter", () => {});
            saveBtn.removeEventListener("mouseleave", () => {});
            saveBtn.addEventListener("mouseenter", () => handleHover.call(saveBtn, true));
            saveBtn.addEventListener("mouseleave", () => handleHover.call(saveBtn, false));
        }
    },

    /**
     * 清除未保存更改状态(隐藏指示器、禁用保存按钮)
     */
    clearUnsavedChanges() {
        appState.hasUnsavedChanges = false;
        const indicator = document.getElementById("unsaved-indicator");
        const saveBtn = document.getElementById("panel-save-btn");

        if (indicator) indicator.style.display = "none";
        if (saveBtn) {
            saveBtn.style.opacity = "0.7";
            saveBtn.style.pointerEvents = "none";
            saveBtn.style.background = "#95a5a6";
            saveBtn.innerHTML = this.createInlineSVG('save') + ' 保存设置';

            // 显示保存成功反馈
            setTimeout(() => {
                if (!appState.hasUnsavedChanges) {
                    saveBtn.innerHTML = this.createInlineSVG('check') + ' 已保存';
                    saveBtn.style.background = "#27ae60";
                    setTimeout(() => {
                        if (!appState.hasUnsavedChanges) {
                            saveBtn.innerHTML = this.createInlineSVG('save') + ' 保存设置';
                            saveBtn.style.background = "#95a5a6";
                        }
                    }, 2000);
                }
            }, 100);
        }
    },

    /**
     * 更新已选引擎数量显示
     */
    updateSelectedCount() {
        const checkboxes = document.querySelectorAll(`#engine-management-list input[type="checkbox"]:checked`);
        const countElement = document.getElementById("selected-count");
        if (countElement) {
            countElement.innerHTML = this.createInlineSVG('check-circle') + ` 已选择 ${checkboxes.length} 个引擎`;
        }
    },

    /**
     * 保存引擎按钮排序(更新到GM存储)
     */
    saveButtonOrder() {
        const container = document.querySelector(`.${CLASS_NAMES.ENGINE_DISPLAY}`);
        if (!container) return;

        const buttons = container.querySelectorAll(`.${CLASS_NAMES.ENGINE_BUTTON}`);
        const newOrder = Array.from(buttons)
            .map(btn => btn.getAttribute('data-mark'))
            .filter(mark => mark !== null)
            .join('-');

        GM_setValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, newOrder);
    },

    /**
     * 创建内联SVG图标(替代Font Awesome)
     * @param {string} iconName - 图标名称
     * @param {string} color - 图标颜色
     * @returns {string} SVG字符串
     */
    createInlineSVG(iconName, color = 'currentColor') {
        const icons = {
            search: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/>
            </svg>`,
            cog: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z"/>
                <path d="M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z"/>
            </svg>`,
            sog: `<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 24 24"><g fill="#999999" fill-rule="evenodd" clip-rule="evenodd"><path d="M12 8.25a3.75 3.75 0 1 0 0 7.5a3.75 3.75 0 0 0 0-7.5M9.75 12a2.25 2.25 0 1 1 4.5 0a2.25 2.25 0 0 1-4.5 0"/><path d="M12 1.25c-.705 0-1.348.194-2.051.52c-.68.317-1.469.783-2.454 1.367l-.754.446c-.986.584-1.773 1.05-2.38 1.496c-.628.462-1.11.934-1.458 1.553s-.505 1.279-.58 2.063c-.073.76-.073 1.691-.073 2.861v.888c0 1.17 0 2.1.073 2.86c.075.785.232 1.446.58 2.064c.349.619.83 1.091 1.458 1.553c.607.446 1.394.912 2.38 1.496l.754.446c.985.584 1.773 1.05 2.454 1.367c.703.326 1.346.52 2.051.52s1.348-.194 2.051-.52c.68-.317 1.469-.783 2.454-1.367l.754-.446c.986-.584 1.773-1.05 2.38-1.496c.628-.462 1.11-.934 1.458-1.553s.505-1.279.58-2.063c.073-.76.073-1.691.073-2.86v-.889c0-1.17 0-2.1-.073-2.86c-.075-.785-.232-1.446-.58-2.064c-.349-.619-.83-1.091-1.458-1.553c-.607-.446-1.394-.912-2.38-1.496l-.754-.446c-.985-.584-1.773-1.05-2.454-1.367c-.703-.326-1.346-.52-2.051-.52M8.225 4.447c1.027-.608 1.751-1.035 2.356-1.316c.59-.274 1.01-.381 1.419-.381s.83.107 1.42.38c.604.282 1.328.71 2.355 1.317l.686.407c1.027.608 1.75 1.037 2.29 1.434c.526.387.83.71 1.038 1.08c.21.371.33.806.395 1.47c.065.68.066 1.54.066 2.756v.812c0 1.216 0 2.075-.066 2.755c-.064.665-.185 1.1-.395 1.471c-.208.37-.512.693-1.038 1.08c-.54.397-1.263.826-2.29 1.434l-.686.407c-1.027.608-1.751 1.035-2.356 1.316c-.59.274-1.01.381-1.419.381s-.83-.107-1.42-.38c-.604-.282-1.328-.71-2.355-1.317l-.686-.407c-1.027-.608-1.75-1.037-2.29-1.434c-.526-.387-.83-.71-1.038-1.08c-.21-.371-.331-.806-.395-1.47c-.065-.68-.066-1.54-.066-2.756v-.812c0-1.216 0-2.075.066-2.755c.064-.665.185-1.1.394-1.471c.209-.37.513-.693 1.04-1.08c.54-.397 1.262-.826 2.29-1.434z"/></g></svg>`,
            save: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v7.293l2.646-2.647a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L7.5 9.293V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z"/>
            </svg>`,
            check: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z"/>
            </svg>`,
            'check-circle': `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
                <path d="M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z"/>
            </svg>`,
            times: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/>
            </svg>`,
            plus: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"/>
            </svg>`,
            globe: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855A7.97 7.97 0 0 0 5.145 4H7.5V1.077zM4.09 4a9.267 9.267 0 0 1 .64-1.539 6.7 6.7 0 0 1 .597-.933A7.025 7.025 0 0 0 2.255 4H4.09zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.026a6.8 6.8 0 0 0-.34 2.5h2.49zM4.847 5.12c.38-.59.853-1.108 1.4-1.536.165-.13.335-.252.51-.367a6.7 6.7 0 0 1-.597.933A9.252 9.252 0 0 0 5.794 5.5H4.847zM8.5 1.077V4h1.191a7.9 7.9 0 0 0-1.318-1.142C8.072 2.702 7.78 2.275 8.5 1.077zM9.92 5.5H8.754a9.3 9.3 0 0 1-.64 1.539 6.7 6.7 0 0 1-.597.933c.23-.174.48-.34.743-.492.547-.428 1.02-.946 1.4-1.536zM13.974 7.5H11.49c.174.782.282 1.623.312 2.5h2.49a6.8 6.8 0 0 0 .34-2.5zm-1.487 3.5c-.165.13-.335.252-.51.367.13-.195.248-.4.352-.614.204-.67.382-1.375.429-2.153h2.205a6.7 6.7 0 0 1-.34 2.5h-2.136zm-2.572 2.072c.67-.204 1.335-.82 1.887-1.855.165.38.31.767.429 1.153H8.5v2.923zM11.145 12a7.9 7.9 0 0 0 1.318-1.142c.272.208.56.396.86.572a7.025 7.025 0 0 1-2.178 1.57h.001z"/>
            </svg>`,
            undo: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path fill-rule="evenodd" d="M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z"/>
                <path d="M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z"/>
            </svg>`,
            eye: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>
                <path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
            </svg>`,
            trash: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/>
                <path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/>
            </svg>`,
            list: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
            </svg>`,
            magic: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M9.5 2.672a.5.5 0 1 0 1 0V.843a.5.5 0 0 0-1 0v1.829zm4.5.035A.5.5 0 0 0 13.293 2L12 3.293a.5.5 0 1 0 .707.707L14 2.707zM7.293 4A.5.5 0 1 0 8 3.293L6.707 2A.5.5 0 0 0 6 2.707L7.293 4zm-.621 2.5a.5.5 0 1 0 0-1H4.843a.5.5 0 1 0 0 1h1.829zm8.485 0a.5.5 0 1 0 0-1h-1.829a.5.5 0 0 0 0 1h1.829zM13.293 10A.5.5 0 1 0 14 9.293L12.707 8a.5.5 0 1 0-.707.707L13.293 10zM9.5 11.157a.5.5 0 0 0 1 0V9.328a.5.5 0 0 0-1 0v1.829zm1.854-5.097a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L8.646 5.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0l1.293-1.293zm-3 3a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L.646 13.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0L8.354 9.06z"/>
            </svg>`,
            palette: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm4 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM5.5 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
                <path d="M16 8c0 3.15-1.866 2.585-3.567 2.07C11.42 9.763 10.465 9.473 10 10c-.603.683-.475 1.819-.351 2.92C9.826 14.495 9.996 16 8 16a8 8 0 1 1 8-8zm-8 7c.611 0 .654-.171.655-.176.078-.146.124-.464.07-1.119-.014-.168-.037-.37-.061-.591-.052-.464-.112-1.005-.118-1.462-.01-.707.083-1.61.704-2.314.369-.417.845-.578 1.272-.618.404-.038.812.026 1.16.104.343.077.702.186 1.025.284l.028.008c.346.105.658.199.953.266.653.148.904.083.991.024C14.717 9.38 15 9.161 15 8a7 7 0 1 0-7 7z"/>
            </svg>`,
            circle: `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
            </svg>`,
            'paper-plane': `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11zm-6.636 13.727L14.354 1.88 2.833 6.735l3.178 4.995 3.207-4.857z"/>
            </svg>`,
            'info-circle': `<svg width="16" height="16" viewBox="0 0 16 16" fill="${color}">
                <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
                <path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
            </svg>`
        };

        return icons[iconName] || icons['circle'];
    },
    
    /**
     * 检测是否移动设备
     * @returns {boolean} 是否是移动设备
     */
    isMobileDevice() {
        return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ||
            (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
    },

    /**
     * 检测输入法是否激活(移动端)
     * @returns {boolean} 输入法是否激活
     */
    isInputMethodActive() {
        if (!this.isMobileDevice()) return false;
        
        const activeElement = document.activeElement;
        return activeElement && (
            activeElement.tagName === 'INPUT' || 
            activeElement.tagName === 'TEXTAREA'
        );
    },

    /**
     * 获取用户设置的底部偏移值
     * @returns {number} 偏移值(px)
     */
    getEngineBarOffset() {
        return GM_getValue(STORAGE_KEYS.ENGINE_BAR_OFFSET, DEFAULT_CONFIG.ENGINE_BAR_OFFSET_DEFAULT);
    },

    /**
     * 设置底部偏移值
     * @param {number} value - 偏移值(px)
     */
    setEngineBarOffset(value) {
        GM_setValue(STORAGE_KEYS.ENGINE_BAR_OFFSET, parseInt(value));
    }
};

// ===== DOM操作模块 =====
/**
 * DOM操作集合 - 封装DOM创建、样式注入、事件绑定等逻辑
 */
const domHandler = {
    /**
     * 注入核心样式(确保只注入一次)
     */
    injectStyle() {
        if (document.querySelector(`style#${CLASS_NAMES.ENGINE_CONTAINER}-style`)) return;

        const cssNode = document.createElement("style");
        cssNode.id = `${CLASS_NAMES.ENGINE_CONTAINER}-style`;
        cssNode.textContent = `
            .${CLASS_NAMES.ENGINE_CONTAINER} {
                display: flex;
                position: fixed;
                bottom: 0px;
                left: 2%;
                width: 96%;
                height: 36px;
                overflow: hidden;
                justify-content: center;
                align-items: center;
                z-index: 1000;
                background-color: rgba(255, 255, 255, 0);
                margin-top: 1px;
                transition: all 0.3s ease;
                transform: translateY(0);
                opacity: 1;
                overflow-y: hidden;
                overflow-x: visible;
            }
            .${CLASS_NAMES.ENGINE_CONTAINER}.hidden {
                transform: translateY(100%);
                opacity: 0;
            }
            .${CLASS_NAMES.ENGINE_DISPLAY} {
                display: flex;
                overflow-x: auto;
                overflow-y: hidden;
                white-space: nowrap;
                height: 100%;
                gap: 0px;
                flex-grow: 1;
                scrollbar-width: none;
                -ms-overflow-style: none;
                /* 新增触摸滚动保护样式 */
                -webkit-overflow-scrolling: touch;
                touch-action: pan-x;
                overscroll-behavior: contain;
            }
            .${CLASS_NAMES.ENGINE_DISPLAY}::-webkit-scrollbar {
                display: none;
            }
            .${CLASS_NAMES.ENGINE_BUTTON} {
                width: 55.5px;
                height: 32px;
                padding: 0;
                border: 1px solid #f0f0f0;
                border-radius: 8px;
                background-color: rgba(255, 255, 255, 1);
                color: transparent;
                font-size: 14px;
                cursor: pointer;
                margin: 2px;
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
                backdrop-filter: blur(5px);
                box-shadow: 
                    1px 1px 1px rgba(0, 0, 0, 0.1),
                    0px 0px 0px rgba(255, 255, 255, 0.5),
                    6px 6px 10px rgba(0, 0, 0, 0.1) inset,
                    -6px -6px 10px rgba(255, 255, 255, 0) inset;
                transition: all 0.3s ease;
                flex-shrink: 0;
                overflow: hidden;
            }
            .${CLASS_NAMES.ENGINE_BUTTON}:focus {
                border: 2px dashed #2196F3;
                background-color: #f0f8ff;
            }
            .${CLASS_NAMES.ENGINE_BUTTON}.selected {
                border: 2px dashed #2196F3;
                background-color: #f0f8ff;
            }
            .${CLASS_NAMES.ENGINE_BUTTON}.${CLASS_NAMES.DRAGGING} {
                opacity: 0.5;
                transform: rotate(5deg);
            }
            .${CLASS_NAMES.ENGINE_BUTTON}.${CLASS_NAMES.DRAG_OVER} {
                border: 2px dashed #2196F3;
                background-color: #f0f8ff;
            }
            .${CLASS_NAMES.ENGINE_CARD} {
                transition: all 0.3s ease;
            }
            #${CLASS_NAMES.MANAGEMENT_PANEL} {
                animation: slideIn 0.3s ease;
            }
            #${CLASS_NAMES.HAMBURGER_MENU} {
                animation: slideInLeft 0.3s ease;
            }
            #${CLASS_NAMES.SEARCH_OVERLAY} {
                animation: fadeIn 0.3s ease;
            }
            @keyframes slideIn {
                from { opacity: 0; transform: translate(-50%, -48%); }
                to { opacity: 1; transform: translate(-50%, -50%); }
            }
            @keyframes slideInLeft {
                from { opacity: 0; transform: translateX(-10px); }
                to { opacity: 1; transform: translateX(0); }
            }
            @keyframes fadeIn {
                from { opacity: 0; }
                to { opacity: 1; }
            }
        `;
        document.head.appendChild(cssNode);
    },

    /**
     * 初始化触摸滚动保护(防止滚动时收起键盘)
     */
    initTouchScrollProtection() {
        const scrollArea = document.querySelector(`.${CLASS_NAMES.ENGINE_DISPLAY}`);
        if (!scrollArea) return;

        let isScrolling = false;
        let scrollTimer = null;

        // 触摸开始事件
        scrollArea.addEventListener('touchstart', (e) => {
            // 标记为滚动中,防止键盘收起
            isScrolling = true;
            this.setKeyboardActiveState(true);
            
            // 清除之前的定时器
            if (scrollTimer) {
                clearTimeout(scrollTimer);
            }
        }, { passive: true });

        // 触摸移动事件
        scrollArea.addEventListener('touchmove', (e) => {
            if (!isScrolling) return;
            
            // 更新滚动状态
            this.setKeyboardActiveState(true);
            
            // 清除并重新设置定时器
            if (scrollTimer) {
                clearTimeout(scrollTimer);
            }
            
            // 设置滚动结束检测定时器
            scrollTimer = setTimeout(() => {
                isScrolling = false;
                this.setKeyboardActiveState(false);
            }, 150);
        }, { passive: true });

        // 触摸结束事件
        scrollArea.addEventListener('touchend', (e) => {
            // 延迟标记滚动结束,确保平滑过渡
            setTimeout(() => {
                isScrolling = false;
                this.setKeyboardActiveState(false);
            }, 200);
            
            if (scrollTimer) {
                clearTimeout(scrollTimer);
            }
        }, { passive: true });

        // 触摸取消事件
        scrollArea.addEventListener('touchcancel', (e) => {
            isScrolling = false;
            this.setKeyboardActiveState(false);
            
            if (scrollTimer) {
                clearTimeout(scrollTimer);
            }
        }, { passive: true });
    },

    /**
     * 设置键盘激活状态
     * @param {boolean} active - 是否激活状态
     */
    setKeyboardActiveState(active) {
        const container = document.querySelector(`.${CLASS_NAMES.ENGINE_CONTAINER}`);
        if (!container) return;

        if (active) {
            container.classList.add(CLASS_NAMES.KEYBOARD_ACTIVE);
        } else {
            container.classList.remove(CLASS_NAMES.KEYBOARD_ACTIVE);
        }
    },

    /**
     * 监控页面输入框(实时同步输入内容到sessionStorage)
     */
    monitorInputFields() {
        const setupInputMonitoring = (input) => {
            if (input.dataset.monitored) return;
            input.dataset.monitored = true;

            const updateCurrentInput = (event) => {
                // 使用防抖优化输入监控
                debounceUtils.debounce('input_monitor', () => {
                    appState.currentInput = event.target.value.trim();
                    sessionStorage.setItem(STORAGE_KEYS.CURRENT_INPUT, appState.currentInput);
                }, 500);
            };

            input.addEventListener('input', updateCurrentInput);
            input.addEventListener('change', updateCurrentInput);
        };

        // 1. 初始化现有输入框监控
        document.querySelectorAll(DEFAULT_CONFIG.MONITORED_INPUT_SELECTOR)
            .forEach(setupInputMonitoring);

        // 2. 监听动态添加的输入框(MutationObserver)
        const observer = new MutationObserver(() => {
            document.querySelectorAll(`${DEFAULT_CONFIG.MONITORED_INPUT_SELECTOR}:not([data-monitored])`)
                .forEach(setupInputMonitoring);
        });

        observer.observe(document.body, {
            childList: true,
            subtree: true
        });
    },

    /**
     * 更新搜索框位置与显示状态(增强版,支持底部偏移)
     */
    updateSearchBoxPosition() {
        const punkJetBox = document.getElementById("punkjet-search-box");
        if (!punkJetBox) return;

        // 获取用户设置的偏移值
        const offsetValue = utils.getEngineBarOffset();
        
        // 判断是否需要应用偏移(输入法激活时且不在滚动状态)
        const shouldOffset = utils.isInputMethodActive() && 
                            !punkJetBox.classList.contains(CLASS_NAMES.KEYBOARD_ACTIVE);

        // 应用位置样式
        punkJetBox.style.bottom = shouldOffset ? `${offsetValue}px` : '0px';
        punkJetBox.style.left = '2%';
        punkJetBox.style.width = '96%';

        // 显示/隐藏状态切换
        punkJetBox.style.transform = appState.punkJetBoxVisible ?
            "translateY(0)" :
            "translateY(100%)";
        punkJetBox.style.opacity = appState.punkJetBoxVisible ? "1" : "0";
    },

    /**
     * 创建搜索引擎按钮
     * @param {Object} item - 搜索引擎配置项
     * @returns {HTMLButtonElement} 引擎按钮DOM元素
     */
    createEngineButton(item) {
        const button = document.createElement('button');
        button.className = CLASS_NAMES.ENGINE_BUTTON;
        button.style.backgroundImage = `url('data:image/svg+xml;utf8,${encodeURIComponent(item.svgCode)}')`;
        button.setAttribute("url", item.searchUrl);
        button.setAttribute("title", item.name);
        button.setAttribute("data-mark", item.mark);
        button.innerHTML = '';

        // 鼠标hover事件
        const handleMouseEnter = () => {
            button.style.backgroundColor = 'rgba(241, 241, 241, 1)';
            button.style.boxShadow = '0 4px 12px rgba(0,0,0,0.15)';
        };

        const handleMouseLeave = () => {
            button.style.backgroundColor = 'rgba(240, 240, 244, 1)';
            button.style.boxShadow = '1px 1px 1px rgba(0, 0, 0, 0.1), 0px 0px 0px rgba(255, 255, 255, 0.5), 6px 6px 10px rgba(0, 0, 0, 0.1) inset, -6px -6px 10px rgba(255, 255, 255, 0) inset';
        };

        button.addEventListener('mouseover', handleMouseEnter);
        button.addEventListener('mouseout', handleMouseLeave);

        // 点击事件(调用搜索逻辑)
        button.addEventListener('click', (event) => {
            event.preventDefault();
            const url = button.getAttribute("url");
            const keywords = utils.getSearchKeywords();

            if (url && keywords) {
                const finalUrl = url.replace('{keyword}', encodeURIComponent(keywords));
                window.open(finalUrl, '_blank');
                if (appState.searchOverlayVisible) {
                    searchOverlay.hideSearchOverlay();
                }
            } else {
                searchOverlay.showSearchOverlay();
            }
        });

        return button;
    },

    /**
     * 创建汉堡菜单按钮
     * @returns {HTMLButtonElement} 汉堡菜单按钮DOM元素
     */
    createHamburgerButton() {
        const hamburgerButton = document.createElement('button');
        hamburgerButton.className = "engine-hamburger-button";
        hamburgerButton.innerHTML = utils.createInlineSVG('paper-plane');
        hamburgerButton.title = "菜单 (Alt+M)";
        hamburgerButton.style.cssText = `
            width: 32px;
            height: 32px;
            border: 1px solid #f0f0f0;
            border-radius: 7px;
            background-color: rgba(255, 255, 255, 1);
            box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1), 
                        0px 0px 0px rgba(255, 255, 255, 0.5), 
                        6px 6px 10px rgba(0, 0, 0, 0.1) inset, 
                        -6px -6px 10px rgba(255, 255, 255, 0) inset;
            cursor: pointer;
            margin: 3px;
            flex-shrink: 0;
            display: flex;
            justify-content: center; 
            align-items: center;      
            font-size: 16px;
            color: #999999;
            transition: all 0.3s ease;
            padding: 0;              
        `;

        // 鼠标hover效果
        hamburgerButton.addEventListener('mouseenter', () => {
            hamburgerButton.style.backgroundColor = 'rgba(241, 241, 241, 1)';
            hamburgerButton.style.transform = 'translateY(-2px)';
            hamburgerButton.style.boxShadow = '0 4px 12px rgba(0,0,0,0.15)';
        });

        hamburgerButton.addEventListener('mouseout', () => {
            hamburgerButton.style.backgroundColor = 'white';
            hamburgerButton.style.transform = 'translateY(0)';
            hamburgerButton.style.boxShadow = '1px 1px 1px rgba(0, 0, 0, 0.1), 0px 0px 0px rgba(255, 255, 255, 0.5), 6px 6px 10px rgba(0, 0, 0, 0.1) inset, -6px -6px 10px rgba(255, 255, 255, 0) inset';
        });

        // 点击切换汉堡菜单
        hamburgerButton.addEventListener('click', () => {
            appState.hamburgerMenuOpen ?
                hamburgerMenu.hideHamburgerMenu() :
                hamburgerMenu.showHamburgerMenu();
        });

        return hamburgerButton;
    },

    /**
     * 添加搜索框到页面(核心UI组件)
     */
    addSearchBox() {
        try {
            if (utils.isEngineContainerExists()) return;

            // 1. 创建主容器
            const punkJetBox = document.createElement("div");
            punkJetBox.id = "punkjet-search-box";
            punkJetBox.className = CLASS_NAMES.ENGINE_CONTAINER;
            punkJetBox.style.cssText = `
                display: flex;
                z-index: 9999;
                position: fixed;
                transition: all 0.3s ease;
            `;
            this.updateSearchBoxPosition();

            // 2. 创建引擎按钮容器(横向滚动)
            const ulList = document.createElement('div');
            ulList.className = CLASS_NAMES.ENGINE_DISPLAY;
            ulList.style.cssText = `
                overflow-x: auto;
                overflow-y: hidden;
                display: flex;
                flex-grow: 1;
            `;

            // 3. 添加汉堡菜单按钮
            const hamburgerButton = this.createHamburgerButton();
            punkJetBox.appendChild(hamburgerButton);

            // 4. 添加引擎按钮(从配置中读取)
            const fragment = document.createDocumentFragment();
            const showList = GM_getValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, DEFAULT_CONFIG.PUNK_DEFAULT_MARK).split('-');

            showList.forEach(showMark => {
                const item = appState.searchUrlMap.find(engine => engine.mark === showMark);
                if (item) {
                    const button = this.createEngineButton(item);
                    fragment.appendChild(button);
                }
            });

            ulList.appendChild(fragment);
            punkJetBox.appendChild(ulList);
            document.body.appendChild(punkJetBox);

            // 5. 更新状态与绑定事件
            appState.containerAdded = true;
            this.initScrollListener();
            
            // 新增:绑定窗口大小变化和焦点事件
            window.addEventListener('resize', () => this.updateSearchBoxPosition());
            document.addEventListener('focusin', () => this.updateSearchBoxPosition());
            document.addEventListener('focusout', () => this.updateSearchBoxPosition());

            // 6. 点击页面其他区域关闭汉堡菜单
            document.addEventListener('click', (e) => {
                if (!e.target.closest(`#${CLASS_NAMES.HAMBURGER_MENU}`) &&
                    !e.target.closest('.engine-hamburger-button')) {
                    hamburgerMenu.hideHamburgerMenu();
                }
            });
            
            // 在添加到页面后初始化触摸保护
            document.body.appendChild(punkJetBox);
            
            // 初始化触摸滚动保护
            setTimeout(() => {
                this.initTouchScrollProtection();
            }, 1000);

            // 7. 延迟启用拖拽排序
            setTimeout(() => this.enableDragAndSort(), DEFAULT_CONFIG.DRAG_SORT_DELAY);
        } catch (error) {
            console.error("添加搜索框失败:", error.message);
        }
    },

    /**
     * 启用引擎按钮拖拽排序功能
     */
    enableDragAndSort() {
        const container = document.querySelector(`.${CLASS_NAMES.ENGINE_DISPLAY}`);
        if (!container) return;

        const buttons = container.querySelectorAll(`.${CLASS_NAMES.ENGINE_BUTTON}`);
        buttons.forEach(button => {
            button.draggable = true;

            // 拖拽开始
            button.addEventListener('dragstart', (e) => {
                button.classList.add(CLASS_NAMES.DRAGGING);
                e.dataTransfer.effectAllowed = 'move';
                e.dataTransfer.setData('text/plain', button.getAttribute('url'));
            });

            // 拖拽结束
            button.addEventListener('dragend', () => {
                button.classList.remove(CLASS_NAMES.DRAGGING);
                utils.saveButtonOrder();
            });

            // 拖拽经过
            button.addEventListener('dragover', (e) => e.preventDefault());

            // 拖拽进入
            button.addEventListener('dragenter', (e) => {
                e.preventDefault();
                button.classList.add(CLASS_NAMES.DRAG_OVER);
            });

            // 拖拽离开
            button.addEventListener('dragleave', () => {
                button.classList.remove(CLASS_NAMES.DRAG_OVER);
            });

            // 拖拽放下
            button.addEventListener('drop', (e) => {
                e.preventDefault();
                button.classList.remove(CLASS_NAMES.DRAG_OVER);
                const draggingButton = document.querySelector(`.${CLASS_NAMES.DRAGGING}`);

                if (draggingButton && draggingButton !== button) {
                    const buttonsArray = Array.from(container.querySelectorAll(`.${CLASS_NAMES.ENGINE_BUTTON}`));
                    const draggedIndex = buttonsArray.indexOf(draggingButton);
                    const targetIndex = buttonsArray.indexOf(button);

                    // 根据索引位置插入
                    if (draggedIndex < targetIndex) {
                        container.insertBefore(draggingButton, button.nextSibling);
                    } else {
                        container.insertBefore(draggingButton, button);
                    }

                    utils.markUnsavedChanges();
                }
            });
        });
    },

    /**
     * 初始化滚动/触摸事件监听(控制搜索框显示/隐藏)
     */
    initScrollListener() {
        const passiveOptions = {
            passive: true
        };

        // 1. 滚动事件 - 使用防抖优化
        const handleScroll = () => {
            const st = window.pageYOffset || document.documentElement.scrollTop;
            const isInteractingWithSearchBar = document.querySelector(`.${CLASS_NAMES.ENGINE_CONTAINER}:hover`) !== null;

            if (isInteractingWithSearchBar) return;

            utils.clearAllTimeouts();
            appState.isScrolling = true;

            // 使用防抖处理滚动显示/隐藏
            debounceUtils.debounce('scroll_hide', () => {
                // 向下滚动且距离顶部>50px:隐藏搜索框
                if (st > appState.lastScrollTop && st > 50) {
                    this.hideSearchBox();
                } else {
                    this.showSearchBoxImmediately();
                }

                appState.lastScrollTop = st <= 0 ? 0 : st;
            }, 50);

            // 滚动停止后延迟显示搜索框
            appState.scrollTimeout = setTimeout(() => {
                appState.isScrolling = false;
                this.showSearchBoxDelayed();
            }, DEFAULT_CONFIG.SCROLL_TIMEOUT_DURATION);
        };

        // 2. 触摸事件 - 使用节流优化
        const handleTouchStart = (e) => {
            appState.touchStartY = e.touches[0].clientY;
        };

        const handleTouchMove = (e) => {
            if (appState.touchStartY === null) return;
            if (e.target.closest(`.${CLASS_NAMES.ENGINE_CONTAINER}`)) return;

            const touchY = e.touches[0].clientY;
            const diff = appState.touchStartY - touchY;

            // 使用节流处理触摸移动
            debounceUtils.throttle('touch_move', () => {
                // 滑动距离>10px时触发显示/隐藏
                if (Math.abs(diff) > 10) {
                    diff > 0 ? this.hideSearchBox() : this.showSearchBoxImmediately();
                }
            }, 100);
        };

        const handleTouchEnd = () => {
            appState.touchStartY = null;
            this.showSearchBoxDelayed();
        };

        // 3. 滚轮事件
        const handleWheel = () => {
            setTimeout(() => {
                const st = window.pageYOffset || document.documentElement.scrollTop;
                if (st > appState.lastScrollTop && st > 50) {
                    this.hideSearchBox();
                } else {
                    this.showSearchBoxImmediately();
                }
                appState.lastScrollTop = st <= 0 ? 0 : st;
                this.showSearchBoxDelayed();
            }, 10);
        };

        // 4. 绑定事件
        window.addEventListener('scroll', handleScroll, passiveOptions);
        window.addEventListener('wheel', handleWheel, passiveOptions);
        window.addEventListener('touchstart', handleTouchStart, passiveOptions);
        window.addEventListener('touchmove', handleTouchMove, passiveOptions);
        window.addEventListener('touchend', handleTouchEnd, passiveOptions);

        // 5. 点击事件:点击其他区域显示搜索框
        document.addEventListener('click', (e) => {
            if (!e.target.closest(`#${CLASS_NAMES.MANAGEMENT_PANEL}`) &&
                !e.target.closest(`.${CLASS_NAMES.ENGINE_CONTAINER}`)) {
                this.showSearchBoxImmediately();
            }
        });

        // 6. 聚焦事件:输入框聚焦时显示搜索框
        document.addEventListener('focusin', (e) => {
            if (e.target.matches('input, textarea')) {
                this.showSearchBoxImmediately();
            }
        });

        // 7. 鼠标进入事件:进入引擎容器时显示搜索框
        document.addEventListener('mouseenter', (e) => {
            if (e.target.closest(`.${CLASS_NAMES.ENGINE_CONTAINER}`) ||
                e.target.closest(`.${CLASS_NAMES.ENGINE_BUTTON}`)) {
                this.showSearchBoxImmediately();
            }
        }, true);

        // 8. 阻止引擎容器内滚动事件冒泡
        const stopPropagationHandler = (e) => {
            if (e.target.closest(`.${CLASS_NAMES.ENGINE_CONTAINER}`)) {
                e.stopPropagation();
            }
        };

        document.addEventListener('wheel', stopPropagationHandler, passiveOptions);
        document.addEventListener('touchmove', stopPropagationHandler, passiveOptions);
    },

    /**
     * 立即显示搜索框
     */
    showSearchBoxImmediately() {
        utils.clearAllTimeouts();
        if (!appState.punkJetBoxVisible) {
            appState.punkJetBoxVisible = true;
            this.updateSearchBoxPosition();
        }
    },

    /**
     * 延迟显示搜索框
     */
    showSearchBoxDelayed() {
        utils.clearAllTimeouts();
        appState.hideTimeout = setTimeout(() => {
            this.showSearchBoxImmediately();
        }, DEFAULT_CONFIG.SHOW_SEARCH_BOX_DELAY);
    },

    /**
     * 隐藏搜索框
     */
    hideSearchBox() {
        if (appState.punkJetBoxVisible) {
            appState.punkJetBoxVisible = false;
            this.updateSearchBoxPosition();
        }
    },

    /**
     * 隐藏汉堡菜单
     */
    hideHamburgerMenu() {
        hamburgerMenu.hideHamburgerMenu();
    },

    /**
     * 显示汉堡菜单
     */
    showHamburgerMenu() {
        hamburgerMenu.showHamburgerMenu();
    },

    /**
     * 切换汉堡菜单
     */
    toggleHamburgerMenu() {
        hamburgerMenu.toggleHamburgerMenu();
    }
};

// ===== 搜索遮罩层模块 =====
/**
 * 搜索遮罩层功能模块 - 封装遮罩层创建、显示、隐藏、搜索逻辑
 */
const searchOverlay = {
    /**
     * 创建搜索遮罩层(确保只创建一次)
     * @returns {HTMLDivElement} 遮罩层DOM元素
     */
    createSearchOverlay() {
        let overlay = document.getElementById(CLASS_NAMES.SEARCH_OVERLAY);
        if (overlay) return overlay;

        // 1. 创建遮罩层容器
        overlay = document.createElement("div");
        overlay.id = CLASS_NAMES.SEARCH_OVERLAY;
        overlay.style.cssText = `
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 1);
            z-index: 9998;
            display: none;
            justify-content: center;
            align-items: center;
            backdrop-filter: blur(5px);
        `;

        // 2. 创建搜索内容容器
        const searchContainer = document.createElement("div");
        searchContainer.style.cssText = `
            width: 90%;
            max-width: 500px;
            background: linear-gradient(145deg, #f0f0f0, #ffffff);
            border-radius: 25px;
            padding: 30px;
            box-shadow: 
                20px 20px 60px rgba(0, 0, 0, 0.1),
                -20px -20px 60px rgba(255, 255, 255, 0.8),
                inset 1px 1px 2px rgba(255, 255, 255, 0.6),
                inset -1px -1px 2px rgba(0, 0, 0, 0.05);
            position: relative;
            border: 1px solid rgba(255, 255, 255, 0.3);
        `;

        // 3. 创建关闭按钮
        const closeBtn = document.createElement("button");
        closeBtn.innerHTML = utils.createInlineSVG('times');
        closeBtn.style.cssText = `
            position: absolute;
            top: 15px;
            right: 15px;
            background: linear-gradient(145deg, #e8e8e8, #ffffff);
            border: none;
            font-size: 20px;
            color: #666;
            cursor: pointer;
            padding: 8px;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            box-shadow: 
                5px 5px 10px rgba(0, 0, 0, 0.1),
                -5px -5px 10px rgba(255, 255, 255, 0.8),
                inset 1px 1px 2px rgba(255, 255, 255, 0.6);
            border: 1px solid rgba(255, 255, 255, 0.3);
        `;

        // 关闭按钮hover效果
        closeBtn.addEventListener('mouseenter', () => {
            closeBtn.style.background = 'linear-gradient(145deg, #ff6b6b, #ff5252)';
            closeBtn.style.color = 'white';
            closeBtn.style.transform = 'translateY(-2px)';
        });

        closeBtn.addEventListener('mouseleave', () => {
            closeBtn.style.background = 'linear-gradient(145deg, #e8e8e8, #ffffff)';
            closeBtn.style.color = '#666';
            closeBtn.style.transform = 'translateY(0)';
        });

        closeBtn.addEventListener('click', () => this.hideSearchOverlay());

        // 4. 创建标题
        const title = document.createElement("h2");
        title.innerHTML = utils.createInlineSVG('search') + ' 快捷搜索 (Alt+S)';
        title.style.cssText = `
            margin: 0 0 20px 0;
            color: #2c3e50;
            text-align: center;
            font-size: 24px;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        `;

        // 5. 创建搜索输入框
        const searchInput = document.createElement("input");
        searchInput.type = "text";
        searchInput.placeholder = "输入关键词或网址...";
        searchInput.id = "overlay-search-input";
        searchInput.style.cssText = `
            width: 100%;
            padding: 12px 15px;
            box-sizing: border-box;
            background: linear-gradient(145deg, #f8f9fa, #ffffff);
            border-radius: 16px;
            font-size: 16px;
            color: #2c3e50;
            outline: none;
            transition: all 0.3s ease;
            box-shadow: 
                inset 4px 4px 8px rgba(0, 0, 0, 0.05),
                inset -4px -4px 8px rgba(255, 255, 255, 0.8),
                5px 5px 15px rgba(0, 0, 0, 0.1);
            height: 48px;
        `;

        // 输入框focus/blur效果
        searchInput.addEventListener('focus', () => {
            searchInput.style.boxShadow =
                'inset 4px 4px 8px rgba(0, 0, 0, 0.08), inset -4px -4px 8px rgba(255, 255, 255, 0.9), 8px 8px 20px rgba(0, 0, 0, 0.15)';
        });

        searchInput.addEventListener('blur', () => {
            searchInput.style.boxShadow =
                'inset 4px 4px 8px rgba(0, 0, 0, 0.05), inset -4px -4px 8px rgba(255, 255, 255, 0.8), 5px 5px 15px rgba(0, 0, 0, 0.1)';
        });

        // 6. 创建提示文本
        const tipText = document.createElement("p");
        tipText.innerHTML = utils.createInlineSVG('info-circle') + ' 提示:输入关键词后按回车使用默认搜索引擎搜索,或点击下方搜索引擎按钮选择特定引擎';
        tipText.style.cssText = `
            margin: 15px 0 0 0;
            color: #7f8c8d;
            font-size: 12px;
            text-align: center;
            line-height: 1.4;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
        `;

        // 7. 组装结构
        searchContainer.appendChild(closeBtn);
        searchContainer.appendChild(title);
        searchContainer.appendChild(searchInput);
        searchContainer.appendChild(tipText);
        overlay.appendChild(searchContainer);

        // 8. 绑定事件
        searchInput.addEventListener('keypress', (e) => {
            if (e.key === 'Enter') {
                this.performOverlaySearch();
            }
        });

        // 点击遮罩层背景关闭
        overlay.addEventListener('click', (e) => {
            if (e.target === overlay) {
                this.hideSearchOverlay();
            }
        });

        document.body.appendChild(overlay);
        return overlay;
    },

    /**
     * 显示搜索遮罩层
     */
    showSearchOverlay() {
        const overlay = this.createSearchOverlay();
        const searchInput = document.getElementById("overlay-search-input");

        overlay.style.display = 'flex';
        appState.searchOverlayVisible = true;

        // 应用焦点陷阱
        accessibility.trapFocus(overlay);

        // 延迟聚焦输入框(确保动画完成)
        setTimeout(() => {
            searchInput.focus();
            searchInput.select();
        }, 100);

        // 隐藏汉堡菜单
        domHandler.hideHamburgerMenu();
    },

    /**
     * 隐藏搜索遮罩层
     */
    hideSearchOverlay() {
        const overlay = document.getElementById(CLASS_NAMES.SEARCH_OVERLAY);
        if (overlay) {
            overlay.style.display = 'none';
            appState.searchOverlayVisible = false;

            // 移除焦点陷阱
            accessibility.removeFocusTrap(overlay);
        }
    },

    /**
     * 执行遮罩层搜索逻辑(URL直接跳转,关键词用默认引擎搜索)
     */
    performOverlaySearch() {
        const searchInput = document.getElementById("overlay-search-input");
        const query = searchInput.value.trim();

        if (!query) {
            searchInput.focus();
            return;
        }

        // 1. 是有效URL则直接打开
        if (utils.isValidUrl(query)) {
            window.open(query, '_blank');
            this.hideSearchOverlay();
            return;
        }

        // 2. 是关键词则用默认引擎搜索
        const showList = GM_getValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, DEFAULT_CONFIG.PUNK_DEFAULT_MARK).split('-');
        if (showList.length > 0) {
            const firstEngine = appState.searchUrlMap.find(item => item.mark === showList[0]);
            if (firstEngine) {
                const searchUrl = firstEngine.searchUrl.replace('{keyword}', encodeURIComponent(query));
                window.open(searchUrl, '_blank');
                this.hideSearchOverlay();
            }
        }
    }
};

// ===== 汉堡菜单模块 =====
/**
 * 汉堡菜单功能模块 - 封装菜单创建、显示、隐藏逻辑
 */
const hamburgerMenu = {
    /**
     * 创建汉堡菜单(确保只创建一次)
     * @returns {HTMLDivElement} 汉堡菜单DOM元素
     */
    createHamburgerMenu() {
        let menu = document.getElementById(CLASS_NAMES.HAMBURGER_MENU);
        if (menu) return menu;

        // 1. 创建菜单容器
        menu = document.createElement("div");
        menu.id = CLASS_NAMES.HAMBURGER_MENU;
        menu.style.cssText = `
            position: fixed;
            bottom: 50px;
            left: 20px;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15);
            backdrop-filter: blur(5px);
            z-index: 10001;
            display: none;
            flex-direction: column;
            padding: 10px;
            gap: 5px;
            min-width: 180px;
            border: 1px solid rgba(255, 255, 255, 0.2);
        `;

        // 2. 定义菜单项配置
        const menuItems = [{
                icon: 'search',
                text: '快捷搜索 (Alt+S)',
                action: () => searchOverlay.showSearchOverlay()
            },
            {
                icon: 'cog',
                text: '引擎管理 (Alt+E)',
                action: () => managementPanel.showManagementPanel()
            },
            {
                icon: 'keyboard',
                text: '快捷键说明',
                action: () => this.showKeyboardShortcuts()
            }
        ];

        // 3. 创建菜单项按钮
        menuItems.forEach(item => {
            const menuItem = document.createElement("button");
            menuItem.innerHTML = utils.createInlineSVG(item.icon) + ` ${item.text}`;
            menuItem.style.cssText = `
                display: flex;
                align-items: center;
                gap: 10px;
                padding: 12px 15px;
                border: none;
                background: none;
                border-radius: 8px;
                cursor: pointer;
                font-size: 14px;
                color: #2c3e50;
                transition: all 0.3s ease;
                text-align: left;
            `;

            // 菜单项hover效果
            menuItem.addEventListener('mouseenter', () => {
                menuItem.style.background = 'rgba(52, 152, 219, 0.1)';
            });

            menuItem.addEventListener('mouseleave', () => {
                menuItem.style.background = 'none';
            });

            // 绑定菜单项点击事件
            menuItem.addEventListener('click', item.action);
            menu.appendChild(menuItem);
        });

        // 4. 添加底部偏移设置按钮
        const setOffsetButton = document.createElement('button');
        setOffsetButton.innerHTML = utils.createInlineSVG('sog') + ' 设置底部偏移';
        setOffsetButton.style.cssText = `
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 15px;
            border: none;
            background: none;
            border-radius: 8px;
            cursor: pointer;
            font-size: 14px;
            color: #2c3e50;
            transition: all 0.3s ease;
            text-align: left;
            margin-top: 5px;
        `;

        // 设置按钮hover效果
        setOffsetButton.addEventListener('mouseenter', () => {
            setOffsetButton.style.background = 'rgba(52, 152, 219, 0.1)';
        });

        setOffsetButton.addEventListener('mouseleave', () => {
            setOffsetButton.style.background = 'none';
        });

        // 设置按钮点击事件
        setOffsetButton.addEventListener('click', () => {
            const currentValue = utils.getEngineBarOffset();
            const userValue = prompt(`请输入搜索栏在输入法弹出时的底部偏移(单位px):`, currentValue);
            
            if (userValue !== null && !isNaN(userValue)) {
                utils.setEngineBarOffset(userValue);
                alert(`偏移值已设置为 ${userValue}px`);
                domHandler.updateSearchBoxPosition();
            }
            this.hideHamburgerMenu();
        });

        menu.appendChild(setOffsetButton);

        document.body.appendChild(menu);
        return menu;
    },

    /**
     * 显示汉堡菜单
     */
    showHamburgerMenu() {
        const menu = this.createHamburgerMenu();
        menu.style.display = 'flex';
        appState.hamburgerMenuOpen = true;

        // 更新ARIA状态
        accessibility.updateHamburgerAriaState();

        // 应用焦点陷阱
        accessibility.trapFocus(menu);
    },

    /**
     * 隐藏汉堡菜单
     */
    hideHamburgerMenu() {
        const menu = document.getElementById(CLASS_NAMES.HAMBURGER_MENU);
        if (menu) {
            menu.style.display = 'none';
            appState.hamburgerMenuOpen = false;

            // 更新ARIA状态
            accessibility.updateHamburgerAriaState();

            // 移除焦点陷阱
            accessibility.removeFocusTrap(menu);
        }
    },

    /**
     * 切换汉堡菜单显示/隐藏状态
     */
    toggleHamburgerMenu() {
        appState.hamburgerMenuOpen ?
            this.hideHamburgerMenu() :
            this.showHamburgerMenu();
    },

    /**
     * 显示键盘快捷键说明
     */
    showKeyboardShortcuts() {
        const shortcuts = [{
                key: 'Alt + S',
                action: '打开搜索框'
            },
            {
                key: 'Alt + E',
                action: '打开引擎管理'
            },
            {
                key: 'Alt + M',
                action: '打开/关闭菜单'
            },
            {
                key: 'ESC',
                action: '关闭当前弹窗'
            }
        ];

        let message = '键盘快捷键:\n\n';
        shortcuts.forEach(shortcut => {
            message += `${shortcut.key} - ${shortcut.action}\n`;
        });

        alert(message);
        this.hideHamburgerMenu();
    }
};

// ===== 管理面板模块 =====
/**
 * 引擎管理面板模块 - 封装面板创建、引擎管理、配置保存等核心逻辑
 */
const managementPanel = {
    /**
     * 创建操作按钮(通用按钮组件)
     * @param {string} html - 按钮内部HTML
     * @param {string} color - 按钮背景色
     * @param {string} title - 按钮提示文本
     * @returns {HTMLButtonElement} 操作按钮DOM元素
     */
    createActionButton(html, color, title) {
        const button = document.createElement("button");
        button.innerHTML = html;
        button.title = title;
        button.style.cssText = `
            padding: 10px 15px;
            background-color: ${color};
            color: white;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            font-size: 14px;
            min-width: 120px;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 5px;
            justify-content: center;
        `;

       // 按钮hover效果
                    button.addEventListener("mouseenter", () => {
                        button.style.transform = "translateY(-2px)";
                        button.style.boxShadow = "0 4px 8px rgba(0,0,0,0.2)";
                    });

                    button.addEventListener("mouseleave", () => {
                        button.style.transform = "translateY(0)";
                        button.style.boxShadow = "none";
                    });

                    return button;
                },

                /**
                 * 从当前页面提取搜索引擎信息(增强版自动识别)
                 */
                extractSearchEngineFromPage() {
                    // 初始化返回结果
                    const searchInfo = {
                        name: "",
                        searchUrl: "",
                        searchkeyName: [],
                        matchUrl: "",
                        mark: "",
                        found: false
                    };

                    try {
                        // 方法1: 从搜索表单提取
                        const formResult = this.extractFromSearchForms();
                        if (formResult.found) {
                            return {
                                ...searchInfo,
                                ...formResult
                            };
                        }

                        // 方法2: 从搜索输入框提取
                        const inputResult = this.extractFromSearchInputs();
                        if (inputResult.found) {
                            return {
                                ...searchInfo,
                                ...inputResult
                            };
                        }

                        // 方法3: 从页面元数据提取
                        const metaResult = this.extractFromMetaTags();
                        if (metaResult.found) {
                            return {
                                ...searchInfo,
                                ...metaResult
                            };
                        }

                        // 方法4: 从URL参数分析
                        const urlResult = this.extractFromURLParameters();
                        if (urlResult.found) {
                            return {
                                ...searchInfo,
                                ...urlResult
                            };
                        }

                        // 方法5: 从常见搜索引擎结构识别
                        const commonResult = this.extractFromCommonPatterns();
                        if (commonResult.found) {
                            return {
                                ...searchInfo,
                                ...commonResult
                            };
                        }

                    } catch (error) {
                        console.warn('搜索引擎信息提取失败:', error);
                    }

                    return searchInfo;
                },

                /**
                 * 从搜索表单提取信息
                 */
                extractFromSearchForms() {
                    const searchForms = document.querySelectorAll('form');
                    const result = {
                        found: false
                    };

                    for (const form of searchForms) {
                        // 检查表单是否包含搜索特征
                        const action = form.getAttribute('action') || '';
                        const method = (form.getAttribute('method') || 'get').toLowerCase();

                        // 搜索特征检测
                        const isSearchForm = this.isSearchForm(form, action);
                        if (!isSearchForm) continue;

                        // 提取基础URL
                        const baseUrl = action.startsWith('http') ?
                            action :
                            new URL(action, window.location.origin).href;

                        // 提取关键词参数
                        const keyParams = this.extractKeyParamsFromForm(form);
                        if (keyParams.length === 0) continue;

                        // 构建搜索URL
                        const searchUrl = this.buildSearchUrl(baseUrl, method, keyParams);

                        // 生成搜索引擎信息
                        const domain = new URL(baseUrl).hostname;
                        const engineInfo = this.generateEngineInfo(domain, keyParams, searchUrl);

                        return {
                            ...engineInfo,
                            found: true
                        };
                    }

                    return result;
                },

                /**
                 * 从搜索输入框提取信息
                 */
                extractFromSearchInputs() {
                    // 扩展搜索输入框选择器
                    const searchInputSelectors = [
                        'input[type="search"]',
                        'input[name*="search"]',
                        'input[name*="query"]',
                        'input[name*="q"]',
                        'input[name*="keyword"]',
                        'input[name*="key"]',
                        'input[name*="wd"]',
                        'input[name*="kw"]',
                        'input[placeholder*="搜索"]',
                        'input[placeholder*="search"]',
                        'input[placeholder*="查询"]',
                        'input[aria-label*="搜索"]',
                        'input[aria-label*="search"]'
                    ];

                    const searchInputs = document.querySelectorAll(searchInputSelectors.join(','));
                    const result = {
                        found: false
                    };

                    if (searchInputs.length > 0) {
                        const input = searchInputs[0];
                        const name = input.getAttribute('name') || 'q';
                        const domain = window.location.hostname;

                        // 尝试从输入框的form属性获取关联表单
                        let searchUrl = '';
                        const form = input.form;
                        if (form && form.action) {
                            const baseUrl = form.action.startsWith('http') ?
                                form.action :
                                new URL(form.action, window.location.origin).href;
                            const method = (form.getAttribute('method') || 'get').toLowerCase();
                            searchUrl = this.buildSearchUrl(baseUrl, method, [name]);
                        } else {
                            // 默认生成搜索URL
                            searchUrl = `${window.location.origin}/search?${name}={keyword}`;
                        }

                        const engineInfo = this.generateEngineInfo(domain, [name], searchUrl);
                        return {
                            ...engineInfo,
                            found: true
                        };
                    }

                    return result;
                },

                /**
                 * 从元数据提取搜索引擎信息
                 */
                extractFromMetaTags() {
                    const result = {
                        found: false
                    };

                    // 检查Open Graph或Twitter Card中的搜索信息
                    const ogSiteName = document.querySelector('meta[property="og:site_name"]');
                    const applicationName = document.querySelector('meta[name="application-name"]');

                    if (ogSiteName || applicationName) {
                        const siteName = (ogSiteName?.getAttribute('content') ||
                            applicationName?.getAttribute('content') || '').toLowerCase();

                        // 检查是否为知名搜索引擎
                        const knownEngines = ['google', 'bing', 'baidu', 'duckduckgo', 'yahoo', 'yandex'];
                        const isKnownEngine = knownEngines.some(engine => siteName.includes(engine));

                        if (isKnownEngine) {
                            const domain = window.location.hostname;
                            const keyParams = this.guessKeyParameters();
                            const searchUrl = `${window.location.origin}/search?${keyParams[0]}={keyword}`;
                            const engineInfo = this.generateEngineInfo(domain, keyParams, searchUrl);
                            return {
                                ...engineInfo,
                                found: true
                            };
                        }
                    }

                    return result;
                },

                /**
                 * 从URL参数分析搜索引擎
                 */
                extractFromURLParameters() {
                    const result = {
                        found: false
                    };
                    const urlParams = new URLSearchParams(window.location.search);

                    // 检查URL中是否包含搜索参数
                    const searchParams = [
                        'q', 'query', 'search', 'keyword', 'keywords', 'searchword',
                        'searchquery', 'searchterm', 'searchtext', 'searchkey', 'key',
                        'wd', 'kw', 'p', 's', 'string', 'phrase', 'terms', 'ask'
                    ];

                    for (const param of searchParams) {
                        if (urlParams.has(param)) {
                            const domain = window.location.hostname;
                            const searchUrl = `${window.location.origin}${window.location.pathname}?${param}={keyword}`;
                            const engineInfo = this.generateEngineInfo(domain, [param], searchUrl);
                            return {
                                ...engineInfo,
                                found: true
                            };
                        }
                    }

                    return result;
                },

                /**
                 * 从常见搜索引擎模式识别
                 */
                extractFromCommonPatterns() {
                    const result = {
                        found: false
                    };
                    const domain = window.location.hostname;
                    const knownPatterns = {
                        'google': {
                            key: 'q',
                            path: '/search'
                        },
                        'bing': {
                            key: 'q',
                            path: '/search'
                        },
                        'baidu': {
                            key: 'wd',
                            path: '/s'
                        },
                        'duckduckgo': {
                            key: 'q',
                            path: '/'
                        },
                        'yahoo': {
                            key: 'p',
                            path: '/search'
                        },
                        'yandex': {
                            key: 'text',
                            path: '/search'
                        },
                        'github': {
                            key: 'q',
                            path: '/search'
                        }
                    };

                    for (const [engine, pattern] of Object.entries(knownPatterns)) {
                        if (domain.includes(engine)) {
                            const searchUrl = `${window.location.origin}${pattern.path}?${pattern.key}={keyword}`;
                            const engineInfo = this.generateEngineInfo(domain, [pattern.key], searchUrl);
                            return {
                                ...engineInfo,
                                found: true
                            };
                        }
                    }

                    return result;
                },

                /**
                 * 判断表单是否为搜索表单
                 */
                isSearchForm(form, action) {
                    const formHtml = form.outerHTML.toLowerCase();
                    const actionLower = action.toLowerCase();

                    // 搜索关键词检测
                    const searchIndicators = [
                        'search', 'query', 'find', 'seek', 'lookup', 'q='
                    ];

                    // 检查表单属性
                    if (searchIndicators.some(indicator =>
                            actionLower.includes(indicator) || formHtml.includes(indicator))) {
                        return true;
                    }

                    // 检查输入框
                    const inputs = form.querySelectorAll('input[type="text"], input[type="search"]');
                    for (const input of inputs) {
                        const name = (input.getAttribute('name') || '').toLowerCase();
                        const placeholder = (input.getAttribute('placeholder') || '').toLowerCase();

                        if (searchIndicators.some(indicator =>
                                name.includes(indicator) || placeholder.includes(indicator))) {
                            return true;
                        }
                    }

                    return false;
                },

                /**
                 * 从表单提取关键词参数
                 */
                extractKeyParamsFromForm(form) {
                    const keyParams = [];
                    const inputs = form.querySelectorAll('input[name]');
                    const searchParamPatterns = [
                        /^q$/, /^query/, /^search/, /^keyword/, /^key/, /^wd$/, /^kw$/,
                        /^string/, /^phrase/, /^terms/, /^ask/, /^find/, /^seek/
                    ];

                    for (const input of inputs) {
                        const name = input.getAttribute('name');
                        if (!name) continue;

                        // 检查参数名是否符合搜索参数模式
                        const isSearchParam = searchParamPatterns.some(pattern => pattern.test(name));
                        if (isSearchParam) {
                            keyParams.push(name);
                        }
                    }

                    // 如果没有找到明确参数,使用第一个输入框的名称
                    if (keyParams.length === 0 && inputs.length > 0) {
                        const firstName = inputs[0].getAttribute('name');
                        if (firstName) {
                            keyParams.push(firstName);
                        }
                    }

                    return keyParams;
                },

                /**
                 * 构建搜索URL
                 */
                buildSearchUrl(baseUrl, method, keyParams) {
                    if (method === 'post') {
                        return `${baseUrl}?${keyParams[0]}={keyword}`;
                    } else {
                        const separator = baseUrl.includes('?') ? '&' : '?';
                        return `${baseUrl}${separator}${keyParams[0]}={keyword}`;
                    }
                },

                /**
                 * 生成搜索引擎信息
                 */
                generateEngineInfo(domain, keyParams, searchUrl) {
                    const cleanDomain = domain.replace('www.', '');
                    const name = cleanDomain.split('.')[0].charAt(0).toUpperCase() +
                        cleanDomain.split('.')[0].slice(1);
                    const mark = cleanDomain.replace(/\./g, '_');

                    return {
                        name: name,
                        searchUrl: searchUrl,
                        searchkeyName: keyParams,
                        matchUrl: `.*${cleanDomain}.*`,
                        mark: mark
                    };
                },

                /**
                 * 猜测关键词参数
                 */
                guessKeyParameters() {
                    const commonParams = ['q', 'query', 'search', 'keyword', 'key', 'wd', 'kw'];
                    return commonParams.slice(0, 1); // 返回最常用的参数
                },

                /**
                 * 从当前页面提取引擎并填充到添加表单
                 */
                extractFromCurrentPage() {
                    const searchInfo = this.extractSearchEngineFromPage();
                    if (!searchInfo.found) {
                        alert("无法自动识别当前页面的搜索引擎,请手动添加。");
                        return;
                    }

                    // 显示添加表单并填充数据
                    this.showAddForm(true);
                    document.getElementById("engine-name").value = searchInfo.name;
                    document.getElementById("engine-mark").value = searchInfo.mark;
                    document.getElementById("engine-url").value = searchInfo.searchUrl;
                    document.getElementById("engine-keys").value = searchInfo.searchkeyName.join(",");

                    // 自动填充图标(从页面favicon提取)
                    const favicon = document.querySelector('link[rel*="icon"]');
                    if (favicon) {
                        const iconUrl = favicon.href;
                        if (!iconUrl.startsWith('data:')) {
                            document.getElementById("icon-type").value = "image";
                            document.getElementById("icon-input").value = iconUrl;
                            this.previewIcon();
                        }
                    }

                    alert(`✅ 已自动识别 ${searchInfo.name} 搜索引擎!请检查并保存。`);
                },

                /**
                 * 显示/隐藏添加引擎表单
                 */
                showAddForm(show) {
                    const formSection = document.getElementById("add-engine-form");
                    const engineList = document.getElementById("engine-management-list");
                    const listTitle = formSection?.previousElementSibling;

                    if (!formSection || !engineList || !listTitle) return;

                    if (show) {
                        formSection.style.display = "block";
                        engineList.style.display = "none";
                        listTitle.style.display = "none";
                        // 清空表单
                        document.getElementById("engine-name").value = "";
                        document.getElementById("engine-mark").value = "";
                        document.getElementById("engine-url").value = "";
                        document.getElementById("engine-keys").value = "";
                        document.getElementById("icon-input").value = "";
                        document.getElementById("icon-preview").innerHTML = "";
                    } else {
                        formSection.style.display = "none";
                        engineList.style.display = "grid";
                        listTitle.style.display = "block";
                    }
                },

                /**
                 * 预览图标(根据图标类型渲染预览效果)
                 */
                previewIcon() {
                    const type = document.getElementById("icon-type").value;
                    const value = document.getElementById("icon-input").value.trim();
                    const preview = document.getElementById("icon-preview");

                    // 重置预览容器
                    preview.innerHTML = "";
                    preview.style.backgroundImage = "none";
                    preview.style.backgroundColor = "#ecf0f1";

                    if (!value) return;

                    try {
                        switch (type) {
                            case "svg":
                                // 验证SVG有效性
                                const parser = new DOMParser();
                                const svgDoc = parser.parseFromString(value, "image/svg+xml");
                                if (svgDoc.querySelector("parsererror")) {
                                    throw new Error("无效的SVG代码");
                                }
                                preview.innerHTML = value;
                                break;
                            case "image":
                                preview.style.backgroundImage = `url(${value})`;
                                preview.style.backgroundSize = "contain";
                                preview.style.backgroundRepeat = "no-repeat";
                                preview.style.backgroundPosition = "center";
                                break;
                            case "text":
                                const displayText = value.length > 4 ? value.substring(0, 4) : value;
                                preview.textContent = displayText;
                                preview.style.fontSize = value.length > 4 ? "14px" : "18px";
                                preview.style.color = "#2c3e50";
                                preview.style.fontWeight = "bold";
                                break;
                            case "emoji":
                                preview.textContent = value;
                                preview.style.fontSize = "24px";
                                break;
                        }
                    } catch (e) {
                        alert(`图标预览失败: ${e.message}`);
                    }
                },

                /**
                 * 保存新添加的搜索引擎
                 */
                saveNewEngine() {
                    // 1. 获取表单数据
                    const name = document.getElementById("engine-name").value.trim();
                    const mark = document.getElementById("engine-mark").value.trim();
                    const url = document.getElementById("engine-url").value.trim();
                    const keys = document.getElementById("engine-keys").value.split(',').map(k => k.trim());
                    const iconType = document.getElementById("icon-type").value;
                    const iconValue = document.getElementById("icon-input").value.trim();

                    // 2. 表单验证
                    if (!name || !mark || !url || keys.length === 0) {
                        alert("请填写所有必填字段");
                        return;
                    }
                    if (appState.searchUrlMap.some(engine => engine.mark === mark)) {
                        alert("标识已存在,请使用其他标识");
                        return;
                    }

                    // 3. 组装引擎配置(处理图标)
                    const newEngine = {
                        name,
                        searchUrl: url,
                        searchkeyName: keys,
                        matchUrl: new RegExp(`.*${new URL(url).hostname}.*`),
                        mark,
                        svgCode: "",
                        custom: true // 标记为自定义引擎
                    };

                    // 根据图标类型生成SVG代码
                    if (iconValue) {
                        switch (iconType) {
                            case "svg":
                                newEngine.svgCode = iconValue;
                                break;
                            case "image":
                                newEngine.svgCode = `<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
                        <style>.bg-img {background-image: url(${iconValue}); background-size: contain; background-repeat: no-repeat; background-position: center; width: 100%; height: 100%;}</style>
                        <foreignObject width="100%" height="100%"><div class="bg-img" xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject>
                    </svg>`;
                                break;
                            case "text":
                                newEngine.svgCode = `<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
                        <style>.text {font-size: 12px; fill: #333; text-anchor: middle; dominant-baseline: middle; font-weight: bold;}</style>
                        <text x="50%" y="50%" class="text">${iconValue}</text>
                    </svg>`;
                                break;
                            case "emoji":
                                newEngine.svgCode = `<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
                        <style>.emoji {font-size: 20px; text-anchor: middle; dominant-baseline: middle;}</style>
                        <text x="50%" y="50%" class="emoji">${iconValue}</text>
                    </svg>`;
                                break;
                        }
                    }

                    // 4. 保存到存储并更新状态
                    appState.userSearchEngines.push(newEngine);
                    GM_setValue(STORAGE_KEYS.USER_SEARCH_ENGINES, appState.userSearchEngines);
                    // 更新引擎映射表
                    appState.searchUrlMap = [...defaultSearchEngines, ...appState.userSearchEngines];
                    // 更新激活引擎列表
                    const currentSetup = GM_getValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, DEFAULT_CONFIG.PUNK_DEFAULT_MARK);
                    GM_setValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, `${currentSetup}-${mark}`);

                    // 5. 反馈结果并刷新界面
                    utils.markUnsavedChanges();
                    alert("✅ 搜索引擎添加成功!");
                    this.showAddForm(false);
                    this.refreshEngineList();
                },

                /**
                 * 恢复默认搜索引擎配置(清除自定义引擎)
                 */
                resetToDefault() {
                    if (confirm("⚠️ 确定要恢复默认设置吗?这将删除所有自定义搜索引擎。")) {
                        // 清空自定义引擎存储
                        appState.userSearchEngines = [];
                        GM_setValue(STORAGE_KEYS.USER_SEARCH_ENGINES, []);
                        // 恢复默认激活引擎列表
                        GM_setValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, DEFAULT_CONFIG.PUNK_DEFAULT_MARK);
                        // 更新引擎映射表
                        appState.searchUrlMap = [...defaultSearchEngines];

                        // 反馈结果并刷新界面
                        utils.markUnsavedChanges();
                        alert("✅ 已恢复默认设置");
                        this.refreshEngineList();
                    }
                },

                /**
                 * 刷新引擎列表(重新渲染管理面板中的引擎卡片)
                 */
                refreshEngineList() {
                    const engineList = document.getElementById("engine-management-list");
                    const activeMarks = GM_getValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, DEFAULT_CONFIG.PUNK_DEFAULT_MARK).split("-");

                    if (!engineList) return;
                    engineList.innerHTML = ""; // 清空列表

                    // 遍历引擎配置,创建卡片
                    appState.searchUrlMap.forEach((engine) => {
                        const engineCard = document.createElement("div");
                        engineCard.className = CLASS_NAMES.ENGINE_CARD;
                        engineCard.style.cssText = `
                display: flex;
                align-items: center;
                padding: 15px;
                background: white;
                border: 2px solid ${activeMarks.includes(engine.mark) ? '#27ae60' : '#ecf0f1'};
                border-radius: 10px;
                transition: all 0.3s ease;
                cursor: grab;
                min-height: 60px;
                box-sizing: border-box;
            `;

                        // 卡片hover效果
                        engineCard.addEventListener("mouseenter", () => {
                            engineCard.style.boxShadow = "0 4px 12px rgba(0,0,0,0.1)";
                            engineCard.style.transform = "translateY(-2px)";
                        });

                        engineCard.addEventListener("mouseleave", () => {
                            engineCard.style.boxShadow = "none";
                            engineCard.style.transform = "translateY(0)";
                        });

                        // 1. 选择复选框
                        const checkbox = document.createElement("input");
                        checkbox.type = "checkbox";
                        checkbox.dataset.mark = engine.mark;
                        checkbox.checked = activeMarks.includes(engine.mark);
                        checkbox.style.cssText = `
                margin-right: 15px;
                transform: scale(1.2);
            `;
                        // 复选框变更事件
                        checkbox.addEventListener("change", () => {
                            utils.updateSelectedCount();
                            utils.markUnsavedChanges();
                        });

                        // 2. 图标预览
                        const iconPreview = document.createElement("div");
                        iconPreview.style.cssText = `
                width: 40px;
                height: 25px;
                background-image: url('data:image/svg+xml;utf8,${encodeURIComponent(engine.svgCode)}');
                background-size: contain;
                background-repeat: no-repeat;
                background-position: center;
                margin-right: 15px;
                border: 1px solid #eee;
                border-radius: 5px;
                flex-shrink: 0;
            `;

                        // 3. 引擎信息容器
                        const infoContainer = document.createElement("div");
                        infoContainer.style.cssText = `
                flex-grow: 1;
                min-width: 0;
            `;
                        // 引擎名称
                        const name = document.createElement("div");
                        name.textContent = engine.name;
                        name.style.cssText = `
                font-weight: bold;
                color: #2c3e50;
                margin-bottom: 5px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            `;
                        // 引擎URL
                        const url = document.createElement("div");
                        url.textContent = engine.searchUrl;
                        url.style.cssText = `
                font-size: 0.8em;
                color: #7f8c8d;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            `;
                        infoContainer.appendChild(name);
                        infoContainer.appendChild(url);

                        // 4. 操作按钮(仅自定义引擎显示删除按钮)
                        const actions = document.createElement("div");
                        actions.style.cssText = `
                display: flex;
                gap: 5px;
                flex-shrink: 0;
            `;

                        if (engine.custom) {
                            const deleteBtn = document.createElement("button");
                            deleteBtn.innerHTML = utils.createInlineSVG('trash', 'white');
                            deleteBtn.title = "删除";
                            deleteBtn.style.cssText = `
                    padding: 8px 12px;
                    border: none;
                    background: #e74c3c;
                    color: white;
                    border-radius: 5px;
                    cursor: pointer;
                    flex-shrink: 0;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                `;
                            actions.appendChild(deleteBtn);

                            // 删除按钮点击事件
                            deleteBtn.addEventListener("click", (e) => {
                                e.stopPropagation();
                                if (confirm(`确定要删除 ${engine.name} 吗?`)) {
                                    // 从自定义引擎列表中移除
                                    appState.userSearchEngines = appState.userSearchEngines.filter(e => e.mark !== engine.mark);
                                    GM_setValue(STORAGE_KEYS.USER_SEARCH_ENGINES, appState.userSearchEngines);
                                    // 从激活列表中移除
                                    const currentSetup = GM_getValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, DEFAULT_CONFIG.PUNK_DEFAULT_MARK);
                                    const newSetup = currentSetup.split("-").filter(m => m !== engine.mark).join("-");
                                    GM_setValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, newSetup);
                                    // 更新引擎映射表
                                    appState.searchUrlMap = [...defaultSearchEngines, ...appState.userSearchEngines];

                                    // 反馈结果并刷新界面
                                    utils.markUnsavedChanges();
                                    this.refreshEngineList();
                                }
                            });
                        }

                        // 组装卡片结构
                        engineCard.appendChild(checkbox);
                        engineCard.appendChild(iconPreview);
                        engineCard.appendChild(infoContainer);
                        engineCard.appendChild(actions);
                        engineList.appendChild(engineCard);
                    });

                    // 更新已选数量显示
                    utils.updateSelectedCount();
                },

                /**
                 * 保存引擎配置(激活状态、排序等)
                 */
                saveEngineSettings() {
                    const checkboxes = document.querySelectorAll('#engine-management-list input[type="checkbox"]');
                    const activeMarks = [];

                    // 收集激活的引擎标识
                    checkboxes.forEach(checkbox => {
                        if (checkbox.checked) {
                            activeMarks.push(checkbox.dataset.mark);
                        }
                    });

                    // 验证至少选择一个引擎
                    if (activeMarks.length === 0) {
                        alert("⚠️ 请至少选择一个搜索引擎");
                        return;
                    }

                    // 保存到存储
                    GM_setValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, activeMarks.join("-"));
                    utils.clearUnsavedChanges();

                    // 延迟关闭面板并重新加载脚本
                    setTimeout(() => {
                        this.closeManagementPanel();
                        appInitializer.reloadScript();
                    }, 1000);
                },

                /**
                 * 关闭管理面板(带未保存提示)
                 */
                closeManagementPanel() {
                    const panel = document.getElementById(CLASS_NAMES.MANAGEMENT_PANEL);
                    if (!panel) return;

                    // 有未保存更改时提示
                    if (appState.hasUnsavedChanges && !confirm("⚠️ 您有未保存的更改,确定要关闭吗?")) {
                        return;
                    }

                    panel.style.display = "none";
                    appState.hasUnsavedChanges = false;

                    // 移除焦点陷阱
                    accessibility.removeFocusTrap(panel);
                },

                /**
                 * 创建管理面板DOM结构(核心配置界面)
                 */
                createManagementPanel() {
                    let panel = document.getElementById(CLASS_NAMES.MANAGEMENT_PANEL);
                    if (panel) return panel;

                    // 1. 面板主容器
                    panel = document.createElement("div");
                    panel.id = CLASS_NAMES.MANAGEMENT_PANEL;
                    panel.style.cssText = `
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            max-width: 800px;
            height: 90vh;
            max-height: 90vh;
            background-color: #ffffff;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            padding: 0;
            z-index: 10000;
            display: none;
            overflow: hidden;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
        `;

                    // 2. 面板头部
                    const header = document.createElement("div");
                    header.style.cssText = `
            height: 15vh;
            min-height: 80px;
            max-height: 120px;
            background-color: #2c3e50;
            color: white;
            padding: 20px;
            border-radius: 15px 15px 0 0;
            position: relative;
            box-sizing: border-box;
            flex-shrink: 0;
        `;
                    const title = document.createElement("h2");
                    title.innerHTML = utils.createInlineSVG('cog', 'white') + ' 搜索引擎管理中心';
                    title.style.cssText = `
            margin: 0;
            font-size: 1.5em;
            font-weight: 300;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    const subtitle = document.createElement("p");
                    subtitle.textContent = "管理您的搜索快捷方式";
                    subtitle.style.cssText = `
            margin: 5px 0 0 0;
            opacity: 0.8;
            font-size: 0.9em;
        `;
                    // 未保存更改指示器
                    const unsavedIndicator = document.createElement("div");
                    unsavedIndicator.id = "unsaved-indicator";
                    unsavedIndicator.innerHTML = utils.createInlineSVG('circle', '#e74c3c') + ' 有未保存的更改';
                    unsavedIndicator.style.cssText = `
            position: absolute;
            top: 15px;
            right: 20px;
            color: #e74c3c;
            font-size: 0.8em;
            display: none;
            align-items: center;
            gap: 5px;
        `;
                    header.appendChild(title);
                    header.appendChild(subtitle);
                    header.appendChild(unsavedIndicator);
                    panel.appendChild(header);

                    // 3. 面板内容区
                    const content = document.createElement("div");
                    content.style.cssText = `
            height: 65vh;
            min-height: 300px;
            position: relative;
            overflow: hidden;
            padding: 0;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            flex-shrink: 0;
        `;

                    // 3.1 快捷操作栏
                    const quickActions = document.createElement("div");
                    quickActions.style.cssText = `
            padding: 20px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: space-between;
            background-color: #ffffff;
            border-bottom: 1px solid #ecf0f1;
            box-sizing: border-box;
            flex-shrink: 0;
        `;
                    // 左侧操作组
                    const leftActionGroup = document.createElement("div");
                    leftActionGroup.style.cssText = `
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        `;
                    const extractBtn = this.createActionButton(utils.createInlineSVG('globe') + ' 自动添加', "#3498db", "自动识别当前页面的搜索引擎");
                    const addBtn = this.createActionButton(utils.createInlineSVG('plus') + ' 手动添加', "#27ae60", "手动添加新的搜索引擎");
                    leftActionGroup.appendChild(extractBtn);
                    leftActionGroup.appendChild(addBtn);
                    // 右侧操作组
                    const rightActionGroup = document.createElement("div");
                    rightActionGroup.style.cssText = `
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        `;
                    const saveBtn = document.createElement("button");
                    saveBtn.id = "panel-save-btn";
                    saveBtn.innerHTML = utils.createInlineSVG('save') + ' 保存设置';
                    saveBtn.title = "保存当前设置";
                    saveBtn.style.cssText = `
            padding: 10px 20px;
            background: #95a5a6;
            color: white;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 5px;
            transition: all 0.3s ease;
            opacity: 0.7;
            pointer-events: none;
            min-width: 120px;
            justify-content: center;
        `;
                    const resetBtn = this.createActionButton(utils.createInlineSVG('undo') + ' 恢复默认', "#e74c3c", "恢复默认搜索引擎设置");
                    rightActionGroup.appendChild(saveBtn);
                    rightActionGroup.appendChild(resetBtn);
                    quickActions.appendChild(leftActionGroup);
                    quickActions.appendChild(rightActionGroup);
                    content.appendChild(quickActions);

                    // 3.2 引擎列表区
                    const listSection = document.createElement("div");
                    listSection.style.cssText = `
            flex: 1;
            overflow: hidden;
            padding: 0 20px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            overflow: auto;
        `;
                    const listTitle = document.createElement("h3");
                    listTitle.innerHTML = utils.createInlineSVG('list') + ' 已配置的搜索引擎';
                    listTitle.style.cssText = `
            color: #2c3e50;
            margin: 15px 0;
            font-weight: 500;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    const engineList = document.createElement("div");
                    engineList.id = "engine-management-list";
                    engineList.style.cssText = `
            flex: 1;
            overflow-y: auto;
            overflow-x: hidden;
            display: grid;
            gap: 10px;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            padding-bottom: 10px;
            box-sizing: border-box;
        `;
                    listSection.appendChild(listTitle);
                    listSection.appendChild(engineList);

                    // 3.3 添加引擎表单
                    const formSection = document.createElement("div");
                    formSection.id = "add-engine-form";
                    formSection.style.cssText = `
            display: none;
            background-color: #f8f9fa;
            padding: 20px;
            border-radius: 10px;
            margin: 10px 0;
            box-sizing: border-box;
            flex-shrink: 0;
        `;
                    const formTitle = document.createElement("h3");
                    formTitle.innerHTML = utils.createInlineSVG('magic') + ' 添加新搜索引擎';
                    formTitle.style.cssText = `
            color: #2c3e50;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    formSection.appendChild(formTitle);

                    // 表单字段容器
                    const form = document.createElement("div");
                    form.style.cssText = `
            display: grid;
            gap: 15px;
            grid-template-columns: 1fr 1fr;
        `;
                    // 表单字段配置
                    const fields = [{
                            label: "引擎名称",
                            placeholder: "例如: Google",
                            type: "text",
                            id: "engine-name",
                            required: true
                        },
                        {
                            label: "唯一标识",
                            placeholder: "例如: google",
                            type: "text",
                            id: "engine-mark",
                            required: true
                        },
                        {
                            label: "搜索URL",
                            placeholder: "使用 {keyword} 作为占位符",
                            type: "text",
                            id: "engine-url",
                            required: true,
                            fullWidth: true
                        },
                        {
                            label: "关键词参数",
                            placeholder: "例如: q,query,search",
                            type: "text",
                            id: "engine-keys",
                            required: true,
                            fullWidth: true
                        }
                    ];
                    // 创建表单字段
                    fields.forEach(field => {
                        const container = document.createElement("div");
                        if (field.fullWidth) {
                            container.style.gridColumn = "1 / -1";
                        }
                        const label = document.createElement("label");
                        label.textContent = field.label;
                        label.style.cssText = `
                display: block;
                margin-bottom: 5px;
                font-weight: 500;
                color: #34495e;
            `;
                        const input = document.createElement("input");
                        input.type = field.type;
                        input.placeholder = field.placeholder;
                        input.id = field.id;
                        input.required = field.required;
                        input.style.cssText = `
                width: 100%;
                padding: 10px;
                border: 1px solid #ddd;
                border-radius: 5px;
                font-size: 14px;
            `;
                        container.appendChild(label);
                        container.appendChild(input);
                        form.appendChild(container);
                    });

                    // 图标设置区域
                    const iconContainer = document.createElement("div");
                    iconContainer.style.gridColumn = "1 / -1";
                    const iconTitle = document.createElement("h4");
                    iconTitle.innerHTML = utils.createInlineSVG('palette') + ' 图标设置';
                    iconTitle.style.cssText = `
            margin-bottom: 10px;
            color: #34495e;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    iconContainer.appendChild(iconTitle);
                    // 图标设置网格
                    const iconGrid = document.createElement("div");
                    iconGrid.style.cssText = `
            display: grid;
            grid-template-columns: 1fr 2fr 1fr;
            gap: 10px;
            align-items: end;
        `;
                    // 图标类型选择
                    const typeGroup = document.createElement("div");
                    const typeLabel = document.createElement("label");
                    typeLabel.textContent = "图标类型";
                    typeLabel.style.cssText = `
            display: block;
            margin-bottom: 5px;
            font-weight: 500;
        `;
                    typeGroup.appendChild(typeLabel);
                    const iconTypeSelect = document.createElement("select");
                    iconTypeSelect.id = "icon-type";
                    iconTypeSelect.style.cssText = `
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
        `;
                    ["svg", "image", "text", "emoji"].forEach(type => {
                        const option = document.createElement("option");
                        option.value = type;
                        option.textContent = type.charAt(0).toUpperCase() + type.slice(1);
                        iconTypeSelect.appendChild(option);
                    });
                    typeGroup.appendChild(iconTypeSelect);
                    // 图标内容输入
                    const inputGroup = document.createElement("div");
                    const inputLabel = document.createElement("label");
                    inputLabel.textContent = "图标内容";
                    inputLabel.style.cssText = `
            display: block;
            margin-bottom: 5px;
            font-weight: 500;
        `;
                    inputGroup.appendChild(inputLabel);
                    const iconInput = document.createElement("input");
                    iconInput.type = "text";
                    iconInput.id = "icon-input";
                    iconInput.placeholder = "SVG代码、图片URL、文字或表情符号";
                    iconInput.style.cssText = `
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
        `;
                    inputGroup.appendChild(iconInput);
                    // 预览按钮
                    const previewGroup = document.createElement("div");
                    const previewButton = document.createElement("button");
                    previewButton.innerHTML = utils.createInlineSVG('eye') + ' 预览图标';
                    previewButton.style.cssText = `
            width: 100%;
            padding: 10px;
            background-color: #3498db;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
        `;
                    previewButton.id = "preview-icon";
                    previewGroup.appendChild(previewButton);
                    // 组装图标设置网格
                    iconGrid.appendChild(typeGroup);
                    iconGrid.appendChild(inputGroup);
                    iconGrid.appendChild(previewGroup);
                    iconContainer.appendChild(iconGrid);
                    // 图标预览区域
                    const previewContainer = document.createElement("div");
                    previewContainer.style.gridColumn = "1 / -1";
                    previewContainer.style.cssText = `
            margin-top: 15px;
            text-align: center;
        `;
                    const previewLabel = document.createElement("label");
                    previewLabel.textContent = "图标预览 (推荐比例 8:5)";
                    previewLabel.style.cssText = `
            display: block;
            margin-bottom: 10px;
            font-weight: 500;
        `;
                    const iconPreview = document.createElement("div");
                    iconPreview.id = "icon-preview";
                    iconPreview.style.cssText = `
            width: 88px;
            height: 55px;
            border: 2px dashed #bdc3c7;
            border-radius: 8px;
            margin: 0 auto;
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            background: #ecf0f1;
        `;
                    previewContainer.appendChild(previewLabel);
                    previewContainer.appendChild(iconPreview);
                    iconContainer.appendChild(previewContainer);
                    form.appendChild(iconContainer);
                    // 表单操作按钮
                    const formActions = document.createElement("div");
                    formActions.style.cssText = `
            grid-column: 1 / -1;
            display: flex;
            gap: 10px;
            margin-top: 20px;
        `;
                    const saveFormBtn = this.createActionButton(utils.createInlineSVG('save') + ' 保存引擎', "#27ae60", "");
                    const cancelFormBtn = this.createActionButton(utils.createInlineSVG('times') + ' 取消', "#95a5a6", "");
                    formActions.appendChild(saveFormBtn);
                    formActions.appendChild(cancelFormBtn);
                    formSection.appendChild(form);
                    formSection.appendChild(formActions);
                    listSection.appendChild(formSection);
                    content.appendChild(listSection);
                    panel.appendChild(content);

                    // 4. 面板底部
                    const footer = document.createElement("div");
                    footer.style.cssText = `
            height: 20vh;
            min-height: 60px;
            max-height: 90px;
            background-color: #ecf0f1;
            padding: 15px 20px;
            border-top: 1px solid #bdc3c7;
            display: flex;
            justify-content: space-between;
            align-items: center;
            box-sizing: border-box;
            flex-shrink: 0;
            border-radius: 0 0 15px 15px;
        `;
                    const selectedCount = document.createElement("span");
                    selectedCount.id = "selected-count";
                    selectedCount.innerHTML = utils.createInlineSVG('check-circle') + ' 已选择 0 个引擎';
                    selectedCount.style.cssText = `
            color: #7f8c8d;
            font-size: 0.9em;
            display: flex;
            align-items: center;
            gap: 5px;
        `;
                    const footerActions = document.createElement("div");
                    footerActions.style.cssText = `
            display: flex;
            gap: 10px;
        `;
                    const closeBtn = this.createActionButton(utils.createInlineSVG('times') + ' 关闭', "#95a5a6", "");
                    footerActions.appendChild(closeBtn);
                    footer.appendChild(selectedCount);
                    footer.appendChild(footerActions);
                    panel.appendChild(footer);

                    // 5. 绑定事件
                    extractBtn.addEventListener("click", () => this.extractFromCurrentPage());
                    addBtn.addEventListener("click", () => this.showAddForm(true));
                    resetBtn.addEventListener("click", () => this.resetToDefault());
                    previewButton.addEventListener("click", () => this.previewIcon());
                    saveFormBtn.addEventListener("click", () => this.saveNewEngine());
                    cancelFormBtn.addEventListener("click", () => this.showAddForm(false));
                    saveBtn.addEventListener("click", () => this.saveEngineSettings());
                    closeBtn.addEventListener("click", () => this.closeManagementPanel());
                    // 点击面板背景关闭
                    panel.addEventListener("click", (e) => {
                        if (e.target === panel) {
                            this.closeManagementPanel();
                        }
                    });

                    document.body.appendChild(panel);
                    return panel;
                },

    /**
     * 显示管理面板
     */
    showManagementPanel() {
        const panel = this.createManagementPanel();
        // 重置未保存状态
        appState.hasUnsavedChanges = false;
        utils.clearUnsavedChanges();
        // 刷新引擎列表
        this.refreshEngineList();
        // 显示面板
        panel.style.display = "block";

        // 应用焦点陷阱
        accessibility.trapFocus(panel);

        // 隐藏汉堡菜单
        hamburgerMenu.hideHamburgerMenu();
    },

     /**
                 * 创建管理面板DOM结构(核心配置界面)
                 */
                createManagementPanel() {
                    let panel = document.getElementById(CLASS_NAMES.MANAGEMENT_PANEL);
                    if (panel) return panel;

                    // 1. 面板主容器
                    panel = document.createElement("div");
                    panel.id = CLASS_NAMES.MANAGEMENT_PANEL;
                    panel.style.cssText = `
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            max-width: 800px;
            height: 90vh;
            max-height: 90vh;
            background-color: #ffffff;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            padding: 0;
            z-index: 10000;
            display: none;
            overflow: hidden;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
        `;

                    // 2. 面板头部
                    const header = document.createElement("div");
                    header.style.cssText = `
            height: 15vh;
            min-height: 80px;
            max-height: 120px;
            background-color: #2c3e50;
            color: white;
            padding: 20px;
            border-radius: 15px 15px 0 0;
            position: relative;
            box-sizing: border-box;
            flex-shrink: 0;
        `;
                    const title = document.createElement("h2");
                    title.innerHTML = utils.createInlineSVG('cog', 'white') + ' 搜索引擎管理中心';
                    title.style.cssText = `
            margin: 0;
            font-size: 1.5em;
            font-weight: 300;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    const subtitle = document.createElement("p");
                    subtitle.textContent = "管理您的搜索快捷方式";
                    subtitle.style.cssText = `
            margin: 5px 0 0 0;
            opacity: 0.8;
            font-size: 0.9em;
        `;
                    // 未保存更改指示器
                    const unsavedIndicator = document.createElement("div");
                    unsavedIndicator.id = "unsaved-indicator";
                    unsavedIndicator.innerHTML = utils.createInlineSVG('circle', '#e74c3c') + ' 有未保存的更改';
                    unsavedIndicator.style.cssText = `
            position: absolute;
            top: 15px;
            right: 20px;
            color: #e74c3c;
            font-size: 0.8em;
            display: none;
            align-items: center;
            gap: 5px;
        `;
                    header.appendChild(title);
                    header.appendChild(subtitle);
                    header.appendChild(unsavedIndicator);
                    panel.appendChild(header);

                    // 3. 面板内容区
                    const content = document.createElement("div");
                    content.style.cssText = `
            height: 65vh;
            min-height: 300px;
            position: relative;
            overflow: hidden;
            padding: 0;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            flex-shrink: 0;
        `;

                    // 3.1 快捷操作栏
                    const quickActions = document.createElement("div");
                    quickActions.style.cssText = `
            padding: 20px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            justify-content: space-between;
            background-color: #ffffff;
            border-bottom: 1px solid #ecf0f1;
            box-sizing: border-box;
            flex-shrink: 0;
        `;
                    // 左侧操作组
                    const leftActionGroup = document.createElement("div");
                    leftActionGroup.style.cssText = `
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        `;
                    const extractBtn = this.createActionButton(utils.createInlineSVG('globe') + ' 自动添加', "#3498db", "自动识别当前页面的搜索引擎");
                    const addBtn = this.createActionButton(utils.createInlineSVG('plus') + ' 手动添加', "#27ae60", "手动添加新的搜索引擎");
                    leftActionGroup.appendChild(extractBtn);
                    leftActionGroup.appendChild(addBtn);
                    // 右侧操作组
                    const rightActionGroup = document.createElement("div");
                    rightActionGroup.style.cssText = `
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        `;
                    const saveBtn = document.createElement("button");
                    saveBtn.id = "panel-save-btn";
                    saveBtn.innerHTML = utils.createInlineSVG('save') + ' 保存设置';
                    saveBtn.title = "保存当前设置";
                    saveBtn.style.cssText = `
            padding: 10px 20px;
            background: #95a5a6;
            color: white;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 5px;
            transition: all 0.3s ease;
            opacity: 0.7;
            pointer-events: none;
            min-width: 120px;
            justify-content: center;
        `;
                    const resetBtn = this.createActionButton(utils.createInlineSVG('undo') + ' 恢复默认', "#e74c3c", "恢复默认搜索引擎设置");
                    rightActionGroup.appendChild(saveBtn);
                    rightActionGroup.appendChild(resetBtn);
                    quickActions.appendChild(leftActionGroup);
                    quickActions.appendChild(rightActionGroup);
                    content.appendChild(quickActions);

                    // 3.2 引擎列表区
                    const listSection = document.createElement("div");
                    listSection.style.cssText = `
            flex: 1;
            overflow: hidden;
            padding: 0 20px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            overflow: auto;
        `;
                    const listTitle = document.createElement("h3");
                    listTitle.innerHTML = utils.createInlineSVG('list') + ' 已配置的搜索引擎';
                    listTitle.style.cssText = `
            color: #2c3e50;
            margin: 15px 0;
            font-weight: 500;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    const engineList = document.createElement("div");
                    engineList.id = "engine-management-list";
                    engineList.style.cssText = `
            flex: 1;
            overflow-y: auto;
            overflow-x: hidden;
            display: grid;
            gap: 10px;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            padding-bottom: 10px;
            box-sizing: border-box;
        `;
                    listSection.appendChild(listTitle);
                    listSection.appendChild(engineList);

                    // 3.3 添加引擎表单
                    const formSection = document.createElement("div");
                    formSection.id = "add-engine-form";
                    formSection.style.cssText = `
            display: none;
            background-color: #f8f9fa;
            padding: 20px;
            border-radius: 10px;
            margin: 10px 0;
            box-sizing: border-box;
            flex-shrink: 0;
        `;
                    const formTitle = document.createElement("h3");
                    formTitle.innerHTML = utils.createInlineSVG('magic') + ' 添加新搜索引擎';
                    formTitle.style.cssText = `
            color: #2c3e50;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    formSection.appendChild(formTitle);

                    // 表单字段容器
                    const form = document.createElement("div");
                    form.style.cssText = `
            display: grid;
            gap: 15px;
            grid-template-columns: 1fr 1fr;
        `;
                    // 表单字段配置
                    const fields = [{
                            label: "引擎名称",
                            placeholder: "例如: Google",
                            type: "text",
                            id: "engine-name",
                            required: true
                        },
                        {
                            label: "唯一标识",
                            placeholder: "例如: google",
                            type: "text",
                            id: "engine-mark",
                            required: true
                        },
                        {
                            label: "搜索URL",
                            placeholder: "使用 {keyword} 作为占位符",
                            type: "text",
                            id: "engine-url",
                            required: true,
                            fullWidth: true
                        },
                        {
                            label: "关键词参数",
                            placeholder: "例如: q,query,search",
                            type: "text",
                            id: "engine-keys",
                            required: true,
                            fullWidth: true
                        }
                    ];
                    // 创建表单字段
                    fields.forEach(field => {
                        const container = document.createElement("div");
                        if (field.fullWidth) {
                            container.style.gridColumn = "1 / -1";
                        }
                        const label = document.createElement("label");
                        label.textContent = field.label;
                        label.style.cssText = `
                display: block;
                margin-bottom: 5px;
                font-weight: 500;
                color: #34495e;
            `;
                        const input = document.createElement("input");
                        input.type = field.type;
                        input.placeholder = field.placeholder;
                        input.id = field.id;
                        input.required = field.required;
                        input.style.cssText = `
                width: 100%;
                padding: 10px;
                border: 1px solid #ddd;
                border-radius: 5px;
                font-size: 14px;
            `;
                        container.appendChild(label);
                        container.appendChild(input);
                        form.appendChild(container);
                    });

                    // 图标设置区域
                    const iconContainer = document.createElement("div");
                    iconContainer.style.gridColumn = "1 / -1";
                    const iconTitle = document.createElement("h4");
                    iconTitle.innerHTML = utils.createInlineSVG('palette') + ' 图标设置';
                    iconTitle.style.cssText = `
            margin-bottom: 10px;
            color: #34495e;
            display: flex;
            align-items: center;
            gap: 10px;
        `;
                    iconContainer.appendChild(iconTitle);
                    // 图标设置网格
                    const iconGrid = document.createElement("div");
                    iconGrid.style.cssText = `
            display: grid;
            grid-template-columns: 1fr 2fr 1fr;
            gap: 10px;
            align-items: end;
        `;
                    // 图标类型选择
                    const typeGroup = document.createElement("div");
                    const typeLabel = document.createElement("label");
                    typeLabel.textContent = "图标类型";
                    typeLabel.style.cssText = `
            display: block;
            margin-bottom: 5px;
            font-weight: 500;
        `;
                    typeGroup.appendChild(typeLabel);
                    const iconTypeSelect = document.createElement("select");
                    iconTypeSelect.id = "icon-type";
                    iconTypeSelect.style.cssText = `
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
        `;
                    ["svg", "image", "text", "emoji"].forEach(type => {
                        const option = document.createElement("option");
                        option.value = type;
                        option.textContent = type.charAt(0).toUpperCase() + type.slice(1);
                        iconTypeSelect.appendChild(option);
                    });
                    typeGroup.appendChild(iconTypeSelect);
                    // 图标内容输入
                    const inputGroup = document.createElement("div");
                    const inputLabel = document.createElement("label");
                    inputLabel.textContent = "图标内容";
                    inputLabel.style.cssText = `
            display: block;
            margin-bottom: 5px;
            font-weight: 500;
        `;
                    inputGroup.appendChild(inputLabel);
                    const iconInput = document.createElement("input");
                    iconInput.type = "text";
                    iconInput.id = "icon-input";
                    iconInput.placeholder = "SVG代码、图片URL、文字或表情符号";
                    iconInput.style.cssText = `
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
        `;
                    inputGroup.appendChild(iconInput);
                    // 预览按钮
                    const previewGroup = document.createElement("div");
                    const previewButton = document.createElement("button");
                    previewButton.innerHTML = utils.createInlineSVG('eye') + ' 预览图标';
                    previewButton.style.cssText = `
            width: 100%;
            padding: 10px;
            background-color: #3498db;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
        `;
                    previewButton.id = "preview-icon";
                    previewGroup.appendChild(previewButton);
                    // 组装图标设置网格
                    iconGrid.appendChild(typeGroup);
                    iconGrid.appendChild(inputGroup);
                    iconGrid.appendChild(previewGroup);
                    iconContainer.appendChild(iconGrid);
                    // 图标预览区域
                    const previewContainer = document.createElement("div");
                    previewContainer.style.gridColumn = "1 / -1";
                    previewContainer.style.cssText = `
            margin-top: 15px;
            text-align: center;
        `;
                    const previewLabel = document.createElement("label");
                    previewLabel.textContent = "图标预览 (推荐比例 8:5)";
                    previewLabel.style.cssText = `
            display: block;
            margin-bottom: 10px;
            font-weight: 500;
        `;
                    const iconPreview = document.createElement("div");
                    iconPreview.id = "icon-preview";
                    iconPreview.style.cssText = `
            width: 88px;
            height: 55px;
            border: 2px dashed #bdc3c7;
            border-radius: 8px;
            margin: 0 auto;
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            background: #ecf0f1;
        `;
                    previewContainer.appendChild(previewLabel);
                    previewContainer.appendChild(iconPreview);
                    iconContainer.appendChild(previewContainer);
                    form.appendChild(iconContainer);
                    // 表单操作按钮
                    const formActions = document.createElement("div");
                    formActions.style.cssText = `
            grid-column: 1 / -1;
            display: flex;
            gap: 10px;
            margin-top: 20px;
        `;
                    const saveFormBtn = this.createActionButton(utils.createInlineSVG('save') + ' 保存引擎', "#27ae60", "");
                    const cancelFormBtn = this.createActionButton(utils.createInlineSVG('times') + ' 取消', "#95a5a6", "");
                    formActions.appendChild(saveFormBtn);
                    formActions.appendChild(cancelFormBtn);
                    formSection.appendChild(form);
                    formSection.appendChild(formActions);
                    listSection.appendChild(formSection);
                    content.appendChild(listSection);
                    panel.appendChild(content);

                    // 4. 面板底部
                    const footer = document.createElement("div");
                    footer.style.cssText = `
            height: 20vh;
            min-height: 60px;
            max-height: 90px;
            background-color: #ecf0f1;
            padding: 15px 20px;
            border-top: 1px solid #bdc3c7;
            display: flex;
            justify-content: space-between;
            align-items: center;
            box-sizing: border-box;
            flex-shrink: 0;
            border-radius: 0 0 15px 15px;
        `;
                    const selectedCount = document.createElement("span");
                    selectedCount.id = "selected-count";
                    selectedCount.innerHTML = utils.createInlineSVG('check-circle') + ' 已选择 0 个引擎';
                    selectedCount.style.cssText = `
            color: #7f8c8d;
            font-size: 0.9em;
            display: flex;
            align-items: center;
            gap: 5px;
        `;
                    const footerActions = document.createElement("div");
                    footerActions.style.cssText = `
            display: flex;
            gap: 10px;
        `;
                    const closeBtn = this.createActionButton(utils.createInlineSVG('times') + ' 关闭', "#95a5a6", "");
                    footerActions.appendChild(closeBtn);
                    footer.appendChild(selectedCount);
                    footer.appendChild(footerActions);
                    panel.appendChild(footer);

                    // 5. 绑定事件
                    extractBtn.addEventListener("click", () => this.extractFromCurrentPage());
                    addBtn.addEventListener("click", () => this.showAddForm(true));
                    resetBtn.addEventListener("click", () => this.resetToDefault());
                    previewButton.addEventListener("click", () => this.previewIcon());
                    saveFormBtn.addEventListener("click", () => this.saveNewEngine());
                    cancelFormBtn.addEventListener("click", () => this.showAddForm(false));
                    saveBtn.addEventListener("click", () => this.saveEngineSettings());
                    closeBtn.addEventListener("click", () => this.closeManagementPanel());
                    // 点击面板背景关闭
                    panel.addEventListener("click", (e) => {
                        if (e.target === panel) {
                            this.closeManagementPanel();
                        }
                    });

                    document.body.appendChild(panel);
                    return panel;
                },

                /**
                 * 显示管理面板
                 */
                showManagementPanel() {
                    const panel = this.createManagementPanel();
                    // 重置未保存状态
                    appState.hasUnsavedChanges = false;
                    utils.clearUnsavedChanges();
                    // 刷新引擎列表
                    this.refreshEngineList();
                    // 显示面板
                    panel.style.display = "block";

                    // 应用焦点陷阱
                    accessibility.trapFocus(panel);

                    // 隐藏汉堡菜单
                    hamburgerMenu.hideHamburgerMenu();
                }
            };

// ===== 应用初始化模块 =====
/**
 * 应用初始化模块 - 封装初始化、脚本重载、页面事件监听等入口逻辑
 */
const appInitializer = {
    /**
     * 重新加载脚本(清理DOM、重置状态、重新初始化)
     */
    reloadScript() {
        // 1. 清理所有创建的DOM元素
        [
            "#punkjet-search-box",
            `#${CLASS_NAMES.HAMBURGER_MENU}`,
            `#${CLASS_NAMES.SEARCH_OVERLAY}`,
            `#${CLASS_NAMES.MANAGEMENT_PANEL}`
        ].forEach(selector => {
            const element = document.querySelector(selector);
            if (element) {
                // 移除焦点陷阱
                accessibility.removeFocusTrap(element);
                element.remove();
            }
        });

        // 2. 清除所有定时器和防抖器
        utils.clearAllTimeouts();
        debounceUtils.clearAll();

        // 3. 移除全局事件监听器
        const events = ['scroll', 'wheel', 'touchstart', 'touchmove', 'touchend'];
        events.forEach(event => {
            window.removeEventListener(event, () => {});
        });

        // 4. 重置应用状态
        appState.scriptLoaded = false;
        appState.containerAdded = false;
        appState.hamburgerMenuOpen = false;
        appState.searchOverlayVisible = false;

        // 5. 重新初始化
        this.init();
    },

    /**
     * 百度搜索特殊处理(延迟同步输入框内容)
     */
    handleBaiduSpecialCase() {
        if (window.location.hostname.includes('baidu')) {
            setTimeout(() => {
                const baiduInput = document.querySelector('input#kw');
                if (baiduInput && baiduInput.value) {
                    appState.currentInput = baiduInput.value.trim();
                    sessionStorage.setItem(STORAGE_KEYS.CURRENT_INPUT, appState.currentInput);
                }
            }, DEFAULT_CONFIG.BAIDU_INPUT_DELAY);
        }
    },

   /**
     * 初始化移动端焦点管理
     */
    initMobileFocusManagement() {
        if (!utils.isMobileDevice()) return;

        // 监听焦点变化
        document.addEventListener('focusin', (e) => {
            const target = e.target;
            if (target.matches('input, textarea')) {
                // 输入框获得焦点时,确保搜索栏可见且位置正确
                domHandler.showSearchBoxImmediately();
                setTimeout(() => {
                    domHandler.updateSearchBoxPosition();
                }, 100);
            }
        });

        // 监听焦点失去
        document.addEventListener('focusout', (e) => {
            const target = e.target;
            if (target.matches('input, textarea')) {
                // 延迟更新位置,避免在滚动过程中立即改变
                setTimeout(() => {
                    domHandler.updateSearchBoxPosition();
                }, 300);
            }
        });

        // 监听视口变化(键盘弹出/收起)
        let visualViewport = window.visualViewport;
        if (visualViewport) {
            visualViewport.addEventListener('resize', () => {
                // 视觉视口变化时(通常是键盘弹出/收起),更新搜索栏位置
                setTimeout(() => {
                    domHandler.updateSearchBoxPosition();
                }, 50);
            });
        }
    },

    /**
     * 初始化应用(增强移动端支持)
     */
    init() {
        try {
            // 前置校验
            if (appState.containerAdded || appState.scriptLoaded || !utils.isValidScope()) {
                return;
            }

            // 1. 初始化默认存储配置
            if (!GM_getValue(STORAGE_KEYS.PUNK_SETUP_SEARCH)) {
                GM_setValue(STORAGE_KEYS.PUNK_SETUP_SEARCH, DEFAULT_CONFIG.PUNK_DEFAULT_MARK);
            }

            // 2. 从sessionStorage恢复当前输入内容
            appState.currentInput = sessionStorage.getItem(STORAGE_KEYS.CURRENT_INPUT) || '';

            // 3. 执行初始化流程
            domHandler.monitorInputFields();
            domHandler.addSearchBox();
            domHandler.injectStyle();
            accessibility.init();
            this.handleBaiduSpecialCase();
            
            // 4. 初始化移动端焦点管理
            this.initMobileFocusManagement();

            // 5. 更新初始化状态
            appState.scriptLoaded = true;
        } catch (error) {
            console.error("应用初始化失败:", error.message);
        }
    },

    /**
     * 初始化页面事件监听( visibilitychange、pageshow 等)
     */
    initPageEventListeners() {
        // 1. 页面可见性变化时重新检查初始化
        document.addEventListener("visibilitychange", () => {
            if (document.visibilityState === 'visible' && !appState.containerAdded) {
                this.init();
            }
        });

        // 2. 页面从缓存恢复时重新检查初始化
        document.addEventListener("pageshow", (event) => {
            if (event.persisted && !appState.containerAdded) {
                this.init();
            }
        });

        // 3. DOM加载完成后初始化
        document.addEventListener("DOMContentLoaded", () => {
            if (utils.isValidScope()) {
                this.init();
            }
        });

        // 4. 定期检查作用域(确保页面动态变化后仍能正常初始化)
        setInterval(() => {
            if (utils.isValidScope() && !appState.containerAdded) {
                this.init();
            } else if (!utils.isValidScope() && appState.containerAdded) {
                this.reloadScript();
            }
        }, DEFAULT_CONFIG.CHECK_SCOPE_INTERVAL);
    }
};

// ===== 应用启动入口 =====
// 初始化页面事件监听并启动应用
appInitializer.initPageEventListeners();