Repository navigation
Expand file tree
/
Copy path404.html
More file actions
38 lines (38 loc) · 22.7 KB
/
Copy path404.html
File metadata and controls
38 lines (38 loc) · 22.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!doctype html><html lang=en dir=ltr class=scroll-smooth data-default-appearance=dark data-auto-appearance=false><head><meta charset=utf-8><meta http-equiv=content-language content="en"><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=X-UA-Compatible content="ie=edge"><meta name=theme-color><title>404 Page not found · MyBlog</title><meta name=title content="404 Page not found · MyBlog"><meta name=description content="My awesome website"><link rel=canonical href=https://blog.xiadengma.com/404.html><meta name=author content="xiadengma"><link href=https://github.com/xiadengma rel=me><link href=https://xiadengma.com/ rel=me><meta property="og:url" content="https://blog.xiadengma.com/404.html"><meta property="og:site_name" content="MyBlog"><meta property="og:title" content="404 Page not found"><meta property="og:description" content="My awesome website"><meta property="og:locale" content="en"><meta property="og:type" content="website"><meta name=twitter:card content="summary"><meta name=twitter:title content="404 Page not found"><meta name=twitter:description content="My awesome website"><link type=text/css rel=stylesheet href=/css/main.bundle.min.80e191426fa299808166e9d09dd48085cd7b62f9a4c616750392885feb860dcdbc7da53b64846e6042b50930f56ccfeeb46795073cf668cf56c1e7cf8652bf65.css integrity="sha512-gOGRQm+imYCBZunQndSAhc17YvmkxhZ1A5KIX+uGDc28faU7ZIRuYEK1CTD1bM/utGeVBzz2aM9WwefPhlK/ZQ=="><script type=text/javascript src=/js/appearance.min.6f41174b3a05b680820fe08cadbfa5fb7a7ca347b76a0955cdc68b9d8aca1ce24f0547e138cea33bcc7904d551a90afcb1cc7f2d9fe8557075d501419046c08c.js integrity="sha512-b0EXSzoFtoCCD+CMrb+l+3p8o0e3aglVzcaLnYrKHOJPBUfhOM6jO8x5BNVRqQr8scx/LZ/oVXB11QFBkEbAjA=="></script><script src=/lib/zoom/zoom.min.umd.a527109b68c082a70f3697716dd72a9d5aa8b545cf800cecbbc7399f2ca6f6e0ce3e431f2062b48bbfa47c9ea42822714060bef309be073f49b9c0e30d318d7b.js integrity="sha512-pScQm2jAgqcPNpdxbdcqnVqotUXPgAzsu8c5nyym9uDOPkMfIGK0i7+kfJ6kKCJxQGC+8wm+Bz9JucDjDTGNew=="></script><script defer type=text/javascript id=script-bundle src=/js/main.bundle.min.a4a7dfccb3436d38f7e4b42726453b8acb7e154b0b6ecad4afcbede29623d36d0463273c19cd6867ac37af7853561bb8f323133653545b1157c47a2360052976.js integrity="sha512-pKffzLNDbTj35LQnJkU7ist+FUsLbsrUr8vt4pYj020EYyc8Gc1oZ6w3r3hTVhu48yMTNlNUWxFXxHojYAUpdg==" data-copy=复制 data-copied=已复制></script><script src=/lib/jquery/jquery.slim.min.b0dca576e87d7eaa5850ae4e61759c065786cdb6489d68fcc82240539eebd5da522bdb4fda085ffd245808c8fe2acb2516408eb774ef26b5f6015fc6737c0ea8.js integrity="sha512-sNylduh9fqpYUK5OYXWcBleGzbZInWj8yCJAU57r1dpSK9tP2ghf/SRYCMj+KsslFkCOt3TvJrX2AV/Gc3wOqA=="></script><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><script type=application/ld+json>[{"@context":"https://schema.org","@type":"Article","articleSection":"MyBlog","name":"404 Page not found","headline":"404 Page not found","inLanguage":"en","url":"https://blog.xiadengma.com/404.html","author":{"@type":"Person","name":"xiadengma"},"mainEntityOfPage":"true","wordCount":"0"}]</script><script data-id=umami-script async src=https://analytics.umami.is/script.js data-website-id=678aa4f9-0d3a-485e-88ea-9a4e51d5aa9f></script><script type=text/javascript>document.querySelector('script[data-id="umami-script"]').addEventListener("load",function(){const e=document.head.querySelector('meta[property = "og:type"]').getAttribute("content");let t=document.head.querySelector('meta[property = "og:title"]').getAttribute("content"),n=document.head.querySelector('meta[property = "og:url"]').getAttribute("content");umami.track(e+":"+t,{url:n})})</script><script>(()=>{const n=/[A-Za-z]{2,}[^\S\r\n]+[A-Za-z]{2,}/,s=/[A-Za-z]/g,o=/[\u4E00-\u9FFF]/g,i=/https?:\/\/\S+/i,a=/[A-Za-z0-9_./:-]{20,}/;function e(e,t){const n=t.match(e);return n?n.length:0}function t(){const t=document.querySelectorAll(".article-content p, .article-content li");for(const c of t){const r=(c.textContent||"").trim();if(!r)continue;const d=getComputedStyle(c);if(d.textAlign!=="justify")continue;if(i.test(r)||a.test(r)){c.classList.add("bf-no-justify");continue}if(!n.test(r))continue;const l=e(s,r);if(l<12)continue;const u=e(o,r);if(l<=u)continue;c.classList.add("bf-no-justify")}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()})()</script></head><body class="flex flex-col h-screen m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32 text-lg bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral scrollbar-thin scrollbar-track-neutral-200 scrollbar-thumb-neutral-400 dark:scrollbar-track-neutral-800 dark:scrollbar-thumb-neutral-600"><div id=the-top class="absolute flex self-center"><a class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600" href=#main-content><span class="font-bold text-primary-600 pe-2 dark:text-primary-400">↓</span>
跳过正文</a></div><div class=min-h-[148px]></div><div class="fixed inset-x-0 min-h-[130px] opacity-65 bg-gradient-to-b from-neutral from-60% dark:from-neutral-800 to-transparent mix-blend-normal z-80"></div><div class="fixed inset-x-0 z-100"><div id=menu-blur class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl"></div><div class="relative m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32"><div class="main-menu flex items-center justify-between py-6 md:justify-start gap-x-3 pt-[2px] pr-2 md:pr-4 pb-[3px] pl-0"><div><a href=/ class=flex><span class=sr-only>MyBlog</span>
<img src=/img/logo.png width=90 height=90 class="logo max-h-[5rem] max-w-[5rem] object-scale-down object-left nozoom" alt></a></div><div class="flex flex-1 items-center justify-between"><nav class="flex space-x-3"><a href=/ class="text-base font-medium">MyBlog</a></nav><nav class="hidden md:flex items-center gap-x-5 md:ml-12 h-12"><a href=/posts/ class="flex items-center hover:text-primary-600 dark:hover:text-primary-400" aria-label=文章 title=文章><span class=mr-1><span class="relative block icon"><svg height="1em" viewBox="0 0 512 512"><path fill="currentColor" d="M441 58.9 453.1 71c9.4 9.4 9.4 24.6.0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9.0zM209.8 256.2 344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1L186.9 325l16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25 175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 1e2c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l1e2-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7.0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4.0 152V424c0 48.6 39.4 88 88 88H360c48.6.0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1.0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H2e2c13.3.0 24-10.7 24-24s-10.7-24-24-24H88z"/></svg></span></span><p class="text-base font-medium">文章</p></a><button id=search-button aria-label=Search class="text-base hover:text-primary-600 dark:hover:text-primary-400" title="搜索 (/)">
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg></span></button></nav><div class="flex md:hidden items-center gap-x-5 md:ml-12 h-12"><span></span>
<button id=search-button-mobile aria-label=Search class="text-base hover:text-primary-600 dark:hover:text-primary-400" title="搜索 (/)">
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg></span></button></div></div><div class="-my-2 md:hidden"><div id=menu-button class=block><div class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"><span class="relative block icon"><svg viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416c17.7.0 32 14.33 32 32 0 17.7-14.3 32-32 32H32C14.33 128 0 113.7.0 96zM0 256c0-17.7 14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32H32c-17.67.0-32-14.3-32-32zM416 448H32c-17.67.0-32-14.3-32-32s14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32z"/></svg></span></div><div id=menu-wrapper class="fixed inset-0 z-30 invisible w-screen h-screen m-0 overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50 pt-[5px]"><ul class="flex space-y-2 mt-3 flex-col items-end w-full px-6 py-6 mx-auto overflow-visible list-none text-end max-w-7xl"><li id=menu-close-button><span class="cursor-pointer inline-block align-text-bottom hover:text-primary-600 dark:hover:text-primary-400"><span class="relative block icon"><svg viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z"/></svg></span></span></li><li class=mt-1><a href=/posts/ class="flex items-center hover:text-primary-600 dark:hover:text-primary-400" aria-label=文章 title=文章><div class=mr-2><span class="relative block icon"><svg height="1em" viewBox="0 0 512 512"><path fill="currentColor" d="M441 58.9 453.1 71c9.4 9.4 9.4 24.6.0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9.0zM209.8 256.2 344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1L186.9 325l16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25 175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 1e2c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l1e2-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7.0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4.0 152V424c0 48.6 39.4 88 88 88H360c48.6.0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1.0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H2e2c13.3.0 24-10.7 24-24s-10.7-24-24-24H88z"/></svg></span></div><p class="text-bg font-bg">文章</p></a></li></ul></div></div></div></div></div></div><script type=text/javascript src=/js/background-blur.min.605b3b942818f0ab5a717ae446135ec46b8ee5a2ad12ae56fb90dc2a76ce30c388f9fec8bcc18db15bd47e3fa8a09d779fa12aa9c184cf614a315bc72c6c163d.js integrity="sha512-YFs7lCgY8KtacXrkRhNexGuO5aKtEq5W+5DcKnbOMMOI+f7IvMGNsVvUfj+ooJ13n6EqqcGEz2FKMVvHLGwWPQ==" data-blur-id=menu-blur></script><div class="relative flex flex-col grow"><main id=main-content class=grow><h1 class="mb-3 text-4xl font-extrabold">找不到网页 😕</h1><p class="mt-8 mb-12 text-neutral-400 dark:text-neutral-500">404 错误</p><div class="prose dark:prose-invert"><p>您请求的页面似乎不存在。</p></div><div id=scroll-to-top class="fixed bottom-6 end-6 z-50 transform translate-y-4 opacity-0 duration-200"><a href=#the-top class="bf-scroll-to-top__btn pointer-events-auto flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-neutral-700 hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400" aria-label=返回顶部 title=返回顶部><span class=sr-only>返回顶部</span>
<svg class="bf-scroll-to-top__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 19V5"/><path d="m5 12 7-7 7 7"/></svg></a></div></main><footer id=site-footer class="py-10 print:hidden"><div class="flex items-center justify-between"><p class="text-sm text-neutral-500 dark:text-neutral-400">© 2025 <a href=https://xiadengma.com target=_blank>XIADENGMA</a> | All rights reserved | <a href=https://beian.miit.gov.cn target=_blank>浙ICP备20005376号-2</a></p><p class="text-xs text-neutral-500 dark:text-neutral-400">🛸 by Hugo & Blowfish</p></div><script>mediumZoom(document.querySelectorAll("img:not(.nozoom)"),{margin:24,background:"rgba(0,0,0,0.5)",scrollOffset:0})</script><script type=text/javascript src=/js/process.min.ee03488f19c93c2efb199e2e3014ea5f3cb2ce7d45154adb3399a158cac27ca52831db249ede5bb602700ef87eb02434139de0858af1818ab0fb4182472204a4.js integrity="sha512-7gNIjxnJPC77GZ4uMBTqXzyyzn1FFUrbM5mhWMrCfKUoMdsknt5btgJwDvh+sCQ0E53ghYrxgYqw+0GCRyIEpA=="></script><div style=display:none class="bf-no-justify bf-algorithm bf-algorithm__caption bf-algorithm__body bf-figure-group bf-figure-group__grid bf-fig-16 bf-fig-single"></div><script>(()=>{const t="bf_code_wrap_mode",e="bf-code-nowrap",n="button.codeblock-wrap-toggle[data-code-wrap-toggle]";function i(){const e=localStorage.getItem(t);return e==="nowrap"?"nowrap":"wrap"}function s(s,o){const i=document.documentElement;s==="nowrap"?i.classList.add(e):i.classList.remove(e),o&&localStorage.setItem(t,s);const a=i.classList.contains(e);document.querySelectorAll(n).forEach(e=>{e.setAttribute("aria-pressed",a?"false":"true"),e.textContent=a?"折行":"滚动"})}function a(){const t=document.documentElement.classList.contains(e);s(t?"wrap":"nowrap",!0)}function o(){s(i(),!1),document.addEventListener("click",e=>{const t=e.target.closest?.(n);if(!t)return;e.preventDefault(),a(),t.blur()})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",o):o()})()</script><script>(()=>{const n="bf-mermaid-viewer",s="bf-open",g="bf-modal-open",h=.1,r=6,o=1.15,e={scale:1,baseW:0,baseH:0,pointerId:null,startX:0,startY:0,startScrollLeft:0,startScrollTop:0};function l(e,t,n){return Math.min(n,Math.max(t,e))}function O(){let e=document.getElementById(n);if(e)return e;e=document.createElement("div"),e.id=n,e.className="bf-mermaid-viewer",e.setAttribute("aria-hidden","true"),e.innerHTML=`
<div class="bf-mermaid-viewer__backdrop" data-bf-mermaid-close></div>
<div class="bf-mermaid-viewer__panel" role="dialog" aria-modal="true" aria-label="Mermaid 查看器">
<div class="bf-mermaid-viewer__toolbar">
<button type="button" class="bf-mermaid-viewer__tool" data-bf-mermaid-zoom-out aria-label="缩小" title="缩小">
<svg class="bf-mermaid-viewer__icon" viewBox="0 0 24 24" aria-hidden="true">
<path d="M5 12h14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<button type="button" class="bf-mermaid-viewer__tool" data-bf-mermaid-reset aria-label="适配" title="适配">
<svg class="bf-mermaid-viewer__icon" viewBox="0 0 24 24" aria-hidden="true">
<path d="M4 9V5h4M20 9V5h-4M4 15v4h4M20 15v4h-4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
</svg>
<span class="bf-mermaid-viewer__label" data-bf-mermaid-zoom-label>100%</span>
</button>
<button type="button" class="bf-mermaid-viewer__tool" data-bf-mermaid-zoom-in aria-label="放大" title="放大">
<svg class="bf-mermaid-viewer__icon" viewBox="0 0 24 24" aria-hidden="true">
<path d="M12 5v14M5 12h14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
</div>
<button type="button" class="bf-mermaid-viewer__close" data-bf-mermaid-close aria-label="关闭" title="关闭">
<svg class="bf-mermaid-viewer__icon" viewBox="0 0 24 24" aria-hidden="true">
<path d="M6 6l12 12M18 6L6 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div class="bf-mermaid-viewer__canvas" data-bf-mermaid-canvas>
<div class="bf-mermaid-viewer__stage" data-bf-mermaid-stage></div>
</div>
</div>
`,document.body.appendChild(e),e.addEventListener("click",e=>{e.target.closest?.("[data-bf-mermaid-close]")&&(e.preventDefault(),u())}),document.addEventListener("keydown",e=>{(e.key==="Escape"||e.key==="Esc")&&u()});const t=e.querySelector("[data-bf-mermaid-canvas]"),s=e.querySelector("[data-bf-mermaid-zoom-in]"),i=e.querySelector("[data-bf-mermaid-zoom-out]"),r=e.querySelector("[data-bf-mermaid-reset]");return s?.addEventListener("click",e=>{e.preventDefault(),a(o)}),i?.addEventListener("click",e=>{e.preventDefault(),a(1/o)}),r?.addEventListener("click",e=>{e.preventDefault(),p()}),t?.addEventListener("wheel",y,{passive:!1}),t?.addEventListener("pointerdown",b),t?.addEventListener("pointermove",j),t?.addEventListener("pointerup",d),t?.addEventListener("pointercancel",d),e}function i(){const e=document.getElementById(n);return!!e&&e.classList.contains(s)}function t(){const e=O();return{root:e,canvas:e.querySelector("[data-bf-mermaid-canvas]"),stage:e.querySelector("[data-bf-mermaid-stage]"),resetBtn:e.querySelector("[data-bf-mermaid-reset]"),zoomLabel:e.querySelector("[data-bf-mermaid-zoom-label]")}}function w(e){const t=e?.viewBox?.baseVal;if(t&&t.width>0&&t.height>0)return{w:t.width,h:t.height};const n=e.getAttribute("width")||"",s=e.getAttribute("height")||"",o=n&&!n.includes("%")?parseFloat(n):0,i=s&&!s.includes("%")?parseFloat(s):0;if(o>0&&i>0)return{w:o,h:i};const a=e.getBoundingClientRect();return{w:a.width||800,h:a.height||600}}function v(){const{stage:e}=t();return e?.querySelector("svg")||null}function m(){const{resetBtn:s,zoomLabel:o}=t(),n=v();if(!n)return;const a=Math.max(1,e.baseW*e.scale),r=Math.max(1,e.baseH*e.scale);n.style.width=`${a}px`,n.style.height=`${r}px`,n.style.maxWidth="none",n.style.maxHeight="none",n.style.display="block";const i=`${Math.round(e.scale*100)}%`;o?o.textContent=i:s&&(s.textContent=i)}function f(){const{canvas:e}=t();if(!e)return;requestAnimationFrame(()=>{e.scrollLeft=Math.max(0,(e.scrollWidth-e.clientWidth)/2),e.scrollTop=Math.max(0,(e.scrollHeight-e.clientHeight)/2)})}function p(){const{canvas:n}=t();if(!n||!e.baseW||!e.baseH)return;const s=getComputedStyle(n),a=(parseFloat(s.paddingLeft)||0)+(parseFloat(s.paddingRight)||0),c=(parseFloat(s.paddingTop)||0)+(parseFloat(s.paddingBottom)||0),o=n.clientWidth-a,i=n.clientHeight-c;if(!o||!i)return;const d=Math.min(o/e.baseW,i/e.baseH)*.98;e.scale=l(d,h,r),m(),f()}function a(t){const n=l(e.scale*t,h,r);if(n===e.scale)return;e.scale=n,m(),f()}function y(e){if(!i())return;e.preventDefault(),a(e.deltaY<0?o:1/o)}function b(n){if(!i())return;if(n.pointerType==="mouse"&&n.button!==0)return;const{canvas:s}=t();if(!s)return;e.pointerId=n.pointerId,e.startX=n.clientX,e.startY=n.clientY,e.startScrollLeft=s.scrollLeft,e.startScrollTop=s.scrollTop,s.classList.add("bf-grabbing"),s.setPointerCapture?.(n.pointerId)}function j(n){if(!i())return;if(e.pointerId==null||e.pointerId!==n.pointerId)return;const{canvas:s}=t();if(!s)return;const o=n.clientX-e.startX,a=n.clientY-e.startY;s.scrollLeft=e.startScrollLeft-o,s.scrollTop=e.startScrollTop-a}function d(n){const{canvas:s}=t();if(e.pointerId==null||e.pointerId!==n.pointerId)return;e.pointerId=null,s?.classList.remove("bf-grabbing");try{s?.releasePointerCapture?.(n.pointerId)}catch{}}function _(n){const{root:o,stage:i}=t();if(!o||!i||!n)return;i.innerHTML="";const a=n.cloneNode(!0);a.removeAttribute("style"),i.appendChild(a);const r=w(a);e.baseW=r.w,e.baseH=r.h,e.scale=1,o.classList.add(s),o.setAttribute("aria-hidden","false"),document.documentElement.classList.add(g),requestAnimationFrame(()=>{p()})}function u(){const e=document.getElementById(n);if(!e)return;e.classList.remove(s),e.setAttribute("aria-hidden","true"),document.documentElement.classList.remove(g);const t=e.querySelector("[data-bf-mermaid-stage]");t&&(t.innerHTML="")}function c(){if(!document.querySelector(".article-content .mermaid"))return;document.addEventListener("click",e=>{const t=document.getElementById(n);if(t&&t.classList.contains(s)&&t.contains(e.target))return;const o=e.target?.closest?.(".article-content .mermaid");if(!o)return;const i=o.querySelector("svg");if(!i)return;const a=window.getSelection?.();if(a&&String(a).length>0)return;_(i)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",c):c()})()</script></footer><div id=search-wrapper class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh] z-500" data-url=https://blog.xiadengma.com/><div id=search-modal class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800"><header class="relative z-10 flex items-center justify-between flex-none px-2"><form class="flex items-center flex-auto min-w-0"><div class="flex items-center justify-center w-8 h-8 text-neutral-400"><span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg></span></div><input type=search id=search-query class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent" placeholder=搜索 tabindex=0></form><button id=close-search-button class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" title="关闭 (Esc)">
<span class="relative block icon"><svg viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z"/></svg></span></button></header><section class="flex-auto px-2 overflow-auto"><ul id=search-results></ul></section></div></div></div></body></html>