{"<bundled>/0.2/rnl-std-core.rnl":"/* rnl-std-core, the smallest collection of the standard package rnl-std (16.3): it references\n   rnl-std-style, rnl-std-symbols and rnl-std-virtual and has no content of its own. It draws the\n   netlist and adds nothing: the grounds, supplies and port tags for unwired pins are rnl-std-fill.\n   A file that wants only this drops rnl-std with an empty inline package of that name in its\n   header record and uses rnl-std-core there instead (16.3). */\n@RNL(type=\"header\") {\n  @VERSION(\"0.2\");\n  @PACKAGE(name=\"rnl-std-core\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-style\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-symbols\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-virtual\", version=\"0.2\")\n}\n","<bundled>/0.2/rnl-std-fill.rnl":"/* rnl-std-fill, a sub-package of the standard package rnl-std (16.3); it references\n   rnl-std-virtual. It holds the sets the user edits with ADD-TO and REMOVE-FROM (10.5) and the\n   fill rules: a ground or supply stub for every unwired pin on a ground or supply net, a port tag\n   for every port net that has none; the net-name label set and the wire net set are there but\n   not applied by default. A file that does not want the automatic fill drops this sub-package\n   with an empty inline package of the same name in its header record (16.3). */\n@RNL(type=\"header\") {\n  @VERSION(\"0.2\");\n  @PACKAGE(name=\"rnl-std-fill\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-virtual\", version=\"0.2\")\n}\n\n/* ---------------------------------------------------------------- sets and fill (10.5, 16.3) */\n@RNL {\n  /* sets the user edits with ADD-TO / REMOVE-FROM (10.5) */\n  $GROUND_NET_SET = # @SELECT-NET(name=\"0\");\n  $SUPPLY_NET_SET = {};\n  $PORT_FILL_SET = # @SELECT-NET(port=true);\n\n  /* ground and supply for unwired pins: a stub with its own wire, gap below or above the pin\n     (10.5, PR3). The solver places it and writes it back as an explicit statement; its wire then\n     makes the terminal wired, so the fill does not come back (10.5 V8, PR2). A ground drawn right\n     on a pin (12.1 rule 5) is left to the user; through the usages only their terminal members are\n     selected (10.1, PR16), so such a pin is taken out of the fill. */\n  $GND_FILL_SET = $GROUND_NET_SET @SELECT-TERMINAL(wired=false);\n  # @SELECT-USAGE $NC => @SELECT-TERMINAL => @REMOVE-FROM $GND_FILL_SET;\n  # @SELECT-USAGE $GND => @SELECT-TERMINAL => @REMOVE-FROM $GND_FILL_SET;\n  $GND_STUB @ATTACH $GND_FILL_SET;\n\n  $SUPPLY_FILL_SET = $SUPPLY_NET_SET @SELECT-TERMINAL(wired=false);\n  # @SELECT-USAGE $NC => @SELECT-TERMINAL => @REMOVE-FROM $SUPPLY_FILL_SET;\n  # @SELECT-USAGE $SUPPLY => @SELECT-TERMINAL => @REMOVE-FROM $SUPPLY_FILL_SET;\n  $SUPPLY_STUB @ATTACH $SUPPLY_FILL_SET;\n\n  /* ports of a subcircuit: one tag per port net that has none yet */\n  # @SELECT-USAGE $IOPORT => @SELECT-NET => @REMOVE-FROM $PORT_FILL_SET;\n  $IOPORT @ATTACH $PORT_FILL_SET;\n\n  /* net-name labels for unwired pins: not applied by default; a document opts in with\n     $LABEL_TERM_SET @TEXT(\"${net}\", key=\"netname\") */\n  $LABEL_TERM_SET = # @SELECT-TERMINAL(wired=false);\n  $GROUND_NET_SET @SELECT-TERMINAL => @REMOVE-FROM $LABEL_TERM_SET;\n  $SUPPLY_NET_SET @SELECT-TERMINAL => @REMOVE-FROM $LABEL_TERM_SET;\n  # @SELECT-USAGE $NC => @SELECT-TERMINAL => @REMOVE-FROM $LABEL_TERM_SET;\n\n  /* nets to draw with wires, routed by the solver: not applied by default; a document or a style\n     package opts in with $WIRE_NET_SET @ROUTE (13.7, PR5) */\n  $WIRE_NET_SET = # @SELECT-NET;\n  $GROUND_NET_SET @REMOVE-FROM $WIRE_NET_SET;\n  $SUPPLY_NET_SET @REMOVE-FROM $WIRE_NET_SET\n}\n","<bundled>/0.2/rnl-std-layout.rnl":"/* rnl-std-layout, a sub-package of the standard package rnl-std (16.3): the layout definitions\n   (9.4, 14): a mirrored pair about an axis point, a tail centred under a pair, and signal flow\n   (14.6). */\n@RNL(type=\"header\") { @VERSION(\"0.2\"); @PACKAGE(name=\"rnl-std-layout\", version=\"0.2\")}\n\n/* ---------------------------------------------------------------- layout (9.4, 14) */\n@RNL {\n  /* layout (14) */\n  $MIRROR_PAIR = @DEFINE(roles=[\"a\", \"b\", \"axis\"]) {\n    {?a ?b} @ALIGN(\"y\");\n    {?a ?axis ?b} @DISTRIBUTE(\"x\");\n    ?a ?b @ORIENT-RELATION(\"MY\")\n  };\n  $TAIL_CENTER = @DEFINE(roles=[\"a\", \"b\", \"t\"]) {\n    %mid = (_, _);\n    {?a %mid ?b} @DISTRIBUTE(\"x\");\n    {%mid ?t} @ALIGN(\"x\")\n  };\n  $FLOW = @DEFINE(roles=[\"{path}\"], parameters=[[\"direction\", \"left-to-right\"]]) {\n    ?path @ORDER(?direction, priority=\"low\")\n  }\n}\n","<bundled>/0.2/rnl-std-semantics.rnl":"/* rnl-std-semantics, a sub-package of the standard package rnl-std (16.3): the semantic\n   definitions (9.4, 9.5, 15.1), roles only, nothing drawn. */\n@RNL(type=\"header\") { @VERSION(\"0.2\"); @PACKAGE(name=\"rnl-std-semantics\", version=\"0.2\")}\n\n/* ---------------------------------------------------------------- semantics (9.4, 15.1) */\n@RNL {\n  /* semantics: roles only (15.1) */\n  $DIFFPAIR = @DEFINE(roles=[[\"in_p\", \"instance\"], [\"in_n\", \"instance\"]]) {};\n  $DIFFPAIR_TAIL = @DEFINE(roles=[[\"in_p\", \"instance\"], [\"in_n\", \"instance\"], [\"tail\", \"instance\"]]) {};\n  $CURRENT_MIRROR = @DEFINE(roles=[[\"ref\", \"instance\"], [\"out\", \"instance\"]]) {};\n  $INPUT_STAGE = @DEFINE(roles=[[\"pair\", \"usage\"], [\"tail\", \"instance\"]]) {};\n  $MATCHED = @DEFINE(roles=[\"{members}\"]) {};\n  $BRANCH = @DEFINE(roles=[\"{members}\"]) {};\n  $CHAIN = @DEFINE(roles=[\"source\", \"{series}\", \"load\"]) {};\n  $CASCADE = @DEFINE(roles=[\"first\", \"second\", \"feedback\", \"load\"]) {};\n  $SUPPLY_HIGH = @DEFINE(roles=[[\"pin\", \"terminal\"]]) {};\n  $SUPPLY_LOW = @DEFINE(roles=[[\"pin\", \"terminal\"]]) {}\n}\n","<bundled>/0.2/rnl-std-style.rnl":"/* rnl-std-style, a sub-package of the standard package rnl-std through rnl-std-core (16.3): the\n   styles (9.3) and the default style rules, which give every kind of object $base and bus wires\n   $bus. */\n@RNL(type=\"header\") { @VERSION(\"0.2\"); @PACKAGE(name=\"rnl-std-style\", version=\"0.2\")}\n\n/* ---------------------------------------------------------------- styles (9.3) */\n@RNL {\n  $base = @DEFINE-STYLE(linecolor=\"#1d1d1f\", textcolor=\"#1d1d1f\", fillcolor=\"#ffffff\", linewidth=0, size=1) {};\n  $bus = @DEFINE-STYLE(linestyle=\"bold\") {};\n  $signal = @DEFINE-STYLE(linecolor=\"#1f4fd8\", linestyle=\"bold\") {$base};\n  $note = @DEFINE-STYLE(textcolor=\"#555555\", size=0.9) {};\n  $grey = @DEFINE-STYLE(linecolor=\"#9a9a9a\", textcolor=\"#9a9a9a\") {}\n}\n\n/* ---------------------------------------------------------------- default style rules (8.3, 16.3) */\n@RNL {\n  /* style first, so every later rule and user statement overrides it */\n  # @SELECT-INSTANCE => @SET-STYLE $base;\n  # @SELECT-USAGE => @SET-STYLE $base;\n  # @SELECT-WIRE => @SET-STYLE $base;\n  # @SELECT-LABEL => @SET-STYLE $base;\n  # @SELECT-ANNOTATION => @SET-STYLE $base;\n  # @SELECT-WIRE(bus=true) => @SET-STYLE $bus\n}\n","<bundled>/0.2/rnl-std-symbols.rnl":"/* rnl-std-symbols, a sub-package of the standard package rnl-std through rnl-std-core (16.3):\n   the symbols of instances (9.2), with the arrow head drawn inside the MOS symbols, and the\n   rules that give an instance its symbol by element letter, by Spectre master and by model\n   type. The symbols of the virtual elements are in rnl-std-virtual. Coordinates are y-up; one\n   unit is one grid step, and pins sit on integer points. */\n@RNL(type=\"header\") { @VERSION(\"0.2\"); @PACKAGE(name=\"rnl-std-symbols\", version=\"0.2\")}\n\n/* ---------------------------------------------------------------- symbols (9.2) */\n@RNL {\n  /* the arrow head drawn inside other symbols (9.2.7) */\n  $ARROW = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n  $ARROW_HEAD = @DEFINE-SYMBOL(box=[-0.35, -0.3, 0.35, 0.3]) { @LINE(fill=\"linecolor\", linestyle=\"none\") {(0.35, 0) (-0.35, 0.3) (-0.35, -0.3) (0.35, 0)}};\n\n  $RES = @DEFINE-SYMBOL(box=[-0.6, -3, 0.6, 3]) {\n    (0, 3) @PIN(terminal=1, direction=\"up\");\n    (0, -3) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 3) (0, 2) (0.6, 1.667) (-0.6, 1) (0.6, 0.333) (-0.6, -0.333) (0.6, -1) (-0.6, -1.667) (0, -2) (0, -3)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.1, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.1, -0.95)\n  };\n  $CAP = @DEFINE-SYMBOL(box=[-1, -2, 1, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 0.3)};\n    @LINE {(0, -0.3) (0, -2)};\n    @LINE(linestyle=\"bold\") {(-1, 0.3) (1, 0.3)};\n    @LINE(linestyle=\"bold\") {(-1, -0.3) (1, -0.3)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.4, 0.35);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.4, -1.05)\n  };\n  $IND = @DEFINE-SYMBOL(box=[-0.5, -3, 0.5, 3]) {\n    (0, 3) @PIN(terminal=1, direction=\"up\");\n    (0, -3) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 3) (0, 2)};\n    @LINE {(0, -2) (0, -3)};\n    @ARC {(0, 2) (0.5, 1.5) (0, 1)};\n    @ARC {(0, 1) (0.5, 0.5) (0, 0)};\n    @ARC {(0, 0) (0.5, -0.5) (0, -1)};\n    @ARC {(0, -1) (0.5, -1.5) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.1, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.1, -0.95)\n  };\n  %SOURCE_BODY = @DEFINE-SYMBOL {\n    (0, 3) @PIN(terminal=1, direction=\"up\");\n    (0, -3) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 3) (0, 1.5)};\n    @LINE {(0, -1.5) (0, -3)};\n    (0, 0) @CIRCLE(radius=1.5);\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.9, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.9, -0.95)\n  };\n  $VSRC = @DEFINE-SYMBOL(box=[-1.5, -3, 1.5, 3]) {\n    %SOURCE_BODY;\n    @LINE {(-0.4, 0.7) (0.4, 0.7)};\n    @LINE {(0, 0.3) (0, 1.1)};\n    @LINE {(-0.4, -0.7) (0.4, -0.7)}\n  };\n  $ISRC = @DEFINE-SYMBOL(box=[-1.5, -3, 1.5, 3]) {\n    %SOURCE_BODY;\n    @LINE(arrow=\"end\") {(0, 0.9) (0, -0.9)}\n  };\n  $DIODE = @DEFINE-SYMBOL(box=[-0.7, -2, 0.7, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 0.5)};\n    @LINE {(0, -0.5) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-0.7, 0.5) (0.7, 0.5) (0, -0.5) (-0.7, 0.5)};\n    @LINE {(-0.7, -0.5) (0.7, -0.5)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.1, 0.15)\n  };\n  %CTRL_BODY = @DEFINE-SYMBOL {\n    (0, 3) @PIN(terminal=1, direction=\"up\");\n    (0, -3) @PIN(terminal=2, direction=\"down\");\n    (-4, 1) @PIN(terminal=3, direction=\"left\");\n    (-4, -1) @PIN(terminal=4, direction=\"left\");\n    @LINE {(0, 3) (0, 1.5)};\n    @LINE {(0, -1.5) (0, -3)};\n    @LINE {(0, 1.5) (1.5, 0) (0, -1.5) (-1.5, 0) (0, 1.5)};\n    @LINE {(-4, 1) (-3, 1)};\n    @LINE {(-4, -1) (-3, -1)};\n    (-2.5, 1) @TEXT(\"+\", halign=\"middle\", valign=\"middle\", size=0.8);\n    (-2.5, -1) @TEXT(\"−\", halign=\"middle\", valign=\"middle\", size=0.8);\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.9, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.9, -0.95)\n  };\n  $VCVS = @DEFINE-SYMBOL(box=[-4, -3, 1.5, 3]) {\n    %CTRL_BODY;\n    @LINE {(-0.4, 0.6) (0.4, 0.6)};\n    @LINE {(0, 0.2) (0, 1)};\n    @LINE {(-0.4, -0.6) (0.4, -0.6)}\n  };\n  $VCCS = @DEFINE-SYMBOL(box=[-4, -3, 1.5, 3]) {\n    %CTRL_BODY;\n    @LINE(arrow=\"end\") {(0, 0.8) (0, -0.8)}\n  };\n\n  /* MOS: terminals d g s b = 1 2 3 4 (SPICE order). NMOS drain up, PMOS source up. */\n  %MOS_CHANNEL = @DEFINE-SYMBOL {\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    @LINE {(-3, 0) (-1.5, 0)};\n    @LINE {(-1.5, -1) (-1.5, 1)};\n    @LINE(linestyle=\"bold\") {(-1, -1.2) (-1, 1.2)};\n    @LINE {(-1, 0.8) (0, 0.8) (0, 2)};\n    @LINE {(-1, -0.8) (0, -0.8) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n  %BULK = @DEFINE-SYMBOL {\n    (1, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-1, 0) (1, 0)}\n  };\n  $NMOS = @DEFINE-SYMBOL(box=[-3, -2, 0, 2]) {\n    %MOS_CHANNEL;\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    $ARROW @ATTACH (-0.45, -0.8) => @SET-SYMBOL $ARROW_HEAD\n  };\n  $PMOS = @DEFINE-SYMBOL(box=[-3, -2, 0, 2]) {\n    %MOS_CHANNEL;\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    $ARROW @ATTACH (-0.55, 0.8) => @SET-SYMBOL $ARROW_HEAD => @ORIENT(\"R180\")\n  };\n  $NMOS4 = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {$NMOS; %BULK};\n  $PMOS4 = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {$PMOS; %BULK};\n\n  /* BJT: terminals c b e = 1 2 3. NPN collector up, PNP emitter up. */\n  %BJT_BASE = @DEFINE-SYMBOL {\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    @LINE {(-3, 0) (-1, 0)};\n    @LINE(linestyle=\"bold\") {(-1, -1) (-1, 1)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n  $NPN = @DEFINE-SYMBOL(box=[-3, -2, 0, 2]) {\n    %BJT_BASE;\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-1, 0.5) (0, 1.1) (0, 2)};\n    @LINE {(0, -1.1) (0, -2)};\n    @LINE(arrow=\"end\") {(-1, -0.5) (0, -1.1)}\n  };\n  $PNP = @DEFINE-SYMBOL(box=[-3, -2, 0, 2]) {\n    %BJT_BASE;\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    @LINE {(-1, -0.5) (0, -1.1) (0, -2)};\n    @LINE {(0, 1.1) (0, 2)};\n    @LINE(arrow=\"end\") {(0, 1.1) (-1, 0.5)}\n  };\n\n  /* a generic op-amp: terminals in+ in- out = 1 2 3 */\n  $OPAMP = @DEFINE-SYMBOL(box=[-4, -2.5, 4, 2.5]) {\n    (-4, -1) @PIN(terminal=1, direction=\"left\");\n    (-4, 1) @PIN(terminal=2, direction=\"left\");\n    (4, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-3, 2.5) (3, 0) (-3, -2.5) (-3, 2.5)};\n    @LINE {(-4, -1) (-3, -1)};\n    @LINE {(-4, 1) (-3, 1)};\n    @LINE {(3, 0) (4, 0)};\n    (-2.4, -1) @TEXT(\"+\", halign=\"middle\", valign=\"middle\", size=0.9);\n    (-2.4, 1) @TEXT(\"−\", halign=\"middle\", valign=\"middle\", size=0.9);\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0, 1.85)\n  }\n}\n\n/* ---------------------------------------------------------------- default symbol rules (8.3, 10.5, 16.3) */\n@RNL {\n  /* symbols: broad (element letter, the first letter of the name) first, narrow (model type) later */\n  # @SELECT-INSTANCE(name=\"R*\") => @SET-SYMBOL $RES;\n  # @SELECT-INSTANCE(name=\"C*\") => @SET-SYMBOL $CAP;\n  # @SELECT-INSTANCE(name=\"L*\") => @SET-SYMBOL $IND;\n  # @SELECT-INSTANCE(name=\"V*\") => @SET-SYMBOL $VSRC;\n  # @SELECT-INSTANCE(name=\"I*\") => @SET-SYMBOL $ISRC;\n  # @SELECT-INSTANCE(name=\"D*\") => @SET-SYMBOL $DIODE;\n  # @SELECT-INSTANCE(name=\"E*\") => @SET-SYMBOL $VCVS;\n  # @SELECT-INSTANCE(name=\"G*\") => @SET-SYMBOL $VCCS;\n  # @SELECT-INSTANCE(name=\"M*\") => @SET-SYMBOL $NMOS4;\n  # @SELECT-INSTANCE(name=\"Q*\") => @SET-SYMBOL $NPN;\n\n  /* Spectre names carry no element letter: its primitives by master, model cards by type (6.12, 10.1) */\n  # @SELECT-INSTANCE(model=\"resistor\") => @SET-SYMBOL $RES;\n  # @SELECT-INSTANCE(model=\"capacitor\") => @SET-SYMBOL $CAP;\n  # @SELECT-INSTANCE(model=\"inductor\") => @SET-SYMBOL $IND;\n  # @SELECT-INSTANCE(model=\"vsource\") => @SET-SYMBOL $VSRC;\n  # @SELECT-INSTANCE(model=\"isource\") => @SET-SYMBOL $ISRC;\n  # @SELECT-INSTANCE(model=\"diode\") => @SET-SYMBOL $DIODE;\n  # @SELECT-INSTANCE(model=\"vcvs\") => @SET-SYMBOL $VCVS;\n  # @SELECT-INSTANCE(model=\"vccs\") => @SET-SYMBOL $VCCS;\n  # @SELECT-INSTANCE(type=\"d\") => @SET-SYMBOL $DIODE;\n  # @SELECT-INSTANCE(type=\"nmos\") => @SET-SYMBOL $NMOS4;\n  # @SELECT-INSTANCE(type=\"npn\") => @SET-SYMBOL $NPN;\n\n  /* narrow: the model type picks the P variants */\n  # @SELECT-INSTANCE(type=\"pmos\") => @SET-SYMBOL $PMOS4;\n  # @SELECT-INSTANCE(type=\"pnp\") => @SET-SYMBOL $PNP\n}\n","<bundled>/0.2/rnl-std-virtual.rnl":"/* rnl-std-virtual, a sub-package of the standard package rnl-std through rnl-std-core (16.3):\n   the virtual elements ground, supply, port, no-connect mark, junction and current arrow\n   (12.5, 12.6, 13.2, 15.2), their symbols and the rules that give their usages these symbols,\n   and $GND_STUB and $SUPPLY_STUB, a ground or supply right below or above a pin, wired to it\n   (10.5). rnl-std-fill applies the stubs to unwired pins; without it they can still be applied\n   by hand. Coordinates are y-up; one unit is one grid step. */\n@RNL(type=\"header\") { @VERSION(\"0.2\"); @PACKAGE(name=\"rnl-std-virtual\", version=\"0.2\")}\n\n/* ---------------------------------------------------------------- symbols of the virtual elements (9.2) */\n@RNL {\n  /* virtual elements (12.5, 12.6, 13.2, 15.2). Their role is p (net is a standard subobject name, 9.4);\n     ${p} shows the net, or the net of the terminal when drawn on a pin (13.6, PR1). */\n  $GROUND = @DEFINE-SYMBOL(box=[-1, -1.5, 1, 0]) {\n    (0, 0) @PIN(terminal=1, direction=\"up\");\n    @LINE {(0, 0) (0, -0.8)};\n    @LINE {(-1, -0.8) (1, -0.8)};\n    @LINE {(-0.6, -1.15) (0.6, -1.15)};\n    @LINE {(-0.2, -1.5) (0.2, -1.5)}\n  };\n  $SUPPLY_BAR = @DEFINE-SYMBOL(box=[-1, 0, 1, 0.8]) {\n    (0, 0) @PIN(terminal=1, direction=\"down\");\n    @LINE {(0, 0) (0, 0.8)};\n    @LINE {(-1, 0.8) (1, 0.8)};\n    ? @TEXT(\"${p}\", key=\"name\", halign=\"middle\", valign=\"bottom\") => @PLACE(0, 1.1)\n  };\n  $PORT_TAG = @DEFINE-SYMBOL(box=[-3, -0.6, 0, 0.6]) {\n    (0, 0) @PIN(terminal=1, direction=\"right\");\n    @LINE {(0, 0) (-0.7, 0.6) (-3, 0.6) (-3, -0.6) (-0.7, -0.6) (0, 0)};\n    ? @TEXT(\"${p}\", key=\"name\", halign=\"end\", valign=\"middle\") => @PLACE(-3.3, 0)\n  };\n  $NC_CROSS = @DEFINE-SYMBOL(box=[-0.5, -0.5, 0.5, 0.5]) {\n    @LINE {(-0.5, -0.5) (0.5, 0.5)};\n    @LINE {(-0.5, 0.5) (0.5, -0.5)}\n  };\n  $JUNCTION_DOT = @DEFINE-SYMBOL(box=[-0.25, -0.25, 0.25, 0.25]) {(0, 0) @CIRCLE(radius=0.25, fill=\"linecolor\", linestyle=\"none\")};\n  /* points right; ORIENT(\"R270\") points down (15.2) */\n  $CURRENT_ARROW_SYM = @DEFINE-SYMBOL(box=[-0.6, 0.25, 0.6, 0.75]) { @LINE(arrow=\"end\") {(-0.6, 0.5) (0.6, 0.5)}}\n}\n\n/* ---------------------------------------------------------------- definitions (9.4, 10.5, 12) */\n@RNL {\n  /* virtual elements */\n  $GND = @DEFINE(roles=[[\"p\", [\"net\", \"terminal\"]]]) {};\n  $SUPPLY = @DEFINE(roles=[[\"p\", [\"net\", \"terminal\"]]]) {};\n  $IOPORT = @DEFINE(roles=[[\"p\", [\"net\", \"terminal\"]]]) {};\n  $NC = @DEFINE(roles=[[\"t\", \"terminal\"]]) {};\n  $JUNCTION = @DEFINE(roles=[[\"p\", [\"point\", \"terminal\"]]]) {};\n  $CURRENT_ARROW = @DEFINE(roles=[[\"p\", [\"terminal\", \"point\"]]]) {};\n\n  /* a ground or supply for one pin: a stub with its own wire, gap below or above the pin (10.5) */\n  $GND_STUB = @DEFINE(roles=[[\"t\", \"terminal\"]], parameters=[[\"gap\", 2]]) {\n    %g = $GND @ATTACH ?t::net;\n    ?t::net @WIRE {?t %g:p};\n    {?t %g:p} @ALIGN(\"x\");\n    %g:p ?t @DISTANCE(\"bottom-to-top\", min=?gap, max=?gap)\n  };\n  $SUPPLY_STUB = @DEFINE(roles=[[\"t\", \"terminal\"]], parameters=[[\"gap\", 2]]) {\n    %s = $SUPPLY @ATTACH ?t::net;\n    ?t::net @WIRE {?t %s:p};\n    {?t %s:p} @ALIGN(\"x\");\n    ?t %s:p @DISTANCE(\"bottom-to-top\", min=?gap, max=?gap)\n  }\n}\n\n/* ---------------------------------------------------------------- default symbol rules (8.3, 16.3) */\n@RNL {\n  # @SELECT-USAGE $GND => @SET-SYMBOL $GROUND;\n  # @SELECT-USAGE $SUPPLY => @SET-SYMBOL $SUPPLY_BAR;\n  # @SELECT-USAGE $IOPORT => @SET-SYMBOL $PORT_TAG;\n  # @SELECT-USAGE $NC => @SET-SYMBOL $NC_CROSS;\n  # @SELECT-USAGE $JUNCTION => @SET-SYMBOL $JUNCTION_DOT;\n  # @SELECT-USAGE $CURRENT_ARROW => @SET-SYMBOL $CURRENT_ARROW_SYM\n}\n","<bundled>/0.2/rnl-std.rnl":"/* The standard package rnl-std (standard appendix B, 16.3, U3), used implicitly at the root of\n   every document. A package collection: it references rnl-std-core, then rnl-std-fill,\n   rnl-std-semantics and rnl-std-layout, and has no content of its own. Used, it brings them in in\n   that order, each once (16.2): styles, symbols, virtual elements, fill, semantic and layout\n   definitions, with the statements and rules of the single file of the RNL toolkit 0.1 in their\n   order. Its content is a draft: the package of the Python prototype in the research repository\n   (2026-10-12) with the symbols reviewed, an explicit box= on every symbol (9.2.3), and symbol\n   rules for Spectre primitives and model cards. */\n@RNL(type=\"header\") {\n  @VERSION(\"0.2\");\n  @PACKAGE(name=\"rnl-std\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-core\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-fill\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-semantics\", version=\"0.2\");\n  @USE-PACKAGE(name=\"rnl-std-layout\", version=\"0.2\")\n}\n","<bundled>/0.2/rnl-zh.rnl":"/* rnl-zh：标准词和标准包名字的中文代称（D16、D17）。由 notes/rnl-vocabulary-brainstorm/terms-zh.md 生成；\n   标准包的名字（$ 名字和 definition= 的代称）见 terms-zh.md 第九节（2026-10-12 定）。 */\n@RNL(type=\"header\") {\n  @VERSION(\"0.2\");\n  @PACKAGE(name=\"rnl-zh\", version=\"0.2\");\n  @ALIAS(\"@位于\", \"@PLACE\");\n  @ALIAS(\"@朝向\", \"@ORIENT\");\n  @ALIAS(\"@朝向关系\", \"@ORIENT-RELATION\");\n  @ALIAS(\"@图层\", \"@LAYER\");\n  @ALIAS(\"@分组\", \"@GROUP\");\n  @ALIAS(\"@对齐\", \"@ALIGN\");\n  @ALIAS(\"@顺序\", \"@ORDER\");\n  @ALIAS(\"@等距\", \"@DISTRIBUTE\");\n  @ALIAS(\"@距离\", \"@DISTANCE\");\n  @ALIAS(\"@优先级\", \"@PRIORITY\");\n  @ALIAS(\"@使用符号\", \"@SET-SYMBOL\");\n  @ALIAS(\"@使用样式\", \"@SET-STYLE\");\n  @ALIAS(\"@定义样式\", \"@DEFINE-STYLE\");\n  @ALIAS(\"@定义符号\", \"@DEFINE-SYMBOL\");\n  @ALIAS(\"@定义\", \"@DEFINE\");\n  @ALIAS(\"@引脚\", \"@PIN\");\n  @ALIAS(\"@折线\", \"@LINE\");\n  @ALIAS(\"@矩形\", \"@RECTANGLE\");\n  @ALIAS(\"@圆\", \"@CIRCLE\");\n  @ALIAS(\"@椭圆\", \"@ELLIPSE\");\n  @ALIAS(\"@圆弧\", \"@ARC\");\n  @ALIAS(\"@贝塞尔\", \"@BEZIER\");\n  @ALIAS(\"@文本\", \"@TEXT\");\n  @ALIAS(\"@导线\", \"@WIRE\");\n  @ALIAS(\"@布线\", \"@ROUTE\");\n  @ALIAS(\"@视作\", \"@AS\");\n  @ALIAS(\"@附着\", \"@ATTACH\");\n  @ALIAS(\"@选出元件\", \"@SELECT-INSTANCE\");\n  @ALIAS(\"@选出端子\", \"@SELECT-TERMINAL\");\n  @ALIAS(\"@选出网络\", \"@SELECT-NET\");\n  @ALIAS(\"@选出导线\", \"@SELECT-WIRE\");\n  @ALIAS(\"@选出标签\", \"@SELECT-LABEL\");\n  @ALIAS(\"@选出标注\", \"@SELECT-ANNOTATION\");\n  @ALIAS(\"@选出用例\", \"@SELECT-USAGE\");\n  @ALIAS(\"@选出所处用例\", \"@SELECT-ANCESTOR-USAGE\");\n  @ALIAS(\"@加入\", \"@ADD-TO\");\n  @ALIAS(\"@移出\", \"@REMOVE-FROM\");\n  @ALIAS(\"@并集\", \"@UNION\");\n  @ALIAS(\"@叠画\", \"@BUNDLE\");\n  @ALIAS(\"@电流\", \"@CURRENT\");\n  @ALIAS(\"@使用包\", \"@USE-PACKAGE\");\n  @ALIAS(\"对象\", \"target\");\n  @ALIAS(\"成员\", \"members\");\n  @ALIAS(\"项\", \"items\");\n  @ALIAS(\"集合\", \"sets\");\n  @ALIAS(\"从\", \"from\");\n  @ALIAS(\"到\", \"to\");\n  @ALIAS(\"符号\", \"symbol\");\n  @ALIAS(\"样式\", \"style\");\n  @ALIAS(\"定义体\", \"body\");\n  @ALIAS(\"继承体\", \"extends\");\n  @ALIAS(\"附着对象\", \"attach\");\n  @ALIAS(\"范围\", \"scope\");\n  @ALIAS(\"定义\", \"definition\");\n  @ALIAS(\"点列\", \"points\");\n  @ALIAS(\"网络\", \"net\");\n  @ALIAS(\"位置\", \"position\");\n  @ALIAS(\"端子\", \"terminal\");\n  @ALIAS(\"轴\", \"axis\");\n  @ALIAS(\"方向\", \"direction\");\n  @ALIAS(\"最小值\", \"min\");\n  @ALIAS(\"最大值\", \"max\");\n  @ALIAS(\"定值\", \"exact\");\n  @ALIAS(\"优先级\", \"priority\");\n  @ALIAS(\"朝向码\", \"code\");\n  @ALIAS(\"关系\", \"relation\");\n  @ALIAS(\"图层\", \"layer\");\n  @ALIAS(\"模式\", \"mode\");\n  @ALIAS(\"文本\", \"text\");\n  @ALIAS(\"引用名\", \"key\");\n  @ALIAS(\"横向对齐\", \"halign\");\n  @ALIAS(\"纵向对齐\", \"valign\");\n  @ALIAS(\"旋转\", \"rotate\");\n  @ALIAS(\"标签\", \"label\");\n  @ALIAS(\"半径\", \"radius\");\n  @ALIAS(\"宽度\", \"width\");\n  @ALIAS(\"高度\", \"height\");\n  @ALIAS(\"箭头\", \"arrow\");\n  @ALIAS(\"填充\", \"fill\");\n  @ALIAS(\"边框\", \"box\");\n  @ALIAS(\"角色表\", \"roles\");\n  @ALIAS(\"参数表\", \"parameters\");\n  @ALIAS(\"名字\", \"name\");\n  @ALIAS(\"模型\", \"model\");\n  @ALIAS(\"类型\", \"type\");\n  @ALIAS(\"已接线\", \"wired\");\n  @ALIAS(\"端口\", \"port\");\n  @ALIAS(\"全局\", \"global\");\n  @ALIAS(\"总线\", \"bus\");\n  @ALIAS(\"角色\", \"role\");\n  @ALIAS(\"含下层\", \"recursive\");\n  @ALIAS(\"电流\", \"current\");\n  @ALIAS(\"端子名\", \"terminals\");\n  @ALIAS(\"版本\", \"version\");\n  @ALIAS(\"路径\", \"path\");\n  @ALIAS(\"停用\", \"disabled\");\n  @ALIAS(\"低\", \"low\");\n  @ALIAS(\"普通\", \"normal\");\n  @ALIAS(\"高\", \"high\");\n  @ALIAS(\"从左到右\", \"left-to-right\");\n  @ALIAS(\"从右到左\", \"right-to-left\");\n  @ALIAS(\"从下到上\", \"bottom-to-top\");\n  @ALIAS(\"从上到下\", \"top-to-bottom\");\n  @ALIAS(\"左\", \"left\");\n  @ALIAS(\"右\", \"right\");\n  @ALIAS(\"上\", \"up\");\n  @ALIAS(\"下\", \"down\");\n  @ALIAS(\"流入\", \"in\");\n  @ALIAS(\"流出\", \"out\");\n  @ALIAS(\"不定\", \"unspecified\");\n  @ALIAS(\"顶\", \"top\");\n  @ALIAS(\"中\", \"middle\");\n  @ALIAS(\"底\", \"bottom\");\n  @ALIAS(\"起点\", \"start\");\n  @ALIAS(\"终点\", \"end\");\n  @ALIAS(\"两端\", \"both\");\n  @ALIAS(\"基线\", \"baseline\");\n  @ALIAS(\"无\", \"none\");\n  @ALIAS(\"线色\", \"linecolor\");\n  @ALIAS(\"填充色\", \"fillcolor\");\n  @ALIAS(\"自动\", \"auto\");\n  @ALIAS(\"直线\", \"straight\");\n  @ALIAS(\"先横后竖\", \"horizontal-vertical\");\n  @ALIAS(\"先竖后横\", \"vertical-horizontal\");\n  @ALIAS(\"曼哈顿\", \"manhattan\");\n  @ALIAS(\"斜曼哈顿\", \"manhattan45\");\n  @ALIAS(\"元件\", \"instance\");\n  @ALIAS(\"点\", \"point\");\n  @ALIAS(\"导线\", \"wire\");\n  @ALIAS(\"用例\", \"usage\");\n  @ALIAS(\"叠画\", \"bundle\");\n  @ALIAS(\"标注\", \"annotation\");\n  @ALIAS(\"值\", \"value\");\n  @ALIAS(\"是\", \"true\");\n  @ALIAS(\"否\", \"false\");\n  @ALIAS(\"线型\", \"linestyle\");\n  @ALIAS(\"线宽\", \"linewidth\");\n  @ALIAS(\"线端\", \"cap\");\n  @ALIAS(\"拐角\", \"join\");\n  @ALIAS(\"字色\", \"textcolor\");\n  @ALIAS(\"字号\", \"size\");\n  @ALIAS(\"字体\", \"font\");\n  @ALIAS(\"加粗\", \"bold\");\n  @ALIAS(\"斜体\", \"italic\");\n  @ALIAS(\"箭头大小\", \"arrowsize\");\n  @ALIAS(\"实线\", \"solid\");\n  @ALIAS(\"虚线\", \"dashed\");\n  @ALIAS(\"点线\", \"dotted\");\n  @ALIAS(\"点划线\", \"dash-dot\");\n  @ALIAS(\"双线\", \"double\");\n  @ALIAS(\"平头\", \"butt\");\n  @ALIAS(\"方头\", \"square\");\n  @ALIAS(\"尖角\", \"miter\");\n  @ALIAS(\"斜角\", \"bevel\");\n  @ALIAS(\"圆头\", \"round\");\n  @ALIAS(\"$箭头\", \"$ARROW\");\n  @ALIAS(\"$地\", \"$GND\");\n  @ALIAS(\"$电源\", \"$SUPPLY\");\n  @ALIAS(\"$端口\", \"$IOPORT\");\n  @ALIAS(\"$无连接\", \"$NC\");\n  @ALIAS(\"$交汇点\", \"$JUNCTION\");\n  @ALIAS(\"$电流箭头\", \"$CURRENT_ARROW\");\n  @ALIAS(\"$差分对\", \"$DIFFPAIR\");\n  @ALIAS(\"$带尾管差分对\", \"$DIFFPAIR_TAIL\");\n  @ALIAS(\"$电流镜\", \"$CURRENT_MIRROR\");\n  @ALIAS(\"$输入级\", \"$INPUT_STAGE\");\n  @ALIAS(\"$匹配组\", \"$MATCHED\");\n  @ALIAS(\"$支路\", \"$BRANCH\");\n  @ALIAS(\"$信号链\", \"$CHAIN\");\n  @ALIAS(\"$级联\", \"$CASCADE\");\n  @ALIAS(\"$高电源端\", \"$SUPPLY_HIGH\");\n  @ALIAS(\"$低电源端\", \"$SUPPLY_LOW\");\n  @ALIAS(\"$镜像对\", \"$MIRROR_PAIR\");\n  @ALIAS(\"$尾管居中\", \"$TAIL_CENTER\");\n  @ALIAS(\"$接地桩\", \"$GND_STUB\");\n  @ALIAS(\"$电源桩\", \"$SUPPLY_STUB\");\n  @ALIAS(\"$信号流向\", \"$FLOW\");\n  @ALIAS(\"$箭头符号\", \"$ARROW_HEAD\");\n  @ALIAS(\"$电阻\", \"$RES\");\n  @ALIAS(\"$电容\", \"$CAP\");\n  @ALIAS(\"$电感\", \"$IND\");\n  @ALIAS(\"$电压源\", \"$VSRC\");\n  @ALIAS(\"$电流源\", \"$ISRC\");\n  @ALIAS(\"$二极管\", \"$DIODE\");\n  @ALIAS(\"$压控电压源\", \"$VCVS\");\n  @ALIAS(\"$压控电流源\", \"$VCCS\");\n  @ALIAS(\"$运放\", \"$OPAMP\");\n  @ALIAS(\"$地符号\", \"$GROUND\");\n  @ALIAS(\"$电源符号\", \"$SUPPLY_BAR\");\n  @ALIAS(\"$端口符号\", \"$PORT_TAG\");\n  @ALIAS(\"$无连接符号\", \"$NC_CROSS\");\n  @ALIAS(\"$交汇点符号\", \"$JUNCTION_DOT\");\n  @ALIAS(\"$电流箭头符号\", \"$CURRENT_ARROW_SYM\");\n  @ALIAS(\"$接地补位集\", \"$GND_FILL_SET\");\n  @ALIAS(\"$电源补位集\", \"$SUPPLY_FILL_SET\");\n  @ALIAS(\"$端口补位集\", \"$PORT_FILL_SET\");\n  @ALIAS(\"$标网名端子集\", \"$LABEL_TERM_SET\");\n  @ALIAS(\"$地网络集\", \"$GROUND_NET_SET\");\n  @ALIAS(\"$电源网络集\", \"$SUPPLY_NET_SET\");\n  @ALIAS(\"$画导线的网络集\", \"$WIRE_NET_SET\");\n  @ALIAS(\"$基础\", \"$base\");\n  @ALIAS(\"$总线\", \"$bus\");\n  @ALIAS(\"$信号\", \"$signal\");\n  @ALIAS(\"$注释\", \"$note\");\n  @ALIAS(\"$灰色\", \"$grey\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$ARROW\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$GND\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$SUPPLY\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$IOPORT\");\n  @ALIAS(\"端子\", \"t\", definition=\"$NC\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$JUNCTION\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$CURRENT_ARROW\");\n  @ALIAS(\"正输入\", \"in_p\", definition=\"$DIFFPAIR\");\n  @ALIAS(\"负输入\", \"in_n\", definition=\"$DIFFPAIR\");\n  @ALIAS(\"正输入\", \"in_p\", definition=\"$DIFFPAIR_TAIL\");\n  @ALIAS(\"负输入\", \"in_n\", definition=\"$DIFFPAIR_TAIL\");\n  @ALIAS(\"尾管\", \"tail\", definition=\"$DIFFPAIR_TAIL\");\n  @ALIAS(\"参考管\", \"ref\", definition=\"$CURRENT_MIRROR\");\n  @ALIAS(\"输出管\", \"out\", definition=\"$CURRENT_MIRROR\");\n  @ALIAS(\"输入对\", \"pair\", definition=\"$INPUT_STAGE\");\n  @ALIAS(\"尾管\", \"tail\", definition=\"$INPUT_STAGE\");\n  @ALIAS(\"成员\", \"members\", definition=\"$MATCHED\");\n  @ALIAS(\"成员\", \"members\", definition=\"$BRANCH\");\n  @ALIAS(\"源\", \"source\", definition=\"$CHAIN\");\n  @ALIAS(\"串联\", \"series\", definition=\"$CHAIN\");\n  @ALIAS(\"负载\", \"load\", definition=\"$CHAIN\");\n  @ALIAS(\"第一级\", \"first\", definition=\"$CASCADE\");\n  @ALIAS(\"第二级\", \"second\", definition=\"$CASCADE\");\n  @ALIAS(\"反馈\", \"feedback\", definition=\"$CASCADE\");\n  @ALIAS(\"负载\", \"load\", definition=\"$CASCADE\");\n  @ALIAS(\"端子\", \"pin\", definition=\"$SUPPLY_HIGH\");\n  @ALIAS(\"端子\", \"pin\", definition=\"$SUPPLY_LOW\");\n  @ALIAS(\"甲\", \"a\", definition=\"$MIRROR_PAIR\");\n  @ALIAS(\"乙\", \"b\", definition=\"$MIRROR_PAIR\");\n  @ALIAS(\"轴\", \"axis\", definition=\"$MIRROR_PAIR\");\n  @ALIAS(\"甲\", \"a\", definition=\"$TAIL_CENTER\");\n  @ALIAS(\"乙\", \"b\", definition=\"$TAIL_CENTER\");\n  @ALIAS(\"尾端\", \"t\", definition=\"$TAIL_CENTER\");\n  @ALIAS(\"中点\", \"mid\", definition=\"$TAIL_CENTER\");\n  @ALIAS(\"端子\", \"t\", definition=\"$GND_STUB\");\n  @ALIAS(\"间距\", \"gap\", definition=\"$GND_STUB\");\n  @ALIAS(\"地\", \"g\", definition=\"$GND_STUB\");\n  @ALIAS(\"端子\", \"t\", definition=\"$SUPPLY_STUB\");\n  @ALIAS(\"间距\", \"gap\", definition=\"$SUPPLY_STUB\");\n  @ALIAS(\"电源\", \"s\", definition=\"$SUPPLY_STUB\");\n  @ALIAS(\"路径\", \"path\", definition=\"$FLOW\");\n  @ALIAS(\"方向\", \"direction\", definition=\"$FLOW\")\n}\n","<bundled>/0.3/rnl-std-basic.rnl":"/* rnl-std-basic 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The symbols of passive parts, sources, switches and transmission lines, of the virtual parts\n   and the marks; the definitions of the virtual parts and of the parts that are only drawn, the\n   stubs of ground and supply, and the rules that draw their usages.\n   Coordinates are y-up; one unit is one grid step, ten Analog Canvas units. Pins bind by terminal\n   number, so a symbol fits any dialect. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-basic\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- rnl-std-basic: symbols (9.2) drawn from Analog Canvas */\n@RNL {\n  /* p n; from Analog Canvas resistor */\n  $RESISTOR = @DEFINE-SYMBOL(box=[-1, -2, 1, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 0.8721) (0.5372, 0.6395) (-0.4605, 0.407) (0.5372, 0.1163) (-0.4988, -0.1744) (0.5372, -0.4651) (-0.4605, -0.7558) (0, -0.8721) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.95, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(0.95, -0.95)\n  };\n\n  /* p n; from Analog Canvas variable-resistor */\n  $VARIABLE_RESISTOR = @DEFINE-SYMBOL(box=[-1.6, -2, 1.6, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 0.8721) (0.5372, 0.6395) (-0.4605, 0.407) (0.5372, 0.1163) (-0.4988, -0.1744) (0.5372, -0.4651) (-0.4605, -0.7558) (0, -0.8721) (0, -2)};\n    @LINE {(-1.2, -1.2) (0.9, 0.9)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(1.2, 1.2) (0.6, 1) (1, 0.6) (1.2, 1.2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.6, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.6, -0.95)\n  };\n\n  /* p n; from Analog Canvas capacitor */\n  $CAPACITOR = @DEFINE-SYMBOL(box=[-1.2, -2, 1.2, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE(linewidth=0.24) {(0.8051, 0.3234) (-0.8051, 0.3234)};\n    @LINE(linewidth=0.24) {(0.8051, -0.3234) (-0.8051, -0.3234)};\n    @LINE {(0, 0.3234) (0, 2)};\n    @LINE {(0, -0.3234) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.2, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.2, -0.95)\n  };\n\n  /* p n; from Analog Canvas variable-capacitor */\n  $VARIABLE_CAPACITOR = @DEFINE-SYMBOL(box=[-1.6, -2, 1.6, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE(linewidth=0.24) {(0.8051, 0.3234) (-0.8051, 0.3234)};\n    @LINE(linewidth=0.24) {(0.8051, -0.3234) (-0.8051, -0.3234)};\n    @LINE {(0, 0.3234) (0, 2)};\n    @LINE {(0, -0.3234) (0, -2)};\n    @LINE {(-1.2, -1.2) (0.9, 0.9)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(1.2, 1.2) (0.6, 1) (1, 0.6) (1.2, 1.2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.6, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.6, -0.95)\n  };\n\n  /* p n; from Analog Canvas inductor-compact */\n  $INDUCTOR = @DEFINE-SYMBOL(box=[-1, -2, 1, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 1.2)};\n    @ARC(cap=\"round\") {(0, 1.2) (0.2121, 1.1121) (0.3, 0.9)};\n    @ARC {(0.3, 0.9) (0.2121, 0.6879) (0, 0.6)};\n    @ARC {(0, 0.6) (0.3, 0.3) (0, 0)};\n    @ARC {(0, 0) (0.3, -0.3) (0, -0.6)};\n    @ARC {(0, -0.6) (0.2121, -0.6879) (0.3, -0.9)};\n    @ARC(cap=\"round\") {(0.3, -0.9) (0.2121, -1.1121) (0, -1.2)};\n    @LINE {(0, -1.2) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.7, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(0.7, -0.95)\n  };\n\n  /* p n; from Analog Canvas variable-inductor */\n  $VARIABLE_INDUCTOR = @DEFINE-SYMBOL(box=[-1.6, -2, 1.6, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 1.2)};\n    @ARC(cap=\"round\") {(0, 1.2) (0.2121, 1.1121) (0.3, 0.9)};\n    @ARC {(0.3, 0.9) (0.2121, 0.6879) (0, 0.6)};\n    @ARC {(0, 0.6) (0.3, 0.3) (0, 0)};\n    @ARC {(0, 0) (0.3, -0.3) (0, -0.6)};\n    @ARC {(0, -0.6) (0.2121, -0.6879) (0.3, -0.9)};\n    @ARC(cap=\"round\") {(0.3, -0.9) (0.2121, -1.1121) (0, -1.2)};\n    @LINE {(0, -1.2) (0, -2)};\n    @LINE {(-1.2, -1.2) (0.9, 0.9)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(1.2, 1.2) (0.6, 1) (1, 0.6) (1.2, 1.2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.6, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.6, -0.95)\n  };\n\n  /* p_plus p_minus s_plus s_minus; from Analog Canvas xfmr */\n  $TRANSFORMER = @DEFINE-SYMBOL(box=[-2, -2.4, 2, 2.4]) {\n    (-2, 1) @PIN(terminal=2, direction=\"left\");\n    (2, 1) @PIN(terminal=1, direction=\"right\");\n    (-2, -1) @PIN(terminal=4, direction=\"left\");\n    (2, -1) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-2, 1) (-1.2, 1)};\n    @ARC(cap=\"round\") {(-1.2, 1) (-1.1121, 0.7879) (-0.9, 0.7)};\n    @ARC {(-0.9, 0.7) (-0.6879, 0.7879) (-0.6, 1)};\n    @ARC {(-0.6, 1) (-0.3, 0.7) (0, 1)};\n    @ARC {(0, 1) (0.3, 0.7) (0.6, 1)};\n    @ARC {(0.6, 1) (0.6879, 0.7879) (0.9, 0.7)};\n    @ARC(cap=\"round\") {(0.9, 0.7) (1.1121, 0.7879) (1.2, 1)};\n    @LINE {(1.2, 1) (2, 1)};\n    @LINE {(-2, -1) (-1.2, -1)};\n    @ARC(cap=\"round\") {(-1.2, -1) (-1.1121, -0.7879) (-0.9, -0.7)};\n    @ARC {(-0.9, -0.7) (-0.6879, -0.7879) (-0.6, -1)};\n    @ARC {(-0.6, -1) (-0.3, -0.7) (0, -1)};\n    @ARC {(0, -1) (0.3, -0.7) (0.6, -1)};\n    @ARC {(0.6, -1) (0.6879, -0.7879) (0.9, -0.7)};\n    @ARC(cap=\"round\") {(0.9, -0.7) (1.1121, -0.7879) (1.2, -1)};\n    @LINE {(1.2, -1) (2, -1)};\n    (1.6, 1.45) @CIRCLE(radius=0.229, fill=\"linecolor\", linestyle=\"none\");\n    (1.6, -1.45) @CIRCLE(radius=0.229, fill=\"linecolor\", linestyle=\"none\");\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.05)\n  };\n\n  /* p n; from Analog Canvas voltage-source */\n  $VOLTAGE_SOURCE = @DEFINE-SYMBOL(box=[-2.4, -2, 1.5, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    (0, 0) @CIRCLE(radius=1.0756);\n    @LINE {(-2.0058, 1.4535) (-1.1919, 1.4535)};\n    @LINE {(-1.5988, 1.8605) (-1.5988, 1.0465)};\n    @LINE {(-2.0058, -1.3372) (-1.1919, -1.3372)};\n    @LINE {(0, 1.0756) (0, 2)};\n    @LINE {(0, -1.0756) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.5, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.5, -0.95)\n  };\n\n  /* p n; from Analog Canvas current-source */\n  $CURRENT_SOURCE = @DEFINE-SYMBOL(box=[-1.5, -2, 1.5, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    (0, 0) @CIRCLE(radius=1.0756);\n    @LINE {(0, 0.6977) (0, 0.2326)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0, -0.6977) (-0.4651, 0.2326) (0.4651, 0.2326) (0, -0.6977)};\n    @LINE {(0, 1.0756) (0, 2)};\n    @LINE {(0, -1.0756) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.5, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.5, -0.95)\n  };\n\n  /* p n; from Analog Canvas battery */\n  $BATTERY = @DEFINE-SYMBOL(box=[-2.4, -2, 2.4, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 0.3361)};\n    @LINE {(0, -0.3361) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.5341, 0.496) (1.5367, 0.496) (1.5367, 0.1762) (-1.5341, 0.1762) (-1.5341, 0.496)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-0.7988, -0.1762) (0.8006, -0.1762) (0.8006, -0.496) (-0.7988, -0.496) (-0.7988, -0.1762)};\n    @LINE {(0.7919, 1.3416) (1.5986, 1.3416)};\n    @LINE {(1.1952, 1.745) (1.1952, 0.9385)};\n    @LINE {(0.7919, -1.3472) (1.5986, -1.3472)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(2, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(2, -0.95)\n  };\n\n  /* p n (cp) (cn); from Analog Canvas vcvs (diamond) */\n  $VCVS = @DEFINE-SYMBOL(box=[-2.4, -2, 1.5, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(-2.0058, 1.4535) (-1.1919, 1.4535)};\n    @LINE {(-1.5988, 1.8605) (-1.5988, 1.0465)};\n    @LINE {(-2.0058, -1.3372) (-1.1919, -1.3372)};\n    @LINE {(0, 1.25) (1.25, 0) (0, -1.25) (-1.25, 0) (0, 1.25)};\n    @LINE {(0, 1.25) (0, 2)};\n    @LINE {(0, -1.25) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.65, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.65, -0.95)\n  };\n\n  /* p n (cp) (cn); from Analog Canvas vccs (diamond) */\n  $VCCS = @DEFINE-SYMBOL(box=[-1.5, -2, 1.5, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 0.6977) (0, 0.2326)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0, -0.6977) (-0.4651, 0.2326) (0.4651, 0.2326) (0, -0.6977)};\n    @LINE {(0, 1.25) (1.25, 0) (0, -1.25) (-1.25, 0) (0, 1.25)};\n    @LINE {(0, 1.25) (0, 2)};\n    @LINE {(0, -1.25) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.65, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.65, -0.95)\n  };\n\n  /* p n; from Analog Canvas cccs (diamond) */\n  $CCCS = @DEFINE-SYMBOL(box=[-1.5, -2, 1.5, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 0.6977) (0, 0.2326)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0, -0.6977) (-0.4651, 0.2326) (0.4651, 0.2326) (0, -0.6977)};\n    @LINE {(0, 1.25) (1.25, 0) (0, -1.25) (-1.25, 0) (0, 1.25)};\n    @LINE {(0, 1.25) (0, 2)};\n    @LINE {(0, -1.25) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.65, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.65, -0.95)\n  };\n\n  /* p n; from Analog Canvas ccvs (diamond) */\n  $CCVS = @DEFINE-SYMBOL(box=[-2.4, -2, 1.5, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(-2.0058, 1.4535) (-1.1919, 1.4535)};\n    @LINE {(-1.5988, 1.8605) (-1.5988, 1.0465)};\n    @LINE {(-2.0058, -1.3372) (-1.1919, -1.3372)};\n    @LINE {(0, 1.25) (1.25, 0) (0, -1.25) (-1.25, 0) (0, 1.25)};\n    @LINE {(0, 1.25) (0, 2)};\n    @LINE {(0, -1.25) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.65, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.65, -0.95)\n  };\n\n  /* p n (cp) (cn); from Analog Canvas ideal-switch */\n  $SWITCH = @DEFINE-SYMBOL(box=[-2, -1.2, 2, 1.8]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (2, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-2, 0) (-1.2727, 0)};\n    (-0.9524, 0.002) @CIRCLE(radius=0.3203);\n    @LINE {(-0.6954, 0.2418) (0.6406, 1.2807)};\n    (1.1201, 0.002) @CIRCLE(radius=0.3202);\n    @LINE {(1.4403, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.65)\n  };\n\n  /* p n (cp) (cn); from Analog Canvas closed-switch */\n  $CLOSED_SWITCH = @DEFINE-SYMBOL(box=[-2, -1.2, 2, 1.2]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (2, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-2, 0) (-1.3562, 0)};\n    (-1.0363, 0) @CIRCLE(radius=0.3199);\n    @LINE {(-0.7187, 0.1496) (1.3609, 0.4694)};\n    (1.0363, 0) @CIRCLE(radius=0.3199);\n    @LINE {(1.3562, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 0.8)\n  };\n\n  /* p n cp (cn); from Analog Canvas externally-controlled-switch */\n  $EXTERNALLY_CONTROLLED_SWITCH = @DEFINE-SYMBOL(box=[-2, -2, 2.4, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    (-2, 0) @PIN(terminal=3, direction=\"left\");\n    @LINE {(0, 2) (0, 1.2414)};\n    (0, 0.9215) @CIRCLE(radius=0.3199);\n    @LINE {(-0.2636, 0.6896) (-1.3529, -0.6998)};\n    @LINE {(-2, 0) (-0.7428, 0)};\n    (0, -1.1511) @CIRCLE(radius=0.3199);\n    @LINE {(0, -1.471) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.85, 2.35)\n  };\n\n  /* p n cp cn; from Analog Canvas voltage-controlled-switch */\n  $VOLTAGE_CONTROLLED_SWITCH = @DEFINE-SYMBOL(box=[-2, -3.8, 2, 1.7]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (2, 0) @PIN(terminal=2, direction=\"right\");\n    (-2, -3) @PIN(terminal=3, direction=\"left\");\n    (2, -3) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-2, 0) (-1.3, 0)};\n    (-1, 0) @CIRCLE(radius=0.3);\n    @LINE {(-0.7, 0.24) (0.64, 1.28)};\n    (1.1, 0) @CIRCLE(radius=0.3);\n    @LINE {(1.4, 0) (2, 0)};\n    @LINE {(-2, -3) (-1, -3)};\n    @LINE {(1, -3) (2, -3)};\n    @LINE {(-1, -2.4) (1, -2.4) (1, -3.6) (-1, -3.6) (-1, -2.4)};\n    @LINE {(-0.8, -3) (-0.2, -3)};\n    @LINE {(-0.5, -2.7) (-0.5, -3.3)};\n    @LINE {(0.2, -3) (0.8, -3)};\n    @LINE {(0, -2.4) (0, -2)};\n    @LINE {(0, -1.6) (0, -1.2)};\n    @LINE {(0, -0.8) (0, -0.6)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.65)\n  };\n\n  /* draws $SPDT_SWITCH; com a b; from Analog Canvas spdt-switch */\n  $SPDT_SWITCH_SYMBOL = @DEFINE-SYMBOL(box=[-2, -2, 2, 2]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (2, 1) @PIN(terminal=2, direction=\"right\");\n    (2, -1) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-2, 0) (-1.3, 0)};\n    (-1, 0) @CIRCLE(radius=0.3);\n    @LINE {(-0.732, 0.134) (0.732, 0.866)};\n    (1, 1) @CIRCLE(radius=0.3);\n    @LINE {(1.3, 1) (2, 1)};\n    (1, -1) @CIRCLE(radius=0.3);\n    @LINE {(1.3, -1) (2, -1)}\n  };\n\n  /* draws $GROUND; p; from Analog Canvas ground */\n  $GROUND_SYMBOL = @DEFINE-SYMBOL(box=[-1.2, -2.7, 1.2, 0]) {\n    (0, 0) @PIN(terminal=1, direction=\"up\");\n    @LINE {(0, 0) (0, -1)};\n    @LINE(linewidth=0.2907) {(-0.6395, -1) (0.6395, -1)};\n    @LINE(linewidth=0.2907) {(-0.407, -1.5814) (0.407, -1.5814)};\n    @LINE(linewidth=0.2907) {(-0.2326, -2.1047) (0.2326, -2.1047)}\n  };\n\n  /* draws $SUPPLY; p; from Analog Canvas vdd-port */\n  $SUPPLY_SYMBOL = @DEFINE-SYMBOL(box=[-1.2, 0, 1.2, 2.2]) {\n    (0, 0) @PIN(terminal=1, direction=\"down\");\n    @LINE {(0, 0) (0, 1.85)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1, 2.088) (1, 2.088) (1, 1.764) (-1, 1.764) (-1, 2.088)};\n    ? @TEXT(\"${p}\", key=\"name\", halign=\"middle\", valign=\"bottom\") => @PLACE(0, 2.4)\n  };\n\n  /* draws $IO_PORT; p; from Analog Canvas port */\n  $IO_PORT_SYMBOL = @DEFINE-SYMBOL(box=[-1.4, -0.7, 0, 0.7]) {\n    (0, 0) @PIN(terminal=1, direction=\"right\");\n    (-0.7087, 0) @CIRCLE(radius=0.2479);\n    @LINE {(0, 0) (-0.4608, 0)};\n    ? @TEXT(\"${p}\", key=\"name\", halign=\"end\", valign=\"middle\") => @PLACE(-1.25, 0)\n  }\n}\n\n/* rnl-std-basic, drawn by hand: what Analog Canvas has no drawing for. In the manner of the drawings\n   above: strokes of the style's width, 0.24 where Analog Canvas emphasizes (a capacitor plate), arcs\n   rather than Bezier curves, pins on integer points, the box on the pins where a side has pins. */\n@RNL {\n  /* the arrow head, drawn on a point (9.2.7); its definition is $ARROW. Analog Canvas's arrow head,\n     1.657 long and 0.79 wide, centred on the point */\n  $ARROW_SYMBOL = @DEFINE-SYMBOL(box=[-0.85, -0.4, 0.85, 0.4]) { @LINE(fill=\"linecolor\", linestyle=\"none\") {(0.8285, 0) (-0.8285, 0.3953) (-0.8285, -0.3953) (0.8285, 0)}};\n\n  /* E and G with four terminals, p n cp cn = 1 2 3 4: rnl-std 0.2's layout, the output pins at (0, ±2)\n     as in $VCVS, Analog Canvas's diamond, and control leads that reach its sides, + and − between */\n  %CONTROLLED_SOURCE_BODY = @DEFINE-SYMBOL {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    (-4, 1) @PIN(terminal=3, direction=\"left\");\n    (-4, -1) @PIN(terminal=4, direction=\"left\");\n    @LINE {(0, 2) (0, 1.25)};\n    @LINE {(0, -1.25) (0, -2)};\n    @LINE {(0, 1.25) (1.25, 0) (0, -1.25) (-1.25, 0) (0, 1.25)};\n    @LINE {(-4, 1) (-3, 1) (-0.75, 0.5)};\n    @LINE {(-4, -1) (-3, -1) (-0.75, -0.5)};\n    (-2.5, 0.4) @TEXT(\"+\", halign=\"middle\", valign=\"middle\", size=0.8);\n    (-2.5, -0.4) @TEXT(\"−\", halign=\"middle\", valign=\"middle\", size=0.8);\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.65, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.65, -0.95)\n  };\n  $VCVS_4TERM = @DEFINE-SYMBOL(box=[-4, -2, 1.65, 2]) {\n    %CONTROLLED_SOURCE_BODY;\n    @LINE {(-0.35, 0.55) (0.35, 0.55)};\n    @LINE {(0, 0.2) (0, 0.9)};\n    @LINE {(-0.35, -0.55) (0.35, -0.55)}\n  };\n  /* the arrow of Analog Canvas's VCCS */\n  $VCCS_4TERM = @DEFINE-SYMBOL(box=[-4, -2, 1.65, 2]) {\n    %CONTROLLED_SOURCE_BODY;\n    @LINE {(0, 0.6977) (0, 0.2326)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0, -0.6977) (-0.4651, 0.2326) (0.4651, 0.2326) (0, -0.6977)}\n  };\n\n  /* B (Spectre's bsource), p n = 1 2. Its V= or I= makes it a voltage or a current source, and no\n     selection condition sees that, so one drawing: the source body of Analog Canvas with a B */\n  $BEHAVIORAL_SOURCE = @DEFINE-SYMBOL(box=[-1.5, -2, 1.5, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 2) (0, 1.0756)};\n    @LINE {(0, -1.0756) (0, -2)};\n    (0, 0) @CIRCLE(radius=1.0756);\n    (0, 0) @TEXT(\"B\", halign=\"middle\", valign=\"middle\", size=1.1);\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.5, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.5, -0.95)\n  };\n\n  /* Spectre's port, p n = 1 2: a source with its own resistance; the resistor is Analog Canvas's,\n     at 0.8 of its size */\n  $RF_PORT = @DEFINE-SYMBOL(box=[-1.5, -3, 1.5, 3]) {\n    (0, 3) @PIN(terminal=1, direction=\"up\");\n    (0, -3) @PIN(terminal=2, direction=\"down\");\n    @LINE {(0, 3) (0, 2.75) (0.43, 2.56) (-0.37, 2.38) (0.43, 2.14) (-0.4, 1.91) (0.43, 1.68) (-0.37, 1.45) (0, 1.35) (0, 1.0756)};\n    @LINE {(0, -1.0756) (0, -3)};\n    (0, 0) @CIRCLE(radius=1.0756);\n    /* a sine of two half circles */\n    @ARC {(-0.6, 0) (-0.3, 0.3) (0, 0)};\n    @ARC {(0, 0) (0.3, -0.3) (0.6, 0)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(1.5, 0.25);\n    ? @TEXT(\"${value}\", key=\"value\") => @PLACE(1.5, -0.95)\n  };\n\n  /* T (lossless) and O (lossy): port 1 on the left, port 2 on the right, p1 n1 p2 n2 = 1 2 3 4.\n     6.12 gives these elements no terminal names yet, so a reference writes the number (#T1:3) */\n  $TRANSMISSION_LINE = @DEFINE-SYMBOL(box=[-4, -2, 4, 1.2]) {\n    (-4, 0) @PIN(terminal=1, direction=\"left\");\n    (-2, -2) @PIN(terminal=2, direction=\"down\");\n    (4, 0) @PIN(terminal=3, direction=\"right\");\n    (2, -2) @PIN(terminal=4, direction=\"down\");\n    @LINE {(-4, 0) (-2.3, 0)};\n    @LINE {(2.3, 0) (4, 0)};\n    @LINE {(-2, -2) (-2, -0.8)};\n    @LINE {(2, -2) (2, -0.8)};\n    (-2, 0) @ELLIPSE(width=0.6, height=1.6);\n    @LINE {(-2, 0.8) (2, 0.8)};\n    @LINE {(-2, -0.8) (2, -0.8)};\n    /* the far end: an arc through the ends of the ellipse's half */\n    @ARC {(2, 0.8) (2.3, 0) (2, -0.8)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.15)\n  };\n\n  /* U, the uniform RC line: the two ends, then the node its capacitance goes to, a b ref = 1 2 3 */\n  $RC_LINE = @DEFINE-SYMBOL(box=[-4, -2, 4, 0.8]) {\n    (-4, 0) @PIN(terminal=1, direction=\"left\");\n    (4, 0) @PIN(terminal=2, direction=\"right\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-4, 0) (-2, 0) (-1.667, 0.4) (-1, -0.4) (-0.333, 0.4) (0.333, -0.4) (1, 0.4) (1.667, -0.4) (2, 0) (4, 0)};\n    @LINE(linewidth=0.24) {(-2, -0.9) (2, -0.9)};\n    @LINE {(0, -0.9) (0, -2)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 0.75)\n  };\n\n  /* marks: the cross of no connection (12.6), as in rnl-std 0.2; the dot of a junction and the arrow\n     of a current (13.2, 15.2) as Analog Canvas draws them: a dot 0.378 in radius, and the arrow's head\n     alone, on the wire, which is its shaft */\n  $NO_CONNECT_SYMBOL = @DEFINE-SYMBOL(box=[-0.5, -0.5, 0.5, 0.5]) {\n    @LINE {(-0.5, -0.5) (0.5, 0.5)};\n    @LINE {(-0.5, 0.5) (0.5, -0.5)}\n  };\n  $JUNCTION_SYMBOL = @DEFINE-SYMBOL(box=[-0.4, -0.4, 0.4, 0.4]) {(0, 0) @CIRCLE(radius=0.3779, fill=\"linecolor\", linestyle=\"none\")};\n  /* points right; ORIENT(\"R270\") points down (15.2) */\n  $CURRENT_ARROW_SYMBOL = @DEFINE-SYMBOL(box=[-0.85, -0.4, 0.85, 0.4]) { @LINE(fill=\"linecolor\", linestyle=\"none\") {(0.8285, 0) (-0.8285, 0.3953) (-0.8285, -0.3953) (0.8285, 0)}};\n\n  /* a ground with the name of its net under it, for a ground net other than 0, such as vss, whose\n     name no port tag shows; rnl-std-fill gives it to the grounds of those nets */\n  $NAMED_GROUND_SYMBOL = @DEFINE-SYMBOL(box=[-1.2, -2.7, 1.2, 0]) {\n    $GROUND_SYMBOL;\n    ? @TEXT(\"${p}\", key=\"name\", halign=\"middle\", valign=\"top\") => @PLACE(0, -2.5)\n  }\n}\n\n/* rnl-std-basic: definitions (9.4, 12) and the rules that draw their usages */\n@RNL {\n  /* virtual elements (12.5, 12.6, 13.2, 15.2). Their role is p (net is a standard subobject name, 9.4);\n     ${p} shows the net, or the net of the terminal when drawn on a pin (13.6, PR1). */\n  $GROUND = @DEFINE(roles=[[\"p\", [\"net\", \"terminal\"]]]) {};\n  $SUPPLY = @DEFINE(roles=[[\"p\", [\"net\", \"terminal\"]]]) {};\n  $IO_PORT = @DEFINE(roles=[[\"p\", [\"net\", \"terminal\"]]]) {};\n  $NO_CONNECT = @DEFINE(roles=[[\"t\", \"terminal\"]]) {};\n  $JUNCTION = @DEFINE(roles=[[\"p\", [\"point\", \"terminal\"]]]) {};\n  $CURRENT_ARROW = @DEFINE(roles=[[\"p\", [\"terminal\", \"point\"]]]) {};\n  /* an arrow head on a point, in a symbol or in the scene (9.2.7) */\n  $ARROW = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n\n  /* a part that is only drawn and has no netlist line: a usage on a point (9.2.7, 13.4). A wire of\n     a real net that ends on one of its pins ends at that point's coordinates. */\n  $SPDT_SWITCH = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n  /* any symbol drawn as a figure on a point, with no netlist line: each usage writes its own\n     SET-SYMBOL; there is no default. Its pins have no terminals, as $SPDT_SWITCH's */\n  $FIGURE = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n\n  /* ground and supply with their own wire, at least gap below or above a pin, pointing away from it;\n     rnl-std-fill attaches them. Only the least distance is given, so that a solver may draw a stub\n     longer, as when it lines up the grounds of parts of different lengths; the constraints are low,\n     a default that gives way first (14.8) */\n  $GROUND_STUB = @DEFINE(roles=[[\"t\", \"terminal\"]], parameters=[[\"gap\", 2]]) {\n    %g = $GROUND @ATTACH ?t::net;\n    ?t::net @WIRE {?t %g:p};\n    {?t %g:p} @ALIGN(\"x\", priority=\"low\");\n    %g:p ?t @DISTANCE(\"bottom-to-top\", min=?gap, priority=\"low\");\n    %g @ORIENT(\"R0\", priority=\"low\")\n  };\n  $SUPPLY_STUB = @DEFINE(roles=[[\"t\", \"terminal\"]], parameters=[[\"gap\", 2]]) {\n    %s = $SUPPLY @ATTACH ?t::net;\n    ?t::net @WIRE {?t %s:p};\n    {?t %s:p} @ALIGN(\"x\", priority=\"low\");\n    ?t %s:p @DISTANCE(\"bottom-to-top\", min=?gap, priority=\"low\");\n    %s @ORIENT(\"R0\", priority=\"low\")\n  };\n\n  /* each definition with its own symbol: the definition's name plus _SYMBOL */\n  # @SELECT-USAGE $GROUND => @SET-SYMBOL $GROUND_SYMBOL;\n  # @SELECT-USAGE $SUPPLY => @SET-SYMBOL $SUPPLY_SYMBOL;\n  # @SELECT-USAGE $IO_PORT => @SET-SYMBOL $IO_PORT_SYMBOL;\n  # @SELECT-USAGE $NO_CONNECT => @SET-SYMBOL $NO_CONNECT_SYMBOL;\n  # @SELECT-USAGE $JUNCTION => @SET-SYMBOL $JUNCTION_SYMBOL;\n  # @SELECT-USAGE $CURRENT_ARROW => @SET-SYMBOL $CURRENT_ARROW_SYMBOL;\n  # @SELECT-USAGE $ARROW => @SET-SYMBOL $ARROW_SYMBOL;\n  # @SELECT-USAGE $SPDT_SWITCH => @SET-SYMBOL $SPDT_SWITCH_SYMBOL\n}\n","<bundled>/0.3/rnl-std-core.rnl":"/* rnl-std-core 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The smallest collection of the series (16.3): it references rnl-std-style, rnl-std-basic,\n   rnl-std-semiconductors and the rule packages of the two dialects, rnl-std-spice and\n   rnl-std-spectre, and has no content of its own. It draws the netlist and adds nothing. A file\n   of the language 0.3 uses the rule package of its own dialect only (16.3). */\n@RNL(type=\"header\") {\n  @VERSION(\"0.3\");\n  @PACKAGE(name=\"rnl-std-core\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-style\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-basic\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-semiconductors\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-spice\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-spectre\", version=\"0.3\")\n}\n","<bundled>/0.3/rnl-std-fill.rnl":"/* rnl-std-fill 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The sets of the fill and the rules that add grounds, supplies and port tags (10.5, 16.3). A\n   file that does not want the fill drops it with an empty inline package of its name. */\n@RNL(type=\"header\") {\n  @VERSION(\"0.3\");\n  @PACKAGE(name=\"rnl-std-fill\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-basic\", version=\"0.3\")\n}\n\n/* ---------------------------------------------------------------- rnl-std-fill: fill (10.5) */\n@RNL {\n  /* sets the user edits with ADD-TO / REMOVE-FROM (10.5) */\n  $GROUND_NET_SET = # @SELECT-NET(name=\"0\");\n  $SUPPLY_NET_SET = {};\n  $PORT_FILL_SET = # @SELECT-NET(port=true);\n\n  /* ground and supply for unwired pins: a stub with its own wire, gap below or above the pin\n     (10.5, PR3). The solver places it and writes it back as an explicit statement; its wire then\n     makes the terminal wired, so the fill does not come back (10.5 V8, PR2). A ground drawn right\n     on a pin (12.1 rule 5) is left to the user; through the usages only their terminal members are\n     selected (10.1, PR16), so such a pin is taken out of the fill. */\n  $GROUND_FILL_SET = $GROUND_NET_SET @SELECT-TERMINAL(wired=false);\n  # @SELECT-USAGE $NO_CONNECT => @SELECT-TERMINAL => @REMOVE-FROM $GROUND_FILL_SET;\n  # @SELECT-USAGE $GROUND => @SELECT-TERMINAL => @REMOVE-FROM $GROUND_FILL_SET;\n  $GROUND_STUB @ATTACH $GROUND_FILL_SET;\n\n  $SUPPLY_FILL_SET = $SUPPLY_NET_SET @SELECT-TERMINAL(wired=false);\n  # @SELECT-USAGE $NO_CONNECT => @SELECT-TERMINAL => @REMOVE-FROM $SUPPLY_FILL_SET;\n  # @SELECT-USAGE $SUPPLY => @SELECT-TERMINAL => @REMOVE-FROM $SUPPLY_FILL_SET;\n  $SUPPLY_STUB @ATTACH $SUPPLY_FILL_SET;\n\n  /* ports of a subcircuit: one tag per port net that has none yet, but none on a ground or supply\n     net, where the stubs stand already */\n  $SUPPLY_NET_SET @REMOVE-FROM $PORT_FILL_SET;\n  $GROUND_NET_SET @REMOVE-FROM $PORT_FILL_SET;\n  # @SELECT-USAGE $IO_PORT => @SELECT-NET => @REMOVE-FROM $PORT_FILL_SET;\n  $IO_PORT @ATTACH $PORT_FILL_SET;\n\n  /* so the grounds of a ground net other than 0, such as vss, show the name of their net */\n  $NAMED_GROUND_NET_SET = {$GROUND_NET_SET};\n  # @SELECT-NET(name=\"0\") => @REMOVE-FROM $NAMED_GROUND_NET_SET;\n  $NAMED_GROUND_NET_SET @SELECT-ANCESTOR-USAGE $GROUND => @SET-SYMBOL $NAMED_GROUND_SYMBOL;\n\n  /* net-name labels for unwired pins: not applied by default; a document opts in with\n     $LABEL_TERMINAL_SET @TEXT(\"${net}\", key=\"netname\") */\n  $LABEL_TERMINAL_SET = # @SELECT-TERMINAL(wired=false);\n  $GROUND_NET_SET @SELECT-TERMINAL => @REMOVE-FROM $LABEL_TERMINAL_SET;\n  $SUPPLY_NET_SET @SELECT-TERMINAL => @REMOVE-FROM $LABEL_TERMINAL_SET;\n  # @SELECT-USAGE $NO_CONNECT => @SELECT-TERMINAL => @REMOVE-FROM $LABEL_TERMINAL_SET;\n\n  /* nets to draw with wires, routed by the solver: not applied by default; a document or a style\n     package opts in with $WIRE_NET_SET @ROUTE (13.7, PR5) */\n  $WIRE_NET_SET = # @SELECT-NET;\n  $GROUND_NET_SET @REMOVE-FROM $WIRE_NET_SET;\n  $SUPPLY_NET_SET @REMOVE-FROM $WIRE_NET_SET\n}\n","<bundled>/0.3/rnl-std-full.rnl":"/* rnl-std-full 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The fuller collection (16.3): rnl-std and the packages of fields. A file names it with\n   USE-PACKAGE in its header record; what the implicit rnl-std brings in is not brought in twice. */\n@RNL(type=\"header\") {\n  @VERSION(\"0.3\");\n  @PACKAGE(name=\"rnl-std-full\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-functional\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-rf\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-logic\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-signal-flow\", version=\"0.3\")\n}\n","<bundled>/0.3/rnl-std-functional.rnl":"/* rnl-std-functional 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   Behavioral models: op-amps, comparators, amplifiers, transconductors, ADC, DAC.\n   In rnl-std-full; a file that wants it alone names it with USE-PACKAGE (16.2).\n   Coordinates are y-up; one unit is one grid step, ten Analog Canvas units. Pins bind by terminal\n   number, so a symbol fits any dialect. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-functional\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- symbols (9.2) drawn from Analog Canvas */\n@RNL {\n  /* inp inn out; from $OPAMP_5TERM without its supply terminals */\n  $OPAMP = @DEFINE-SYMBOL(box=[-4, -3.4, 3, 3.4]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-4, 1) (-3, 1)};\n    @LINE {(-4, -1) (-3, -1)};\n    @LINE {(2.1962, 0) (3, 0)};\n    @LINE(linewidth=0.24) {(-3, 3) (-3, -3) (2.1962, 0) (-3, 3)};\n    @LINE(cap=\"round\") {(-2.375, 1.1) (-2.375, 1.7)};\n    @LINE(cap=\"round\") {(-2.675, 1.4) (-2.075, 1.4)};\n    @LINE(cap=\"round\") {(-2.675, -1.4) (-2.075, -1.4)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 3.35)\n  };\n\n  /* inp inn (vp) (vn) out; from Analog Canvas opamp-inputs-swapped */\n  $OPAMP_5TERM = @DEFINE-SYMBOL(box=[-4, -3.4, 3, 3.4]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=5, direction=\"right\");\n    @LINE {(-4, 1) (-3, 1)};\n    @LINE {(-4, -1) (-3, -1)};\n    @LINE {(2.1962, 0) (3, 0)};\n    @LINE(linewidth=0.24) {(-3, 3) (-3, -3) (2.1962, 0) (-3, 3)};\n    @LINE(cap=\"round\") {(-2.375, 1.1) (-2.375, 1.7)};\n    @LINE(cap=\"round\") {(-2.675, 1.4) (-2.075, 1.4)};\n    @LINE(cap=\"round\") {(-2.675, -1.4) (-2.075, -1.4)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 3.35)\n  };\n\n  /* inp inn outp outn (vp) (vn); from Analog Canvas opamp-differential-crossed-inputs-swapped */\n  $DIFFERENTIAL_OPAMP = @DEFINE-SYMBOL(box=[-4, -3.4, 3, 3.4]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 1) @PIN(terminal=3, direction=\"right\");\n    (3, -1) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-4, 1) (-3, 1)};\n    @LINE {(-4, -1) (-3, -1)};\n    @LINE {(0.4641, 1) (3, 1)};\n    @LINE {(0.4641, -1) (3, -1)};\n    @LINE(linewidth=0.24) {(-3, 3) (-3, -3) (2.1962, 0) (-3, 3)};\n    @LINE(cap=\"round\") {(-2.375, 1.1) (-2.375, 1.7)};\n    @LINE(cap=\"round\") {(-2.675, 1.4) (-2.075, 1.4)};\n    @LINE(cap=\"round\") {(-2.675, -1.4) (-2.075, -1.4)};\n    @LINE(cap=\"round\") {(-1.3538, 1.1) (-1.3538, 1.7)};\n    @LINE(cap=\"round\") {(-1.6538, 1.4) (-1.0538, 1.4)};\n    @LINE(cap=\"round\") {(-1.6538, -1.4) (-1.0538, -1.4)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 3.35)\n  };\n\n  /* inp inn out (vp) (vn); from Analog Canvas comparator-inputs-swapped */\n  $COMPARATOR = @DEFINE-SYMBOL(box=[-4, -3.4, 3, 3.4]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-4, 1) (-3, 1)};\n    @LINE {(-4, -1) (-3, -1)};\n    @LINE {(2.1962, 0) (3, 0)};\n    @LINE(linewidth=0.24) {(-3, 3) (-3, -3) (2.1962, 0) (-3, 3)};\n    @LINE(cap=\"round\") {(-2.375, 1.1) (-2.375, 1.7)};\n    @LINE(cap=\"round\") {(-2.675, 1.4) (-2.075, 1.4)};\n    @LINE(cap=\"round\") {(-2.675, -1.4) (-2.075, -1.4)};\n    @LINE {(-1.8038, -0.7) (-1.0038, -0.7) (-1.0038, 0.7) (-0.2038, 0.7)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 3.35)\n  };\n\n  /* inp inn (vp) (vn) out; from $COMPARATOR with its terminals in the macromodel's order */\n  $COMPARATOR_5TERM = @DEFINE-SYMBOL(box=[-4, -3.4, 3, 3.4]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=5, direction=\"right\");\n    @LINE {(-4, 1) (-3, 1)};\n    @LINE {(-4, -1) (-3, -1)};\n    @LINE {(2.1962, 0) (3, 0)};\n    @LINE(linewidth=0.24) {(-3, 3) (-3, -3) (2.1962, 0) (-3, 3)};\n    @LINE(cap=\"round\") {(-2.375, 1.1) (-2.375, 1.7)};\n    @LINE(cap=\"round\") {(-2.675, 1.4) (-2.075, 1.4)};\n    @LINE(cap=\"round\") {(-2.675, -1.4) (-2.075, -1.4)};\n    @LINE {(-1.8038, -0.7) (-1.0038, -0.7) (-1.0038, 0.7) (-0.2038, 0.7)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 3.35)\n  };\n\n  /* in out (vp) (vn); from Analog Canvas voltage-amplifier */\n  $VOLTAGE_AMPLIFIER = @DEFINE-SYMBOL(box=[-4, -3.4, 3, 3.4]) {\n    (-4, 0) @PIN(terminal=1, direction=\"left\");\n    (3, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-4, 0) (-3, 0)};\n    @LINE(linewidth=0.24) {(-3, 3) (-3, -3) (2.1962, 0) (-3, 3)};\n    @LINE {(2.1962, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 3.35)\n  };\n\n  /* in out (vp) (vn); from Analog Canvas transconductance */\n  $TRANSCONDUCTOR = @DEFINE-SYMBOL(box=[-3, -3.9, 3, 3.9]) {\n    (-3, 0) @PIN(terminal=1, direction=\"left\");\n    (3, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE(linewidth=0.24) {(-2, 3.5) (2, 1.75) (2, -1.75) (-2, -3.5) (-2, 3.5)};\n    @LINE {(2, 0) (3, 0)};\n    ? @TEXT(\"\\textit{g}_{m}\", key=\"formula\", halign=\"middle\", valign=\"middle\", size=1.2) => @PLACE(0, 0);\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 3.85)\n  };\n\n  /* inp inn out (vp) (vn); from Analog Canvas differential-transconductance-inputs-swapped */\n  $DIFFERENTIAL_TRANSCONDUCTOR = @DEFINE-SYMBOL(box=[-3, -3.9, 3, 3.9]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-3, -1) (-2, -1)};\n    @LINE {(-3, 1) (-2, 1)};\n    @LINE(linewidth=0.24) {(-2, 3.5) (2, 1.75) (2, -1.75) (-2, -3.5) (-2, 3.5)};\n    @LINE(cap=\"round\") {(-1.3, 1) (-0.7, 1)};\n    @LINE(cap=\"round\") {(-1, 0.7) (-1, 1.3)};\n    @LINE(cap=\"round\") {(-1.3, -1) (-0.7, -1)};\n    @LINE {(2, 0) (3, 0)};\n    ? @TEXT(\"\\textit{g}_{m}\", key=\"formula\", halign=\"middle\", valign=\"middle\", size=1.2) => @PLACE(0.3, 0);\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 3.85)\n  };\n\n  /* in out (vp) (vn); from Analog Canvas adc */\n  $ADC = @DEFINE-SYMBOL(box=[-5, -2.4, 4, 2.4]) {\n    (-5, 0) @PIN(terminal=1, direction=\"left\");\n    (4, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-5, 0) (-4, 0)};\n    @LINE(linewidth=0.24) {(3, 2) (-2, 2) (-4, 0) (-2, -2) (3, -2) (3, 2)};\n    @LINE {(3, 0) (4, 0)};\n    ? @TEXT(\"ADC\", key=\"formula\", halign=\"middle\", valign=\"middle\", size=1.2) => @PLACE(-0.028, 0);\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 2.35)\n  };\n\n  /* in out (vp) (vn); from Analog Canvas dac */\n  $DAC = @DEFINE-SYMBOL(box=[-4, -2.4, 5, 2.4]) {\n    (-4, 0) @PIN(terminal=1, direction=\"left\");\n    (5, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-4, 0) (-3, 0)};\n    @LINE(linewidth=0.24) {(-3, 2) (2, 2) (4, 0) (2, -2) (-3, -2) (-3, 2)};\n    @LINE {(4, 0) (5, 0)};\n    ? @TEXT(\"DAC\", key=\"formula\", halign=\"middle\", valign=\"middle\", size=1.2) => @PLACE(0.028, 0);\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0.5, 2.35)\n  }\n}\n","<bundled>/0.3/rnl-std-logic.rnl":"/* rnl-std-logic 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   Gates, buffer, inverter, D flip-flops, and the drawing-only delay cell.\n   In rnl-std-full; a file that wants it alone names it with USE-PACKAGE (16.2).\n   Coordinates are y-up; one unit is one grid step, ten Analog Canvas units. Pins bind by terminal\n   number, so a symbol fits any dialect. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-logic\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- symbols (9.2) drawn from Analog Canvas */\n@RNL {\n  /* a b y (vp) (vn); from Analog Canvas and-gate */\n  $AND_2INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 2, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, -1) @PIN(terminal=2, direction=\"left\");\n    (2, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE(linewidth=0.24) {(0, 1.5) (-2, 1.5) (-2, -1.5) (0, -1.5)};\n    @ARC(linewidth=0.24) {(0, 1.5) (1.5, 0) (0, -1.5)};\n    @LINE {(-3, 1) (-2, 1)};\n    @LINE {(-3, -1) (-2, -1)};\n    @LINE {(1.5, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 1.85)\n  };\n\n  /* a b c y (vp) (vn); from Analog Canvas and-gate-3 */\n  $AND_3INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 2, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (2, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE(linewidth=0.24) {(0, 1.5) (-2, 1.5) (-2, -1.5) (0, -1.5)};\n    @ARC(linewidth=0.24) {(0, 1.5) (1.5, 0) (0, -1.5)};\n    @LINE {(-3, 1) (-2, 1)};\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE {(-3, -1) (-2, -1)};\n    @LINE {(1.5, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 1.85)\n  };\n\n  /* a b y (vp) (vn); from Analog Canvas nand-gate */\n  $NAND_2INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE(linewidth=0.24) {(0, 1.5) (-2, 1.5) (-2, -1.5) (0, -1.5)};\n    @ARC(linewidth=0.24) {(0, 1.5) (1.5, 0) (0, -1.5)};\n    (2.05, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 1) (-2, 1)};\n    @LINE {(-3, -1) (-2, -1)};\n    @LINE {(2.3875, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.85)\n  };\n\n  /* a b c y (vp) (vn); from Analog Canvas nand-gate-3 */\n  $NAND_3INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (3, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE(linewidth=0.24) {(0, 1.5) (-2, 1.5) (-2, -1.5) (0, -1.5)};\n    @ARC(linewidth=0.24) {(0, 1.5) (1.5, 0) (0, -1.5)};\n    (2.05, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 1) (-2, 1)};\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE {(-3, -1) (-2, -1)};\n    @LINE {(2.3875, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.85)\n  };\n\n  /* a b y (vp) (vn); from Analog Canvas or-gate */\n  $OR_2INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 2, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, -1) @PIN(terminal=2, direction=\"left\");\n    (2, 0) @PIN(terminal=3, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (0.03, 1.18) (1.58, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, -1.78) (0.03, -1.18) (1.58, 0)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(1.58, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 2.15)\n  };\n\n  /* a b c y (vp) (vn); from Analog Canvas or-gate-3 */\n  $OR_3INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 2, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (2, 0) @PIN(terminal=4, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (0.03, 1.18) (1.58, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, -1.78) (0.03, -1.18) (1.58, 0)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, 0) (-1.25, 0)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(1.58, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 2.15)\n  };\n\n  /* a b y (vp) (vn); from Analog Canvas nor-gate */\n  $NOR_2INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=3, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (0.03, 1.18) (1.58, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, -1.78) (0.03, -1.18) (1.58, 0)};\n    (2, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(2.3375, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.15)\n  };\n\n  /* a b c y (vp) (vn); from Analog Canvas nor-gate-3 */\n  $NOR_3INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (3, 0) @PIN(terminal=4, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (0.03, 1.18) (1.58, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, -1.78) (0.03, -1.18) (1.58, 0)};\n    (2, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, 0) (-1.25, 0)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(2.3375, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.15)\n  };\n\n  /* a b y (vp) (vn); from Analog Canvas xor-gate */\n  $XOR_2INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, -1) @PIN(terminal=2, direction=\"left\");\n    (3, 0) @PIN(terminal=3, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (-0.6, 0) (-1.35, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (0.68, 1.18) (2.23, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, -1.78) (0.68, -1.18) (2.23, 0)};\n    @ARC(linewidth=0.24) {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(2.23, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.15)\n  };\n\n  /* a b c y (vp) (vn); from Analog Canvas xor-gate-3 */\n  $XOR_3INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (3, 0) @PIN(terminal=4, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (-0.6, 0) (-1.35, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (0.68, 1.18) (2.23, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, -1.78) (0.68, -1.18) (2.23, 0)};\n    @ARC(linewidth=0.24) {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, 0) (-1.25, 0)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(2.23, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.15)\n  };\n\n  /* a b y (vp) (vn); from Analog Canvas xnor-gate */\n  $XNOR_2INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 4, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, -1) @PIN(terminal=2, direction=\"left\");\n    (4, 0) @PIN(terminal=3, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (-0.6, 0) (-1.35, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (0.68, 1.18) (2.23, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, -1.78) (0.68, -1.18) (2.23, 0)};\n    @ARC(linewidth=0.24) {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    (2.65, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(2.9875, 0) (4, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0.5, 2.15)\n  };\n\n  /* a b c y (vp) (vn); from Analog Canvas xnor-gate-3 */\n  $XNOR_3INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 4, 2.4]) {\n    (-3, 1) @PIN(terminal=1, direction=\"left\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (4, 0) @PIN(terminal=4, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (-0.6, 0) (-1.35, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (0.68, 1.18) (2.23, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, -1.78) (0.68, -1.18) (2.23, 0)};\n    @ARC(linewidth=0.24) {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    (2.65, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, 0) (-1.25, 0)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(2.9875, 0) (4, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0.5, 2.15)\n  };\n\n  /* a y (vp) (vn); from Analog Canvas buffer */\n  $BUFFER = @DEFINE-SYMBOL(box=[-3, -2.4, 1, 2.4]) {\n    (-3, 0) @PIN(terminal=1, direction=\"left\");\n    (1, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE(linewidth=0.24) {(0.375, 0) (-2, -1.4999) (-2, 1.375) (0.375, 0)};\n    @LINE {(0.375, 0) (1, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-1, 1.7)\n  };\n\n  /* a y (vp) (vn); from Analog Canvas inverter */\n  $INVERTER = @DEFINE-SYMBOL(box=[-3, -2.4, 2, 2.4]) {\n    (-3, 0) @PIN(terminal=1, direction=\"left\");\n    (2, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE(linewidth=0.24) {(0.3751, 0) (-2, 1.5) (-2, -1.3748) (0.3751, 0)};\n    (0.7522, -0.001) @CIRCLE(radius=0.375, linewidth=0.24);\n    @LINE {(1.1272, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 1.85)\n  };\n\n  /* d ck q qb (vp) (vn); from Analog Canvas d-flip-flop */\n  $D_FLIP_FLOP = @DEFINE-SYMBOL(box=[-4, -2.7, 4, 2.7]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (4, 1) @PIN(terminal=3, direction=\"right\");\n    (4, -1) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-4, 1) (-2.5001, 1)};\n    @LINE {(-4, -1) (-2.5001, -1)};\n    @LINE(linewidth=0.24) {(-2.5001, 2.5) (2.5001, 2.5) (2.5001, -2.5) (-2.5001, -2.5) (-2.5001, 2.5)};\n    @LINE {(2.5001, 1) (4, 1)};\n    @LINE {(2.5001, -1) (4, -1)};\n    (-2.1, 1) @TEXT(\"D\", halign=\"start\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (-2.1, -1) @TEXT(\"CK\", halign=\"start\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (2.1, 1) @TEXT(\"Q\", halign=\"end\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (2.1, -1) @TEXT(\"\\overline{Q}\", halign=\"end\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.85)\n  };\n\n  /* d ck q (vp) (vn); from Analog Canvas d-flip-flop-q */\n  $D_FLIP_FLOP_Q_ONLY = @DEFINE-SYMBOL(box=[-4, -2.7, 4, 2.7]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (4, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-4, 1) (-2.5001, 1)};\n    @LINE {(-4, -1) (-2.5001, -1)};\n    @LINE(linewidth=0.24) {(-2.5001, 2.5) (2.5001, 2.5) (2.5001, -2.5) (-2.5001, -2.5) (-2.5001, 2.5)};\n    @LINE {(2.5001, 0) (4, 0)};\n    (-2.1, 1) @TEXT(\"D\", halign=\"start\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (-2.1, -1) @TEXT(\"CK\", halign=\"start\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (2.1, 0) @TEXT(\"Q\", halign=\"end\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.85)\n  };\n\n  /* d ck rst q qb (vp) (vn); from Analog Canvas d-flip-flop-reset */\n  $D_FLIP_FLOP_WITH_RESET = @DEFINE-SYMBOL(box=[-4, -5, 4, 2.7]) {\n    (-4, 1) @PIN(terminal=1, direction=\"left\");\n    (-4, -1) @PIN(terminal=2, direction=\"left\");\n    (0, -5) @PIN(terminal=3, direction=\"down\");\n    (4, 1) @PIN(terminal=4, direction=\"right\");\n    (4, -1) @PIN(terminal=5, direction=\"right\");\n    @LINE {(-4, 1) (-2.5001, 1)};\n    @LINE {(-4, -1) (-2.5001, -1)};\n    @LINE(linewidth=0.24) {(-2.5001, 2.5) (2.5001, 2.5) (2.5001, -3.5) (-2.5001, -3.5) (-2.5001, 2.5)};\n    @LINE {(2.5001, 1) (4, 1)};\n    @LINE {(2.5001, -1) (4, -1)};\n    @LINE {(0, -3.5) (0, -5)};\n    (-2.1, 1) @TEXT(\"D\", halign=\"start\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (-2.1, -1) @TEXT(\"CK\", halign=\"start\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (0, -3.1) @TEXT(\"RST\", halign=\"middle\", valign=\"bottom\", size=1.03, bold=true, italic=true);\n    (2.1, 1) @TEXT(\"Q\", halign=\"end\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    (2.1, -1) @TEXT(\"\\overline{Q}\", halign=\"end\", valign=\"middle\", size=1.03, bold=true, italic=true);\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.85)\n  };\n\n  /* draws $DELAY_CELL; a y; from Analog Canvas delay-cell */\n  $DELAY_CELL_SYMBOL = @DEFINE-SYMBOL(box=[-4, -2.4, 4, 2.4]) {\n    (-4, 0) @PIN(terminal=1, direction=\"left\");\n    (4, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-4, 0) (-2.4, 0)};\n    @LINE(linewidth=0.24) {(-2.4, 1.2) (2.4, 1.2) (2.4, -1.2) (-2.4, -1.2) (-2.4, 1.2)};\n    @LINE {(2.4, 0) (4, 0)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-0.0951, 0.3868) (-0.1484, 0.1398) (-0.4607, -0.5332) (-0.5551, -0.6035) (-0.0951, 0.3868)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-0.0951, 0.3868) (0.3092, -0.6035) (0.1301, -0.5332) (-0.1484, 0.1398) (-0.0951, 0.3868)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-0.5551, -0.6035) (-0.4607, -0.5332) (0.1301, -0.5332) (0.3092, -0.6035) (-0.5551, -0.6035)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0.661, -0.4849) (0.4843, -0.4849) (0.632, 0.2294) (0.3802, 0.2294) (0.4117, 0.3722) (1.0872, 0.3722) (1.0581, 0.2294) (0.8087, 0.2294) (0.661, -0.4849)}\n  }\n}\n\n/* ---------------------------------------------------------------- rnl-std-logic: the gates with four inputs, drawn by hand (9.2) */\n@RNL {\n  /* Analog Canvas spaces the inputs of its gates with four inputs 0.8 apart; these have them on\n     integer points (9.2.4). Analog Canvas maps its own such gates here for its import only\n     (\"import_only\" in its list), and draws them as $CANVAS_AND_4INPUT and the others of\n     analog-canvas-extensions */\n\n  /* a b c d y (vp) (vn); from Analog Canvas and-gate-4, the inputs on integer points: the\n     outer two reach the input side drawn on to them */\n  $AND_4INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 2, 2.4]) {\n    (-3, 2) @PIN(terminal=1, direction=\"left\");\n    (-3, 1) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (-3, -2) @PIN(terminal=4, direction=\"left\");\n    (2, 0) @PIN(terminal=5, direction=\"right\");\n    @LINE(linewidth=0.24) {(0, 1.5) (-2, 1.5) (-2, -1.5) (0, -1.5)};\n    @ARC(linewidth=0.24) {(0, 1.5) (1.5, 0) (0, -1.5)};\n    @LINE {(-3, 2) (-2, 2)};\n    @LINE {(-3, 1) (-2, 1)};\n    @LINE {(-3, -1) (-2, -1)};\n    @LINE {(-3, -2) (-2, -2)};\n    @LINE(linewidth=0.24) {(-2, 2) (-2, 1.5)};\n    @LINE(linewidth=0.24) {(-2, -1.5) (-2, -2)};\n    @LINE {(1.5, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 1.85)\n  };\n\n  /* a b c d y (vp) (vn); from Analog Canvas nand-gate-4, the inputs on integer points: the\n     outer two reach the input side drawn on to them */\n  $NAND_4INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 2) @PIN(terminal=1, direction=\"left\");\n    (-3, 1) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (-3, -2) @PIN(terminal=4, direction=\"left\");\n    (3, 0) @PIN(terminal=5, direction=\"right\");\n    @LINE(linewidth=0.24) {(0, 1.5) (-2, 1.5) (-2, -1.5) (0, -1.5)};\n    @ARC(linewidth=0.24) {(0, 1.5) (1.5, 0) (0, -1.5)};\n    (2.05, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 2) (-2, 2)};\n    @LINE {(-3, 1) (-2, 1)};\n    @LINE {(-3, -1) (-2, -1)};\n    @LINE {(-3, -2) (-2, -2)};\n    @LINE(linewidth=0.24) {(-2, 2) (-2, 1.5)};\n    @LINE(linewidth=0.24) {(-2, -1.5) (-2, -2)};\n    @LINE {(2.3875, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.85)\n  };\n\n  /* a b c d y (vp) (vn); from Analog Canvas or-gate-4, the inputs on integer points: the\n     outer two reach the input side drawn on to them */\n  $OR_4INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 2, 2.4]) {\n    (-3, 2) @PIN(terminal=1, direction=\"left\");\n    (-3, 1) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (-3, -2) @PIN(terminal=4, direction=\"left\");\n    (2, 0) @PIN(terminal=5, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (0.03, 1.18) (1.58, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, -1.78) (0.03, -1.18) (1.58, 0)};\n    @LINE {(-3, 2) (-2, 2)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(-3, -2) (-2, -2)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, 2) (-2, 1.78)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, -1.78) (-2, -2)};\n    @LINE {(1.58, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(-0.5, 2.15)\n  };\n\n  /* a b c d y (vp) (vn); from Analog Canvas nor-gate-4, the inputs on integer points: the\n     outer two reach the input side drawn on to them */\n  $NOR_4INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 2) @PIN(terminal=1, direction=\"left\");\n    (-3, 1) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (-3, -2) @PIN(terminal=4, direction=\"left\");\n    (3, 0) @PIN(terminal=5, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, 1.78) (0.03, 1.18) (1.58, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-2, -1.78) (0.03, -1.18) (1.58, 0)};\n    (2, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 2) (-2, 2)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(-3, -2) (-2, -2)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, 2) (-2, 1.78)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, -1.78) (-2, -2)};\n    @LINE {(2.3375, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.15)\n  };\n\n  /* a b c d y (vp) (vn); from Analog Canvas xor-gate-4, the inputs on integer points: the\n     outer two reach the input side drawn on to them */\n  $XOR_4INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 2) @PIN(terminal=1, direction=\"left\");\n    (-3, 1) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (-3, -2) @PIN(terminal=4, direction=\"left\");\n    (3, 0) @PIN(terminal=5, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (-0.6, 0) (-1.35, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (0.68, 1.18) (2.23, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, -1.78) (0.68, -1.18) (2.23, 0)};\n    @ARC(linewidth=0.24) {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    @LINE {(-3, 2) (-2, 2)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(-3, -2) (-2, -2)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, 2) (-2, 1.78)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, -1.78) (-2, -2)};\n    @LINE {(2.23, 0) (3, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 2.15)\n  };\n\n  /* a b c d y (vp) (vn); from Analog Canvas xnor-gate-4, the inputs on integer points: the\n     outer two reach the input side drawn on to them */\n  $XNOR_4INPUT = @DEFINE-SYMBOL(box=[-3, -2.4, 4, 2.4]) {\n    (-3, 2) @PIN(terminal=1, direction=\"left\");\n    (-3, 1) @PIN(terminal=2, direction=\"left\");\n    (-3, -1) @PIN(terminal=3, direction=\"left\");\n    (-3, -2) @PIN(terminal=4, direction=\"left\");\n    (4, 0) @PIN(terminal=5, direction=\"right\");\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (-0.6, 0) (-1.35, -1.78)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, 1.78) (0.68, 1.18) (2.23, 0)};\n    @ARC(linewidth=0.24, cap=\"round\") {(-1.35, -1.78) (0.68, -1.18) (2.23, 0)};\n    @ARC(linewidth=0.24) {(-2, 1.78) (-1.25, 0) (-2, -1.78)};\n    (2.65, 0) @CIRCLE(radius=0.3375, linewidth=0.24);\n    @LINE {(-3, 2) (-2, 2)};\n    @LINE {(-3, 1) (-1.4599, 1)};\n    @LINE {(-3, -1) (-1.4599, -1)};\n    @LINE {(-3, -2) (-2, -2)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, 2) (-2, 1.78)};\n    @LINE(linewidth=0.24, cap=\"round\") {(-2, -1.78) (-2, -2)};\n    @LINE {(2.9875, 0) (4, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0.5, 2.15)\n  }\n}\n\n/* ---------------------------------------------------------------- rnl-std-logic: drawing-only parts (9.2.7, 13.4) */\n@RNL {\n  /* only drawn, with no netlist line: a usage on a point, drawn by the definition's _SYMBOL */\n  $DELAY_CELL = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n  # @SELECT-USAGE $DELAY_CELL => @SET-SYMBOL $DELAY_CELL_SYMBOL\n}\n","<bundled>/0.3/rnl-std-no-labels.rnl":"/* rnl-std-no-labels 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   Turns the default labels of the standard symbols off, for a file that writes its own (16.3).\n   Optional, in no collection: a file names it with USE-PACKAGE. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-no-labels\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- rnl-std-no-labels: no default labels\n   Not implicit. A file whose labels are all its own, such as one an editor writes, names it with\n   USE-PACKAGE in its header. Every label the standard symbols give an instance or a usage (name,\n   value, model) becomes empty; the file's own TEXT with the same key comes later and shows it again\n   (13.3). A usage drawn with a device's symbol, such as a $FIGURE with $RESISTOR, has no value or\n   model to show, and its label would fail (13.6); empty, it reads nothing. A block's formula stays:\n   it is part of the drawing. A symbol without one of these keys gets an empty label for it, which\n   draws nothing. */\n@RNL {\n  # @SELECT-INSTANCE => @TEXT(\"\", key=\"name\");\n  # @SELECT-INSTANCE => @TEXT(\"\", key=\"value\");\n  # @SELECT-INSTANCE => @TEXT(\"\", key=\"model\");\n  # @SELECT-USAGE => @TEXT(\"\", key=\"name\");\n  # @SELECT-USAGE => @TEXT(\"\", key=\"value\");\n  # @SELECT-USAGE => @TEXT(\"\", key=\"model\")\n}\n","<bundled>/0.3/rnl-std-rf.rnl":"/* rnl-std-rf 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   RF parts: the center-tap inductor and the T-coil.\n   In rnl-std-full; a file that wants it alone names it with USE-PACKAGE (16.2).\n   Coordinates are y-up; one unit is one grid step, ten Analog Canvas units. Pins bind by terminal\n   number, so a symbol fits any dialect. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-rf\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- symbols (9.2) drawn from Analog Canvas */\n@RNL {\n  /* n1 n2 tap; from Analog Canvas center-tap-inductor */\n  $CENTER_TAP_INDUCTOR = @DEFINE-SYMBOL(box=[-5, -2, 5, 1.6]) {\n    (-5, 0) @PIN(terminal=1, direction=\"left\");\n    (5, 0) @PIN(terminal=2, direction=\"right\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-5, 0) (-4.5, 0)};\n    @ARC(cap=\"round\") {(-4.5, 0) (-4.3536, 0.3536) (-4, 0.5)};\n    @ARC {(-4, 0.5) (-3.6464, 0.3536) (-3.5, 0)};\n    @ARC {(-3.5, 0) (-3, 0.5) (-2.5, 0)};\n    @ARC {(-2.5, 0) (-2, 0.5) (-1.5, 0)};\n    @ARC {(-1.5, 0) (-1.3536, 0.3536) (-1, 0.5)};\n    @ARC(cap=\"round\") {(-1, 0.5) (-0.6464, 0.3536) (-0.5, 0)};\n    @LINE {(-0.5, 0) (0.5, 0)};\n    @ARC(cap=\"round\") {(0.5, 0) (0.6464, 0.3536) (1, 0.5)};\n    @ARC {(1, 0.5) (1.3536, 0.3536) (1.5, 0)};\n    @ARC {(1.5, 0) (2, 0.5) (2.5, 0)};\n    @ARC {(2.5, 0) (3, 0.5) (3.5, 0)};\n    @ARC {(3.5, 0) (3.6464, 0.3536) (4, 0.5)};\n    @ARC(cap=\"round\") {(4, 0.5) (4.3536, 0.3536) (4.5, 0)};\n    @LINE {(4.5, 0) (5, 0)};\n    @LINE {(0, 0) (0, -2)};\n    (0, 0) @CIRCLE(radius=0.3779, fill=\"linecolor\", linestyle=\"none\");\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 0.85)\n  };\n\n  /* n1 n2 tap; from Analog Canvas tcoil */\n  $T_COIL = @DEFINE-SYMBOL(box=[-9, -2, 9, 5.6]) {\n    (-9, 0) @PIN(terminal=1, direction=\"left\");\n    (9, 0) @PIN(terminal=2, direction=\"right\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-9, 0) (-6.0624, 0)};\n    @ARC(cap=\"round\") {(-6.0624, 0) (-5.916, -0.3536) (-5.5624, -0.5)};\n    @ARC {(-5.5624, -0.5) (-5.2089, -0.3536) (-5.0624, 0)};\n    @ARC {(-5.0624, 0) (-4.5624, -0.5) (-4.0624, 0)};\n    @ARC {(-4.0624, 0) (-3.5624, -0.5) (-3.0624, 0)};\n    @ARC {(-3.0624, 0) (-2.916, -0.3536) (-2.5624, -0.5)};\n    @ARC(cap=\"round\") {(-2.5624, -0.5) (-2.2089, -0.3536) (-2.0624, 0)};\n    @LINE {(-2.0624, 0) (2.1812, 0)};\n    @ARC(cap=\"round\") {(2.1812, 0) (2.3277, -0.3536) (2.6812, -0.5)};\n    @ARC {(2.6812, -0.5) (3.0348, -0.3536) (3.1812, 0)};\n    @ARC {(3.1812, 0) (3.6812, -0.5) (4.1812, 0)};\n    @ARC {(4.1812, 0) (4.6812, -0.5) (5.1812, 0)};\n    @ARC {(5.1812, 0) (5.3277, -0.3536) (5.6812, -0.5)};\n    @ARC(cap=\"round\") {(5.6812, -0.5) (6.0348, -0.3536) (6.1812, 0)};\n    @LINE {(6.1812, 0) (9, 0)};\n    @LINE {(0, 0) (0, -2)};\n    @LINE {(-8, 0) (-8, 4.3335) (-1.95, 4.3335)};\n    @LINE(linewidth=0.24) {(-0.3234, 5.1386) (-0.3234, 3.5284)};\n    @LINE(linewidth=0.24) {(0.3234, 5.1386) (0.3234, 3.5284)};\n    @LINE {(-0.3234, 4.3335) (-2, 4.3335)};\n    @LINE {(0.3234, 4.3335) (2, 4.3335)};\n    @LINE {(1.95, 4.3335) (8, 4.3335) (8, 0)};\n    (-5.9216, 0.6074) @CIRCLE(radius=0.3779, fill=\"linecolor\", linestyle=\"none\");\n    (2.322, 0.6074) @CIRCLE(radius=0.3779, fill=\"linecolor\", linestyle=\"none\");\n    (-8, 0) @CIRCLE(radius=0.3779, fill=\"linecolor\", linestyle=\"none\");\n    (0, 0) @CIRCLE(radius=0.3779, fill=\"linecolor\", linestyle=\"none\");\n    (8, 0) @CIRCLE(radius=0.3779, fill=\"linecolor\", linestyle=\"none\");\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 5.5)\n  }\n}\n","<bundled>/0.3/rnl-std-semiconductors.rnl":"/* rnl-std-semiconductors 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The symbols of diodes and transistors, from Analog Canvas, and of the JFET, drawn by hand.\n   Coordinates are y-up; one unit is one grid step, ten Analog Canvas units. Pins bind by terminal\n   number, so a symbol fits any dialect. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-semiconductors\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- rnl-std-semiconductors: symbols drawn from Analog Canvas */\n@RNL {\n  /* a k; from Analog Canvas diode */\n  $DIODE = @DEFINE-SYMBOL(box=[-2, -1, 2, 1]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (2, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-2, 0) (-0.8333, 0)};\n    @LINE {(-0.8333, 0.675) (-0.8333, -0.675) (0.5833, 0) (-0.8333, 0.675)};\n    @LINE(linewidth=0.24) {(0.6667, 0.7333) (0.6667, -0.7333)};\n    @LINE {(0.6667, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.1)\n  };\n\n  /* a k; from Analog Canvas zener-diode */\n  $ZENER_DIODE = @DEFINE-SYMBOL(box=[-2, -1, 2, 1]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (2, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-2, 0) (-0.7803, 0)};\n    @LINE {(-0.7803, 0.6404) (-0.7803, -0.6404) (0.6606, 0) (-0.7803, 0.6404)};\n    @LINE(linewidth=0.24) {(-0.0639, 0.8507) (0.6667, 0.8406) (0.6667, -0.8205) (1.387, -0.8205)};\n    @LINE {(0.6667, 0) (2, 0)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.2)\n  };\n\n  /* d g s (b); from Analog Canvas nmos (textbook-3terminal) */\n  $NMOS = @DEFINE-SYMBOL(box=[-3, -2, 1.4, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.5116, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0.0581, -0.6977) (-0.8721, -0.2907) (-0.8721, -1.1047) (0.0581, -0.6977)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s b; from Analog Canvas nmos */\n  $NMOS_4TERM = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    (1, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.5116, 0) (0, 0)};\n    @LINE {(0.6395, 0) (1, 0)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0, 0) (0.6395, 0.3488) (0.6395, -0.3488) (0, 0)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s (b); from Analog Canvas pmos (textbook-3terminal) */\n  $PMOS = @DEFINE-SYMBOL(box=[-3, -2, 1.4, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-0.436, 0.7122) (0, 0.7122) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.3663, 0.7122) (-0.436, 1.1192) (-0.436, 0.3052) (-1.3663, 0.7122)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s b; from Analog Canvas pmos */\n  $PMOS_4TERM = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    (1, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.5116, 0) (0.3605, 0)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(1, 0) (0.3605, 0.3779) (0.3605, -0.3779) (1, 0)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s (b); from Analog Canvas depletion-nmos (textbook-3terminal) */\n  $DEPLETION_NMOS = @DEFINE-SYMBOL(box=[-3, -2, 1.4, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.0368, 0.6977) (-1.0368, -0.6977)};\n    @LINE {(-1.5116, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0.0581, -0.6977) (-0.8721, -0.2907) (-0.8721, -1.1047) (0.0581, -0.6977)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s b; from Analog Canvas depletion-nmos */\n  $DEPLETION_NMOS_4TERM = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    (1, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.5116, 0) (0, 0)};\n    @LINE {(0.6395, 0) (1, 0)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0, 0) (0.6395, 0.3488) (0.6395, -0.3488) (0, 0)};\n    @LINE {(-1.0368, 0.6977) (-1.0368, -0.6977)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s (b); from Analog Canvas depletion-pmos (textbook-3terminal) */\n  $DEPLETION_PMOS = @DEFINE-SYMBOL(box=[-3, -2, 1.4, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.0368, 0.7777) (-1.0368, -0.6977)};\n    @LINE {(-0.436, 0.7122) (0, 0.7122) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.3663, 0.7122) (-0.436, 1.1192) (-0.436, 0.3052) (-1.3663, 0.7122)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s b; from Analog Canvas depletion-pmos */\n  $DEPLETION_PMOS_4TERM = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    (1, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.5116, 0) (0.3605, 0)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(1, 0) (0.3605, 0.3779) (0.3605, -0.3779) (1, 0)};\n    @LINE {(-1.0368, 0.6977) (-1.0368, -0.6977)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s (b); from Analog Canvas ndmos (standard-3terminal) */\n  $NDMOS = @DEFINE-SYMBOL(box=[-3, -2, 1.4, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.4244, 0.2977) (0, 0.2977) (0, 0.6977)};\n    @LINE {(-1.5116, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0.0581, -0.6977) (-0.8721, -0.2907) (-0.8721, -1.1047) (0.0581, -0.6977)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s b; from Analog Canvas ndmos */\n  $NDMOS_4TERM = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    (1, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.5116, 0) (0, 0)};\n    @LINE {(0.6395, 0) (1, 0)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(0, 0) (0.6395, 0.3488) (0.6395, -0.3488) (0, 0)};\n    @LINE {(-1.4244, 0.2977) (0, 0.2977) (0, 0.6977)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s (b); from Analog Canvas pdmos (standard-3terminal) */\n  $PDMOS = @DEFINE-SYMBOL(box=[-3, -2, 1.4, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.4244, -0.2977) (0, -0.2977) (0, -0.6977)};\n    @LINE {(-0.436, 0.7122) (0, 0.7122) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.3663, 0.7122) (-0.436, 1.1192) (-0.436, 0.3052) (-1.3663, 0.7122)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* d g s b; from Analog Canvas pdmos */\n  $PDMOS_4TERM = @DEFINE-SYMBOL(box=[-3, -2, 1, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    (1, 0) @PIN(terminal=4, direction=\"right\");\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.1802, 0.9593) (-2.1802, -0.9593) (-1.8895, -0.9593) (-1.8895, 0.9593) (-2.1802, 0.9593)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, 1.25) (-1.657, -1.25) (-1.3663, -1.25) (-1.3663, 1.25) (-1.657, 1.25)};\n    @LINE {(-2.0349, 0) (-3, 0)};\n    @LINE {(-1.5116, 0) (0.3605, 0)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(1, 0) (0.3605, 0.3779) (0.3605, -0.3779) (1, 0)};\n    @LINE {(-1.4244, -0.2977) (0, -0.2977) (0, -0.6977)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* c b e (s); from Analog Canvas npn */\n  $NPN = @DEFINE-SYMBOL(box=[-3, -2, 0.8, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    @LINE {(-3, 0) (-1.6869, 0)};\n    @LINE(linewidth=0.24) {(-1.6869, 1.3346) (-1.6869, -1.333)};\n    @LINE {(-1.6869, 0.6402) (0, 1.338) (0, 2)};\n    @LINE {(-1.6869, -0.6404) (-0.7301, -1.0359)};\n    @LINE {(-0.0936, -1.2991) (0, -1.3378) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-0.6635, -0.6792) (-0.9953, -1.3378) (0, -1.3378) (-0.6635, -0.6792)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n\n  /* c b e (s); from Analog Canvas pnp */\n  $PNP = @DEFINE-SYMBOL(box=[-3, -2, 0.8, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    @LINE {(-3, 0) (-1.6869, 0)};\n    @LINE(linewidth=0.24) {(-1.6869, 1.3334) (-1.6869, -1.3342)};\n    @LINE {(-0.8575, 0.9694) (0, 1.338) (0, 2)};\n    @LINE {(-1.6869, -0.6402) (0, -1.3378) (0, -2)};\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.0234, 1.2987) (-0.6916, 0.6402) (-1.6869, 0.6402) (-1.0234, 1.2987)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  }\n}\n\n/* rnl-std-semiconductors, drawn by hand: the JFET, which Analog Canvas does not have. Terminals\n   d g s = 1 2 3 (SPICE order); laid out like Analog Canvas's MOS and BJT, gate on the left, with the\n   MOS channel bar: the N type has its drain up, and the P type, as $PMOS and $PNP, its source up and\n   its drain down. J draws by the model type njf or pjf; Z (ngspice's MESFET) by nmf or pmf.\n   The lines start inside the bar, as Analog Canvas's MOS lines do, so that no cap sticks out. */\n@RNL {\n  %JFET_CHANNEL = @DEFINE-SYMBOL {\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.657, -1.25) (-1.657, 1.25) (-1.366, 1.25) (-1.366, -1.25) (-1.657, -1.25)};\n    @LINE {(-1.4244, 0.6977) (0, 0.6977) (0, 2)};\n    @LINE {(-1.4244, -0.6977) (0, -0.6977) (0, -2)};\n    @LINE {(-3, 0) (-1.5116, 0)};\n    ? @TEXT(\"${name}\", key=\"name\") => @PLACE(0.5, 1.05);\n    ? @TEXT(\"${model}\", key=\"model\") => @PLACE(0.5, -1.75)\n  };\n  /* the arrow on the gate points at the channel */\n  $NJFET = @DEFINE-SYMBOL(box=[-3, -2, 0.8, 2]) {\n    (0, 2) @PIN(terminal=1, direction=\"up\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, -2) @PIN(terminal=3, direction=\"down\");\n    %JFET_CHANNEL;\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-1.66, 0) (-2.3, 0.35) (-2.3, -0.35) (-1.66, 0)}\n  };\n  /* and away from it; the source is up and the drain down, as in $PMOS */\n  $PJFET = @DEFINE-SYMBOL(box=[-3, -2, 0.8, 2]) {\n    (0, -2) @PIN(terminal=1, direction=\"down\");\n    (-3, 0) @PIN(terminal=2, direction=\"left\");\n    (0, 2) @PIN(terminal=3, direction=\"up\");\n    %JFET_CHANNEL;\n    @LINE(fill=\"linecolor\", linestyle=\"none\") {(-2.4, 0) (-1.76, 0.35) (-1.76, -0.35) (-2.4, 0)}\n  }\n}\n","<bundled>/0.3/rnl-std-signal-flow.rnl":"/* rnl-std-signal-flow 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   Signal-flow blocks: adder, multiplier, and the drawing-only integrators, quantizer and unit delay.\n   In rnl-std-full; a file that wants it alone names it with USE-PACKAGE (16.2).\n   Coordinates are y-up; one unit is one grid step, ten Analog Canvas units. Pins bind by terminal\n   number, so a symbol fits any dialect. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-signal-flow\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- symbols (9.2) drawn from Analog Canvas */\n@RNL {\n  /* a b y (vp) (vn); from Analog Canvas adder */\n  $ADDER = @DEFINE-SYMBOL(box=[-2, -2, 2, 1.6]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    (2, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-2, 0) (-1.3, 0)};\n    (0, 0) @CIRCLE(radius=1.2, linewidth=0.24);\n    @LINE {(1.3, 0) (2, 0)};\n    @LINE {(0, -1.3) (0, -2)};\n    @LINE(cap=\"round\") {(-0.6, 0) (0.6, 0)};\n    @LINE(cap=\"round\") {(0, 0.6) (0, -0.6)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.55)\n  };\n\n  /* a b y (vp) (vn); from Analog Canvas multiplier */\n  $MULTIPLIER = @DEFINE-SYMBOL(box=[-2, -2, 2, 1.6]) {\n    (-2, 0) @PIN(terminal=1, direction=\"left\");\n    (0, -2) @PIN(terminal=2, direction=\"down\");\n    (2, 0) @PIN(terminal=3, direction=\"right\");\n    @LINE {(-2, 0) (-1.3, 0)};\n    (0, 0) @CIRCLE(radius=1.2, linewidth=0.24);\n    @LINE {(1.3, 0) (2, 0)};\n    @LINE {(0, -1.3) (0, -2)};\n    @LINE(cap=\"round\") {(-0.4243, 0.4243) (0.4243, -0.4243)};\n    @LINE(cap=\"round\") {(-0.4243, -0.4243) (0.4243, 0.4243)};\n    ? @TEXT(\"${name}\", key=\"name\", halign=\"middle\") => @PLACE(0, 1.55)\n  };\n\n  /* draws $INTEGRATOR; a y; from Analog Canvas integrator */\n  $INTEGRATOR_SYMBOL = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 0) @PIN(terminal=1, direction=\"left\");\n    (3, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE(linewidth=0.24) {(-2, 2) (2, 2) (2, -2) (-2, -2) (-2, 2)};\n    @LINE {(2, 0) (3, 0)};\n    ? @TEXT(\"\\frac{1}{\\textit{s}}\", key=\"formula\", halign=\"middle\", valign=\"middle\", size=1.2) => @PLACE(0, 0)\n  };\n\n  /* draws $DISCRETE_TIME_INTEGRATOR; a y; from Analog Canvas discrete-time-integrator */\n  $DISCRETE_TIME_INTEGRATOR_SYMBOL = @DEFINE-SYMBOL(box=[-4, -2.4, 4, 2.4]) {\n    (-4, 0) @PIN(terminal=1, direction=\"left\");\n    (4, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-4, 0) (-3, 0)};\n    @LINE(linewidth=0.24) {(-3, 2) (3, 2) (3, -2) (-3, -2) (-3, 2)};\n    @LINE {(3, 0) (4, 0)};\n    ? @TEXT(\"\\frac{\\textit{z}^{-1}}{1-\\textit{z}^{-1}}\", key=\"formula\", halign=\"middle\", valign=\"middle\", size=1.2) => @PLACE(0, 0)\n  };\n\n  /* draws $QUANTIZER; a y; from Analog Canvas quantizer */\n  $QUANTIZER_SYMBOL = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 0) @PIN(terminal=1, direction=\"left\");\n    (3, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE(linewidth=0.24) {(-2, 2) (2, 2) (2, -2) (-2, -2) (-2, 2)};\n    @LINE {(2, 0) (3, 0)};\n    @LINE(cap=\"round\", join=\"round\") {(-1.4, -1.5) (-0.7, -1.5) (-0.7, -0.5) (0, -0.5) (0, 0.5) (0.7, 0.5) (0.7, 1.5) (1.4, 1.5)}\n  };\n\n  /* draws $UNIT_DELAY; a y; from Analog Canvas unit-delay */\n  $UNIT_DELAY_SYMBOL = @DEFINE-SYMBOL(box=[-3, -2.4, 3, 2.4]) {\n    (-3, 0) @PIN(terminal=1, direction=\"left\");\n    (3, 0) @PIN(terminal=2, direction=\"right\");\n    @LINE {(-3, 0) (-2, 0)};\n    @LINE(linewidth=0.24) {(-2, 1.5) (2, 1.5) (2, -1.5) (-2, -1.5) (-2, 1.5)};\n    @LINE {(2, 0) (3, 0)};\n    ? @TEXT(\"\\textit{z}^{-1}\", key=\"formula\", halign=\"middle\", valign=\"middle\", size=1.2) => @PLACE(0, 0)\n  }\n}\n\n/* ---------------------------------------------------------------- rnl-std-signal-flow: drawing-only parts (9.2.7, 13.4) */\n@RNL {\n  /* only drawn, with no netlist line: usages on a point, each drawn by the definition's _SYMBOL */\n  $INTEGRATOR = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n  $DISCRETE_TIME_INTEGRATOR = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n  $QUANTIZER = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n  $UNIT_DELAY = @DEFINE(roles=[[\"p\", \"point\"]]) {};\n  # @SELECT-USAGE $INTEGRATOR => @SET-SYMBOL $INTEGRATOR_SYMBOL;\n  # @SELECT-USAGE $DISCRETE_TIME_INTEGRATOR => @SET-SYMBOL $DISCRETE_TIME_INTEGRATOR_SYMBOL;\n  # @SELECT-USAGE $QUANTIZER => @SET-SYMBOL $QUANTIZER_SYMBOL;\n  # @SELECT-USAGE $UNIT_DELAY => @SET-SYMBOL $UNIT_DELAY_SYMBOL\n}\n","<bundled>/0.3/rnl-std-spectre.rnl":"/* rnl-std-spectre 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The rule package of Spectre: the symbols of instances by master, then by model type (16.3). */\n@RNL(type=\"header\") {\n  @VERSION(\"0.3\");\n  @PACKAGE(name=\"rnl-std-spectre\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-basic\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-semiconductors\", version=\"0.3\")\n}\n\n/* ---------------------------------------------------------------- rnl-std-spectre: symbols for Spectre netlists\n   Every element the Spectre adapter reads natively, all but subcircuit calls (16.3). Spectre names\n   carry no element letter, so nothing goes by name: a primitive by its master, an instance of a model\n   card by the card's model type (6.12, 10.1). As a package it references rnl-std-basic and\n   rnl-std-semiconductors, whose symbols it names. */\n@RNL {\n  # @SELECT-INSTANCE(model=\"resistor\") => @SET-SYMBOL $RESISTOR;\n  # @SELECT-INSTANCE(model=\"capacitor\") => @SET-SYMBOL $CAPACITOR;\n  # @SELECT-INSTANCE(model=\"inductor\") => @SET-SYMBOL $INDUCTOR;\n  # @SELECT-INSTANCE(model=\"vsource\") => @SET-SYMBOL $VOLTAGE_SOURCE;\n  # @SELECT-INSTANCE(model=\"isource\") => @SET-SYMBOL $CURRENT_SOURCE;\n  # @SELECT-INSTANCE(model=\"diode\") => @SET-SYMBOL $DIODE;\n  # @SELECT-INSTANCE(model=\"vcvs\") => @SET-SYMBOL $VCVS_4TERM;\n  # @SELECT-INSTANCE(model=\"vccs\") => @SET-SYMBOL $VCCS_4TERM;\n  # @SELECT-INSTANCE(model=\"cccs\") => @SET-SYMBOL $CCCS;\n  # @SELECT-INSTANCE(model=\"ccvs\") => @SET-SYMBOL $CCVS;\n  # @SELECT-INSTANCE(model=\"bsource\") => @SET-SYMBOL $BEHAVIORAL_SOURCE;\n  # @SELECT-INSTANCE(model=\"relay\") => @SET-SYMBOL $VOLTAGE_CONTROLLED_SWITCH;\n  # @SELECT-INSTANCE(model=\"switch\") => @SET-SYMBOL $SWITCH;\n  # @SELECT-INSTANCE(model=\"port\") => @SET-SYMBOL $RF_PORT;\n  # @SELECT-INSTANCE(model=\"transformer\") => @SET-SYMBOL $TRANSFORMER;\n  # @SELECT-INSTANCE(model=\"tline\") => @SET-SYMBOL $TRANSMISSION_LINE;\n\n  /* the model type of the model card an instance names, in SPICE's words (the adapter's family()) */\n  # @SELECT-INSTANCE(type=\"d\") => @SET-SYMBOL $DIODE;\n  # @SELECT-INSTANCE(type=\"r\") => @SET-SYMBOL $RESISTOR;\n  # @SELECT-INSTANCE(type=\"c\") => @SET-SYMBOL $CAPACITOR;\n  # @SELECT-INSTANCE(type=\"l\") => @SET-SYMBOL $INDUCTOR;\n  # @SELECT-INSTANCE(type=\"sw\") => @SET-SYMBOL $VOLTAGE_CONTROLLED_SWITCH;\n  # @SELECT-INSTANCE(type=\"nmos\") => @SET-SYMBOL $NMOS_4TERM;\n  # @SELECT-INSTANCE(type=\"npn\") => @SET-SYMBOL $NPN;\n  # @SELECT-INSTANCE(type=\"njf\") => @SET-SYMBOL $NJFET;\n  # @SELECT-INSTANCE(type=\"nmf\") => @SET-SYMBOL $NJFET;\n  /* narrow: the model type picks the P variants */\n  # @SELECT-INSTANCE(type=\"pmos\") => @SET-SYMBOL $PMOS_4TERM;\n  # @SELECT-INSTANCE(type=\"pnp\") => @SET-SYMBOL $PNP;\n  # @SELECT-INSTANCE(type=\"pjf\") => @SET-SYMBOL $PJFET;\n  # @SELECT-INSTANCE(type=\"pmf\") => @SET-SYMBOL $PJFET\n}\n","<bundled>/0.3/rnl-std-spice.rnl":"/* rnl-std-spice 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The rule package of SPICE: the symbols of instances by element letter, then by model type (16.3). */\n@RNL(type=\"header\") {\n  @VERSION(\"0.3\");\n  @PACKAGE(name=\"rnl-std-spice\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-basic\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-semiconductors\", version=\"0.3\")\n}\n\n/* ---------------------------------------------------------------- rnl-std-spice: symbols for SPICE netlists\n   Every element the SPICE adapter reads natively, all but subcircuit calls (16.3): broad (element letter,\n   the first letter of the name) first, narrow (model type) later. A transistor (M, Q, J, Z) is drawn by\n   the type of its model card alone, below: its polarity is not told by its name, so one whose card is not\n   found is not drawn. As a package it references\n   rnl-std-basic and rnl-std-semiconductors, whose symbols it names. */\n@RNL {\n  # @SELECT-INSTANCE(name=\"R*\") => @SET-SYMBOL $RESISTOR;\n  # @SELECT-INSTANCE(name=\"C*\") => @SET-SYMBOL $CAPACITOR;\n  # @SELECT-INSTANCE(name=\"L*\") => @SET-SYMBOL $INDUCTOR;\n  # @SELECT-INSTANCE(name=\"V*\") => @SET-SYMBOL $VOLTAGE_SOURCE;\n  # @SELECT-INSTANCE(name=\"I*\") => @SET-SYMBOL $CURRENT_SOURCE;\n  # @SELECT-INSTANCE(name=\"D*\") => @SET-SYMBOL $DIODE;\n  # @SELECT-INSTANCE(name=\"E*\") => @SET-SYMBOL $VCVS_4TERM;\n  # @SELECT-INSTANCE(name=\"G*\") => @SET-SYMBOL $VCCS_4TERM;\n  # @SELECT-INSTANCE(name=\"F*\") => @SET-SYMBOL $CCCS;\n  # @SELECT-INSTANCE(name=\"H*\") => @SET-SYMBOL $CCVS;\n  # @SELECT-INSTANCE(name=\"B*\") => @SET-SYMBOL $BEHAVIORAL_SOURCE;\n  # @SELECT-INSTANCE(name=\"S*\") => @SET-SYMBOL $VOLTAGE_CONTROLLED_SWITCH;\n  # @SELECT-INSTANCE(name=\"W*\") => @SET-SYMBOL $SWITCH;\n  # @SELECT-INSTANCE(name=\"T*\") => @SET-SYMBOL $TRANSMISSION_LINE;\n  # @SELECT-INSTANCE(name=\"O*\") => @SET-SYMBOL $TRANSMISSION_LINE;\n  # @SELECT-INSTANCE(name=\"U*\") => @SET-SYMBOL $RC_LINE;\n\n  /* the model type of the .model card the element names */\n  # @SELECT-INSTANCE(type=\"d\") => @SET-SYMBOL $DIODE;\n  # @SELECT-INSTANCE(type=\"r\") => @SET-SYMBOL $RESISTOR;\n  # @SELECT-INSTANCE(type=\"c\") => @SET-SYMBOL $CAPACITOR;\n  # @SELECT-INSTANCE(type=\"l\") => @SET-SYMBOL $INDUCTOR;\n  # @SELECT-INSTANCE(type=\"sw\") => @SET-SYMBOL $VOLTAGE_CONTROLLED_SWITCH;\n  # @SELECT-INSTANCE(type=\"nmos\") => @SET-SYMBOL $NMOS_4TERM;\n  # @SELECT-INSTANCE(type=\"npn\") => @SET-SYMBOL $NPN;\n  # @SELECT-INSTANCE(type=\"njf\") => @SET-SYMBOL $NJFET;\n  # @SELECT-INSTANCE(type=\"nmf\") => @SET-SYMBOL $NJFET;\n  /* narrow: the model type picks the P variants */\n  # @SELECT-INSTANCE(type=\"pmos\") => @SET-SYMBOL $PMOS_4TERM;\n  # @SELECT-INSTANCE(type=\"pnp\") => @SET-SYMBOL $PNP;\n  # @SELECT-INSTANCE(type=\"lpnp\") => @SET-SYMBOL $PNP;\n  # @SELECT-INSTANCE(type=\"pjf\") => @SET-SYMBOL $PJFET;\n  # @SELECT-INSTANCE(type=\"pmf\") => @SET-SYMBOL $PJFET;\n  /* the adapter's type for the W and U of HSPICE that are transmission lines, not a switch and an RC line */\n  # @SELECT-INSTANCE(type=\"tline\") => @SET-SYMBOL $TRANSMISSION_LINE\n}\n","<bundled>/0.3/rnl-std-structures.rnl":"/* rnl-std-structures 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The definitions of circuit structures and of layouts (9.5, 14, 15.1), which rnl-std-semantics and\n   rnl-std-layout held apart before. Some carry a default drawing in their bodies, whose constraints\n   are all of priority low (14.8): the author's own facts come before them, PRIORITY(\"disabled\") on a\n   usage turns them off for that usage, and a rule such as\n   # @SELECT-USAGE $DIFFERENTIAL_PAIR => @PRIORITY(\"disabled\") for every usage of a definition. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-structures\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- circuit structures (15.1) */\n@RNL {\n  /* the tail, a set that may be left empty, by its centre under the middle of the pair (14.1, 14.4) */\n  $DIFFERENTIAL_PAIR = @DEFINE(roles=[[\"in_p\", \"instance\"], [\"in_n\", \"instance\"], [\"{tail}\", \"instance\"]]) {\n    {?in_p {?tail} ?in_n} @DISTRIBUTE(\"x\", priority=\"low\")\n  };\n  $CURRENT_MIRROR = @DEFINE(roles=[[\"{ref}\", \"instance\"], [\"{out}\", \"instance\"]]) {};\n  $MATCHED = @DEFINE(roles=[\"{members}\"]) {};\n  /* the members in one column; which is on top is the solver's, by the direction of the current */\n  $BRANCH = @DEFINE(roles=[\"{members}\"]) {\n    ?members @ALIGN(\"x\", priority=\"low\")\n  };\n  /* from the source through the members of the chain, in the order written, to the load */\n  $CHAIN = @DEFINE(roles=[\"source\", \"{chain}\", \"load\"]) {\n    {?source ?chain ?load} @ORDER(\"left-to-right\", priority=\"low\")\n  };\n  $CASCADE = @DEFINE(roles=[\"{first}\", \"{second}\", \"{feedback}\", \"{load}\"]) {};\n  $SUPPLY_HIGH = @DEFINE(roles=[[\"pin\", \"terminal\"]]) {};\n  $SUPPLY_LOW = @DEFINE(roles=[[\"pin\", \"terminal\"]]) {}\n}\n\n/* ---------------------------------------------------------------- layouts (14) */\n@RNL {\n  /* a and b at one height, mirror images about the axis point, a on the left (14.7, 14.9) */\n  $MIRRORED = @DEFINE(roles=[\"a\", \"b\", \"axis\"]) {\n    {?a ?b} @ALIGN(\"y\", priority=\"low\");\n    {?a ?axis ?b} @DISTRIBUTE(\"x\", priority=\"low\");\n    {?a ?b} @ORDER(\"left-to-right\", priority=\"low\");\n    ?a ?b @ORIENT-RELATION(\"MY\", priority=\"low\")\n  };\n  $FLOW = @DEFINE(roles=[\"{path}\"], parameters=[[\"direction\", \"left-to-right\"]]) {\n    ?path @ORDER(?direction, priority=\"low\")\n  }\n}\n","<bundled>/0.3/rnl-std-style.rnl":"/* rnl-std-style 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The styles (9.3) and the default style rules. */\n@RNL(type=\"header\") { @VERSION(\"0.3\"); @PACKAGE(name=\"rnl-std-style\", version=\"0.3\")}\n\n/* ---------------------------------------------------------------- rnl-std-style: styles (9.3) and the style rules */\n@RNL {\n  /* lines as Analog Canvas draws them (razavi-textbook-v1): wires and normal strokes 0.16 wide, with\n     butt caps and miter joins. A symbol writes the width of its emphasis (0.24) and ground (0.2907)\n     strokes, and a round cap or join, itself; a bus is \"bold\", twice as wide (9.3) */\n  $base = @DEFINE-STYLE(linecolor=\"#1d1d1f\", textcolor=\"#1d1d1f\", fillcolor=\"#ffffff\", linewidth=0.16, cap=\"butt\", join=\"miter\", size=1) {};\n  $bus = @DEFINE-STYLE(linestyle=\"bold\") {};\n  $signal = @DEFINE-STYLE(linecolor=\"#1f4fd8\", linestyle=\"bold\") {$base};\n  $note = @DEFINE-STYLE(textcolor=\"#555555\", size=0.9) {};\n  $grey = @DEFINE-STYLE(linecolor=\"#9a9a9a\", textcolor=\"#9a9a9a\") {};\n\n  /* style first, so every later rule and user statement overrides it */\n  # @SELECT-INSTANCE => @SET-STYLE $base;\n  # @SELECT-USAGE => @SET-STYLE $base;\n  # @SELECT-WIRE => @SET-STYLE $base;\n  # @SELECT-LABEL => @SET-STYLE $base;\n  # @SELECT-ANNOTATION => @SET-STYLE $base;\n  # @SELECT-WIRE(bus=true) => @SET-STYLE $bus\n}\n","<bundled>/0.3/rnl-std.rnl":"/* rnl-std 0.3, a package of the standard series 0.3 (16.3).\n   Generated by build-std.mjs in rnl-dev (notes/analog-canvas-rnl-import-export/std-0.3, 609ab05)\n   from Analog Canvas 9bbfd340b (packages/components/definitions), symbol-list.json (rnl-dev f0c23b6)\n   and the hand-written parts there; from here on edited in rnl, whose files are the source.\n   The standard package of the series, used implicitly at the root of every file of the language\n   version 0.3 (16.3). A package collection: it has no content of its own and references\n   rnl-std-core, then rnl-std-fill and rnl-std-structures. Used, it brings them in in that order,\n   each once (16.2). */\n@RNL(type=\"header\") {\n  @VERSION(\"0.3\");\n  @PACKAGE(name=\"rnl-std\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-core\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-fill\", version=\"0.3\");\n  @USE-PACKAGE(name=\"rnl-std-structures\", version=\"0.3\")\n}\n","<bundled>/0.3/rnl-zh.rnl":"/* rnl-zh 0.3：标准词和标准系列 0.3 名字的中文代称（16.5）。标准词照 rnl-zh 0.2；$ 名字和 definition= 的代称\n   由 rnl-dev 的 notes/analog-canvas-rnl-import-export/std-0.3/terms-zh.md 生成（2026-10-17 定）。 */\n@RNL(type=\"header\") {\n  @VERSION(\"0.3\");\n  @PACKAGE(name=\"rnl-zh\", version=\"0.3\");\n  @ALIAS(\"@位于\", \"@PLACE\");\n  @ALIAS(\"@朝向\", \"@ORIENT\");\n  @ALIAS(\"@朝向关系\", \"@ORIENT-RELATION\");\n  @ALIAS(\"@图层\", \"@LAYER\");\n  @ALIAS(\"@分组\", \"@GROUP\");\n  @ALIAS(\"@对齐\", \"@ALIGN\");\n  @ALIAS(\"@顺序\", \"@ORDER\");\n  @ALIAS(\"@等距\", \"@DISTRIBUTE\");\n  @ALIAS(\"@距离\", \"@DISTANCE\");\n  @ALIAS(\"@优先级\", \"@PRIORITY\");\n  @ALIAS(\"@使用符号\", \"@SET-SYMBOL\");\n  @ALIAS(\"@使用样式\", \"@SET-STYLE\");\n  @ALIAS(\"@定义样式\", \"@DEFINE-STYLE\");\n  @ALIAS(\"@定义符号\", \"@DEFINE-SYMBOL\");\n  @ALIAS(\"@定义\", \"@DEFINE\");\n  @ALIAS(\"@引脚\", \"@PIN\");\n  @ALIAS(\"@折线\", \"@LINE\");\n  @ALIAS(\"@矩形\", \"@RECTANGLE\");\n  @ALIAS(\"@圆\", \"@CIRCLE\");\n  @ALIAS(\"@椭圆\", \"@ELLIPSE\");\n  @ALIAS(\"@圆弧\", \"@ARC\");\n  @ALIAS(\"@贝塞尔\", \"@BEZIER\");\n  @ALIAS(\"@文本\", \"@TEXT\");\n  @ALIAS(\"@导线\", \"@WIRE\");\n  @ALIAS(\"@布线\", \"@ROUTE\");\n  @ALIAS(\"@视作\", \"@AS\");\n  @ALIAS(\"@附着\", \"@ATTACH\");\n  @ALIAS(\"@选出元件\", \"@SELECT-INSTANCE\");\n  @ALIAS(\"@选出端子\", \"@SELECT-TERMINAL\");\n  @ALIAS(\"@选出网络\", \"@SELECT-NET\");\n  @ALIAS(\"@选出导线\", \"@SELECT-WIRE\");\n  @ALIAS(\"@选出标签\", \"@SELECT-LABEL\");\n  @ALIAS(\"@选出标注\", \"@SELECT-ANNOTATION\");\n  @ALIAS(\"@选出用例\", \"@SELECT-USAGE\");\n  @ALIAS(\"@选出所处用例\", \"@SELECT-ANCESTOR-USAGE\");\n  @ALIAS(\"@加入\", \"@ADD-TO\");\n  @ALIAS(\"@移出\", \"@REMOVE-FROM\");\n  @ALIAS(\"@并集\", \"@UNION\");\n  @ALIAS(\"@叠画\", \"@BUNDLE\");\n  @ALIAS(\"@电流\", \"@CURRENT\");\n  @ALIAS(\"@使用包\", \"@USE-PACKAGE\");\n  @ALIAS(\"对象\", \"target\");\n  @ALIAS(\"成员\", \"members\");\n  @ALIAS(\"项\", \"items\");\n  @ALIAS(\"集合\", \"sets\");\n  @ALIAS(\"从\", \"from\");\n  @ALIAS(\"到\", \"to\");\n  @ALIAS(\"符号\", \"symbol\");\n  @ALIAS(\"样式\", \"style\");\n  @ALIAS(\"定义体\", \"body\");\n  @ALIAS(\"继承体\", \"extends\");\n  @ALIAS(\"附着对象\", \"attach\");\n  @ALIAS(\"范围\", \"scope\");\n  @ALIAS(\"定义\", \"definition\");\n  @ALIAS(\"点列\", \"points\");\n  @ALIAS(\"网络\", \"net\");\n  @ALIAS(\"位置\", \"position\");\n  @ALIAS(\"端子\", \"terminal\");\n  @ALIAS(\"轴\", \"axis\");\n  @ALIAS(\"方向\", \"direction\");\n  @ALIAS(\"最小值\", \"min\");\n  @ALIAS(\"最大值\", \"max\");\n  @ALIAS(\"定值\", \"exact\");\n  @ALIAS(\"优先级\", \"priority\");\n  @ALIAS(\"朝向码\", \"code\");\n  @ALIAS(\"关系\", \"relation\");\n  @ALIAS(\"图层\", \"layer\");\n  @ALIAS(\"模式\", \"mode\");\n  @ALIAS(\"文本\", \"text\");\n  @ALIAS(\"引用名\", \"key\");\n  @ALIAS(\"横向对齐\", \"halign\");\n  @ALIAS(\"纵向对齐\", \"valign\");\n  @ALIAS(\"旋转\", \"rotate\");\n  @ALIAS(\"标签\", \"label\");\n  @ALIAS(\"半径\", \"radius\");\n  @ALIAS(\"宽度\", \"width\");\n  @ALIAS(\"高度\", \"height\");\n  @ALIAS(\"箭头\", \"arrow\");\n  @ALIAS(\"填充\", \"fill\");\n  @ALIAS(\"边框\", \"box\");\n  @ALIAS(\"角色表\", \"roles\");\n  @ALIAS(\"参数表\", \"parameters\");\n  @ALIAS(\"名字\", \"name\");\n  @ALIAS(\"模型\", \"model\");\n  @ALIAS(\"类型\", \"type\");\n  @ALIAS(\"已接线\", \"wired\");\n  @ALIAS(\"端口\", \"port\");\n  @ALIAS(\"全局\", \"global\");\n  @ALIAS(\"总线\", \"bus\");\n  @ALIAS(\"角色\", \"role\");\n  @ALIAS(\"含下层\", \"recursive\");\n  @ALIAS(\"电流\", \"current\");\n  @ALIAS(\"端子名\", \"terminals\");\n  @ALIAS(\"版本\", \"version\");\n  @ALIAS(\"路径\", \"path\");\n  @ALIAS(\"停用\", \"disabled\");\n  @ALIAS(\"低\", \"low\");\n  @ALIAS(\"普通\", \"normal\");\n  @ALIAS(\"高\", \"high\");\n  @ALIAS(\"从左到右\", \"left-to-right\");\n  @ALIAS(\"从右到左\", \"right-to-left\");\n  @ALIAS(\"从下到上\", \"bottom-to-top\");\n  @ALIAS(\"从上到下\", \"top-to-bottom\");\n  @ALIAS(\"左\", \"left\");\n  @ALIAS(\"右\", \"right\");\n  @ALIAS(\"上\", \"up\");\n  @ALIAS(\"下\", \"down\");\n  @ALIAS(\"流入\", \"in\");\n  @ALIAS(\"流出\", \"out\");\n  @ALIAS(\"不定\", \"unspecified\");\n  @ALIAS(\"顶\", \"top\");\n  @ALIAS(\"中\", \"middle\");\n  @ALIAS(\"底\", \"bottom\");\n  @ALIAS(\"起点\", \"start\");\n  @ALIAS(\"终点\", \"end\");\n  @ALIAS(\"两端\", \"both\");\n  @ALIAS(\"基线\", \"baseline\");\n  @ALIAS(\"无\", \"none\");\n  @ALIAS(\"线色\", \"linecolor\");\n  @ALIAS(\"填充色\", \"fillcolor\");\n  @ALIAS(\"自动\", \"auto\");\n  @ALIAS(\"直线\", \"straight\");\n  @ALIAS(\"先横后竖\", \"horizontal-vertical\");\n  @ALIAS(\"先竖后横\", \"vertical-horizontal\");\n  @ALIAS(\"曼哈顿\", \"manhattan\");\n  @ALIAS(\"斜曼哈顿\", \"manhattan45\");\n  @ALIAS(\"元件\", \"instance\");\n  @ALIAS(\"点\", \"point\");\n  @ALIAS(\"导线\", \"wire\");\n  @ALIAS(\"用例\", \"usage\");\n  @ALIAS(\"叠画\", \"bundle\");\n  @ALIAS(\"标注\", \"annotation\");\n  @ALIAS(\"值\", \"value\");\n  @ALIAS(\"是\", \"true\");\n  @ALIAS(\"否\", \"false\");\n  @ALIAS(\"线型\", \"linestyle\");\n  @ALIAS(\"线宽\", \"linewidth\");\n  @ALIAS(\"线端\", \"cap\");\n  @ALIAS(\"拐角\", \"join\");\n  @ALIAS(\"字色\", \"textcolor\");\n  @ALIAS(\"字号\", \"size\");\n  @ALIAS(\"字体\", \"font\");\n  @ALIAS(\"加粗\", \"bold\");\n  @ALIAS(\"斜体\", \"italic\");\n  @ALIAS(\"箭头大小\", \"arrowsize\");\n  @ALIAS(\"实线\", \"solid\");\n  @ALIAS(\"虚线\", \"dashed\");\n  @ALIAS(\"点线\", \"dotted\");\n  @ALIAS(\"点划线\", \"dash-dot\");\n  @ALIAS(\"双线\", \"double\");\n  @ALIAS(\"平头\", \"butt\");\n  @ALIAS(\"方头\", \"square\");\n  @ALIAS(\"尖角\", \"miter\");\n  @ALIAS(\"斜角\", \"bevel\");\n  @ALIAS(\"圆头\", \"round\");\n  @ALIAS(\"$基础\", \"$base\");\n  @ALIAS(\"$总线\", \"$bus\");\n  @ALIAS(\"$信号\", \"$signal\");\n  @ALIAS(\"$注释\", \"$note\");\n  @ALIAS(\"$灰色\", \"$grey\");\n  @ALIAS(\"$电阻\", \"$RESISTOR\");\n  @ALIAS(\"$可变电阻\", \"$VARIABLE_RESISTOR\");\n  @ALIAS(\"$电容\", \"$CAPACITOR\");\n  @ALIAS(\"$可变电容\", \"$VARIABLE_CAPACITOR\");\n  @ALIAS(\"$电感\", \"$INDUCTOR\");\n  @ALIAS(\"$可变电感\", \"$VARIABLE_INDUCTOR\");\n  @ALIAS(\"$变压器\", \"$TRANSFORMER\");\n  @ALIAS(\"$电压源\", \"$VOLTAGE_SOURCE\");\n  @ALIAS(\"$电流源\", \"$CURRENT_SOURCE\");\n  @ALIAS(\"$电池\", \"$BATTERY\");\n  @ALIAS(\"$压控电压源\", \"$VCVS\");\n  @ALIAS(\"$压控电流源\", \"$VCCS\");\n  @ALIAS(\"$流控电流源\", \"$CCCS\");\n  @ALIAS(\"$流控电压源\", \"$CCVS\");\n  @ALIAS(\"$开关\", \"$SWITCH\");\n  @ALIAS(\"$闭合开关\", \"$CLOSED_SWITCH\");\n  @ALIAS(\"$外控开关\", \"$EXTERNALLY_CONTROLLED_SWITCH\");\n  @ALIAS(\"$压控开关\", \"$VOLTAGE_CONTROLLED_SWITCH\");\n  @ALIAS(\"$单刀双掷开关符号\", \"$SPDT_SWITCH_SYMBOL\");\n  @ALIAS(\"$地符号\", \"$GROUND_SYMBOL\");\n  @ALIAS(\"$电源符号\", \"$SUPPLY_SYMBOL\");\n  @ALIAS(\"$端口符号\", \"$IO_PORT_SYMBOL\");\n  @ALIAS(\"$箭头符号\", \"$ARROW_SYMBOL\");\n  @ALIAS(\"$四端子压控电压源\", \"$VCVS_4TERM\");\n  @ALIAS(\"$四端子压控电流源\", \"$VCCS_4TERM\");\n  @ALIAS(\"$行为源\", \"$BEHAVIORAL_SOURCE\");\n  @ALIAS(\"$射频端口\", \"$RF_PORT\");\n  @ALIAS(\"$传输线\", \"$TRANSMISSION_LINE\");\n  @ALIAS(\"$分布RC线\", \"$RC_LINE\");\n  @ALIAS(\"$无连接符号\", \"$NO_CONNECT_SYMBOL\");\n  @ALIAS(\"$交汇点符号\", \"$JUNCTION_SYMBOL\");\n  @ALIAS(\"$电流箭头符号\", \"$CURRENT_ARROW_SYMBOL\");\n  @ALIAS(\"$带标签地符号\", \"$NAMED_GROUND_SYMBOL\");\n  @ALIAS(\"$地\", \"$GROUND\");\n  @ALIAS(\"$电源\", \"$SUPPLY\");\n  @ALIAS(\"$端口\", \"$IO_PORT\");\n  @ALIAS(\"$无连接\", \"$NO_CONNECT\");\n  @ALIAS(\"$交汇点\", \"$JUNCTION\");\n  @ALIAS(\"$电流箭头\", \"$CURRENT_ARROW\");\n  @ALIAS(\"$箭头\", \"$ARROW\");\n  @ALIAS(\"$单刀双掷开关\", \"$SPDT_SWITCH\");\n  @ALIAS(\"$图形\", \"$FIGURE\");\n  @ALIAS(\"$接地桩\", \"$GROUND_STUB\");\n  @ALIAS(\"$电源桩\", \"$SUPPLY_STUB\");\n  @ALIAS(\"$二极管\", \"$DIODE\");\n  @ALIAS(\"$齐纳二极管\", \"$ZENER_DIODE\");\n  @ALIAS(\"$四端子NMOS\", \"$NMOS_4TERM\");\n  @ALIAS(\"$四端子PMOS\", \"$PMOS_4TERM\");\n  @ALIAS(\"$耗尽型NMOS\", \"$DEPLETION_NMOS\");\n  @ALIAS(\"$四端子耗尽型NMOS\", \"$DEPLETION_NMOS_4TERM\");\n  @ALIAS(\"$耗尽型PMOS\", \"$DEPLETION_PMOS\");\n  @ALIAS(\"$四端子耗尽型PMOS\", \"$DEPLETION_PMOS_4TERM\");\n  @ALIAS(\"$N型DMOS\", \"$NDMOS\");\n  @ALIAS(\"$四端子N型DMOS\", \"$NDMOS_4TERM\");\n  @ALIAS(\"$P型DMOS\", \"$PDMOS\");\n  @ALIAS(\"$四端子P型DMOS\", \"$PDMOS_4TERM\");\n  @ALIAS(\"$N型JFET\", \"$NJFET\");\n  @ALIAS(\"$P型JFET\", \"$PJFET\");\n  @ALIAS(\"$地网络集\", \"$GROUND_NET_SET\");\n  @ALIAS(\"$电源网络集\", \"$SUPPLY_NET_SET\");\n  @ALIAS(\"$端口补位集\", \"$PORT_FILL_SET\");\n  @ALIAS(\"$接地补位集\", \"$GROUND_FILL_SET\");\n  @ALIAS(\"$电源补位集\", \"$SUPPLY_FILL_SET\");\n  @ALIAS(\"$带标签地网络集\", \"$NAMED_GROUND_NET_SET\");\n  @ALIAS(\"$带标签端子集\", \"$LABEL_TERMINAL_SET\");\n  @ALIAS(\"$接线网络集\", \"$WIRE_NET_SET\");\n  @ALIAS(\"$差分对\", \"$DIFFERENTIAL_PAIR\");\n  @ALIAS(\"$电流镜\", \"$CURRENT_MIRROR\");\n  @ALIAS(\"$匹配组\", \"$MATCHED\");\n  @ALIAS(\"$支路\", \"$BRANCH\");\n  @ALIAS(\"$信号链\", \"$CHAIN\");\n  @ALIAS(\"$级联\", \"$CASCADE\");\n  @ALIAS(\"$高压侧电源\", \"$SUPPLY_HIGH\");\n  @ALIAS(\"$低压侧电源\", \"$SUPPLY_LOW\");\n  @ALIAS(\"$镜像对称\", \"$MIRRORED\");\n  @ALIAS(\"$信号流向\", \"$FLOW\");\n  @ALIAS(\"$运放\", \"$OPAMP\");\n  @ALIAS(\"$五端子运放\", \"$OPAMP_5TERM\");\n  @ALIAS(\"$差分运放\", \"$DIFFERENTIAL_OPAMP\");\n  @ALIAS(\"$比较器\", \"$COMPARATOR\");\n  @ALIAS(\"$五端子比较器\", \"$COMPARATOR_5TERM\");\n  @ALIAS(\"$电压放大器\", \"$VOLTAGE_AMPLIFIER\");\n  @ALIAS(\"$跨导器\", \"$TRANSCONDUCTOR\");\n  @ALIAS(\"$差分跨导器\", \"$DIFFERENTIAL_TRANSCONDUCTOR\");\n  @ALIAS(\"$模数转换器\", \"$ADC\");\n  @ALIAS(\"$数模转换器\", \"$DAC\");\n  @ALIAS(\"$中心抽头电感\", \"$CENTER_TAP_INDUCTOR\");\n  @ALIAS(\"$T型线圈\", \"$T_COIL\");\n  @ALIAS(\"$二输入与门\", \"$AND_2INPUT\");\n  @ALIAS(\"$三输入与门\", \"$AND_3INPUT\");\n  @ALIAS(\"$四输入与门\", \"$AND_4INPUT\");\n  @ALIAS(\"$二输入与非门\", \"$NAND_2INPUT\");\n  @ALIAS(\"$三输入与非门\", \"$NAND_3INPUT\");\n  @ALIAS(\"$四输入与非门\", \"$NAND_4INPUT\");\n  @ALIAS(\"$二输入或门\", \"$OR_2INPUT\");\n  @ALIAS(\"$三输入或门\", \"$OR_3INPUT\");\n  @ALIAS(\"$四输入或门\", \"$OR_4INPUT\");\n  @ALIAS(\"$二输入或非门\", \"$NOR_2INPUT\");\n  @ALIAS(\"$三输入或非门\", \"$NOR_3INPUT\");\n  @ALIAS(\"$四输入或非门\", \"$NOR_4INPUT\");\n  @ALIAS(\"$二输入异或门\", \"$XOR_2INPUT\");\n  @ALIAS(\"$三输入异或门\", \"$XOR_3INPUT\");\n  @ALIAS(\"$四输入异或门\", \"$XOR_4INPUT\");\n  @ALIAS(\"$二输入同或门\", \"$XNOR_2INPUT\");\n  @ALIAS(\"$三输入同或门\", \"$XNOR_3INPUT\");\n  @ALIAS(\"$四输入同或门\", \"$XNOR_4INPUT\");\n  @ALIAS(\"$缓冲器\", \"$BUFFER\");\n  @ALIAS(\"$反相器\", \"$INVERTER\");\n  @ALIAS(\"$D触发器\", \"$D_FLIP_FLOP\");\n  @ALIAS(\"$单输出D触发器\", \"$D_FLIP_FLOP_Q_ONLY\");\n  @ALIAS(\"$带复位D触发器\", \"$D_FLIP_FLOP_WITH_RESET\");\n  @ALIAS(\"$延迟单元符号\", \"$DELAY_CELL_SYMBOL\");\n  @ALIAS(\"$延迟单元\", \"$DELAY_CELL\");\n  @ALIAS(\"$加法器\", \"$ADDER\");\n  @ALIAS(\"$乘法器\", \"$MULTIPLIER\");\n  @ALIAS(\"$积分器符号\", \"$INTEGRATOR_SYMBOL\");\n  @ALIAS(\"$离散时间积分器符号\", \"$DISCRETE_TIME_INTEGRATOR_SYMBOL\");\n  @ALIAS(\"$量化器符号\", \"$QUANTIZER_SYMBOL\");\n  @ALIAS(\"$单位延迟符号\", \"$UNIT_DELAY_SYMBOL\");\n  @ALIAS(\"$积分器\", \"$INTEGRATOR\");\n  @ALIAS(\"$离散时间积分器\", \"$DISCRETE_TIME_INTEGRATOR\");\n  @ALIAS(\"$量化器\", \"$QUANTIZER\");\n  @ALIAS(\"$单位延迟\", \"$UNIT_DELAY\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$GROUND\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$SUPPLY\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$IO_PORT\");\n  @ALIAS(\"端子\", \"t\", definition=\"$NO_CONNECT\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$JUNCTION\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$CURRENT_ARROW\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$ARROW\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$SPDT_SWITCH\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$FIGURE\");\n  @ALIAS(\"端子\", \"t\", definition=\"$GROUND_STUB\");\n  @ALIAS(\"间距\", \"gap\", definition=\"$GROUND_STUB\");\n  @ALIAS(\"地\", \"g\", definition=\"$GROUND_STUB\");\n  @ALIAS(\"端子\", \"t\", definition=\"$SUPPLY_STUB\");\n  @ALIAS(\"间距\", \"gap\", definition=\"$SUPPLY_STUB\");\n  @ALIAS(\"电源\", \"s\", definition=\"$SUPPLY_STUB\");\n  @ALIAS(\"正输入\", \"in_p\", definition=\"$DIFFERENTIAL_PAIR\");\n  @ALIAS(\"负输入\", \"in_n\", definition=\"$DIFFERENTIAL_PAIR\");\n  @ALIAS(\"尾管\", \"tail\", definition=\"$DIFFERENTIAL_PAIR\");\n  @ALIAS(\"参考管\", \"ref\", definition=\"$CURRENT_MIRROR\");\n  @ALIAS(\"输出管\", \"out\", definition=\"$CURRENT_MIRROR\");\n  @ALIAS(\"成员\", \"members\", definition=\"$MATCHED\");\n  @ALIAS(\"成员\", \"members\", definition=\"$BRANCH\");\n  @ALIAS(\"源\", \"source\", definition=\"$CHAIN\");\n  @ALIAS(\"链条\", \"chain\", definition=\"$CHAIN\");\n  @ALIAS(\"负载\", \"load\", definition=\"$CHAIN\");\n  @ALIAS(\"第一级\", \"first\", definition=\"$CASCADE\");\n  @ALIAS(\"第二级\", \"second\", definition=\"$CASCADE\");\n  @ALIAS(\"反馈\", \"feedback\", definition=\"$CASCADE\");\n  @ALIAS(\"负载\", \"load\", definition=\"$CASCADE\");\n  @ALIAS(\"端子\", \"pin\", definition=\"$SUPPLY_HIGH\");\n  @ALIAS(\"端子\", \"pin\", definition=\"$SUPPLY_LOW\");\n  @ALIAS(\"甲\", \"a\", definition=\"$MIRRORED\");\n  @ALIAS(\"乙\", \"b\", definition=\"$MIRRORED\");\n  @ALIAS(\"轴\", \"axis\", definition=\"$MIRRORED\");\n  @ALIAS(\"路径\", \"path\", definition=\"$FLOW\");\n  @ALIAS(\"方向\", \"direction\", definition=\"$FLOW\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$DELAY_CELL\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$INTEGRATOR\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$DISCRETE_TIME_INTEGRATOR\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$QUANTIZER\");\n  @ALIAS(\"挂点\", \"p\", definition=\"$UNIT_DELAY\")\n}\n"}
