{
  "graph": {
    "name": "",
    "isFolderOnly": false,
    "ast": {
      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,0:0:0-16:0:306",
      "nodes": [
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile/classes.d2,0:0:0-10:1:146",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,0:0:0-0:7:7",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,0:0:0-0:7:7",
                    "value": [
                      {
                        "string": "classes",
                        "raw_string": "classes"
                      }
                    ]
                  }
                }
              ]
            },
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,0:9:9-10:1:146",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,1:2:13-5:3:86",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,1:2:13-1:13:24",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,1:2:13-1:13:24",
                              "value": [
                                {
                                  "string": "dragon_ball",
                                  "raw_string": "dragon_ball"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "map": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,1:15:26-5:3:86",
                          "nodes": [
                            {
                              "map_key": {
                                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,2:4:32-2:13:41",
                                "key": {
                                  "range": "d2/testdata/d2compiler/TestCompile/classes.d2,2:4:32-2:9:37",
                                  "path": [
                                    {
                                      "unquoted_string": {
                                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,2:4:32-2:9:37",
                                        "value": [
                                          {
                                            "string": "label",
                                            "raw_string": "label"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                },
                                "primary": {},
                                "value": {
                                  "double_quoted_string": {
                                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,2:11:39-2:13:41",
                                    "value": null
                                  }
                                }
                              }
                            },
                            {
                              "map_key": {
                                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,3:4:46-3:17:59",
                                "key": {
                                  "range": "d2/testdata/d2compiler/TestCompile/classes.d2,3:4:46-3:9:51",
                                  "path": [
                                    {
                                      "unquoted_string": {
                                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,3:4:46-3:9:51",
                                        "value": [
                                          {
                                            "string": "shape",
                                            "raw_string": "shape"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                },
                                "primary": {},
                                "value": {
                                  "unquoted_string": {
                                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,3:11:53-3:17:59",
                                    "value": [
                                      {
                                        "string": "circle",
                                        "raw_string": "circle"
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "map_key": {
                                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,4:4:64-4:22:82",
                                "key": {
                                  "range": "d2/testdata/d2compiler/TestCompile/classes.d2,4:4:64-4:14:74",
                                  "path": [
                                    {
                                      "unquoted_string": {
                                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,4:4:64-4:9:69",
                                        "value": [
                                          {
                                            "string": "style",
                                            "raw_string": "style"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "unquoted_string": {
                                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,4:10:70-4:14:74",
                                        "value": [
                                          {
                                            "string": "fill",
                                            "raw_string": "fill"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                },
                                "primary": {},
                                "value": {
                                  "unquoted_string": {
                                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,4:16:76-4:22:82",
                                    "value": [
                                      {
                                        "string": "orange",
                                        "raw_string": "orange"
                                      }
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,6:2:89-9:3:144",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,6:2:89-6:6:93",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,6:2:89-6:6:93",
                              "value": [
                                {
                                  "string": "path",
                                  "raw_string": "path"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "map": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,6:8:95-9:3:144",
                          "nodes": [
                            {
                              "map_key": {
                                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,7:4:101-7:17:114",
                                "key": {
                                  "range": "d2/testdata/d2compiler/TestCompile/classes.d2,7:4:101-7:9:106",
                                  "path": [
                                    {
                                      "unquoted_string": {
                                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,7:4:101-7:9:106",
                                        "value": [
                                          {
                                            "string": "label",
                                            "raw_string": "label"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                },
                                "primary": {},
                                "value": {
                                  "double_quoted_string": {
                                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,7:11:108-7:17:114",
                                    "value": [
                                      {
                                        "string": "then",
                                        "raw_string": "then"
                                      }
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "map_key": {
                                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,8:4:119-8:25:140",
                                "key": {
                                  "range": "d2/testdata/d2compiler/TestCompile/classes.d2,8:4:119-8:22:137",
                                  "path": [
                                    {
                                      "unquoted_string": {
                                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,8:4:119-8:9:124",
                                        "value": [
                                          {
                                            "string": "style",
                                            "raw_string": "style"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "unquoted_string": {
                                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,8:10:125-8:22:137",
                                        "value": [
                                          {
                                            "string": "stroke-width",
                                            "raw_string": "stroke-width"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                },
                                "primary": {},
                                "value": {
                                  "number": {
                                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,8:24:139-8:25:140",
                                    "raw": "4",
                                    "value": "4"
                                  }
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:0:147-11:30:177",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:0:147-11:6:153",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:0:147-11:6:153",
                    "value": [
                      {
                        "string": "nostar",
                        "raw_string": "nostar"
                      }
                    ]
                  }
                }
              ]
            },
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:8:155-11:30:177",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:10:157-11:29:176",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:10:157-11:15:162",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:10:157-11:15:162",
                              "value": [
                                {
                                  "string": "class",
                                  "raw_string": "class"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:17:164-11:28:175",
                          "value": [
                            {
                              "string": "dragon_ball",
                              "raw_string": "dragon_ball"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:0:178-12:50:228",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:0:178-12:5:183",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:0:178-12:5:183",
                    "value": [
                      {
                        "string": "1star",
                        "raw_string": "1star"
                      }
                    ]
                  }
                }
              ]
            },
            "primary": {
              "double_quoted_string": {
                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:7:185-12:10:188",
                "value": [
                  {
                    "string": "*",
                    "raw_string": "*"
                  }
                ]
              }
            },
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:11:189-12:50:228",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:13:191-12:31:209",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:13:191-12:18:196",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:13:191-12:18:196",
                              "value": [
                                {
                                  "string": "class",
                                  "raw_string": "class"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:20:198-12:31:209",
                          "value": [
                            {
                              "string": "dragon_ball",
                              "raw_string": "dragon_ball"
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:33:211-12:49:227",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:33:211-12:43:221",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:33:211-12:38:216",
                              "value": [
                                {
                                  "string": "style",
                                  "raw_string": "style"
                                }
                              ]
                            }
                          },
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:39:217-12:43:221",
                              "value": [
                                {
                                  "string": "fill",
                                  "raw_string": "fill"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:45:223-12:48:226",
                          "value": [
                            {
                              "string": "red",
                              "raw_string": "red"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:0:229-13:42:271",
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:0:229-13:5:234",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:0:229-13:5:234",
                    "value": [
                      {
                        "string": "2star",
                        "raw_string": "2star"
                      }
                    ]
                  }
                }
              ]
            },
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:7:236-13:42:271",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:9:238-13:20:249",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:9:238-13:14:243",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:9:238-13:14:243",
                              "value": [
                                {
                                  "string": "label",
                                  "raw_string": "label"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "double_quoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:16:245-13:20:249",
                          "value": [
                            {
                              "string": "**",
                              "raw_string": "**"
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:22:251-13:41:270",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:22:251-13:27:256",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:22:251-13:27:256",
                              "value": [
                                {
                                  "string": "class",
                                  "raw_string": "class"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:29:258-13:40:269",
                          "value": [
                            {
                              "string": "dragon_ball",
                              "raw_string": "dragon_ball"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        {
          "map_key": {
            "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:0:273-15:32:305",
            "edges": [
              {
                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:0:273-15:15:288",
                "src": {
                  "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:0:273-15:6:279",
                  "path": [
                    {
                      "unquoted_string": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:0:273-15:6:279",
                        "value": [
                          {
                            "string": "nostar",
                            "raw_string": "nostar"
                          }
                        ]
                      }
                    }
                  ]
                },
                "src_arrow": "",
                "dst": {
                  "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:10:283-15:15:288",
                  "path": [
                    {
                      "unquoted_string": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:10:283-15:15:288",
                        "value": [
                          {
                            "string": "1star",
                            "raw_string": "1star"
                          }
                        ]
                      }
                    }
                  ]
                },
                "dst_arrow": ">"
              }
            ],
            "primary": {},
            "value": {
              "map": {
                "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:17:290-15:32:305",
                "nodes": [
                  {
                    "map_key": {
                      "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:19:292-15:31:304",
                      "key": {
                        "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:19:292-15:24:297",
                        "path": [
                          {
                            "unquoted_string": {
                              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:19:292-15:24:297",
                              "value": [
                                {
                                  "string": "class",
                                  "raw_string": "class"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "primary": {},
                      "value": {
                        "unquoted_string": {
                          "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:26:299-15:30:303",
                          "value": [
                            {
                              "string": "path",
                              "raw_string": "path"
                            }
                          ]
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    },
    "root": {
      "id": "",
      "id_val": "",
      "attributes": {
        "label": {
          "value": ""
        },
        "labelDimensions": {
          "width": 0,
          "height": 0
        },
        "style": {},
        "iconStyle": {},
        "near_key": null,
        "shape": {
          "value": ""
        },
        "direction": {
          "value": ""
        },
        "constraint": null
      },
      "zIndex": 0
    },
    "edges": [
      {
        "index": 0,
        "isCurve": false,
        "src_arrow": false,
        "dst_arrow": true,
        "references": [
          {
            "map_key_edge_index": 0
          }
        ],
        "attributes": {
          "label": {
            "value": "then"
          },
          "labelDimensions": {
            "width": 0,
            "height": 0
          },
          "style": {
            "strokeWidth": {
              "value": "4"
            }
          },
          "iconStyle": {},
          "near_key": null,
          "shape": {
            "value": ""
          },
          "direction": {
            "value": ""
          },
          "constraint": null,
          "classes": [
            "path"
          ]
        },
        "zIndex": 0
      }
    ],
    "objects": [
      {
        "id": "nostar",
        "id_val": "nostar",
        "references": [
          {
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:0:147-11:6:153",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,11:0:147-11:6:153",
                    "value": [
                      {
                        "string": "nostar",
                        "raw_string": "nostar"
                      }
                    ]
                  }
                }
              ]
            },
            "key_path_index": 0,
            "map_key_edge_index": -1
          },
          {
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:0:273-15:6:279",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:0:273-15:6:279",
                    "value": [
                      {
                        "string": "nostar",
                        "raw_string": "nostar"
                      }
                    ]
                  }
                }
              ]
            },
            "key_path_index": 0,
            "map_key_edge_index": 0
          }
        ],
        "attributes": {
          "label": {
            "value": ""
          },
          "labelDimensions": {
            "width": 0,
            "height": 0
          },
          "style": {
            "fill": {
              "value": "orange"
            }
          },
          "iconStyle": {},
          "near_key": null,
          "shape": {
            "value": "circle"
          },
          "direction": {
            "value": ""
          },
          "constraint": null,
          "classes": [
            "dragon_ball"
          ]
        },
        "zIndex": 0
      },
      {
        "id": "1star",
        "id_val": "1star",
        "references": [
          {
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:0:178-12:5:183",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,12:0:178-12:5:183",
                    "value": [
                      {
                        "string": "1star",
                        "raw_string": "1star"
                      }
                    ]
                  }
                }
              ]
            },
            "key_path_index": 0,
            "map_key_edge_index": -1
          },
          {
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:10:283-15:15:288",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,15:10:283-15:15:288",
                    "value": [
                      {
                        "string": "1star",
                        "raw_string": "1star"
                      }
                    ]
                  }
                }
              ]
            },
            "key_path_index": 0,
            "map_key_edge_index": 0
          }
        ],
        "attributes": {
          "label": {
            "value": ""
          },
          "labelDimensions": {
            "width": 0,
            "height": 0
          },
          "style": {
            "fill": {
              "value": "red"
            }
          },
          "iconStyle": {},
          "near_key": null,
          "shape": {
            "value": "circle"
          },
          "direction": {
            "value": ""
          },
          "constraint": null,
          "classes": [
            "dragon_ball"
          ]
        },
        "zIndex": 0
      },
      {
        "id": "2star",
        "id_val": "2star",
        "references": [
          {
            "key": {
              "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:0:229-13:5:234",
              "path": [
                {
                  "unquoted_string": {
                    "range": "d2/testdata/d2compiler/TestCompile/classes.d2,13:0:229-13:5:234",
                    "value": [
                      {
                        "string": "2star",
                        "raw_string": "2star"
                      }
                    ]
                  }
                }
              ]
            },
            "key_path_index": 0,
            "map_key_edge_index": -1
          }
        ],
        "attributes": {
          "label": {
            "value": "**"
          },
          "labelDimensions": {
            "width": 0,
            "height": 0
          },
          "style": {
            "fill": {
              "value": "orange"
            }
          },
          "iconStyle": {},
          "near_key": null,
          "shape": {
            "value": "circle"
          },
          "direction": {
            "value": ""
          },
          "constraint": null,
          "classes": [
            "dragon_ball"
          ]
        },
        "zIndex": 0
      }
    ]
  },
  "err": null
}
