<!DOCTYPE html>
<html lang="zh"><head><title>标签: CLAUDE.md-公众号：白日梦与诗</title><meta charset="utf-8"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Schibsted Grotesk:wght@400;700&amp;family=Source Sans Pro:ital,wght@0,400;0,600;1,400;1,600&amp;family=IBM Plex Mono:wght@400;600&amp;display=swap"/><link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin="anonymous"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="og:site_name" content="白日梦与诗"/><meta property="og:title" content="标签: CLAUDE.md-公众号：白日梦与诗"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="标签: CLAUDE.md-公众号：白日梦与诗"/><meta name="twitter:description" content="无描述"/><meta property="og:description" content="无描述"/><meta property="og:image:alt" content="无描述"/><meta property="og:image" content="https://blog.brmys.cn/static/og-image.png"/><meta property="og:image:url" content="https://blog.brmys.cn/static/og-image.png"/><meta name="twitter:image" content="https://blog.brmys.cn/static/og-image.png"/><meta property="og:image:type" content="image/.png"/><meta property="twitter:domain" content="blog.brmys.cn"/><meta property="og:url" content="https://blog.brmys.cn/tags/CLAUDE.md"/><meta property="twitter:url" content="https://blog.brmys.cn/tags/CLAUDE.md"/><link rel="icon" href="../static/icon.png"/><meta name="description" content="无描述"/><meta name="generator" content="Quartz"/><link href="../index.css" rel="stylesheet" type="text/css" spa-preserve/><style>.expand-button {
  position: absolute;
  display: flex;
  float: right;
  padding: 0.4rem;
  margin: 0.3rem;
  right: 0;
  color: var(--gray);
  border-color: var(--dark);
  background-color: var(--light);
  border: 1px solid;
  border-radius: 5px;
  opacity: 0;
  transition: 0.2s;
}
.expand-button > svg {
  fill: var(--light);
  filter: contrast(0.3);
}
.expand-button:hover {
  cursor: pointer;
  border-color: var(--secondary);
}
.expand-button:focus {
  outline: 0;
}

pre:hover > .expand-button {
  opacity: 1;
  transition: 0.2s;
}

code.mermaid svg * {
  fill: #000000 !important;
  color: #000000 !important;
}
code.mermaid svg .label text,
code.mermaid svg .nodeLabel,
code.mermaid svg .edgeLabel,
code.mermaid svg .cluster-label text,
code.mermaid svg .flowchartTitleText {
  fill: #000000 !important;
  color: #000000 !important;
}
code.mermaid svg .node rect,
code.mermaid svg .node circle,
code.mermaid svg .node ellipse,
code.mermaid svg .node polygon,
code.mermaid svg .node path {
  fill: #ECECFF !important;
  stroke: #666666 !important;
}
code.mermaid svg .edgePath .path,
code.mermaid svg .flowchart-link,
code.mermaid svg .link {
  stroke: #000000 !important;
  stroke-width: 2px !important;
  fill: none !important;
}
code.mermaid svg .arrowheadPath {
  fill: #000000 !important;
  stroke: #000000 !important;
}
code.mermaid svg .marker {
  fill: #000000 !important;
  stroke: #000000 !important;
}
code.mermaid svg .cluster rect {
  fill: #FFFFDE !important;
  stroke: #666666 !important;
}
code.mermaid svg .cluster text {
  fill: #333300 !important;
  color: #333300 !important;
}
code.mermaid svg .cluster span {
  color: #333300 !important;
}

#mermaid-container {
  position: fixed;
  contain: layout;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  display: none;
  backdrop-filter: blur(4px);
  background: rgba(0, 0, 0, 0.5);
}
#mermaid-container.active {
  display: inline-block;
}
#mermaid-container > #mermaid-space {
  border: 1px solid var(--lightgray);
  background-color: #ECECFF;
  border-radius: 5px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 80vh;
  width: 80vw;
  overflow: hidden;
}
#mermaid-container > #mermaid-space > .mermaid-content {
  padding: 2rem;
  position: relative;
  transform-origin: 0 0;
  transition: transform 0.1s ease;
  overflow: visible;
  min-height: 200px;
  min-width: 200px;
  background-color: #ECECFF;
}
#mermaid-container > #mermaid-space > .mermaid-content pre {
  margin: 0;
  border: none;
}
#mermaid-container > #mermaid-space > .mermaid-content svg {
  max-width: none;
  height: auto;
}
#mermaid-container > #mermaid-space > .mermaid-content svg * {
  fill: #000000 !important;
  color: #000000 !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .label text,
#mermaid-container > #mermaid-space > .mermaid-content svg .nodeLabel,
#mermaid-container > #mermaid-space > .mermaid-content svg .edgeLabel,
#mermaid-container > #mermaid-space > .mermaid-content svg .cluster-label text,
#mermaid-container > #mermaid-space > .mermaid-content svg .flowchartTitleText {
  fill: #000000 !important;
  color: #000000 !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .node rect,
#mermaid-container > #mermaid-space > .mermaid-content svg .node circle,
#mermaid-container > #mermaid-space > .mermaid-content svg .node ellipse,
#mermaid-container > #mermaid-space > .mermaid-content svg .node polygon,
#mermaid-container > #mermaid-space > .mermaid-content svg .node path {
  fill: #ECECFF !important;
  stroke: #666666 !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .edgePath .path,
#mermaid-container > #mermaid-space > .mermaid-content svg .flowchart-link,
#mermaid-container > #mermaid-space > .mermaid-content svg .link {
  stroke: #000000 !important;
  stroke-width: 2px !important;
  fill: none !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .arrowheadPath {
  fill: #000000 !important;
  stroke: #000000 !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .marker {
  fill: #000000 !important;
  stroke: #000000 !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .cluster rect {
  fill: #FFFFDE !important;
  stroke: #666666 !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .cluster text {
  fill: #333300 !important;
  color: #333300 !important;
}
#mermaid-container > #mermaid-space > .mermaid-content svg .cluster span {
  color: #333300 !important;
}
#mermaid-container > #mermaid-space > .mermaid-controls {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;
  gap: 8px;
  padding: 8px;
  background: var(--light);
  border: 1px solid var(--lightgray);
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  z-index: 2;
}
#mermaid-container > #mermaid-space > .mermaid-controls .mermaid-control-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--lightgray);
  background: var(--light);
  color: var(--dark);
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  font-family: var(--bodyFont);
  transition: all 0.2s ease;
}
#mermaid-container > #mermaid-space > .mermaid-controls .mermaid-control-button:hover {
  background: var(--lightgray);
}
#mermaid-container > #mermaid-space > .mermaid-controls .mermaid-control-button:active {
  transform: translateY(1px);
}
#mermaid-container > #mermaid-space > .mermaid-controls .mermaid-control-button:nth-child(2) {
  width: auto;
  padding: 0 12px;
  font-size: 14px;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2Rldi9zaG0vcmVwby9icm15cy1ibG9nLTZoOHRoNWk1OTUvcXVhcnR6L2NvbXBvbmVudHMvc3R5bGVzIiwic291cmNlcyI6WyJtZXJtYWlkLmlubGluZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0E7OztBQU9BO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTs7QUFJRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFJRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRU07RUFDRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBOztBQUlGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi5leHBhbmQtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDAuNHJlbTtcbiAgbWFyZ2luOiAwLjNyZW07XG4gIHJpZ2h0OiAwOyAvLyBOT1RFOiByaWdodCB3aWxsIGJlIHNldCBpbiBtZXJtYWlkLmlubGluZS50c1xuICBjb2xvcjogdmFyKC0tZ3JheSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGFyayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogMC4ycztcblxuICAmID4gc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS1saWdodCk7XG4gICAgZmlsdGVyOiBjb250cmFzdCgwLjMpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxucHJlIHtcbiAgJjpob3ZlciA+IC5leHBhbmQtYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IDAuMnM7XG4gIH1cbn1cblxuLy8g5YWo5bGAbWVybWFpZOagt+W8j1xuY29kZS5tZXJtYWlkIHtcbiAgc3ZnIHtcbiAgICAqIHtcbiAgICAgIGZpbGw6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5sYWJlbCB0ZXh0LFxuICAgIC5ub2RlTGFiZWwsXG4gICAgLmVkZ2VMYWJlbCxcbiAgICAuY2x1c3Rlci1sYWJlbCB0ZXh0LFxuICAgIC5mbG93Y2hhcnRUaXRsZVRleHQge1xuICAgICAgZmlsbDogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLm5vZGUgcmVjdCxcbiAgICAubm9kZSBjaXJjbGUsXG4gICAgLm5vZGUgZWxsaXBzZSxcbiAgICAubm9kZSBwb2x5Z29uLFxuICAgIC5ub2RlIHBhdGgge1xuICAgICAgZmlsbDogI0VDRUNGRiAhaW1wb3J0YW50O1xuICAgICAgc3Ryb2tlOiAjNjY2NjY2ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8vIOi/nuaOpee6v+agt+W8j1xuICAgIC5lZGdlUGF0aCAucGF0aCxcbiAgICAuZmxvd2NoYXJ0LWxpbmssXG4gICAgLmxpbmsge1xuICAgICAgc3Ryb2tlOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBzdHJva2Utd2lkdGg6IDJweCAhaW1wb3J0YW50O1xuICAgICAgZmlsbDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuYXJyb3doZWFkUGF0aCB7XG4gICAgICBmaWxsOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBzdHJva2U6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLm1hcmtlciB7XG4gICAgICBmaWxsOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBzdHJva2U6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLy8gc3ViZ3JhcGjmoLflvI9cbiAgICAuY2x1c3RlciByZWN0IHtcbiAgICAgIGZpbGw6ICNGRkZGREUgIWltcG9ydGFudDtcbiAgICAgIHN0cm9rZTogIzY2NjY2NiAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuY2x1c3RlciB0ZXh0IHtcbiAgICAgIGZpbGw6ICMzMzMzMDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjMzMzMzAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5jbHVzdGVyIHNwYW4ge1xuICAgICAgY29sb3I6ICMzMzMzMDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuI21lcm1haWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBjb250YWluOiBsYXlvdXQ7XG4gIHotaW5kZXg6IDk5OTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cbiAgJi5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICYgPiAjbWVybWFpZC1zcGFjZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlnaHRncmF5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0ZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGhlaWdodDogODB2aDtcbiAgICB3aWR0aDogODB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgJiA+IC5tZXJtYWlkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0ZGO1xuXG4gICAgICAgIHByZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBcbiAgICAgICAgICAvLyDlvLrliLborr7nva5tZXJtYWlk5a2X5L2T6aKc6ImyXG4gICAgICAgICAgKiB7XG4gICAgICAgICAgICBmaWxsOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAubGFiZWwgdGV4dCxcbiAgICAgICAgICAubm9kZUxhYmVsLFxuICAgICAgICAgIC5lZGdlTGFiZWwsXG4gICAgICAgICAgLmNsdXN0ZXItbGFiZWwgdGV4dCxcbiAgICAgICAgICAuZmxvd2NoYXJ0VGl0bGVUZXh0IHtcbiAgICAgICAgICAgIGZpbGw6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC5ub2RlIHJlY3QsXG4gICAgICAgICAgLm5vZGUgY2lyY2xlLFxuICAgICAgICAgIC5ub2RlIGVsbGlwc2UsXG4gICAgICAgICAgLm5vZGUgcG9seWdvbixcbiAgICAgICAgICAubm9kZSBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICNFQ0VDRkYgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHN0cm9rZTogIzY2NjY2NiAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAvLyDov57mjqXnur/moLflvI9cbiAgICAgICAgICAuZWRnZVBhdGggLnBhdGgsXG4gICAgICAgICAgLmZsb3djaGFydC1saW5rLFxuICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgIHN0cm9rZTogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZpbGw6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLmFycm93aGVhZFBhdGgge1xuICAgICAgICAgICAgZmlsbDogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3Ryb2tlOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC5tYXJrZXIge1xuICAgICAgICAgICAgZmlsbDogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3Ryb2tlOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC8vIHN1YmdyYXBo5qC35byPXG4gICAgICAgICAgLmNsdXN0ZXIgcmVjdCB7XG4gICAgICAgICAgICBmaWxsOiAjRkZGRkRFICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBzdHJva2U6ICM2NjY2NjYgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLmNsdXN0ZXIgdGV4dCB7XG4gICAgICAgICAgICBmaWxsOiAjMzMzMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzMzMzMwMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAuY2x1c3RlciBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAmID4gLm1lcm1haWQtY29udHJvbHMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWdodGdyYXkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIC5tZXJtYWlkLWNvbnRyb2wtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0Z3JheSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWRhcmspO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tYm9keUZvbnQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0Z3JheSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdHlsZSB0aGUgcmVzZXQgYnV0dG9uIGRpZmZlcmVudGx5XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */</style><link href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><script src="../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch("../static/contentIndex.json").then(data => data.json())</script><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="https://blog.brmys.cn/index.xml"/></head><body data-slug="tags/CLAUDE.md"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><div class="page-title-container"><div class="avatar-title-row"><div class="avatar-container"><img src="/static/icon.png" alt="头像" class="avatar"/></div><h2 class="page-title"><a href="..">白日梦与诗</a></h2></div><div class="subtitle">林深时见鹿，海蓝深见鲸</div></div><div class="spacer mobile-only"></div><div class="flex-component" style="flex-direction: row; flex-wrap: nowrap; gap: 1rem;"><div style="flex-grow: 1; flex-shrink: 1; flex-basis: auto; order: 0; align-self: center; justify-self: center;"><div class="search"><button class="search-button"><p>搜索</p><svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title>Search</title><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></button><div class="search-container"><div class="search-space"><input autocomplete="off" class="search-bar" name="search" type="text" aria-label="搜索些什么" placeholder="搜索些什么"/><div class="search-layout" data-preview="true"></div></div></div></div></div><div style="flex-grow: 0; flex-shrink: 1; flex-basis: auto; order: 0; align-self: center; justify-self: center;"><button class="darkmode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" class="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35" xml:space="preserve" aria-label="暗色模式"><title>暗色模式</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5    S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5    C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6    C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9    c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44    l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5    c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06    L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z     M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2    C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29    c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7    C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5    c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,25z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" class="nightIcon" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100" xml:space="preserve" aria-label="亮色模式"><title>亮色模式</title><path d="M96.76,66.458c-0.853-0.852-2.15-1.064-3.23-0.534c-6.063,2.991-12.858,4.571-19.655,4.571  C62.022,70.495,50.88,65.88,42.5,57.5C29.043,44.043,25.658,23.536,34.076,6.47c0.532-1.08,0.318-2.379-0.534-3.23  c-0.851-0.852-2.15-1.064-3.23-0.534c-4.918,2.427-9.375,5.619-13.246,9.491c-9.447,9.447-14.65,22.008-14.65,35.369  c0,13.36,5.203,25.921,14.65,35.368s22.008,14.65,35.368,14.65c13.361,0,25.921-5.203,35.369-14.65  c3.872-3.871,7.064-8.328,9.491-13.246C97.826,68.608,97.611,67.309,96.76,66.458z"></path></svg></button></div></div><div class="explorer" data-behavior="link" data-collapsed="collapsed" data-savestate="true" data-data-fns="{&quot;order&quot;:[&quot;filter&quot;,&quot;map&quot;,&quot;sort&quot;],&quot;sortFn&quot;:&quot;(a,b)=>!a.isFolder&amp;&amp;!b.isFolder||a.isFolder&amp;&amp;b.isFolder?a.displayName.localeCompare(b.displayName,void 0,{numeric:!0,sensitivity:\&quot;base\&quot;}):!a.isFolder&amp;&amp;b.isFolder?1:-1&quot;,&quot;filterFn&quot;:&quot;node=>node.slugSegment!==\&quot;tags\&quot;&quot;,&quot;mapFn&quot;:&quot;node=>node&quot;}"><button type="button" class="explorer-toggle mobile-explorer hide-until-loaded" data-mobile="true" aria-controls="explorer-78"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-menu"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button><button type="button" class="title-button explorer-toggle desktop-explorer" data-mobile="false" aria-expanded="true"><h2>探索</h2><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-78" class="explorer-content" aria-expanded="false" role="group"><ul class="explorer-ul overflow" id="list-3"><li class="overflow-end"></li></ul></div><template id="template-file"><li><a href="#"></a></li></template><template id="template-folder"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div><button class="folder-button"><span class="folder-title"></span></button></div></div><div class="folder-outer"><ul class="content"></ul></div></li></template></div></div><div class="center"><div class="page-header"><div class="popover-hint"><h1 class="article-title">标签: CLAUDE.md</h1><div class="header-underline"></div></div></div><div class="popover-hint"><article class></article><div class="page-listing"><p>此标签下有1条笔记。</p><div><ul class="section-ul"><li class="section-li"><div class="section"><p class="meta"><time datetime="2026-03-06T08:33:36.000Z">2026年3月06日</time></p><div class="desc"><h3><a href="../1-Article/AI/AI碎片教程/用-Claude-Code-接-GPT-5.4-中转站：为什么能用，CLAUDE.md-和记忆还是否有效？" class="internal">用 Claude Code 接 GPT-5.4 中转站：为什么能用，CLAUDE.md 和记忆还是否有效？</a></h3></div><ul class="tags"><li><a class="internal tag-link" href="../tags/Claude-Code">Claude-Code</a></li><li><a class="internal tag-link" href="../tags/cc-switch">cc-switch</a></li><li><a class="internal tag-link" href="../tags/GPT-5.4">GPT-5.4</a></li><li><a class="internal tag-link" href="../tags/中转站">中转站</a></li><li><a class="internal tag-link" href="../tags/CLAUDE.md">CLAUDE.md</a></li><li><a class="internal tag-link" href="../tags/Memory">Memory</a></li><li><a class="internal tag-link" href="../tags/Skills">Skills</a></li></ul></div></li></ul></div></div></div><hr/><div class="page-footer"><div class="comments-wrapper" data-default-provider="waline"><div class="comments-toggle"><label><input type="radio" name="comments-provider" value="waline" checked/> Waline</label><label style="margin-left: 1rem;"><input type="radio" name="comments-provider" value="giscus"/> Giscus</label></div><div class="comments-container"><div id="waline" class="waline" data-server-url="https://cm.brmys.top/" data-lang="zh-CN"></div><div class="giscus" data-repo="brmysss/test-comment" data-repo-id="R_kgDOM7QF1w" data-category="Announcements" data-category-id="DIC_kwDOM7QF184CjC-b" data-mapping="pathname" data-strict="0" data-reactions-enabled="1" data-input-position="bottom" data-light-theme="light" data-dark-theme="dark" data-theme-url="https://giscus.app/themes" data-lang="zh-CN"></div></div></div></div></div><div class="right sidebar"></div><footer class><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v4.5.1</a> © 2026</p><ul><li><a href="https://c.brmys.cn/c">💬 碎碎念</a></li><li><a href="https://www.brmys.top">Notion博客</a></li><li><a href>公众号「白日梦与诗」</a></li><li><a href="/index.xml" class="rss-link" title="RSS订阅" id="rss-link"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor"><path d="M2.13 11.733c-1.175 0-2.13.958-2.13 2.132 0 1.174.955 2.132 2.13 2.132 1.175 0 2.13-.958 2.13-2.132 0-1.174-.955-2.132-2.13-2.132zM.005 5.436v3.067c1.997 0 3.874.781 5.288 2.196A7.45 7.45 0 0 1 7.49 15.4h3.08c0-5.825-4.739-10.564-10.565-10.564zM.012 0v3.068C7.72 3.068 13.954 9.301 13.954 17.007h3.08C17.034 7.732 10.284.982.012.982z"></path></svg></a></li></ul><div class="footer-site-badge"><div id="site-badge" class="site-badge is-minimal is-center"><div class="site-badge__line" style="margin-bottom: 0;"><span id="site-age">站龄 -- 天</span><span class="site-badge__sep">｜</span><span>文章 <span id="site-posts">--</span> 篇</span><span class="site-badge__sep">｜</span><span>累计 <span id="site-words">--</span> 字</span></div></div></div><script>
            (function(){
              function formatNumber(n){
                try { return new Intl.NumberFormat('zh-CN').format(n) } catch { return String(n) }
              }
              function calcAgeDays(sinceIso){
                var since = new Date('2025-08-14T00:00:00.000Z').getTime();
                var now = Date.now();
                var days = Math.floor((now - since) / (1000*60*60*24));
                return days < 0 ? 0 : days;
              }
              var ageEl = document.getElementById('site-age');
              var postsEl = document.getElementById('site-posts');
              var wordsEl = document.getElementById('site-words');
              if (ageEl) ageEl.textContent = '站龄 ' + calcAgeDays('2025-08-14T00:00:00.000Z') + ' 天';
              fetch('/static/siteStats.json').then(function(r){return r.json()}).then(function(d){
                if (postsEl && typeof d.totalNotes === 'number') postsEl.textContent = formatNumber(d.totalNotes);
                if (wordsEl && typeof d.totalChars === 'number') wordsEl.textContent = formatNumber(d.totalChars);
              }).catch(function(){ /* noop */ });
            })();
          </script><script>
            // 动态更新RSS链接为当前域名
            (function() {
              const rssLink = document.getElementById('rss-link');
              if (rssLink) {
                const currentOrigin = window.location.origin;
                rssLink.href = currentOrigin + '/index.xml';
              }
            })();
          </script></footer></div></div></body><script type="application/javascript">var m=Object.create;var f=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var j=(t,e,n,E)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of S(e))!b.call(t,i)&&i!==n&&f(t,i,{get:()=>e[i],enumerable:!(E=x(e,i))||E.enumerable});return t};var w=(t,e,n)=>(n=t!=null?m(y(t)):{},j(e||!t||!t.__esModule?f(n,"default",{value:t,enumerable:!0}):n,t));var p=R((I,g)=>{"use strict";g.exports=L;function B(t){return t instanceof Buffer?Buffer.from(t):new t.constructor(t.buffer.slice(),t.byteOffset,t.length)}function L(t){if(t=t||{},t.circles)return v(t);let e=new Map;if(e.set(Date,F=>new Date(F)),e.set(Map,(F,l)=>new Map(E(Array.from(F),l))),e.set(Set,(F,l)=>new Set(E(Array.from(F),l))),t.constructorHandlers)for(let F of t.constructorHandlers)e.set(F[0],F[1]);let n=null;return t.proto?o:i;function E(F,l){let u=Object.keys(F),D=new Array(u.length);for(let s=0;s<u.length;s++){let r=u[s],A=F[r];typeof A!="object"||A===null?D[r]=A:A.constructor!==Object&&(n=e.get(A.constructor))?D[r]=n(A,l):ArrayBuffer.isView(A)?D[r]=B(A):D[r]=l(A)}return D}function i(F){if(typeof F!="object"||F===null)return F;if(Array.isArray(F))return E(F,i);if(F.constructor!==Object&&(n=e.get(F.constructor)))return n(F,i);let l={};for(let u in F){if(Object.hasOwnProperty.call(F,u)===!1)continue;let D=F[u];typeof D!="object"||D===null?l[u]=D:D.constructor!==Object&&(n=e.get(D.constructor))?l[u]=n(D,i):ArrayBuffer.isView(D)?l[u]=B(D):l[u]=i(D)}return l}function o(F){if(typeof F!="object"||F===null)return F;if(Array.isArray(F))return E(F,o);if(F.constructor!==Object&&(n=e.get(F.constructor)))return n(F,o);let l={};for(let u in F){let D=F[u];typeof D!="object"||D===null?l[u]=D:D.constructor!==Object&&(n=e.get(D.constructor))?l[u]=n(D,o):ArrayBuffer.isView(D)?l[u]=B(D):l[u]=o(D)}return l}}function v(t){let e=[],n=[],E=new Map;if(E.set(Date,u=>new Date(u)),E.set(Map,(u,D)=>new Map(o(Array.from(u),D))),E.set(Set,(u,D)=>new Set(o(Array.from(u),D))),t.constructorHandlers)for(let u of t.constructorHandlers)E.set(u[0],u[1]);let i=null;return t.proto?l:F;function o(u,D){let s=Object.keys(u),r=new Array(s.length);for(let A=0;A<s.length;A++){let c=s[A],C=u[c];if(typeof C!="object"||C===null)r[c]=C;else if(C.constructor!==Object&&(i=E.get(C.constructor)))r[c]=i(C,D);else if(ArrayBuffer.isView(C))r[c]=B(C);else{let a=e.indexOf(C);a!==-1?r[c]=n[a]:r[c]=D(C)}}return r}function F(u){if(typeof u!="object"||u===null)return u;if(Array.isArray(u))return o(u,F);if(u.constructor!==Object&&(i=E.get(u.constructor)))return i(u,F);let D={};e.push(u),n.push(D);for(let s in u){if(Object.hasOwnProperty.call(u,s)===!1)continue;let r=u[s];if(typeof r!="object"||r===null)D[s]=r;else if(r.constructor!==Object&&(i=E.get(r.constructor)))D[s]=i(r,F);else if(ArrayBuffer.isView(r))D[s]=B(r);else{let A=e.indexOf(r);A!==-1?D[s]=n[A]:D[s]=F(r)}}return e.pop(),n.pop(),D}function l(u){if(typeof u!="object"||u===null)return u;if(Array.isArray(u))return o(u,l);if(u.constructor!==Object&&(i=E.get(u.constructor)))return i(u,l);let D={};e.push(u),n.push(D);for(let s in u){let r=u[s];if(typeof r!="object"||r===null)D[s]=r;else if(r.constructor!==Object&&(i=E.get(r.constructor)))D[s]=i(r,l);else if(ArrayBuffer.isView(r))D[s]=B(r);else{let A=e.indexOf(r);A!==-1?D[s]=n[A]:D[s]=l(r)}}return e.pop(),n.pop(),D}}});var T=Object.hasOwnProperty;var h=w(p(),1),O=(0,h.default)();function d(t){return t.document.body.dataset.slug}var k=t=>`${d(window)}-checkbox-${t}`;document.addEventListener("nav",()=>{document.querySelectorAll("input.checkbox-toggle").forEach((e,n)=>{let E=k(n),i=o=>{let F=o.target?.checked?"true":"false";localStorage.setItem(E,F)};e.addEventListener("change",i),window.addCleanup(()=>e.removeEventListener("change",i)),localStorage.getItem(E)==="true"&&(e.checked=!0)})});
</script><script type="application/javascript">function n(){let t=this.parentElement;t.classList.toggle("is-collapsed");let e=t.getElementsByClassName("callout-content")[0];if(!e)return;let l=t.classList.contains("is-collapsed");e.style.gridTemplateRows=l?"0fr":"1fr"}function c(){let t=document.getElementsByClassName("callout is-collapsible");for(let e of t){let l=e.getElementsByClassName("callout-title")[0],s=e.getElementsByClassName("callout-content")[0];if(!l||!s)continue;l.addEventListener("click",n),window.addCleanup(()=>l.removeEventListener("click",n));let o=e.classList.contains("is-collapsed");s.style.gridTemplateRows=o?"0fr":"1fr"}}document.addEventListener("nav",c);
</script><script type="module">function F(a,e){if(!a)return;function n(o){o.target===this&&(o.preventDefault(),o.stopPropagation(),e())}function t(o){o.key.startsWith("Esc")&&(o.preventDefault(),e())}a?.addEventListener("click",n),window.addCleanup(()=>a?.removeEventListener("click",n)),document.addEventListener("keydown",t),window.addCleanup(()=>document.removeEventListener("keydown",t))}function E(a){for(;a.firstChild;)a.removeChild(a.firstChild)}var u=class{constructor(e,n){this.container=e;this.content=n;this.setupEventListeners(),this.setupNavigationControls(),this.resetTransform()}isDragging=!1;startPan={x:0,y:0};currentPan={x:0,y:0};scale=1;MIN_SCALE=.5;MAX_SCALE=3;cleanups=[];setupEventListeners(){let e=this.onMouseDown.bind(this),n=this.onMouseMove.bind(this),t=this.onMouseUp.bind(this),o=this.resetTransform.bind(this);this.container.addEventListener("mousedown",e),document.addEventListener("mousemove",n),document.addEventListener("mouseup",t),window.addEventListener("resize",o),this.cleanups.push(()=>this.container.removeEventListener("mousedown",e),()=>document.removeEventListener("mousemove",n),()=>document.removeEventListener("mouseup",t),()=>window.removeEventListener("resize",o))}cleanup(){for(let e of this.cleanups)e()}setupNavigationControls(){let e=document.createElement("div");e.className="mermaid-controls";let n=this.createButton("+",()=>this.zoom(.1)),t=this.createButton("-",()=>this.zoom(-.1)),o=this.createButton("Reset",()=>this.resetTransform());e.appendChild(t),e.appendChild(o),e.appendChild(n),this.container.appendChild(e)}createButton(e,n){let t=document.createElement("button");return t.textContent=e,t.className="mermaid-control-button",t.addEventListener("click",n),window.addCleanup(()=>t.removeEventListener("click",n)),t}onMouseDown(e){e.button===0&&(this.isDragging=!0,this.startPan={x:e.clientX-this.currentPan.x,y:e.clientY-this.currentPan.y},this.container.style.cursor="grabbing")}onMouseMove(e){this.isDragging&&(e.preventDefault(),this.currentPan={x:e.clientX-this.startPan.x,y:e.clientY-this.startPan.y},this.updateTransform())}onMouseUp(){this.isDragging=!1,this.container.style.cursor="grab"}zoom(e){let n=Math.min(Math.max(this.scale+e,this.MIN_SCALE),this.MAX_SCALE),t=this.content.getBoundingClientRect(),o=t.width/2,i=t.height/2,l=n-this.scale;this.currentPan.x-=o*l,this.currentPan.y-=i*l,this.scale=n,this.updateTransform()}updateTransform(){this.content.style.transform=`translate(${this.currentPan.x}px, ${this.currentPan.y}px) scale(${this.scale})`}resetTransform(){this.scale=1;let e=this.content.querySelector("svg");this.currentPan={x:e.getBoundingClientRect().width/2,y:e.getBoundingClientRect().height/2},this.updateTransform()}},f=["--secondary","--tertiary","--gray","--light","--lightgray","--highlight","--dark","--darkgray","--codeFont"],B;document.addEventListener("nav",async()=>{let e=document.querySelector(".center").querySelectorAll("code.mermaid");if(e.length===0)return;B||=await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/11.4.0/mermaid.esm.min.mjs");let n=B.default,t=new WeakMap;for(let i of e)t.set(i,i.innerText);async function o(){for(let r of e){r.removeAttribute("data-processed");let s=t.get(r);s&&(r.innerHTML=s)}let i=f.reduce((r,s)=>(r[s]=window.getComputedStyle(document.documentElement).getPropertyValue(s),r),{}),l=document.documentElement.getAttribute("saved-theme")==="dark";n.initialize({startOnLoad:!1,securityLevel:"loose",theme:"base",themeVariables:{fontFamily:i["--codeFont"],primaryColor:"#ECECFF",primaryTextColor:"#000000",primaryBorderColor:"#666666",lineColor:"#000000",secondaryColor:"#ECECFF",tertiaryColor:"#CCCCFF",edgeLabelColor:"#000000",linkColor:"#000000",linkTextColor:"#000000",linkBorderColor:"#000000",linkBorderWidth:"2px",linkOpacity:"1",linkStrokeWidth:"2px",linkStrokeColor:"#000000",linkStrokeOpacity:"1",linkStrokeDasharray:"0",linkStrokeDashoffset:"0",linkStrokeLinecap:"butt",linkStrokeLinejoin:"miter",linkStrokeMiterlimit:"4",clusterBkg:"#FFFFDE",clusterBorder:"#666666",clusterTextColor:"#333300",edgeLabelBackground:"#FFFFFF",nodeTextColor:"#000000",labelBackground:"#ECECFF",labelTextColor:"#000000",loopTextColor:"#000000",noteTextColor:"#000000",noteBkgColor:"#ECECFF",noteBorderColor:"#666666",messageTextColor:"#000000",messageBkgColor:"#ECECFF",messageBorderColor:"#666666",actorTextColor:"#000000",actorBkgColor:"#ECECFF",actorBorderColor:"#666666",signalTextColor:"#000000",signalBkgColor:"#ECECFF",signalBorderColor:"#666666",classTextColor:"#000000",classBkgColor:"#ECECFF",classBorderColor:"#666666",stateTextColor:"#000000",stateBkgColor:"#ECECFF",stateBorderColor:"#666666",sectionBkgColor:"#ECECFF",sectionBkgColor2:"#DCDCFF",errorBkgColor:"#FFECEC",errorTextColor:"#000000",git0:"#ECECFF",git1:"#DCDCFF",git2:"#CCCCFF",git3:"#BBBBFF",git4:"#AAAAFF",git5:"#9999FF",git6:"#8888FF",git7:"#7777FF",gitBranchLabel0:"#000000",gitBranchLabel1:"#000000",gitBranchLabel2:"#000000",gitBranchLabel3:"#000000",gitBranchLabel4:"#000000",gitBranchLabel5:"#000000",gitBranchLabel6:"#000000",gitBranchLabel7:"#000000",textColor:"#000000",fontSize:"16px",fontColor:"#000000",mainBkg:"#ECECFF",mainBkgColor:"#ECECFF",mainBkgColor2:"#DCDCFF",mainBkgColor3:"#CCCCFF",mainBkgColor4:"#BBBBFF",mainBkgColor5:"#AAAAFF",mainBkgColor6:"#9999FF",mainBkgColor7:"#8888FF",mainBkgColor8:"#7777FF",mainBkgColor9:"#6666FF",mainBkgColor10:"#5555FF",mainBkgColor11:"#4444FF",mainBkgColor12:"#3333FF",mainBkgColor13:"#2222FF",mainBkgColor14:"#1111FF",mainBkgColor15:"#0000FF",mainBkgColor16:"#0000EE",mainBkgColor17:"#0000DD",mainBkgColor18:"#0000CC",mainBkgColor19:"#0000BB",mainBkgColor20:"#0000AA",mainBkgColor21:"#000099",mainBkgColor22:"#000088",mainBkgColor23:"#000077",mainBkgColor24:"#000066",mainBkgColor25:"#000055",mainBkgColor26:"#000044",mainBkgColor27:"#000033",mainBkgColor28:"#000022",mainBkgColor29:"#000011",mainBkgColor30:"#000000"}}),await n.run({nodes:e})}await o(),document.addEventListener("themechange",o),window.addCleanup(()=>document.removeEventListener("themechange",o));for(let i=0;i<e.length;i++){let h=function(){let p=c.querySelector("#mermaid-space"),C=c.querySelector(".mermaid-content");if(!C)return;E(C);let L=l.querySelector("svg").cloneNode(!0);C.appendChild(L),c.classList.add("active"),p.style.cursor="grab",m=new u(p,C)},v=function(){c.classList.remove("active"),m?.cleanup(),m=null},l=e[i],r=l.parentElement,s=r.querySelector(".clipboard-button"),d=r.querySelector(".expand-button"),g=window.getComputedStyle(s),k=s.offsetWidth+parseFloat(g.marginLeft||"0")+parseFloat(g.marginRight||"0");d.style.right=`calc(${k}px + 0.3rem)`,r.prepend(d);let c=r.querySelector("#mermaid-container");if(!c)return;let m=null;d.addEventListener("click",h),F(c,v),window.addCleanup(()=>{m?.cleanup(),d.removeEventListener("click",h)})}});
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../postscript.js" type="module"></script></html>