{
 "type": "n2",
 "font": "Pretendard",
 "bg": "#ffffff",
 "nodes": [
  {
   "id": "n0",
   "k": "rect",
   "x": 120,
   "y": 110,
   "w": 200,
   "h": 110,
   "label": "통합 (main)",
   "shaded": 1,
   "sc": "#1a1a1a",
   "tc": "#1a1a1a"
  },
  {
   "id": "n1",
   "k": "rect",
   "x": 320,
   "y": 110,
   "w": 200,
   "h": 110,
   "label": "빈 버퍼",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n2",
   "k": "rect",
   "x": 520,
   "y": 110,
   "w": 200,
   "h": 110,
   "label": "버퍼 소유권 규칙",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n3",
   "k": "rect",
   "x": 720,
   "y": 110,
   "w": 200,
   "h": 110,
   "label": "Flash에서 읽은 행",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n4",
   "k": "rect",
   "x": 120,
   "y": 220,
   "w": 200,
   "h": 110,
   "label": "청크 도착 이벤트\n송신 큐",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n5",
   "k": "rect",
   "x": 320,
   "y": 220,
   "w": 200,
   "h": 110,
   "label": "UART 드라이버",
   "shaded": 1,
   "sc": "#1a1a1a",
   "tc": "#1a1a1a"
  },
  {
   "id": "n6",
   "k": "rect",
   "x": 520,
   "y": 220,
   "w": 200,
   "h": 110,
   "label": "—",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n7",
   "k": "rect",
   "x": 720,
   "y": 220,
   "w": 200,
   "h": 110,
   "label": "—",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n8",
   "k": "rect",
   "x": 120,
   "y": 330,
   "w": 200,
   "h": 110,
   "label": "flash_write / flash_read\n저장 완료 신호",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n9",
   "k": "rect",
   "x": 320,
   "y": 330,
   "w": 200,
   "h": 110,
   "label": "—",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n10",
   "k": "rect",
   "x": 520,
   "y": 330,
   "w": 200,
   "h": 110,
   "label": "Flash 드라이버",
   "shaded": 1,
   "sc": "#1a1a1a",
   "tc": "#1a1a1a"
  },
  {
   "id": "n11",
   "k": "rect",
   "x": 720,
   "y": 330,
   "w": 200,
   "h": 110,
   "label": "—",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n12",
   "k": "rect",
   "x": 120,
   "y": 440,
   "w": 200,
   "h": 110,
   "label": "gray_row\n검증 결과",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n13",
   "k": "rect",
   "x": 320,
   "y": 440,
   "w": 200,
   "h": 110,
   "label": "—",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n14",
   "k": "rect",
   "x": 520,
   "y": 440,
   "w": 200,
   "h": 110,
   "label": "—",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  },
  {
   "id": "n15",
   "k": "rect",
   "x": 720,
   "y": 440,
   "w": 200,
   "h": 110,
   "label": "BMP / Gray",
   "shaded": 1,
   "sc": "#1a1a1a",
   "tc": "#1a1a1a"
  },
  {
   "id": "n16",
   "k": "text",
   "x": 120,
   "y": 630,
   "w": 340,
   "h": 18,
   "label": "행 → 열 : 행 모듈이 열 모듈에 제공",
   "tc": "#1a1a1a"
  },
  {
   "id": "n17",
   "k": "note",
   "x": 620,
   "y": 590,
   "w": 300,
   "h": 110,
   "label": "경계 규칙 4\n1. 함수 입출력\n2. 완료 신호\n3. 버퍼 반환 시점\n4. 오류 처리 주체",
   "sc": "#1a1a1a",
   "fc": "#ffffff",
   "tc": "#1a1a1a"
  }
 ],
 "edges": []
}