<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>Zard Zhang | Notion</title>
		<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
		<meta name="description" content="不进行研究的投资，就像打扑克从不看牌一样，必然失败。——彼得·林奇">
		
		<meta name="twitter:card" content="summary_large_image">
		<meta name="twitter:title" content="Zard Zhang | Notion">
		<meta name="twitter:description" content="不进行研究的投资，就像打扑克从不看牌一样，必然失败。——彼得·林奇">
		<meta name="twitter:url" content="zard.me">
		
			<meta name="twitter:image" content="https://zardzhang.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F2af4665c-28f1-4a07-b47b-a34cb4254cec%2F4fb5e54a-95bb-4f1d-910c-e2b864e4d4f8%2FSocialMediaPreviewImage.png?table=block&id=fd630b2f-f172-4180-89bb-400a7e57bf81&spaceId=2af4665c-28f1-4a07-b47b-a34cb4254cec&width=2000&userId=&cache=v2&imgBuildSrc=pageMetadataCover">
		
		<meta property="og:site_name" content="zardzhang on Notion">
		<meta property="og:type" content="article">
		<meta property="og:url" content="zard.me">
		<meta property="og:title" content="Zard Zhang | Notion">
		<meta property="og:description" content="不进行研究的投资，就像打扑克从不看牌一样，必然失败。——彼得·林奇">
		
			<meta property="og:image" content="https://zardzhang.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F2af4665c-28f1-4a07-b47b-a34cb4254cec%2F4fb5e54a-95bb-4f1d-910c-e2b864e4d4f8%2FSocialMediaPreviewImage.png?table=block&id=fd630b2f-f172-4180-89bb-400a7e57bf81&spaceId=2af4665c-28f1-4a07-b47b-a34cb4254cec&width=2000&userId=&cache=v2&imgBuildSrc=pageMetadataCover">
		
		<meta property="og:locale" content="en_US">
		<meta name="slack-app-id" content="A049JV0H0KC">
		<link rel="shortcut icon" href="https://zardzhang.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F2af4665c-28f1-4a07-b47b-a34cb4254cec%2F32543949-33fd-47e8-9a3e-b0428826b6cc%2Favatar.png?table=block&id=fd630b2f-f172-4180-89bb-400a7e57bf81&spaceId=2af4665c-28f1-4a07-b47b-a34cb4254cec&width=2000&userId=&cache=v2&imgBuildSrc=pageMetadataIcon"/>
		<link rel="canonical" href="https://zardzhang.notion.site/Zard-Zhang-fd630b2ff172418089bb400a7e57bf81" />
		
		<style> /* cspell:disable-file */ /* webkit printing magic: print all background colors */ html { -webkit-print-color-adjust: exact; } * { box-sizing: border-box; -webkit-print-color-adjust: exact; }  html, body { margin: 0; padding: 0; } @media only screen { body { margin: 2em auto; max-width: 900px; color: rgb(55, 53, 47); } }  body { line-height: 1.5; white-space: pre-wrap; }  a, a.visited { color: inherit; text-decoration: underline; }  .pdf-relative-link-path { font-size: 80%; color: #444; }  h1, h2, h3 { letter-spacing: -0.01em; line-height: 1.2; font-weight: 600; margin-bottom: 0; }  /* Override strong tags inside headings to maintain consistent weight */ h1 strong, h2 strong, h3 strong { font-weight: 600; }  .page-title { font-size: 2.5rem; font-weight: 700; margin-top: 0; margin-bottom: 0.75em; }  h1 { font-size: 1.875rem; margin-top: 1.875rem; }  h2 { font-size: 1.5rem; margin-top: 1.5rem; }  h3 { font-size: 1.25rem; margin-top: 1.25rem; }  .source { border: 1px solid #ddd; border-radius: 3px; padding: 1.5em; word-break: break-all; }  .callout { border-radius: 10px; padding: 1rem; }  figure { margin: 1.25em 0; page-break-inside: avoid; }  figcaption { opacity: 0.5; font-size: 85%; margin-top: 0.5em; }  mark { background-color: transparent; }  .indented { padding-left: 1.5em; }  hr { background: transparent; display: block; width: 100%; height: 1px; visibility: visible; border: none; border-bottom: 1px solid rgba(55, 53, 47, 0.09); }  img { max-width: 100%; }  @media only print { img { max-height: 100vh; object-fit: contain; }  table.collection-content { width: 100%; table-layout: fixed; }  table.collection-content th, table.collection-content td { overflow-wrap: anywhere; }  table.collection-content td > .user, table.collection-content td > time { white-space: pre-wrap; } }  @page { margin: 1in; }  .collection-content-wrapper { overflow-x: auto; }  @media only print { .collection-content-wrapper { overflow-x: visible; } }  .collection-content { font-size: 0.875rem; }  .collection-content td { white-space: pre-wrap; word-break: break-word; }  .column-list { display: flex; gap: 46px; }  .column { min-width: 0; overflow: hidden; }  .column > *:first-child { margin-top: 0; }  .table_of_contents-item { display: block; font-size: 0.875rem; line-height: 1.3; padding: 0.125rem; }  .table_of_contents-indent-1 { margin-left: 1.5rem; }  .table_of_contents-indent-2 { margin-left: 3rem; }  .table_of_contents-indent-3 { margin-left: 4.5rem; }  .table_of_contents-link { text-decoration: none; opacity: 0.7; border-bottom: 1px solid rgba(55, 53, 47, 0.18); }  table, th, td { border: 1px solid rgba(55, 53, 47, 0.09); }  table { border-collapse: collapse; border-left: none; border-right: none; }  th, td { font-weight: normal; padding: 0.25em 0.5em; line-height: 1.5; min-height: 1.5em; text-align: left; }  th { color: rgba(55, 53, 47, 0.6); }  ol, ul { margin: 0; margin-block-start: 0.6em; margin-block-end: 0.6em; }  li > ol:first-child, li > ul:first-child { margin-block-start: 0.6em; }  ul > li { list-style: disc; }  ul.to-do-list { padding-inline-start: 0; }  ul.to-do-list > li { list-style: none; }  .to-do-children-checked { text-decoration: line-through; opacity: 0.375; }  ul.toggle > li { list-style: none; }  ul { padding-inline-start: 1.7em; }  ul > li { padding-left: 0.1em; }  ol { padding-inline-start: 1.6em; }  ol.numbered-list.numbered-list-digits-2 { padding-inline-start: 2em; }  ol.numbered-list.numbered-list-digits-3plus { padding-inline-start: 2.4em; }  ol > li { padding-left: 0.2em; }  .mono ol { padding-inline-start: 2em; }  .mono ol > li { text-indent: -0.4em; }  .toggle { padding-inline-start: 0em; list-style-type: none; }  /* Indent toggle children */ .toggle > li > details { padding-left: 1.7em; }  .toggle > li > details > summary { margin-left: -1.1em; }  .selected-value { display: inline-block; padding: 0 0.5em; background: rgba(206, 205, 202, 0.5); border-radius: 3px; margin-right: 0.5em; margin-top: 0.3em; margin-bottom: 0.3em; white-space: nowrap; }  .collection-title { display: inline-block; margin-right: 1em; }  .page-description { margin-bottom: 2em; }  .simple-table { margin-top: 1em; font-size: 0.875rem; empty-cells: show; } .simple-table td { height: 29px; min-width: 120px; }  .simple-table th { height: 29px; min-width: 120px; }  .simple-table-header-color { background: rgb(247, 246, 243); color: black; } .simple-table-header { font-weight: 500; }  time { opacity: 0.5; }  .icon { display: inline-flex; align-items: center; justify-content: center; max-width: 1.2em; max-height: 1.2em; text-decoration: none; vertical-align: text-bottom; margin-right: 0.5em; }  img.icon { border-radius: 3px; }  .callout img.notion-static-icon { width: 1em; height: 1em; }  .callout p { margin: 0; }  .callout h1, .callout h2, .callout h3 { margin: 0 0 0.6rem; }  .user-icon { width: 1.5em; height: 1.5em; border-radius: 100%; margin-right: 0.5rem; }  .user-icon-inner { font-size: 0.8em; }  .text-icon { border: 1px solid #000; text-align: center; }  .page-cover-image { display: block; object-fit: cover; width: 100%; max-height: 30vh; }  .page-header-icon { font-size: 3rem; margin-bottom: 1rem; }  .page-header-icon-with-cover { margin-top: -0.72em; margin-left: 0.07em; }  .page-header-icon img { border-radius: 3px; }  .link-to-page { margin: 1em 0; padding: 0; border: none; font-weight: 500; }  p > .user { opacity: 0.5; }  td > .user, td > time { white-space: nowrap; }  input[type="checkbox"] { transform: scale(1.5); margin-right: 0.6em; vertical-align: middle; }  p { margin-top: 0.5em; margin-bottom: 0.5em; }  .image { border: none; margin: 1.5em 0; padding: 0; border-radius: 0; text-align: center; }  .code, code { background: rgba(135, 131, 120, 0.15); border-radius: 3px; padding: 0.2em 0.4em; border-radius: 3px; font-size: 85%; tab-size: 2; }  code { color: #eb5757; }  .code { padding: 1.5em 1em; }  .code-wrap { white-space: pre-wrap; word-break: break-all; }  .code > code { background: none; padding: 0; font-size: 100%; color: inherit; }  blockquote { font-size: 1em; margin: 1em 0; padding-left: 1em; border-left: 3px solid rgb(55, 53, 47); }  blockquote.quote-large { font-size: 1.25em; }  .bookmark { text-decoration: none; max-height: 8em; padding: 0; display: flex; width: 100%; align-items: stretch; }  .bookmark-title { font-size: 0.85em; overflow: hidden; text-overflow: ellipsis; height: 1.75em; white-space: nowrap; }  .bookmark-text { display: flex; flex-direction: column; }  .bookmark-info { flex: 4 1 180px; padding: 12px 14px 14px; display: flex; flex-direction: column; justify-content: space-between; }  .bookmark-image { width: 33%; flex: 1 1 180px; display: block; position: relative; object-fit: cover; border-radius: 1px; }  .bookmark-description { color: rgba(55, 53, 47, 0.6); font-size: 0.75em; overflow: hidden; max-height: 4.5em; word-break: break-word; }  .bookmark-href { font-size: 0.75em; margin-top: 0.25em; }  .sans { font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, "Apple Color Emoji", "Noto Sans Arabic", "Noto Sans Hebrew", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol"; } .code { font-family: "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace; } .serif { font-family: Lyon-Text, Georgia, ui-serif, serif; } .mono { font-family: iawriter-mono, Nitti, Menlo, Courier, monospace; } .pdf .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, "Apple Color Emoji", "Noto Sans Arabic", "Noto Sans Hebrew", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK JP'; } .pdf:lang(zh-CN) .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, "Apple Color Emoji", "Noto Sans Arabic", "Noto Sans Hebrew", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK SC'; } .pdf:lang(zh-TW) .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, "Apple Color Emoji", "Noto Sans Arabic", "Noto Sans Hebrew", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK TC'; } .pdf:lang(ko-KR) .sans { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, "Apple Color Emoji", "Noto Sans Arabic", "Noto Sans Hebrew", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol", 'Twemoji', 'Noto Color Emoji', 'Noto Sans CJK KR'; } .pdf .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK JP'; } .pdf:lang(zh-CN) .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK SC'; } .pdf:lang(zh-TW) .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK TC'; } .pdf:lang(ko-KR) .code { font-family: Source Code Pro, "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK KR'; } .pdf .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK JP'; } .pdf:lang(zh-CN) .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK SC'; } .pdf:lang(zh-TW) .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK TC'; } .pdf:lang(ko-KR) .serif { font-family: PT Serif, Lyon-Text, Georgia, ui-serif, serif, 'Twemoji', 'Noto Color Emoji', 'Noto Serif CJK KR'; } .pdf .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK JP'; } .pdf:lang(zh-CN) .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK SC'; } .pdf:lang(zh-TW) .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK TC'; } .pdf:lang(ko-KR) .mono { font-family: PT Mono, iawriter-mono, Nitti, Menlo, Courier, monospace, 'Twemoji', 'Noto Color Emoji', 'Noto Sans Mono CJK KR'; } .highlight-default { color: rgba(44, 44, 43, 1); } .highlight-gray { color: rgba(125, 122, 117, 1); fill: rgba(125, 122, 117, 1); } .highlight-brown { color: rgba(159, 118, 90, 1); fill: rgba(159, 118, 90, 1); } .highlight-orange { color: rgba(210, 123, 45, 1); fill: rgba(210, 123, 45, 1); } .highlight-yellow { color: rgba(203, 148, 52, 1); fill: rgba(203, 148, 52, 1); } .highlight-teal { color: rgba(80, 148, 110, 1); fill: rgba(80, 148, 110, 1); } .highlight-blue { color: rgba(56, 125, 201, 1); fill: rgba(56, 125, 201, 1); } .highlight-purple { color: rgba(154, 107, 180, 1); fill: rgba(154, 107, 180, 1); } .highlight-pink { color: rgba(193, 76, 138, 1); fill: rgba(193, 76, 138, 1); } .highlight-red { color: rgba(207, 81, 72, 1); fill: rgba(207, 81, 72, 1); } .highlight-default_background { color: rgba(44, 44, 43, 1); } .highlight-gray_background { background: rgba(42, 28, 0, 0.07); } .highlight-brown_background { background: rgba(139, 46, 0, 0.086); } .highlight-orange_background { background: rgba(224, 101, 1, 0.129); } .highlight-yellow_background { background: rgba(211, 168, 0, 0.137); } .highlight-teal_background { background: rgba(0, 100, 45, 0.09); } .highlight-blue_background { background: rgba(0, 124, 215, 0.094); } .highlight-purple_background { background: rgba(102, 0, 178, 0.078); } .highlight-pink_background { background: rgba(197, 0, 93, 0.086); } .highlight-red_background { background: rgba(223, 22, 0, 0.094); } .block-color-default { color: inherit; fill: inherit; } .block-color-gray { color: rgba(125, 122, 117, 1); fill: rgba(125, 122, 117, 1); } .block-color-brown { color: rgba(159, 118, 90, 1); fill: rgba(159, 118, 90, 1); } .block-color-orange { color: rgba(210, 123, 45, 1); fill: rgba(210, 123, 45, 1); } .block-color-yellow { color: rgba(203, 148, 52, 1); fill: rgba(203, 148, 52, 1); } .block-color-teal { color: rgba(80, 148, 110, 1); fill: rgba(80, 148, 110, 1); } .block-color-blue { color: rgba(56, 125, 201, 1); fill: rgba(56, 125, 201, 1); } .block-color-purple { color: rgba(154, 107, 180, 1); fill: rgba(154, 107, 180, 1); } .block-color-pink { color: rgba(193, 76, 138, 1); fill: rgba(193, 76, 138, 1); } .block-color-red { color: rgba(207, 81, 72, 1); fill: rgba(207, 81, 72, 1); } .block-color-default_background { color: inherit; fill: inherit; } .block-color-gray_background { background: rgba(240, 239, 237, 1); } .block-color-brown_background { background: rgba(245, 237, 233, 1); } .block-color-orange_background { background: rgba(251, 235, 222, 1); } .block-color-yellow_background { background: rgba(249, 243, 220, 1); } .block-color-teal_background { background: rgba(232, 241, 236, 1); } .block-color-blue_background { background: rgba(229, 242, 252, 1); } .block-color-purple_background { background: rgba(243, 235, 249, 1); } .block-color-pink_background { background: rgba(250, 233, 241, 1); } .block-color-red_background { background: rgba(252, 233, 231, 1); } .select-value-color-default { background-color: rgba(42, 28, 0, 0.07); } .select-value-color-gray { background-color: rgba(28, 19, 1, 0.11); } .select-value-color-brown { background-color: rgba(127, 51, 0, 0.156); } .select-value-color-orange { background-color: rgba(196, 88, 0, 0.203); } .select-value-color-yellow { background-color: rgba(209, 156, 0, 0.282); } .select-value-color-green { background-color: rgba(0, 96, 38, 0.156); } .select-value-color-blue { background-color: rgba(0, 118, 217, 0.203); } .select-value-color-purple { background-color: rgba(92, 0, 163, 0.141); } .select-value-color-pink { background-color: rgba(183, 0, 78, 0.152); } .select-value-color-red { background-color: rgba(206, 24, 0, 0.164); }  .checkbox { display: inline-flex; vertical-align: text-bottom; width: 16; height: 16; background-size: 16px; margin-left: 2px; margin-right: 5px; }  .checkbox-on { background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%2358A9D7%22%2F%3E%0A%3Cpath%20d%3D%22M6.71429%2012.2852L14%204.9995L12.7143%203.71436L6.71429%209.71378L3.28571%206.2831L2%207.57092L6.71429%2012.2852Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E"); }  .checkbox-off { background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%220.75%22%20y%3D%220.75%22%20width%3D%2214.5%22%20height%3D%2214.5%22%20fill%3D%22white%22%20stroke%3D%22%2336352F%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E"); }  </style>
	<style></style></head>
	<body>
		<p>&lt;aside&gt;
📚 不进行研究的投资，就像打扑克从不看牌一样，必然失败。——彼得·林奇</p>
<p>&lt;/aside&gt;</p>
<h1>板块</h1>
<p><a href="https://zardzhang.notion.site/a5eb588df07546f7945787b0fc49babe">板块</a></p>
<h1>About Me</h1>
<p>你好！我是 Zard，专注于 <a href="https://zh.wikipedia.org/wiki/Web3">Web3</a> **热门项目追踪和一级市场投研，时刻学习新技术、新趋势和新概念，偶尔参加行业会议、投研会和项目路演，注重创新、可持续发展和长期增值，追求高质量的项目。</p>
<p>热衷于推动行业生态系统的发展，支持有潜力的创业团队和公司，为他们提供资金、资源和战略指导。</p>
<p><img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/42be0540-274f-4c6f-b88d-c1cf1ebcd4db/profil.png" alt="profil.png"></p>
<p>&lt;aside&gt;
&lt;img src=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/1bbc4d42-e4cf-4ffc-980a-674cfe98ac04/youtube.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/1bbc4d42-e4cf-4ffc-980a-674cfe98ac04/youtube.svg</a>&quot; alt=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/1bbc4d42-e4cf-4ffc-980a-674cfe98ac04/youtube.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/1bbc4d42-e4cf-4ffc-980a-674cfe98ac04/youtube.svg</a>&quot; width=&quot;40px&quot; /&gt; <a href="https://www.youtube.com/@zardzhang"><strong>Youtube</strong></a></p>
<p>&lt;/aside&gt;</p>
<p>&lt;aside&gt;
&lt;img src=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/ecfb00c8-0f53-4735-bab5-f333090bd3ae/twitter-alt.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/ecfb00c8-0f53-4735-bab5-f333090bd3ae/twitter-alt.svg</a>&quot; alt=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/ecfb00c8-0f53-4735-bab5-f333090bd3ae/twitter-alt.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/ecfb00c8-0f53-4735-bab5-f333090bd3ae/twitter-alt.svg</a>&quot; width=&quot;40px&quot; /&gt; <a href="https://x.com/zard_zhang"><strong>Twitter</strong></a></p>
<p>&lt;/aside&gt;</p>
<p>&lt;aside&gt;
&lt;img src=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/90cc5070-6387-4181-a3c1-195c14661d0a/medium.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/90cc5070-6387-4181-a3c1-195c14661d0a/medium.svg</a>&quot; alt=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/90cc5070-6387-4181-a3c1-195c14661d0a/medium.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/90cc5070-6387-4181-a3c1-195c14661d0a/medium.svg</a>&quot; width=&quot;40px&quot; /&gt; <a href="https://medium.com/@zardzhang"><strong>Medium</strong></a></p>
<p>&lt;/aside&gt;</p>
<p>&lt;aside&gt;
&lt;img src=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/0df1efbe-7d2b-402c-8126-472f8575fb8d/telegram.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/0df1efbe-7d2b-402c-8126-472f8575fb8d/telegram.svg</a>&quot; alt=&quot;<a href="https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/0df1efbe-7d2b-402c-8126-472f8575fb8d/telegram.svg">https://prod-files-secure.s3.us-west-2.amazonaws.com/2af4665c-28f1-4a07-b47b-a34cb4254cec/0df1efbe-7d2b-402c-8126-472f8575fb8d/telegram.svg</a>&quot; width=&quot;40px&quot; /&gt; <a href="https://t.me/zardzhang"><strong>Telegram</strong></a></p>
<p>&lt;/aside&gt;</p>

	<div style="display:none">Powered by <a href="http://fruitionsite.com">Fruition</a></div>
      <script>
      window.CONFIG.domainBaseUrl = 'https://zard.me';
      localStorage.__console = true;
      const SLUG_TO_PAGE = {"":"fd630b2ff172418089bb400a7e57bf81"};
      const PAGE_TO_SLUG = {};
      const slugs = [];
      const pages = [];
      const el = document.createElement('div');
      let redirected = false;
      Object.keys(SLUG_TO_PAGE).forEach(slug => {
        const page = SLUG_TO_PAGE[slug];
        slugs.push(slug);
        pages.push(page);
        PAGE_TO_SLUG[page] = slug;
      });
      function getPage() {
        return location.pathname.slice(-32);
      }
      function getSlug() {
        return location.pathname.slice(1);
      }
      function updateSlug() {
        const slug = PAGE_TO_SLUG[getPage()];
        if (slug != null) {
          history.replaceState(history.state, '', '/' + slug);
        }
      }
      function enableConsoleEffectAndSetMode(mode){
        if (__console && !__console.isEnabled) {
          __console.enable();
          window.location.reload();
        } else {
          __console.environment.ThemeStore.setState({ mode: mode });
         localStorage.setItem('newTheme', JSON.stringify({ mode: mode }));
        }
      }
      function onDark() {
        el.innerHTML = '<div title="Change to Light Mode" style="margin-left: 14px; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgb(46, 170, 220); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(12px) translateY(0px);"></div></div></div></div>';
        document.body.classList.add('dark');
        enableConsoleEffectAndSetMode('dark')
      }
      function onLight() {
        el.innerHTML = '<div title="Change to Dark Mode" style="margin-left: 14px; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgba(135, 131, 120, 0.3); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(0px) translateY(0px);"></div></div></div></div>';
        document.body.classList.remove('dark');
        enableConsoleEffectAndSetMode('light')
      }
      function toggle() {
        if (document.body.classList.contains('dark')) {
          onLight();
        } else {
          onDark();
        }
      }
      function addDarkModeButton(device) {
        const nav =
          device === 'web'
            ? document.querySelector('.notion-topbar').firstChild
            : document.querySelector('.notion-topbar-mobile')
        el.className = 'toggle-mode'
        el.addEventListener('click', toggle)
        const timeout = device === 'web' ? 0 : 500
        setTimeout(() => {
          nav.appendChild(el)
        }, timeout)
        // get the current theme and add the toggle to represent that theme
        const currentTheme = JSON.parse(localStorage.getItem('newTheme'))?.mode
        if (currentTheme) {
          if (currentTheme === 'dark') {
            onDark()
          }else{
            onLight()
          }
        } else {
          // enable smart dark mode based on user-preference
          if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
            onDark()
          } else {
            onLight()
          }
        }
        // try to detect if user-preference change
        window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
          toggle()
        })
      }
      const observer = new MutationObserver(function() {
        if (redirected) return;
        const nav = document.querySelector('.notion-topbar');
        const mobileNav = document.querySelector('.notion-topbar-mobile');
        if (nav && nav.firstChild && nav.firstChild.firstChild
          || mobileNav && mobileNav.firstChild) {
          redirected = true;
          updateSlug();
          addDarkModeButton(nav ? 'web' : 'mobile');
          const onpopstate = window.onpopstate;
          window.onpopstate = function() {
            if (slugs.includes(getSlug())) {
              const page = SLUG_TO_PAGE[getSlug()];
              if (page) {
                history.replaceState(history.state, 'bypass', '/' + page);
              }
            }
            onpopstate.apply(this, [].slice.call(arguments));
            updateSlug();
          };
        }
      });
      observer.observe(document.querySelector('#notion-app'), {
        childList: true,
        subtree: true,
      });
      const replaceState = window.history.replaceState;
      window.history.replaceState = function(state) {
        if (arguments[1] !== 'bypass' && slugs.includes(getSlug())) return;
        return replaceState.apply(window.history, arguments);
      };
      const pushState = window.history.pushState;
      window.history.pushState = function(state) {
        const dest = new URL(location.protocol + location.host + arguments[2]);
        const id = dest.pathname.slice(-32);
        if (pages.includes(id)) {
          arguments[2] = '/' + PAGE_TO_SLUG[id];
        }
        return pushState.apply(window.history, arguments);
      };
      const open = window.XMLHttpRequest.prototype.open;
      window.XMLHttpRequest.prototype.open = function() {
        arguments[1] = arguments[1].replace('zard.me', 'www.notion.so');
        return open.apply(this, [].slice.call(arguments));
      };
    </script></body>
</html>
