// Generated by scripts/gen_themes.py from mermaid's theme-redux.js.
// Do not edit by hand.

///|
fn redux_init(t : Theme) -> Unit raise @color.ColorError {
  t.set("background", str("#ffffff"))
  t.set("primaryColor", str("#cccccc"))
  t.set("mainBkg", str("#ffffff"))
  t.set("noteBkgColor", str("#fff5ad"))
  t.set("noteTextColor", str("#28253D"))
  t.set("THEME_COLOR_LIMIT", num(12.0))
  t.set("radius", num(12.0))
  t.set("strokeWidth", num(2.0))
  t.set("primaryBorderColor", mk_border(str("#28253D"), t.get("darkMode")))
  t.set("fontFamily", str("\"Recursive Variable\", arial, sans-serif"))
  t.set("fontSize", str("14px"))
  t.set("nodeBorder", str("#28253D"))
  t.set("stateBorder", str("#28253D"))
  t.set("useGradient", boolean(false))
  t.set("gradientStart", str("#0042eb"))
  t.set("gradientStop", str("#eb0042"))
  t.set("dropShadow", str("url(#drop-shadow)"))
  t.set("nodeShadow", boolean(true))
  t.set("tertiaryColor", str("#ffffff"))
  t.set("clusterBkg", str("#F9F9FB"))
  t.set("clusterBorder", str("#BDBCCC"))
  t.set("noteBorderColor", str("#FACC15"))
  t.set("archEdgeColor", str("calculated"))
  t.set("archEdgeArrowColor", str("calculated"))
  t.set("archEdgeWidth", str("3"))
  t.set("archGroupBorderColor", t.get("primaryBorderColor"))
  t.set("archGroupBorderWidth", str("2px"))
  t.set("actorBorder", str("#28253D"))
  t.set("filterColor", str("#000000"))
}

///|
fn redux_update_colors(t : Theme) -> Unit raise @color.ColorError {
  t.set(
    "primaryTextColor",
    or_else(t.get("primaryTextColor"), () => {
      if truthy(t.get("darkMode")) {
        str("#eee")
      } else {
        str("#28253D")
      }
    }),
  )
  t.set(
    "secondaryColor",
    or_else(t.get("secondaryColor"), () => {
      adjust(t.get("primaryColor"), h=num(-120.0))
    }),
  )
  t.set(
    "tertiaryColor",
    or_else(t.get("tertiaryColor"), () => {
      adjust(t.get("primaryColor"), h=num(180.0), l=num(5.0))
    }),
  )
  t.set(
    "primaryBorderColor",
    or_else(t.get("primaryBorderColor"), () => {
      mk_border(t.get("primaryColor"), t.get("darkMode"))
    }),
  )
  t.set(
    "secondaryBorderColor",
    or_else(t.get("secondaryBorderColor"), () => {
      mk_border(t.get("secondaryColor"), t.get("darkMode"))
    }),
  )
  t.set(
    "tertiaryBorderColor",
    or_else(t.get("tertiaryBorderColor"), () => {
      mk_border(t.get("tertiaryColor"), t.get("darkMode"))
    }),
  )
  t.set(
    "noteBorderColor",
    or_else(t.get("noteBorderColor"), () => {
      mk_border(t.get("noteBkgColor"), t.get("darkMode"))
    }),
  )
  t.set("noteBkgColor", or_else(t.get("noteBkgColor"), () => str("#FEF9C3")))
  t.set("noteTextColor", or_else(t.get("noteTextColor"), () => str("#28253D")))
  t.set(
    "secondaryTextColor",
    or_else(t.get("secondaryTextColor"), () => invert(t.get("secondaryColor"))),
  )
  t.set(
    "tertiaryTextColor",
    or_else(t.get("tertiaryTextColor"), () => invert(t.get("tertiaryColor"))),
  )
  t.set(
    "lineColor",
    or_else(t.get("lineColor"), () => invert(t.get("background"))),
  )
  t.set(
    "arrowheadColor",
    or_else(t.get("arrowheadColor"), () => invert(t.get("background"))),
  )
  t.set(
    "textColor",
    or_else(t.get("textColor"), () => t.get("primaryTextColor")),
  )
  t.set(
    "border2",
    or_else(t.get("border2"), () => t.get("tertiaryBorderColor")),
  )
  t.set("nodeBkg", or_else(t.get("nodeBkg"), () => t.get("primaryColor")))
  t.set("mainBkg", or_else(t.get("mainBkg"), () => t.get("primaryColor")))
  t.set(
    "nodeBorder",
    or_else(t.get("nodeBorder"), () => t.get("primaryBorderColor")),
  )
  t.set(
    "clusterBkg",
    or_else(t.get("clusterBkg"), () => t.get("tertiaryColor")),
  )
  t.set(
    "clusterBorder",
    or_else(t.get("clusterBorder"), () => t.get("tertiaryBorderColor")),
  )
  t.set(
    "defaultLinkColor",
    or_else(t.get("defaultLinkColor"), () => t.get("lineColor")),
  )
  t.set(
    "titleColor",
    or_else(t.get("titleColor"), () => t.get("tertiaryTextColor")),
  )
  t.set(
    "edgeLabelBackground",
    or_else(t.get("edgeLabelBackground"), () => {
      if truthy(t.get("darkMode")) {
        darken(t.get("secondaryColor"), num(30.0))
      } else {
        t.get("secondaryColor")
      }
    }),
  )
  t.set(
    "nodeTextColor",
    or_else(t.get("nodeTextColor"), () => t.get("primaryTextColor")),
  )
  t.set(
    "flowContainerStroke",
    or_else(t.get("flowContainerStroke"), () => t.get("secondaryBorderColor")),
  )
  t.set("noteFontWeight", num(600.0))
  t.set(
    "actorBorder",
    or_else(t.get("actorBorder"), () => t.get("primaryBorderColor")),
  )
  t.set("actorBkg", or_else(t.get("actorBkg"), () => t.get("mainBkg")))
  t.set(
    "actorTextColor",
    or_else(t.get("actorTextColor"), () => t.get("primaryTextColor")),
  )
  t.set(
    "actorLineColor",
    or_else(t.get("actorLineColor"), () => t.get("actorBorder")),
  )
  t.set(
    "labelBoxBkgColor",
    or_else(t.get("labelBoxBkgColor"), () => t.get("actorBkg")),
  )
  t.set("signalColor", or_else(t.get("signalColor"), () => t.get("textColor")))
  t.set(
    "signalTextColor",
    or_else(t.get("signalTextColor"), () => t.get("textColor")),
  )
  t.set(
    "labelBoxBorderColor",
    or_else(t.get("labelBoxBorderColor"), () => t.get("actorBorder")),
  )
  t.set(
    "labelTextColor",
    or_else(t.get("labelTextColor"), () => t.get("actorTextColor")),
  )
  t.set(
    "loopTextColor",
    or_else(t.get("loopTextColor"), () => t.get("actorTextColor")),
  )
  t.set(
    "activationBorderColor",
    or_else(t.get("activationBorderColor"), () => {
      darken(t.get("secondaryColor"), num(10.0))
    }),
  )
  t.set(
    "activationBkgColor",
    or_else(t.get("activationBkgColor"), () => t.get("secondaryColor")),
  )
  t.set(
    "sequenceNumberColor",
    or_else(t.get("sequenceNumberColor"), () => invert(t.get("lineColor"))),
  )
  t.set(
    "rectBkgColor",
    or_else(t.get("rectBkgColor"), () => {
      if truthy(is_dark(t.get("background"))) {
        lighten(t.get("background"), num(4.0))
      } else {
        darken(t.get("background"), num(4.0))
      }
    }),
  )
  let primary_color : Json = str("#ECECFE")
  let secondary_color : Json = str("#E9E9F1")
  let tertiary_color : Json = adjust(primary_color, h=num(180.0), l=num(5.0))
  t.set(
    "sectionBkgColor",
    or_else(t.get("sectionBkgColor"), () => tertiary_color),
  )
  t.set(
    "altSectionBkgColor",
    or_else(t.get("altSectionBkgColor"), () => str("white")),
  )
  t.set(
    "sectionBkgColor",
    or_else(t.get("sectionBkgColor"), () => secondary_color),
  )
  t.set(
    "sectionBkgColor2",
    or_else(t.get("sectionBkgColor2"), () => primary_color),
  )
  t.set(
    "excludeBkgColor",
    or_else(t.get("excludeBkgColor"), () => str("#eeeeee")),
  )
  t.set(
    "taskBorderColor",
    or_else(t.get("taskBorderColor"), () => t.get("primaryBorderColor")),
  )
  t.set("taskBkgColor", or_else(t.get("taskBkgColor"), () => primary_color))
  t.set(
    "activeTaskBorderColor",
    or_else(t.get("activeTaskBorderColor"), () => primary_color),
  )
  t.set(
    "activeTaskBkgColor",
    or_else(t.get("activeTaskBkgColor"), () => lighten(primary_color, num(23.0))),
  )
  t.set("gridColor", or_else(t.get("gridColor"), () => str("lightgrey")))
  t.set(
    "doneTaskBkgColor",
    or_else(t.get("doneTaskBkgColor"), () => str("lightgrey")),
  )
  t.set(
    "doneTaskBorderColor",
    or_else(t.get("doneTaskBorderColor"), () => str("grey")),
  )
  t.set(
    "critBorderColor",
    or_else(t.get("critBorderColor"), () => str("#ff8888")),
  )
  t.set("critBkgColor", or_else(t.get("critBkgColor"), () => str("red")))
  t.set("todayLineColor", or_else(t.get("todayLineColor"), () => str("red")))
  t.set(
    "taskTextColor",
    or_else(t.get("taskTextColor"), () => t.get("textColor")),
  )
  t.set(
    "vertLineColor",
    or_else(t.get("vertLineColor"), () => t.get("primaryBorderColor")),
  )
  t.set(
    "taskTextOutsideColor",
    or_else(t.get("taskTextOutsideColor"), () => t.get("textColor")),
  )
  t.set(
    "taskTextLightColor",
    or_else(t.get("taskTextLightColor"), () => t.get("textColor")),
  )
  t.set(
    "taskTextColor",
    or_else(t.get("taskTextColor"), () => t.get("primaryTextColor")),
  )
  t.set(
    "taskTextDarkColor",
    or_else(t.get("taskTextDarkColor"), () => t.get("textColor")),
  )
  t.set(
    "taskTextClickableColor",
    or_else(t.get("taskTextClickableColor"), () => str("#003163")),
  )
  t.set("archEdgeColor", t.get("lineColor"))
  t.set("archEdgeArrowColor", t.get("lineColor"))
  t.set(
    "personBorder",
    or_else(t.get("personBorder"), () => t.get("primaryBorderColor")),
  )
  t.set("personBkg", or_else(t.get("personBkg"), () => t.get("mainBkg")))
  t.set(
    "transitionColor",
    or_else(t.get("transitionColor"), () => t.get("lineColor")),
  )
  t.set(
    "transitionLabelColor",
    or_else(t.get("transitionLabelColor"), () => t.get("textColor")),
  )
  t.set(
    "stateLabelColor",
    or_else(or_else(t.get("stateLabelColor"), () => t.get("stateBkg")), () => {
      t.get("primaryTextColor")
    }),
  )
  t.set("compositeTitleBackground", str("#F9F9FB"))
  t.set("altBackground", str("#F9F9FB"))
  t.set("stateEdgeLabelBackground", str("#FFFFFF"))
  t.set("fontWeight", num(600.0))
  t.set("stateBkg", or_else(t.get("stateBkg"), () => t.get("mainBkg")))
  t.set(
    "labelBackgroundColor",
    or_else(t.get("labelBackgroundColor"), () => t.get("stateBkg")),
  )
  t.set(
    "compositeBackground",
    or_else(or_else(t.get("compositeBackground"), () => t.get("background")), () => {
      t.get("tertiaryColor")
    }),
  )
  t.set("altBackground", or_else(t.get("altBackground"), () => str("#f0f0f0")))
  t.set(
    "compositeTitleBackground",
    or_else(t.get("compositeTitleBackground"), () => t.get("mainBkg")),
  )
  t.set(
    "compositeBorder",
    or_else(t.get("compositeBorder"), () => t.get("nodeBorder")),
  )
  t.set("innerEndBackground", t.get("nodeBorder"))
  t.set(
    "errorBkgColor",
    or_else(t.get("errorBkgColor"), () => t.get("tertiaryColor")),
  )
  t.set(
    "errorTextColor",
    or_else(t.get("errorTextColor"), () => t.get("tertiaryTextColor")),
  )
  t.set(
    "transitionColor",
    or_else(t.get("transitionColor"), () => t.get("lineColor")),
  )
  t.set("specialStateColor", t.get("lineColor"))
  for i_ in to_int(num(0.0)).. {
        invert(t.get(to_string(add(str("cScale"), i))))
      }),
    )
  }
  for i_ in to_int(num(0.0)).. {
          lighten(t.get(to_string(add(str("cScale"), i))), num(10.0))
        }),
      )
    } else {
      t.set(
        to_string(add(str("cScalePeer"), i)),
        or_else(t.get(to_string(add(str("cScalePeer"), i))), () => {
          darken(t.get(to_string(add(str("cScale"), i))), num(10.0))
        }),
      )
    }
  }
  t.set(
    "scaleLabelColor",
    or_else(t.get("scaleLabelColor"), () => t.get("labelTextColor")),
  )
  for i_ in to_int(num(0.0)).. {
        t.get("scaleLabelColor")
      }),
    )
  }
  let multiplier : Json = if truthy(t.get("darkMode")) {
    num(-4.0)
  } else {
    num(-1.0)
  }
  for i_ in to_int(num(0.0)).. {
        adjust(
          t.get("mainBkg"),
          h=num(180.0),
          s=num(-15.0),
          l=mul(multiplier, add(num(5.0), mul(i, num(3.0)))),
        )
      }),
    )
    t.set(
      to_string(add(str("surfacePeer"), i)),
      or_else(t.get(to_string(add(str("surfacePeer"), i))), () => {
        adjust(
          t.get("mainBkg"),
          h=num(180.0),
          s=num(-15.0),
          l=mul(multiplier, add(num(8.0), mul(i, num(3.0)))),
        )
      }),
    )
  }
  t.set("classText", or_else(t.get("classText"), () => t.get("textColor")))
  t.set("fillType0", or_else(t.get("fillType0"), () => primary_color))
  t.set("fillType1", or_else(t.get("fillType1"), () => secondary_color))
  t.set(
    "fillType2",
    or_else(t.get("fillType2"), () => adjust(primary_color, h=num(64.0))),
  )
  t.set(
    "fillType3",
    or_else(t.get("fillType3"), () => adjust(secondary_color, h=num(64.0))),
  )
  t.set(
    "fillType4",
    or_else(t.get("fillType4"), () => adjust(primary_color, h=num(-64.0))),
  )
  t.set(
    "fillType5",
    or_else(t.get("fillType5"), () => adjust(secondary_color, h=num(-64.0))),
  )
  t.set(
    "fillType6",
    or_else(t.get("fillType6"), () => adjust(primary_color, h=num(128.0))),
  )
  t.set(
    "fillType7",
    or_else(t.get("fillType7"), () => adjust(secondary_color, h=num(128.0))),
  )
  t.set("pie1", or_else(t.get("pie1"), () => primary_color))
  t.set("pie2", or_else(t.get("pie2"), () => secondary_color))
  t.set("pie3", or_else(t.get("pie3"), () => tertiary_color))
  t.set(
    "pie4",
    or_else(t.get("pie4"), () => adjust(primary_color, l=num(-10.0))),
  )
  t.set(
    "pie5",
    or_else(t.get("pie5"), () => adjust(secondary_color, l=num(-10.0))),
  )
  t.set(
    "pie6",
    or_else(t.get("pie6"), () => adjust(tertiary_color, l=num(-10.0))),
  )
  t.set(
    "pie7",
    or_else(t.get("pie7"), () => {
      adjust(primary_color, h=num(60.0), l=num(-10.0))
    }),
  )
  t.set(
    "pie8",
    or_else(t.get("pie8"), () => {
      adjust(primary_color, h=num(-60.0), l=num(-10.0))
    }),
  )
  t.set(
    "pie9",
    or_else(t.get("pie9"), () => adjust(primary_color, h=num(120.0), l=num(0.0))),
  )
  t.set(
    "pie10",
    or_else(t.get("pie10"), () => {
      adjust(primary_color, h=num(60.0), l=num(-20.0))
    }),
  )
  t.set(
    "pie11",
    or_else(t.get("pie11"), () => {
      adjust(primary_color, h=num(-60.0), l=num(-20.0))
    }),
  )
  t.set(
    "pie12",
    or_else(t.get("pie12"), () => {
      adjust(primary_color, h=num(120.0), l=num(-10.0))
    }),
  )
  t.set(
    "pieTitleTextSize",
    or_else(t.get("pieTitleTextSize"), () => str("25px")),
  )
  t.set(
    "pieTitleTextColor",
    or_else(t.get("pieTitleTextColor"), () => t.get("taskTextDarkColor")),
  )
  t.set(
    "pieSectionTextSize",
    or_else(t.get("pieSectionTextSize"), () => str("17px")),
  )
  t.set(
    "pieSectionTextColor",
    or_else(t.get("pieSectionTextColor"), () => t.get("textColor")),
  )
  t.set(
    "pieLegendTextSize",
    or_else(t.get("pieLegendTextSize"), () => str("17px")),
  )
  t.set(
    "pieLegendTextColor",
    or_else(t.get("pieLegendTextColor"), () => t.get("taskTextDarkColor")),
  )
  t.set("pieStrokeColor", or_else(t.get("pieStrokeColor"), () => str("black")))
  t.set("pieStrokeWidth", or_else(t.get("pieStrokeWidth"), () => str("2px")))
  t.set(
    "pieOuterStrokeWidth",
    or_else(t.get("pieOuterStrokeWidth"), () => str("2px")),
  )
  t.set(
    "pieOuterStrokeColor",
    or_else(t.get("pieOuterStrokeColor"), () => str("black")),
  )
  t.set("pieOpacity", or_else(t.get("pieOpacity"), () => str("0.7")))
  t.set(
    "vennTitleTextColor",
    nullish(t.get("vennTitleTextColor"), () => t.get("titleColor")),
  )
  t.set(
    "vennSetTextColor",
    nullish(t.get("vennSetTextColor"), () => t.get("textColor")),
  )
  t.set("quadrant1Fill", or_else(t.get("quadrant1Fill"), () => primary_color))
  t.set(
    "quadrant2Fill",
    or_else(t.get("quadrant2Fill"), () => {
      adjust(primary_color, r=num(5.0), g=num(5.0), b=num(5.0))
    }),
  )
  t.set(
    "quadrant3Fill",
    or_else(t.get("quadrant3Fill"), () => {
      adjust(primary_color, r=num(10.0), g=num(10.0), b=num(10.0))
    }),
  )
  t.set(
    "quadrant4Fill",
    or_else(t.get("quadrant4Fill"), () => {
      adjust(primary_color, r=num(15.0), g=num(15.0), b=num(15.0))
    }),
  )
  t.set(
    "quadrant1TextFill",
    or_else(t.get("quadrant1TextFill"), () => t.get("primaryTextColor")),
  )
  t.set(
    "quadrant2TextFill",
    or_else(t.get("quadrant2TextFill"), () => {
      adjust(t.get("primaryTextColor"), r=num(-5.0), g=num(-5.0), b=num(-5.0))
    }),
  )
  t.set(
    "quadrant3TextFill",
    or_else(t.get("quadrant3TextFill"), () => {
      adjust(
        t.get("primaryTextColor"),
        r=num(-10.0),
        g=num(-10.0),
        b=num(-10.0),
      )
    }),
  )
  t.set(
    "quadrant4TextFill",
    or_else(t.get("quadrant4TextFill"), () => {
      adjust(
        t.get("primaryTextColor"),
        r=num(-15.0),
        g=num(-15.0),
        b=num(-15.0),
      )
    }),
  )
  t.set(
    "quadrantPointFill",
    if truthy(
        or_else(t.get("quadrantPointFill"), () => {
          is_dark(t.get("quadrant1Fill"))
        }),
      ) {
      lighten(t.get("quadrant1Fill"), Json::null())
    } else {
      darken(t.get("quadrant1Fill"), Json::null())
    },
  )
  t.set(
    "quadrantPointTextFill",
    or_else(t.get("quadrantPointTextFill"), () => t.get("primaryTextColor")),
  )
  t.set(
    "quadrantXAxisTextFill",
    or_else(t.get("quadrantXAxisTextFill"), () => t.get("primaryTextColor")),
  )
  t.set(
    "quadrantYAxisTextFill",
    or_else(t.get("quadrantYAxisTextFill"), () => t.get("primaryTextColor")),
  )
  t.set(
    "quadrantInternalBorderStrokeFill",
    or_else(t.get("quadrantInternalBorderStrokeFill"), () => {
      t.get("primaryBorderColor")
    }),
  )
  t.set(
    "quadrantExternalBorderStrokeFill",
    or_else(t.get("quadrantExternalBorderStrokeFill"), () => {
      t.get("primaryBorderColor")
    }),
  )
  t.set(
    "quadrantTitleFill",
    or_else(t.get("quadrantTitleFill"), () => t.get("primaryTextColor")),
  )
  t.set(
    "xyChart",
    Json::object({
      "backgroundColor": or_else(field(t.get("xyChart"), "backgroundColor"), () => {
        t.get("background")
      }),
      "titleColor": or_else(field(t.get("xyChart"), "titleColor"), () => {
        t.get("primaryTextColor")
      }),
      "legendTextColor": or_else(field(t.get("xyChart"), "legendTextColor"), () => {
        t.get("primaryTextColor")
      }),
      "xAxisTitleColor": or_else(field(t.get("xyChart"), "xAxisTitleColor"), () => {
        t.get("primaryTextColor")
      }),
      "xAxisLabelColor": or_else(field(t.get("xyChart"), "xAxisLabelColor"), () => {
        t.get("primaryTextColor")
      }),
      "xAxisTickColor": or_else(field(t.get("xyChart"), "xAxisTickColor"), () => {
        t.get("primaryTextColor")
      }),
      "xAxisLineColor": or_else(field(t.get("xyChart"), "xAxisLineColor"), () => {
        t.get("primaryTextColor")
      }),
      "yAxisTitleColor": or_else(field(t.get("xyChart"), "yAxisTitleColor"), () => {
        t.get("primaryTextColor")
      }),
      "yAxisLabelColor": or_else(field(t.get("xyChart"), "yAxisLabelColor"), () => {
        t.get("primaryTextColor")
      }),
      "yAxisTickColor": or_else(field(t.get("xyChart"), "yAxisTickColor"), () => {
        t.get("primaryTextColor")
      }),
      "yAxisLineColor": or_else(field(t.get("xyChart"), "yAxisLineColor"), () => {
        t.get("primaryTextColor")
      }),
      "plotColorPalette": or_else(field(t.get("xyChart"), "plotColorPalette"), () => {
        str(
          "#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0",
        )
      }),
    }),
  )
  t.set(
    "requirementBackground",
    or_else(t.get("requirementBackground"), () => primary_color),
  )
  t.set(
    "requirementBorderColor",
    or_else(t.get("requirementBorderColor"), () => t.get("primaryBorderColor")),
  )
  t.set(
    "requirementBorderSize",
    or_else(t.get("requirementBorderSize"), () => str("1")),
  )
  t.set(
    "requirementTextColor",
    or_else(t.get("requirementTextColor"), () => t.get("primaryTextColor")),
  )
  t.set(
    "relationColor",
    or_else(t.get("relationColor"), () => t.get("lineColor")),
  )
  t.set(
    "relationLabelBackground",
    or_else(t.get("relationLabelBackground"), () => {
      if truthy(t.get("darkMode")) {
        darken(t.get("secondaryColor"), num(30.0))
      } else {
        t.get("secondaryColor")
      }
    }),
  )
  t.set(
    "relationLabelColor",
    or_else(t.get("relationLabelColor"), () => t.get("actorTextColor")),
  )
  t.set("requirementEdgeLabelBackground", str("#FFFFFF"))
  t.set("git0", or_else(t.get("git0"), () => primary_color))
  t.set("git1", or_else(t.get("git1"), () => secondary_color))
  t.set("git2", or_else(t.get("git2"), () => tertiary_color))
  t.set(
    "git3",
    or_else(t.get("git3"), () => adjust(primary_color, h=num(-30.0))),
  )
  t.set(
    "git4",
    or_else(t.get("git4"), () => adjust(primary_color, h=num(-60.0))),
  )
  t.set(
    "git5",
    or_else(t.get("git5"), () => adjust(primary_color, h=num(-90.0))),
  )
  t.set(
    "git6",
    or_else(t.get("git6"), () => adjust(primary_color, h=num(60.0))),
  )
  t.set(
    "git7",
    or_else(t.get("git7"), () => adjust(primary_color, h=num(120.0))),
  )
  if truthy(t.get("darkMode")) {
    t.set("git0", lighten(t.get("git0"), num(25.0)))
    t.set("git1", lighten(t.get("git1"), num(25.0)))
    t.set("git2", lighten(t.get("git2"), num(25.0)))
    t.set("git3", lighten(t.get("git3"), num(25.0)))
    t.set("git4", lighten(t.get("git4"), num(25.0)))
    t.set("git5", lighten(t.get("git5"), num(25.0)))
    t.set("git6", lighten(t.get("git6"), num(25.0)))
    t.set("git7", lighten(t.get("git7"), num(25.0)))
  } else {
    t.set("git0", darken(t.get("git0"), num(25.0)))
    t.set("git1", darken(t.get("git1"), num(25.0)))
    t.set("git2", darken(t.get("git2"), num(25.0)))
    t.set("git3", darken(t.get("git3"), num(25.0)))
    t.set("git4", darken(t.get("git4"), num(25.0)))
    t.set("git5", darken(t.get("git5"), num(25.0)))
    t.set("git6", darken(t.get("git6"), num(25.0)))
    t.set("git7", darken(t.get("git7"), num(25.0)))
  }
  t.set("gitInv0", or_else(t.get("gitInv0"), () => invert(t.get("git0"))))
  t.set("gitInv1", or_else(t.get("gitInv1"), () => invert(t.get("git1"))))
  t.set("gitInv2", or_else(t.get("gitInv2"), () => invert(t.get("git2"))))
  t.set("gitInv3", or_else(t.get("gitInv3"), () => invert(t.get("git3"))))
  t.set("gitInv4", or_else(t.get("gitInv4"), () => invert(t.get("git4"))))
  t.set("gitInv5", or_else(t.get("gitInv5"), () => invert(t.get("git5"))))
  t.set("gitInv6", or_else(t.get("gitInv6"), () => invert(t.get("git6"))))
  t.set("gitInv7", or_else(t.get("gitInv7"), () => invert(t.get("git7"))))
  t.set(
    "branchLabelColor",
    or_else(t.get("branchLabelColor"), () => {
      if truthy(t.get("darkMode")) {
        str("black")
      } else {
        t.get("labelTextColor")
      }
    }),
  )
  t.set(
    "gitBranchLabel0",
    or_else(t.get("gitBranchLabel0"), () => t.get("branchLabelColor")),
  )
  t.set(
    "gitBranchLabel1",
    or_else(t.get("gitBranchLabel1"), () => t.get("branchLabelColor")),
  )
  t.set(
    "gitBranchLabel2",
    or_else(t.get("gitBranchLabel2"), () => t.get("branchLabelColor")),
  )
  t.set(
    "gitBranchLabel3",
    or_else(t.get("gitBranchLabel3"), () => t.get("branchLabelColor")),
  )
  t.set(
    "gitBranchLabel4",
    or_else(t.get("gitBranchLabel4"), () => t.get("branchLabelColor")),
  )
  t.set(
    "gitBranchLabel5",
    or_else(t.get("gitBranchLabel5"), () => t.get("branchLabelColor")),
  )
  t.set(
    "gitBranchLabel6",
    or_else(t.get("gitBranchLabel6"), () => t.get("branchLabelColor")),
  )
  t.set(
    "gitBranchLabel7",
    or_else(t.get("gitBranchLabel7"), () => t.get("branchLabelColor")),
  )
  t.set(
    "tagLabelColor",
    or_else(t.get("tagLabelColor"), () => t.get("primaryTextColor")),
  )
  t.set(
    "tagLabelBackground",
    or_else(t.get("tagLabelBackground"), () => t.get("primaryColor")),
  )
  t.set(
    "tagLabelBorder",
    or_else(t.get("tagBorder"), () => t.get("primaryBorderColor")),
  )
  t.set(
    "tagLabelFontSize",
    or_else(t.get("tagLabelFontSize"), () => str("10px")),
  )
  t.set(
    "commitLabelColor",
    or_else(t.get("commitLabelColor"), () => t.get("secondaryTextColor")),
  )
  t.set(
    "commitLabelBackground",
    or_else(t.get("commitLabelBackground"), () => t.get("secondaryColor")),
  )
  t.set(
    "commitLabelFontSize",
    or_else(t.get("commitLabelFontSize"), () => str("10px")),
  )
  t.set(
    "commitLineColor",
    nullish(t.get("commitLineColor"), () => str("#BDBCCC")),
  )
  t.set("erEdgeLabelBackground", str("#FFFFFF"))
  t.set(
    "attributeBackgroundColorOdd",
    or_else(t.get("attributeBackgroundColorOdd"), () => str("#ffffff")),
  )
  t.set(
    "attributeBackgroundColorEven",
    or_else(t.get("attributeBackgroundColorEven"), () => str("#f2f2f2")),
  )
}