{
"cells": [
{
"cell_type": "markdown",
"source": [
"# Drawing wiring diagrams in Compose.jl\n",
"\n",
"\n",
"Catlab can draw wiring diagrams using the Julia package\n",
"[Compose.jl](https://github.com/GiovineItalia/Compose.jl).\n",
"\n",
"For best results, it is recommended to load the packages\n",
"[Convex.j](https://github.com/JuliaOpt/Convex.jl) and\n",
"[SCS.jl](https://github.com/JuliaOpt/SCS.jl). When available they are used to\n",
"optimize the layout of the outer ports."
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"using Catlab.WiringDiagrams, Catlab.Graphics\n",
"\n",
"import Convex, SCS"
],
"metadata": {},
"execution_count": 1
},
{
"cell_type": "markdown",
"source": [
"## Examples"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"### Symmetric monoidal category"
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"using Catlab.Theories\n",
"\n",
"A, B, C, D = Ob(FreeSymmetricMonoidalCategory, :A, :B, :C, :D)\n",
"f, g = Hom(:f, A, B), Hom(:g, B, A);"
],
"metadata": {},
"execution_count": 2
},
{
"cell_type": "markdown",
"source": [
"To start, here are a few very simple examples."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.0, -2.0, 6.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 0.0cy), (2.0cx, 0.0cy), (2.0cx, 0.0cy), (3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 0.0cy), (-2.0cx, 0.0cy), (-2.0cx, 0.0cy), (-1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 24.0mm, 16.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 3
}
],
"cell_type": "code",
"source": [
"to_composejl(f)"
],
"metadata": {},
"execution_count": 3
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, 0.0cy), (1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.0cy), (-4.0cx, 0.0cy), (-4.0cx, 0.0cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 16.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 4
}
],
"cell_type": "code",
"source": [
"to_composejl(f⋅g)"
],
"metadata": {},
"execution_count": 4
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.0, -3.5, 6.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.0cx, 1.5cy), (2.0cx, 1.50005896186617cy), (3.0cx, 1.50005896186617cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.0cx, -1.5cy), (2.0cx, -1.5000589618661708cy), (3.0cx, -1.5000589618661708cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 1.50005896186617cy), (-2.0cx, 1.50005896186617cy), (-2.0cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5000589618661708cy), (-2.0cx, -1.5000589618661708cy), (-2.0cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 24.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 5
}
],
"cell_type": "code",
"source": [
"to_composejl(f⊗g)"
],
"metadata": {},
"execution_count": 5
},
{
"cell_type": "markdown",
"source": [
"Here is a more complex example, involving generators with compound domains and\n",
"codomains."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-11.0, -6.5, 22.0, 13.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, 4.5cy), (10.0cx, 4.5cy), (10.0cx, 4.500640269470758cy), (11.0cx, 4.500640269470758cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, 1.5cy), (10.0cx, 1.5cy), (10.0cx, 1.5002620050762812cy), (11.0cx, 1.5002620050762812cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, -1.5cy), (10.0cx, -1.5cy), (10.0cx, -1.5002620050762812cy), (11.0cx, -1.5002620050762812cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, -4.5cy), (10.0cx, -4.5cy), (10.0cx, -4.500640269470758cy), (11.0cx, -4.500640269470758cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, -1.5cy), (-6.0cx, -1.5cy), (-6.0cx, -1.5cy), (-5.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, 1.5cy), (-6.0cx, 1.5cy), (-6.0cx, 1.5cy), (-5.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, -4.5cy), (-6.0cx, -4.5cy), (-6.0cx, -4.5cy), (-5.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, 4.5cy), (-6.0cx, 4.5cy), (-6.0cx, 4.5cy), (-5.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (-2.0cx, -1.5cy), (-2.0cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 1.5cy), (-2.0cx, 1.5cy), (-2.0cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -4.5cy), (-2.0cx, -4.5cy), (-2.0cx, -4.5cy), (-1.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 4.5cy), (-2.0cx, 4.5cy), (-2.0cx, 4.5cy), (-1.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.0cx, -1.5cy), (2.0cx, -1.5cy), (3.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.0cx, 1.5cy), (2.0cx, 1.5cy), (3.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -4.5cy), (2.0cx, -4.5cy), (2.0cx, -4.5cy), (3.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 4.5cy), (2.0cx, 4.5cy), (2.0cx, 4.5cy), (3.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, -1.5cy), (6.0cx, -1.5cy), (6.0cx, -1.5cy), (7.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, 1.5cy), (6.0cx, 1.5cy), (6.0cx, 1.5cy), (7.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, -4.5cy), (6.0cx, -4.5cy), (6.0cx, -4.5cy), (7.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, 4.5cy), (6.0cx, 4.5cy), (6.0cx, 4.5cy), (7.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, 4.500640269470758cy), (-10.0cx, 4.500640269470758cy), (-10.0cx, 4.5cy), (-9.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, 1.5002620050762812cy), (-10.0cx, 1.5002620050762812cy), (-10.0cx, 1.5cy), (-9.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, -1.5002620050762812cy), (-10.0cx, -1.5002620050762812cy), (-10.0cx, -1.5cy), (-9.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, -4.500640269470758cy), (-10.0cx, -4.500640269470758cy), (-10.0cx, -4.5cy), (-9.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, 3.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"k\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, -5.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"h\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"m\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, -5.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"n\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -5.5cy), (2.0cx, 11.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"l\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"n\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, -5.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"m\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, 3.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"k\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"h\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, -5.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 88.0mm, 52.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 6
}
],
"cell_type": "code",
"source": [
"h, k = Hom(:h, C, D), Hom(:k, D, C)\n",
"m, n = Hom(:m, B⊗A, A⊗B), Hom(:n, D⊗C, C⊗D)\n",
"q = Hom(:l, A⊗B⊗C⊗D, D⊗C⊗B⊗A)\n",
"\n",
"to_composejl((f⊗g⊗h⊗k)⋅(m⊗n)⋅q⋅(n⊗m)⋅(h⊗k⊗f⊗g))"
],
"metadata": {},
"execution_count": 6
},
{
"cell_type": "markdown",
"source": [
"Identities and braidings appear as wires."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -2.0, 4.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (1.0cx, 0.0cy), (1.0cx, 0.0cy), (2.0cx, 0.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 0.0cy), (-1.0cx, 0.0cy), (-1.0cx, 0.0cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 16.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 7
}
],
"cell_type": "code",
"source": [
"to_composejl(id(A))"
],
"metadata": {},
"execution_count": 7
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -3.5, 4.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.8750038889448373cx, -0.8750038889448373cy), (1.0cx, -1.50001555577935cy), (2.0cx, -1.50001555577935cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 1.500015555779359cy), (-1.0cx, 1.500015555779359cy), (-0.8750038889448395cx, 0.8750038889448395cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.8750038889448395cx, 0.8750038889448395cy), (1.0cx, 1.500015555779359cy), (2.0cx, 1.500015555779359cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.50001555577935cy), (-1.0cx, -1.50001555577935cy), (-0.8750038889448373cx, -0.8750038889448373cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 8
}
],
"cell_type": "code",
"source": [
"to_composejl(braid(A,B))"
],
"metadata": {},
"execution_count": 8
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -3.5, 10.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (3.8750038889448395cx, 0.8750038889448395cy), (4.0cx, 1.500015555779359cy), (5.0cx, 1.500015555779359cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.0cx, -1.5cy), (2.125cx, -0.8749999999999998cy), (3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (3.8750038889448373cx, -0.8750038889448373cy), (4.0cx, -1.50001555577935cy), (5.0cx, -1.50001555577935cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.0cx, 1.5cy), (2.125cx, 0.8749999999999998cy), (3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 0.0cy), (-2.125cx, 0.8749999999999998cy), (-2.0cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, -1.50001555577935cy), (-4.0cx, -1.50001555577935cy), (-3.8750038889448373cx, -0.8750038889448373cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 0.0cy), (-2.125cx, -0.8749999999999998cy), (-2.0cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 1.500015555779359cy), (-4.0cx, 1.500015555779359cy), (-3.8750038889448395cx, 0.8750038889448395cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 9
}
],
"cell_type": "code",
"source": [
"to_composejl(braid(A,B) ⋅ (g⊗f) ⋅ braid(A,B))"
],
"metadata": {},
"execution_count": 9
},
{
"cell_type": "markdown",
"source": [
"The isomorphism $A \\otimes B \\otimes C \\to C \\otimes B \\otimes A$ induced by\n",
"the permutation $(3\\ 2\\ 1)$ is a composite of braidings and identities."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-4.0, -5.0, 8.0, 10.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, 3.0cy), (3.0cx, 3.0cy), (3.0cx, 2.999999667076868cy), (4.0cx, 2.999999667076868cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 1.5cy), (0.8749999999999998cx, 2.375cy), (1.0cx, 3.0cy), (2.0cx, 3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.5cy), (-0.7500000000000002cx, -0.2500000000000002cy), (-1.2499999999999998cx, 0.2500000000000002cy), (0.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, -2.999992979490049cy), (-3.0cx, -2.999992979490049cy), (-2.874998244872512cx, -2.374998244872512cy), (-2.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, -1.5cy), (2.874998244872512cx, -2.374998244872512cy), (3.0cx, -2.999992979490049cy), (4.0cx, -2.999992979490049cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 1.5cy), (1.2499999999999998cx, 0.2500000000000002cy), (0.7500000000000002cx, -0.2500000000000002cy), (2.0cx, -1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 3.0cy), (-1.0cx, 3.0cy), (-0.8749999999999998cx, 2.375cy), (0.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, 2.999999667076868cy), (-3.0cx, 2.999999667076868cy), (-3.0cx, 3.0cy), (-2.0cx, 3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, -1.5cy), (2.8749983394243226cx, -0.6250016605756774cy), (3.0cx, -6.642302708813388e-6cy), (4.0cx, -6.642302708813388e-6cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, -3.0cy), (1.0cx, -3.0cy), (1.1250000000000002cx, -2.375cy), (2.0cx, -1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.5cy), (-1.1250000000000002cx, -2.375cy), (-1.0cx, -3.0cy), (0.0cx, -3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, -6.642302708813388e-6cy), (-3.0cx, -6.642302708813388e-6cy), (-2.8749983394243226cx, -0.6250016605756774cy), (-2.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 32.0mm, 40.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 10
}
],
"cell_type": "code",
"source": [
"σ = (braid(A,B) ⊗ id(C)) ⋅ (id(B) ⊗ braid(A,C) ⋅ (braid(B,C) ⊗ id(A)))\n",
"\n",
"to_composejl(σ)"
],
"metadata": {},
"execution_count": 10
},
{
"cell_type": "markdown",
"source": [
"By default, anchor points are added along identity and braiding wires to\n",
"reproduce the expression structure in the layout. The anchors can be disabled\n",
"to get a more \"unbiased\" layout."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-4.0, -5.0, 8.0, 10.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, -3.0000041877604624cy), (0.0cx, -3.0000041877604624cy), (0.0cx, 3.000004187760445cy), (4.0cx, 3.000004187760445cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, 3.000004187760445cy), (0.0cx, 3.000004187760445cy), (0.0cx, -3.0000041877604624cy), (4.0cx, -3.0000041877604624cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, 3.9387525168613794e-14cy), (0.0cx, 3.9387525168613794e-14cy), (0.0cx, 3.9387525168613794e-14cy), (4.0cx, 3.9387525168613794e-14cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 32.0mm, 40.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 11
}
],
"cell_type": "code",
"source": [
"to_composejl(σ, anchor_wires=false)"
],
"metadata": {},
"execution_count": 11
},
{
"cell_type": "markdown",
"source": [
"### Biproduct category"
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.25, -3.5, 4.5, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.21650635094610968cx, 0.12499999999999999cy), (1.276762120321286cx, 0.7371389538586117cy), (1.233253175473055cx, 1.4999973138389213cy), (2.25cx, 1.4999973138389213cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.21650635094610968cx, -0.12499999999999999cy), (1.2767621203212869cx, -0.7371389538586123cy), (1.233253175473055cx, -1.4999973138389253cy), (2.25cx, -1.4999973138389253cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.25cx, 0.0cy), (-1.25cx, 0.0cy), (-1.25cx, -1.5308084989341916e-16cy), (-0.25cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.25cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 18.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 12
}
],
"cell_type": "code",
"source": [
"A, B, C = Ob(FreeBiproductCategory, :A, :B, :C)\n",
"f = Hom(:f, A, B)\n",
"\n",
"to_composejl(mcopy(A))"
],
"metadata": {},
"execution_count": 12
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.25, -2.0, 4.5, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.25cx, -1.2414991528529186e-16cy), (-1.25cx, -1.2414991528529186e-16cy), (-1.25cx, -1.5308084989341916e-16cy), (-0.25cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.25cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 18.0mm, 16.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 13
}
],
"cell_type": "code",
"source": [
"to_composejl(delete(A))"
],
"metadata": {},
"execution_count": 13
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.5, -3.5, 11.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.5cx, 0.0cy), (4.5cx, 0.0cy), (4.5cx, 0.0cy), (5.5cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.03349364905389cx, -0.12499999999999999cy), (-1.9732372981077804cx, -0.7371392896287466cy), (-2.016746824526945cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.03349364905389cx, 0.12499999999999999cy), (-1.9732372981077804cx, 0.7371392896287466cy), (-2.016746824526945cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.016746824526945cx, -1.5cy), (1.9732372981077804cx, -0.7371392896287466cy), (3.03349364905389cx, -0.12499999999999999cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.016746824526945cx, 1.5cy), (1.9732372981077804cx, 0.7371392896287463cy), (3.03349364905389cx, 0.12499999999999993cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.5cx, 0.0cy), (-4.5cx, 0.0cy), (-4.5cx, -1.5308084989341916e-16cy), (-3.5cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 44.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 14
}
],
"cell_type": "code",
"source": [
"to_composejl(mcopy(A)⋅(f⊗f)⋅mmerge(B))"
],
"metadata": {},
"execution_count": 14
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-6.5, -3.25, 13.0, 6.5, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.875cx, -0.7834936490538904cy), (-1.4548501467898378cx, 1.676278051067593cy), (1.4999828935135655cx, 1.2332531754730547cy), (1.4999828935135655cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.875cx, -0.7834936490538903cy), (1.454850146789811cx, 1.6762780510676416cy), (-1.499982893513791cx, 1.2332531754730547cy), (-1.499982893513791cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.125cx, -0.7834936490538903cy), (-4.170162874627275cx, 1.0267815519852923cy), (-4.500087064850478cx, 1.2332531754730547cy), (-4.500087064850478cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.125cx, -0.7834936490538904cy), (4.170162874627277cx, 1.0267815519852934cy), (4.500087064850485cx, 1.2332531754730547cy), (4.500087064850485cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0000106240063342cx, -3.25cy), (3.0000106240063342cx, -2.25cy), (3.0cx, -2.25cy), (3.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0000106240063333cx, -3.25cy), (-3.0000106240063333cx, -2.25cy), (-3.0cx, -2.25cy), (-3.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.75cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.25cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 52.0mm, 26.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 15
}
],
"cell_type": "code",
"source": [
"to_composejl(mcopy(A⊗B), orientation=TopToBottom)"
],
"metadata": {},
"execution_count": 15
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-9.5, -3.25, 19.0, 6.5, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.12499999999999994cx, -0.7834936490538903cy), (-1.545135265990473cx, 1.6762527852619522cy), (-4.499866195756062cx, 1.2332531754730547cy), (-4.499866195756062cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((6.125cx, -0.7834936490538904cy), (7.17013738087329cx, 1.0267373955081123cy), (7.499883114818589cx, 1.2332531754730547cy), (7.499883114818589cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.875cx, -0.7834936490538904cy), (-4.079860986011574cx, 2.3257783298231605cy), (1.4998961797396746cx, 1.2332531754730547cy), (1.4998961797396746cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.12500000000000003cx, -0.7834936490538904cy), (1.545135265990463cx, 1.6762527852619329cy), (4.499866195755971cx, 1.2332531754730547cy), (4.499866195755971cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-6.125cx, -0.7834936490538903cy), (-7.170137380873293cx, 1.0267373955081198cy), (-7.499883114818621cx, 1.2332531754730547cy), (-7.499883114818621cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.875cx, -0.7834936490538903cy), (4.079860986011542cx, 2.3257783298232186cy), (-1.499896179739946cx, 1.2332531754730547cy), (-1.499896179739946cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.999999232401809cx, -3.25cy), (5.999999232401809cx, -2.25cy), (6.0cx, -2.25cy), (6.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.5371230832264964e-15cx, -3.25cy), (1.5371230832264964e-15cx, -2.25cy), (7.654042494670958e-17cx, -2.25cy), (1.5308084989341915e-17cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.999999232401811cx, -3.25cy), (-5.999999232401811cx, -2.25cy), (-6.0cx, -2.25cy), (-6.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.75cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.25cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-6.25cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 76.0mm, 26.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 16
}
],
"cell_type": "code",
"source": [
"to_composejl(mcopy(A⊗B⊗C), orientation=TopToBottom)"
],
"metadata": {},
"execution_count": 16
},
{
"cell_type": "markdown",
"source": [
"### Compact closed category"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"The unit and co-unit of a compact closed category appear as caps and cups."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -3.5, 4.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (4.592473122641076e-17cx, 0.7500077778896796cy), (1.0cx, 1.500015555779359cy), (2.0cx, 1.500015555779359cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (4.5924731226410484e-17cx, -0.7500077778896751cy), (1.0cx, -1.50001555577935cy), (2.0cx, -1.50001555577935cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 17
}
],
"cell_type": "code",
"source": [
"A, B = Ob(FreeCompactClosedCategory, :A, :B)\n",
"\n",
"to_composejl(dunit(A))"
],
"metadata": {},
"execution_count": 17
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -3.5, 4.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 1.500015555779359cy), (-1.0cx, 1.500015555779359cy), (-1.377741936792323e-16cx, 0.7500077778896798cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.50001555577935cy), (-1.0cx, -1.50001555577935cy), (4.5924731226410465e-17cx, -0.7500077778896749cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 18
}
],
"cell_type": "code",
"source": [
"to_composejl(dcounit(A))"
],
"metadata": {},
"execution_count": 18
},
{
"cell_type": "markdown",
"source": [
"In a self-dual compact closed category, such as a bicategory of relations,\n",
"every morphism $f: A \\to B$ has a transpose $f^\\dagger: B \\to A$ given by\n",
"bending wires:"
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -5.0, 10.0, 10.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, -3.0cy), (4.0cx, -3.0cy), (4.0cx, -3.000000006980004cy), (5.0cx, -3.000000006980004cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, -3.0cy), (1.5cx, -3.0cy), (1.5cx, -3.0cy), (3.0cx, -3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (-3.0cx, -2.25cy), (-1.5cx, -3.0cy), (0.0cx, -3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 0.0cy), (2.0cx, 0.0cy), (3.0cx, 0.7500000000000001cy), (3.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (-3.0cx, -0.7499999999999999cy), (-2.0cx, 0.0cy), (-1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 3.0cy), (1.5cx, 3.0cy), (3.0cx, 2.25cy), (3.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 3.0cy), (-1.5cx, 3.0cy), (-1.5cx, 3.0cy), (0.0cx, 3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 3.000000006980006cy), (-4.0cx, 3.000000006980006cy), (-4.0cx, 3.0cy), (-3.0cx, 3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 1.5cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 40.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 19
}
],
"cell_type": "code",
"source": [
"A, B = Ob(FreeBicategoryRelations, :A, :B)\n",
"f = Hom(:f, A, B)\n",
"\n",
"to_composejl((dunit(A) ⊗ id(B)) ⋅ (id(A) ⊗ f ⊗ id(B)) ⋅ (id(A) ⊗ dcounit(B)))"
],
"metadata": {},
"execution_count": 19
},
{
"cell_type": "markdown",
"source": [
"### Abelian bicategory of relations"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"In an abelian bicategory of relations, such as the category of linear\n",
"relations, the duplication morphisms $\\Delta_X: X \\to X \\oplus X$ and addition\n",
"morphisms $\\blacktriangledown_X: X \\oplus X \\to X$ belong to a bimonoid. Among\n",
"other things, this means that the following two morphisms are equal."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.5, -3.5, 7.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, 0.12499999999999999cy), (2.526762120321286cx, 0.7371389538586118cy), (2.4832531754730547cx, 1.4999973138389213cy), (3.5cx, 1.4999973138389213cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, -0.12499999999999999cy), (2.526762120321287cx, -0.7371389538586124cy), (2.4832531754730547cx, -1.4999973138389253cy), (3.5cx, -1.4999973138389253cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, -1.5308084989341916e-16cy), (1.0cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, 1.4999973138389213cy), (-2.483253175473055cx, 1.4999973138389213cy), (-2.5267621203212864cx, 0.7371389538586114cy), (-1.4665063509461098cx, 0.12499999999999993cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, -1.4999973138389253cy), (-2.4832531754730547cx, -1.4999973138389253cy), (-2.526762120321287cx, -0.7371389538586124cy), (-1.4665063509461096cx, -0.12499999999999999cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.5cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 28.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 20
}
],
"cell_type": "code",
"source": [
"X = Ob(FreeAbelianBicategoryRelations, :X)\n",
"\n",
"to_composejl(plus(X) ⋅ mcopy(X))"
],
"metadata": {},
"execution_count": 20
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-4.5, -6.5, 9.0, 13.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.5cx, 3.0cy), (3.5cx, 3.0cy), (3.5cx, 3.0000106240063342cy), (4.5cx, 3.0000106240063342cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.5cx, -3.0cy), (3.5cx, -3.0cy), (3.5cx, -3.0000106240063333cy), (4.5cx, -3.0000106240063333cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, 2.875cy), (0.736538105676658cx, 1.275721420742507cy), (-0.736538105676658cx, -1.2757214207425078cy), (2.03349364905389cx, -2.875cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, -2.875cy), (0.736538105676658cx, -1.275721420742507cy), (-0.736538105676658cx, 1.275721420742507cy), (2.03349364905389cx, 2.875cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, -4.5cy), (1.016746824526945cx, -4.5cy), (0.9732372981077804cx, -3.7371392896287468cy), (2.03349364905389cx, -3.125cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, -3.125cy), (-0.9732372981077804cx, -3.7371392896287468cy), (-1.016746824526945cx, -4.5cy), (0.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 4.5cy), (1.016746824526945cx, 4.5cy), (0.9732372981077804cx, 3.7371392896287463cy), (2.03349364905389cx, 3.125cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, 3.125cy), (-0.9732372981077804cx, 3.7371392896287468cy), (-1.016746824526945cx, 4.5cy), (0.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.5cx, 3.0000106240063342cy), (-3.5cx, 3.0000106240063342cy), (-3.5cx, 3.0cy), (-2.5cx, 3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.5cx, -3.0000106240063333cy), (-3.5cx, -3.0000106240063333cy), (-3.5cx, -3.0cy), (-2.5cx, -3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, 2.75cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, -3.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.5cx, 2.75cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.5cx, -3.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 36.0mm, 52.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 21
}
],
"cell_type": "code",
"source": [
"to_composejl((mcopy(X)⊕mcopy(X)) ⋅ (id(X)⊕swap(X,X)⊕id(X)) ⋅ (plus(X)⊕plus(X)))"
],
"metadata": {},
"execution_count": 21
},
{
"cell_type": "markdown",
"source": [
"## Custom styles"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"The visual appearance of wiring diagrams can be customized by passing Compose\n",
"[properties](http://giovineitalia.github.io/Compose.jl/latest/gallery/properties/)."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, 0.0cy), (1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.0cy), (-4.0cx, 0.0cy), (-4.0cx, 0.0cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.9019607843137255,0.9019607843137255,0.9803921568627451,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.9019607843137255,0.9019607843137255,0.9803921568627451,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 16.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 22
}
],
"cell_type": "code",
"source": [
"using Compose: fill, stroke\n",
"\n",
"A, B, = Ob(FreeSymmetricMonoidalCategory, :A, :B)\n",
"f, g = Hom(:f, A, B), Hom(:g, B, A)\n",
"\n",
"to_composejl(f⋅g, props=Dict(\n",
" :box => [fill(\"lavender\"), stroke(\"black\")],\n",
"))"
],
"metadata": {},
"execution_count": 22
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.5, -3.5, 7.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, 0.12499999999999999cy), (2.526762120321286cx, 0.7371389538586118cy), (2.4832531754730547cx, 1.4999973138389213cy), (3.5cx, 1.4999973138389213cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, -0.12499999999999999cy), (2.526762120321287cx, -0.7371389538586124cy), (2.4832531754730547cx, -1.4999973138389253cy), (3.5cx, -1.4999973138389253cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, -1.5308084989341916e-16cy), (1.0cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, 1.4999973138389213cy), (-2.483253175473055cx, 1.4999973138389213cy), (-2.5267621203212864cx, 0.7371389538586114cy), (-1.4665063509461098cx, 0.12499999999999993cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, -1.4999973138389253cy), (-2.4832531754730547cx, -1.4999973138389253cy), (-2.526762120321287cx, -0.7371389538586124cy), (-1.4665063509461096cx, -0.12499999999999999cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(1.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.5cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,1.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 28.0mm, 28.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 23
}
],
"cell_type": "code",
"source": [
"X = Ob(FreeAbelianBicategoryRelations, :X)\n",
"\n",
"to_composejl(plus(X) ⋅ mcopy(X), props=Dict(\n",
" :junction => [fill(\"red\"), stroke(\"black\")],\n",
" :variant_junction => [fill(\"blue\"), stroke(\"black\")],\n",
"))"
],
"metadata": {},
"execution_count": 23
},
{
"cell_type": "markdown",
"source": [
"The background color can also be changed."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}((0.0w, 0.0h), 1.0w, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.8274509803921568,0.8274509803921568,0.8274509803921568,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, 0.0cy), (1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.0cy), (-4.0cx, 0.0cy), (-4.0cx, 0.0cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(1.0,1.0,1.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(1.0,1.0,1.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), 40.0mm, 16.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 24
}
],
"cell_type": "code",
"source": [
"to_composejl(f⋅g, background_color=\"lightgray\", props=Dict(\n",
" :box => [fill(\"white\"), stroke(\"black\")],\n",
"))"
],
"metadata": {},
"execution_count": 24
},
{
"cell_type": "markdown",
"source": [
"By default, the boxes are rectangular (`:rectangle`). Other available shapes\n",
"include circles (`:circle`) and ellipses (`:ellipse`)."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, -2.4492935982947064e-16cy), (1.0cx, -1.2246467991473532e-16cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, -2.505409509418133e-16cy), (-4.0cx, -2.505409509418133e-16cy), (-4.0cx, -2.4492935982947064e-16cy), (-3.0cx, -1.2246467991473532e-16cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 16.0mm)",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 25
}
],
"cell_type": "code",
"source": [
"to_composejl(f⋅g, default_box_shape=:circle)"
],
"metadata": {},
"execution_count": 25
},
{
"cell_type": "markdown",
"source": [
"## Output formats"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"The function `to_composejl` returns a `ComposePicture` object, which contains\n",
"a Compose.jl context as well as a recommended width and height. When displayed\n",
"interactively, this object is rendered using Compose's SVG backend."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Any backend can be used by calling Compose's `draw` function. The SVG and\n",
"[PGF](https://ctan.org/pkg/pgf) (LaTeX) backends are always available. To use\n",
"the PNG or PDF backends, the extra packages\n",
"[Cairo.jl](https://github.com/JuliaGraphics/Cairo.jl) and\n",
"[Fontconfig.jl](https://github.com/JuliaGraphics/Fontconfig.jl) must be\n",
"installed."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"For example, here is how to use the PGF backend."
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\\begin{tikzpicture}[x=1mm,y=-1mm]\n",
"\\definecolor{mycolor000000}{rgb}{0,0,0}\n",
"\\begin{scope}\n",
"\\path [fill=mycolor000000,draw=mycolor000000] (32,8) .. controls (36,8) and (36,8) .. (40,8);\n",
"\\end{scope}\n",
"\\begin{scope}\n",
"\\path [fill=mycolor000000,draw=mycolor000000] (16,8) .. controls (20,8) and (20,8) .. (24,8);\n",
"\\end{scope}\n",
"\\begin{scope}\n",
"\\path [fill=mycolor000000,draw=mycolor000000] (0,8) .. controls (4,8) and (4,8) .. (8,8);\n",
"\\end{scope}\n",
"\\begin{scope}\n",
"\\path [fill=mycolor000000,fill opacity=0,draw=mycolor000000] (24,4) rectangle +(8,8);\n",
"\\end{scope}\n",
"\\begin{scope}\n",
"\\draw (28,8) node [text=mycolor000000,rotate around={-0: (0,0)},inner sep=0.0]{\\fontsize{12mm}{14.4mm}\\selectfont $\\text{g}$};\n",
"\\end{scope}\n",
"\\begin{scope}\n",
"\\path [fill=mycolor000000,fill opacity=0,draw=mycolor000000] (8,4) rectangle +(8,8);\n",
"\\end{scope}\n",
"\\begin{scope}\n",
"\\draw (12,8) node [text=mycolor000000,rotate around={-0: (0,0)},inner sep=0.0]{\\fontsize{12mm}{14.4mm}\\selectfont $\\text{f}$};\n",
"\\end{scope}\n",
"\\end{tikzpicture}\n",
"\n"
]
}
],
"cell_type": "code",
"source": [
"using Compose: draw, PGF\n",
"\n",
"pic = to_composejl(f⋅g, rounded_boxes=false)\n",
"pgf = sprint() do io\n",
" pgf_backend = PGF(io, pic.width, pic.height,\n",
" false, # emit_on_finish\n",
" true, # only_tikz\n",
" texfonts=true)\n",
" draw(pgf_backend, pic.context)\n",
"end\n",
"println(pgf)"
],
"metadata": {},
"execution_count": 26
}
],
"nbformat_minor": 3,
"metadata": {
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.7.3"
},
"kernelspec": {
"name": "julia-1.7",
"display_name": "Julia 1.7.3",
"language": "julia"
}
},
"nbformat": 4
}