texlive[66846] Master: drawing-with-metapost (14apr23)
commits+karl at tug.org
commits+karl at tug.org
Fri Apr 14 22:29:42 CEST 2023
Revision: 66846
http://tug.org/svn/texlive?view=revision&revision=66846
Author: karl
Date: 2023-04-14 22:29:42 +0200 (Fri, 14 Apr 2023)
Log Message:
-----------
drawing-with-metapost (14apr23)
Modified Paths:
--------------
trunk/Master/tlpkg/bin/tlpkg-ctan-check
trunk/Master/tlpkg/libexec/ctan2tds
trunk/Master/tlpkg/tlpsrc/collection-langenglish.tlpsrc
Added Paths:
-----------
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/Drawing-with-Metapost.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/README.md
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/Drawing-with-Metapost.tex
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hexagon.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hex-parts.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-square.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-triangle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedean-tools.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/basedate.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-dashed.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-shadow.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brown3a.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/clocks.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-macro.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/compass-rose.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-code.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra-code.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dwmpcode.sty
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-common.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/glenshiel.jpg
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cafe-wall.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cubes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-fraser-spiral.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-ring.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-triangle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-pinna.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-shaded-diamonds.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-wonky-grid.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/london-boroughs.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/magic-square-14.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/magic-square-14.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/marked-up-photo-with-grid.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/marked-up-photo.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/marked-up-photo.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/mediation-pitfall.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/mediation-pitfall.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/mediation-sallows.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/mediation-sallows.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/mediation-shapes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/mediation-shapes.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/minus.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/minus.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/multi-line-labels.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/multi-line-labels.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/neo-labels-tte.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/neo-labels-tte.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/neo-labels.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/neo-labels.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/nine-point-circle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/nine-point-circle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/numbered-axes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/numbered-axes.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/open-triangle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/open-triangle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/overlaps-default-fillers.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/overlaps-default-fillers.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/overlaps-missing-filler.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/overlaps-missing-filler.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/overlaps.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/overlaps.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/parallel.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/parallel.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/penrose-P3.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/penrose-P3.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/penrose-stages.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/penrose-stages.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/penrose.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/picture_frame.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/pinwheel.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/pinwheel.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/plain-axes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/plain-axes.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/pole-and-polar.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/pole-and-polar.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/porson.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/porson.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/projections-code.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/projections.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/projections.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/qed.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/qed.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/radical-axis.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/radical-axis.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-freehand-circumcircle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-freehand-circumcircle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-freehand-through.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-freehand-through.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-function.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-function.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-selection.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-selection.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-shapes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-shapes.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-walks-red-blue.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/random-walks-red-blue.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-bush.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-bush.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-dragon-golden.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-dragon-golden.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-dragon.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-dragon.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-flowsnake-construction.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-flowsnake-construction.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-flowsnake.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-flowsnake.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-general-tree-deviate.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-general-tree-deviate.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-general-tree.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-general-tree.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-h-tree.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-h-tree.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-heighway-stages.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-heighway-stages.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-koch-steps.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-koch-steps.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-mink-sausage.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-mink-sausage.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-sierpinski-pentagon.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-sierpinski-pentagon.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-sierpinski-triangle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-sierpinski-triangle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-simple-tree.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rec-simple-tree.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/rope.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ruler-cm.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ruler-inch.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ruler-pt.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ruler.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/saturn-code.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/saturn.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/saturn.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/shadows.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/shadows.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/shady-circles.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/shady-circles.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/simple-circle-labels.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/simple-circle-labels.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/simple-number-line.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/simple-number-line.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/split-labels.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/split-labels.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangent-times-on-circle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangent-times-on-circle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangent-times.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-on-path.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-on-path.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-point-to-circle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-point-to-circle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-two-circles-exterior.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-two-circles-exterior.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-two-circles-interior.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tangents-two-circles-interior.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tikzcd-example.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tikzcd-example.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-hex-trig.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-hex-trig.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-kepler-k.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-kepler-k.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-kepler-x.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-kepler-x.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-simple.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling-simple.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tiling.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/torn-edge-circle.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/torn-edge-circle.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/torn-edge-straight.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/torn-edge-straight.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/torn-edge.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trad-font-changes.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trad-font-changes.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trad-font-samples.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trad-font-samples.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trad-font-tables.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trad-font-tables.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trisection-classical.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trisection-classical.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trisection-simple.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trisection-simple.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trisection-triangles.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/trisection-triangles.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tufte-budget.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tufte-budget.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tufte-currency.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tufte-currency.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tufte-mpg.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/tufte-mpg.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/twister.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/twister.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/unicode.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/unicode.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/utf8.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/utf8.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/verbatim-listing.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/verbatim-listing.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/verbatim-with-infont.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/verbatim-with-infont.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/whatever.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/whatever.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/workflow-plain.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/workflow-plain.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/workflow.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/workflow.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/xypic-example.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/xypic-example.pdf
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/youth.jpg
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/youth.mp
trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/youth.pdf
trunk/Master/tlpkg/tlpsrc/drawing-with-metapost.tlpsrc
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/Drawing-with-Metapost.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/Drawing-with-Metapost.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/Drawing-with-Metapost.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/Drawing-with-Metapost.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/Drawing-with-Metapost.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/README.md (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/README.md 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,37 @@
+# Drawing-with-Metapost
+
+This project provides a document that discusses how to draw technical diagrams
+with John Hobby's Metapost language. It includes over 200 illustrations
+created with Metapost, complete with source code as inspiration and examples.
+The intended level is for intermediate to advanced users rather than complete
+beginners. For introductions, tutorials, and other articles about Metapost,
+see http://www.tug.org/metapost.html
+
+Start with "Drawing-with-Metapost.pdf" in the top directory.
+
+The `src` directory contains
+- the TeX source for the main document
+- the style file used for marking up Metapost source code
+- the Metapost source for each illustration used in the main document
+- the corresponding PDF file created from the MP source
+
+You might like to read the main document first, but you might also like to
+browse through the PDFs in the src directory, and when you find one that is
+interesting, have a look at the corresponding MP source file. There is a
+one-to-one match between the PDF names and the MP source names, so
+"apollonius.pdf" is created from "apollonius.mp". The src directory contains
+a few drawings that are not (yet) included in the main document.
+
+To update the main PDF document I follow these steps
+
+- build any new or updated Metapost source files with `lualatex` to create PDFs in the src directory
+- build the main tex file with `lualatex -output-directory=.. -recorder Drawing-with-Metapost`
+- run a Python script to read the .fls and `git add` all the files used
+- git commit and push
+
+Toby Thurston -- 14 Apr 2023
+
+Copyright (c) 2023 by Toby Thurston. This material may be distributed only
+subject to the terms and conditions set forth in the Open Publication License,
+v1.0 or later (the latest version is presently available at
+http://www.opencontent.org/openpub/).
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/Drawing-with-Metapost.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/Drawing-with-Metapost.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/Drawing-with-Metapost.tex 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,8193 @@
+% Copyright (c) 2023 by Toby Thurston. This material may be distributed only
+% subject to the terms and conditions set forth in the Open Publication License,
+% v1.0 or later (the latest version is presently available at
+% http://www.opencontent.org/openpub/).
+\documentclass[a4paper,landscape]{article}
+\usepackage{luamplib}
+\mplibtextextlabel{enable}
+\usepackage{fontspec}
+\newfontfamily{\demo}{TeX Gyre Pagella}
+\DeclareTextFontCommand{\textdemo}{\demo}
+\usepackage{unicode-math}
+\usepackage[inner=1in,textwidth=5in,textheight=6in, marginparsep=0.5in, marginparwidth=4.2in]{geometry}
+\usepackage{sectsty}
+\allsectionsfont{\normalfont\sffamily\bfseries}
+\usepackage{graphicx}
+\usepackage{mflogo}
+\def\mfbook{\textsl{The \MF\kern1pt book}}
+\def\texbook{\textsl{The \TeX\kern1pt book}}
+\usepackage{shortvrb}\MakeShortVerb{"}
+\usepackage{dwmpcode}
+\title{Drawing with Metapost}
+\author{Toby Thurston}
+\date{March 2017 – April 2023}
+\overfullrule=2pt
+\def\kw#1{\begingroup\def\_{\kern.04em
+ \vbox{\hrule width.3em height .6pt}\kern.08em}%
+\ifmmode\mathop{\textbf{#1}}\else\hbox{\bf#1\/}\fi\endgroup}
+\def\op#1{\begingroup\def\_{\kern.04em
+ \vbox{\hrule width.3em height .6pt}\kern.08em}%
+\ifmmode\mathop{\textrm{#1}}\else\hbox{\rm#1\/}\fi\endgroup}
+\def\id#1{\begingroup\def\_{\kern.04em
+ \vbox{\hrule width.3em height .6pt}\kern.08em}%
+\ifmmode\mathop{\textit{#1}}\else\hbox{\it#1\/}\fi\endgroup}
+\def\cycle{{\rm cycle}}
+\def\vpic#1#2{\moveright5.5in\vbox to 0pt{\hsize4in\vskip#1\centerline{\includegraphics{#2}}\vss}}
+\def\mpic#1#2{\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip#1\centerline{\includegraphics{#2}}\vss}}}
+\def\mnote#1#2{\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip#1\noindent #2\par\vss}}}
+\def\mwpic#1#2{\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip#1\centerline{\includegraphics[width=4in]{#2}}\vss}}}
+\def\mxpic#1#2#3{\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip#1\centerline{\includegraphics[width=#2]{#3}}\vss}}}
+\def\nb{$\vcenter{\begin{mplibcode}beginfig(1);
+for t=0 upto 3: fill unitsquare scaled 4 shifted right shifted up rotated 45 rotated 90t;
+endfor currentpicture := currentpicture scaled 1/2; endfig;\end{mplibcode}}$\ }
+\def\unit#1{\ifmmode\,\else\thinspace\fi\hbox{#1}}
+\def\to{\mathrel{\ldotp\ldotp}}
+\def\<#1>{\ensuremath{\langle\hbox{#1}\rangle}}
+\newfontface\ding{Zapf Dingbats}
+\def\hey{\llap{\ding ☞\ }}
+%
+\begin{document}
+\let\folio\thepage
+\renewcommand{\thepage}{\rlap{\hbox to 5in{\hss\small\folio}}}
+\pagestyle{myheadings}
+\raggedbottom
+% title & toc in the margin
+\makeatletter
+\moveright 6in\vbox to
+0pt{\vskip23pt\noindent\sffamily{\Large\bfseries\@title}\par\bigskip
+ \noindent\@author\ --- \@date\par
+ \bigskip\noindent
+ \includegraphics{archimedes.pdf}
+\vss}
+\makeatother
+\thispagestyle{empty}
+\section{Start here}
+
+This document contains a collection of ideas and techniques for producing attractive
+technical drawings with John Hobby’s \MP\ language. I’m assuming that you already
+know the basics of the language, that you have it installed as part of your up to
+date \TeX\ ecosystem, and that you have established a reasonable workflow that
+let’s you write a Metapost program, compile it, and include the results in your
+\TeX\ document. If not, you might like to start at the \MP\ page on CTAN, and read
+some of the excellent tutorials, including "mpintro.pdf". If you have already done
+this, please read on.
+
+These notes are partly based on the examples I have developed as answers
+to questions about technical drawing on the \TeX\ Stack Exchange site. In
+accordance with their terms and conditions, I’ve only included material here that
+I’ve written myself --- if you want other people’s code then visit the site;
+while most answers there focus on writing \LaTeX\ documents, there are a great
+many questions about drawing, and some of the answers are very illuminating.
+
+My approach here will be to explore plain \MP, with examples grouped
+into themes. One approach to using this document would be to read it end to end.
+Another would be to flick through until you see something that looks like it might
+be useful and then see how it’s done.
+
+And when I say \textit{plain} \MP\ I mean \MP\ with the default format (as defined
+in the file "plain.mp") loaded and only a few simple external packages (like
+"boxes.mp" occasionally). Nearly all of the examples here are supposed to be self
+contained, and any macros are defined locally so you can get to grips with what’s
+going on. \MP\ is a very subtle language, and it’s possible to do some very clever
+and completely inscrutable things with it; in contrast I’ve tried to be as clear as
+possible in my examples.
+
+\newpage
+\section{Some features of the syntax}
+
+\begin{itemize}
+ \item Assignment or equation: the equation "a=3;" means “"a" is the same as "3" throughout the
+ current scope”; the assignment "a:=3;" means “update the value of "a" to the value "3"
+ immediately”. The difference becomes apparent when you try to update a
+ variable in the same scope.
+ \mwpic{0pt}{tiling}
+
+ This difference also lets you write linear equations
+ like "a=-b;". After this, as soon as you give a value to "a", \MP\ immediately works
+ out the value of "b".
+ This is clever but has its limitations. As the following snippet reveals:
+\begin{code}
+ % if you run this you will get this in the log
+ a + b = 0; show (a,b); % >> (a,-a)
+ a=42; show (a,b); % >> (42,-42)
+ a:=43; show (a,b); % >> (43,-42)
+\end{code}
+ As soon as you assign to variable with ":=" \MP\ breaks any previously
+ established equations.
+
+ \item Variable types:
+
+ —
+ \<numeric> "a",
+ \<pair> "(a,b)"
+
+ —
+ \<color> "(r,g,b)",
+ \<cmykcolor> "(c,m,y,k)"
+ \<transform> "(x,y,xx,xy,yx,yy)"
+
+ —
+ \<string>,
+ \<path>,
+ \<picture>
+
+
+ If you don’t declare a variable, it’s assumed that it’s a \<numeric>.
+ When you do declare a variable --- \<numeric> or otherwise — any value that it
+ already had in the current scope is removed.
+
+ \item Implicit multiplication: \MP\ inherits a rich set of rules about numerical
+ expressions from \MF, and of special interest is the scalar multiplication
+ operator. Any simple number, like "42", "3.1415", or ".6931", or any simple
+ fraction like "1/2" or "355/113" standing on it’s own (technically at the
+ primary level) and not followed by "+" or "-" becomes a scalar
+ multiplication operator that applies to the next token (which should be variable
+ of some appropriate type).
+ So you can write things like "3a", or even "1/2 a"
+ (the space between the number and the variable name is optional). This
+ lets you write very readable mathematical expressions. It’s quite
+ addictive after a while.
+
+\end{itemize}
+
+\vskip -22pt
+\moveright5.5in\vbox to 0pt{\vss\hsize 4in\noindent
+The \mpl{sqrt} operator is defined at the same (top) level of precedence, so
+that \mpl{sqrt2+1} is read as \mpl{(sqrt2)+1} and not \mpl{sqrt(2+1)}, but fractions
+trump even that, so \mpl{sqrt 1/2 = 0.7071} is true.}
+
+\newpage
+\section{Workflow}
+
+This document is not meant for beginners, so you won't find step by step tutorials
+for something so simple as running \MP. But since you might not find it all that
+simple, and since the basic tutorials can go out of date, here are descriptions of
+my own workflows that you might find helpful. You might also think I'm being really
+inefficient; if so please drop me a line and suggest an improvement.
+
+The common features of each of these workflows are: mac os, the MacVim editor to
+edit \MP\ source code, and
+Skim.app to view PostScript and PDF files. I have the complete MacTeX distribution
+installed; any commands mentioned below are supplied by MacTeX.
+
+\subsection{Stand alone graphics with plain \MP}\label{sec:plain-flow}
+
+\MP\ source files have the extension ".mp", when I open a file in MacVim that
+matches "*.mp", my editor profile sets the file type to "mp" (which picks up the
+highlight and indentation rules supplied with MacVim), and adds some relevant
+directories to the search tree. Finally, if the file is a new file, then the
+profile loads this template:
+\begin{smallcode}
+prologues := 3;
+outputtemplate := "%j%c.%{outputformat}";
+beginfig(1);
+
+endfig;
+end.
+\end{smallcode}
+The first two lines are important: "prologues := 3;" makes \MP\ put the full font
+details in the output so that the files are self-contained; the "outputtemplate"
+line means that the output will be written to files with an extension that matches
+the chosen output format, which will be "png", "svg", or more usually "eps", which
+is the default (and suggests that the output is Encapsulated PostScript).
+
+I then add drawing and label commands, using all the traditional facilities for
+typesetting labels described in section \ref{sec:trad-labels}. I compile the source
+with "mpost". I usually do this from within MacVim using the command line ":!mpost %"
+where "!" means “this is an external command” and the "%" picks up the current file
+name. Usually I need several attempts to get a diagram right, so I open Skim to preview the
+output with ":!open -a Skim %:r1.eps". I have Skim set up so that when I recompile
+the source, it automatically updates the view of the PostScript output.
+\vadjust{\moveright5.4in\vbox to 0pt{\vss\hsize 4in\noindent
+$$\includegraphics[width=4in]{workflow-plain.pdf}$$
+If I want to use the diagram in a \LaTeX\ document I can include the EPS file
+directly with
+\begin{texcode}
+ \includegraphics{some-diagram1.eps}
+\end{texcode}
+but usually I prefer to convert the EPS to PDF using "epstopdf" rather than rely on
+the automatic conversion. This is mainly because the PDFs are generally more useful
+files to have about (I can include them in presentations etc). Sometimes I do this
+manually but usually I use a small Python script to automate this process: run
+"mpost" with the "-recorder" option; scan the list of files to see what got
+produced; check which ones are PostScript; call "esptopdf" to make each one into a
+PDF file; remove each EPS file if successful. Your mileage may vary.\par
+}}
+
+\subsection{Stand alone graphics with Lua\LaTeX}\label{sec:sa-lua-flow}
+
+For graphics with more complicated text formatting, I prefer now to use
+\texttt{lualatex} with the \texttt{luamplib} package. \mpic{0cm}{workflow}
+The work flow is a bit simpler because there are no intermediate EPS files to worry
+about. Instead of compiling with plain "mpost" I use "lualatex" with the "luamplib"
+package, which calls \MP\ from within the Lua environment. The \MP\ engine actually
+used is exactly the same. Here is
+the template I use:
+\begin{texcode}
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+\end{texcode}
+\vskip-12pt
+\begin{smallcode}
+ beginfig(1);
+
+ endfig;
+\end{smallcode}
+\vskip-12pt
+\begin{texcode}
+\end{mplibcode}
+\end{document}
+\end{texcode}
+As you can see, we have \MP\ source code wrapped up in a minimal \LaTeX\ document
+using the \texttt{standalone} class, which automatically adjusts the page size to
+fit the contents of document, so is ideal for single diagrams. One small
+disadvantage is that you can only produce a single PDF output file, so you need to have a
+separate file for each picture, but the good news is that you get a much simpler and
+more effective integration with \LaTeX, in particular with the font environment.
+Since this only works with "lualatex" you have to use the "fontspec" package, as
+explained in section \ref{sec:neo-labels}.
+
+\subsection{Integrated graphics with Lua\LaTeX}
+
+If you are ready to use "lualatex" for processing your entire document, then you can
+directly embed your \MP\ drawings in a series of "mplibcode" environments. Each one
+produces a horizontal-mode box. For details try "texdoc luamplib". The only
+drawback of this all-in-one approach is that you have to compile all the drawings
+every time you compile the document, which might slow you down --- although on a
+modern machine this is not really an issue any more.
+
+\newpage
+\section{Making and using paths}
+\label{plain-shapes}
+
+In \MP\ there are two sorts of paths: open and closed.
+\mpic{-12pt}{closed-triangles}
+A closed path is called a cycle, and is created with the \mpl{cycle} primitive like this:
+\begin{code}
+path t; t = origin -- (55,0) -- (55,34) -- cycle;
+\end{code}
+You can think of \mpl{cycle} as meaning ‘connect back to the start and close the path’.
+Note that you have explicitly put \mpl{cycle} to make a closed path. If you wrote
+\begin{code}[xrightmargin=-32pt]
+path u; u = origin {right} .. (55,0) .. (55,34) .. {-2,-1} origin;
+\end{code}
+then $u$ would be an open path even though the last point is the same as the
+first. Any path that does not have \mpl{cycle} at the end is an open
+path.\mpic{-12pt}{open-triangle}
+
+You can use \mpl{draw} with either sort of path, but you can only use \mpl{fill} with a
+cycle. This concept is common to most drawing languages but it’s often hidden: an
+open path might be automatically closed for you when you try to fill it. \MP\ takes
+a more cautious approach; if you pass an open path to \mpl{fill} you will get an error
+that says ‘Not a cycle’, even if the first and last points are the same like path
+$u$ above.
+
+If you want to write a macro that deals differently with the two types
+of path, then you can use \mpl{cycle} in a boolean context to test
+whether a given path $p$ is closed:
+\begin{code}
+ if cycle p:
+ % do something for closed path p
+ else:
+ % do something for open path p
+ fi
+\end{code}
+
+\smallskip\noindent
+\MP\ inherits the rich path-making syntax directly from \MF, so if you want a
+general refresher, or you are not
+quite sure what the five joiners do, $\longrightarrow$\marginpar{%
+ \vbox to 0pt{\vss\halign{\kern .5in\mpl{#}\hfil\quad&#\hfil\cr
+..&free curve\cr
+...&bounded curve\cr
+--&straight line\cr
+---&tense line\cr
+\&&splice.\cr}\vss}} or you would like to bone up on exactly what \mpl{curl} and
+\mpl{tension} are for, then you are recommended to review Chapter 14 of \mfbook.
+
+\vfill\noindent
+Most of the examples in this document use only the two simple joiners \mpl{--} and
+\mpl{..} with the occasional use of a direction-specifying pair before or after a
+point.
+
+\clearpage
+\subsection{Predefined closed paths}
+
+There are several closed paths defined for you in plain \MP.
+\mpic{0pt}{closed-standards}
+\begin{itemize}
+ \item "unitsquare" is defined as the path
+ \mpl{(0,0)--(1,0)--(1,1)--(0,1)--cycle}. It runs counter-clockwise from the
+ origin, and you can use it to draw any rectangle with appropriate
+ use of \mpl{xscaled} and \mpl{yscaled}, or a parallelogram with \mpl{slanted},
+ or a diamond with \mpl{rotated} --- but note that the definition means
+ that is it centred on point \mpl{(1/2, 1/2)} so you might want to
+ shift it by \mpl{-(1/2,1/2)} before you transform it.
+
+ \item "fullcircle" which you can use to draw any circle or ellipse with
+ appropriate use of \mpl{xscaled} and \mpl{yscaled}. Unlike the square, it is defined so that it is centred
+ at the origin. But beware that it has unit \textit{diameter}, so its radius
+ is $0.5\unit{bp}$ long. The path runs counter-clockwise and starts at 3
+ o’clock; which means \mpl{point 0 of fullcircle = 1/2 right} is true.
+
+ \item "superellipse()" which creates the shape beloved of the Danish designer Piet Hein. Unlike the
+ other two, this one is defined as a function rather than a \<path> constant, so you need to call it
+ like this:
+\begin{code}
+path s;
+s = superellipse(1/2 right, 1/2 up, 1/2 left, 1/2 down, .8);
+\end{code}
+ to create a ‘unit’ shape that matches \mpl{fullcircle} as shown on the right.
+ The fifth parameter is the ‘superness’: the value
+ 1 makes it look almost square, 0.8 is about right, 0.5 gives you a diamond,
+ and values outside the range $(0.5,1)$ give you rather weird propeller
+ shapes.
+
+ Note that, unaccountably, $\id{superellipse}()$ is defined
+in \texttt{plain.mp} with a \kw{def} rather than a \kw{vardef}.
+This means you need to enclose it in a group before you can
+transform it in any way. One way to do this is to use parentheses; or you
+can assign it to a \<path> variable, as shown above.
+
+\end{itemize}
+
+
+\newpage\subsection{Points on the standard closed paths}
+
+\noindent\mpic{-10pt}{closed-points}%
+\textsc{Here are the three shapes} centred on the origin and labelled to show the points
+along them. \textbf{Note} that the \textit{unitsquare} shape has been shifted so that it is
+centred on the origin in all of these examples. The small red circle marks the
+\textit{origin}, and the labelled red dots are the points of each path. The
+\textit{unitsquare} has four points, while the other two shapes both have eight.
+The small
+arrows between point~0 and point~1 of each shape indicate the direction of the path
+that makes up the shape.
+
+\vfill\noindent
+If you want to highlight a segment of your shape, there’s a neat way to define it
+using "subpath". Assuming "p" is the path of your shape, then this:
+\begin{code}
+center p -- subpath(1,2) of p -- cycle
+\end{code}
+creates a useful wedge shape which looks like this in our three ‘standard’
+shapes.
+
+\vfill\noindent
+Better still, you are not limited to integer points along the path of your closed shape.
+So if you wanted a wedge that was exactly $1/5$ of the area of your shape, you
+could try
+\begin{code}
+center p -- subpath(0,1/5 length p) of p -- cycle
+\end{code}
+Clearly this works rather better with more circular shapes. Indeed for a circle you
+can convert directly between circumference angle and points along the path. So
+you have defined path $c$ to be scaled copy of \mpl{fullcircle}, then
+\mpl{point 1 of c} is $45^\circ$ round and 1~radian is \mpl{point 1.27324 of c}, (because
+$4/\pi \simeq 1.27324$).
+
+\vfill\noindent
+In a closed path, the point numbering in \MP\ wraps round: so in a
+circle, point $n$ is the same as point $n+8$; and in general point $n$ is the same as
+point $n+\hbox{\bf length }p$. This works with negative numbers too, so we could use
+\begin{code}
+center p -- subpath(-1,1) of p -- cycle
+\end{code}
+to get wedge that extends either side of point 0.
+The same idea was used to draw the arrows in the first row:
+\begin{code}
+drawarrow subpath(1/2, length p + 1/2) of p;
+\end{code}
+
+\newpage
+\subsection{Regular polygons of a given radius}\label{polygons}
+
+\noindent\mpic{-10pt}{closed-polygons}%
+\textsc{Regular polygons} with a given radius can be defined or drawn directly with a simple inline loop:
+\vadjust{\moveright -60pt \vbox to 0pt{\vskip-3pt\includegraphics{little-hexagon.pdf}\vss}}
+\begin{code}
+draw for i=0 upto 5: 20 dir 60i -- endfor cycle;
+\end{code}
+which works because \mpl{dir d} expands to \mpl{right rotated d}. But
+you might prefer to make a macro:
+\begin{code}
+vardef polygon(expr n, r) =
+ for i=0 upto n-1: (r, 0) rotated (360/n * i) -- endfor cycle
+enddef;
+\end{code}
+This produces a closed path to represent an $n$-sided polygon that fits in a circle
+of radius $r$ centred at the origin and that starts at \mpl{(r, 0)}, like the
+corresponding circular path, as shown in this polygonal version of the
+previous segment chart.\rlap{\ $\rightarrow$}\\
+If you need polygon paths that start at the top, you can just swap the
+coordinates:
+\begin{code}
+vardef polygon(expr n, r) =
+ for i=0 upto n-1: (0, r) rotated (360/n * i) -- endfor cycle
+enddef;
+\end{code}
+$$\includegraphics[width=0.66\textwidth]{closed-polygon-tops.pdf}$$
+\hey Note also that some extra care is required to find the centres of these shapes. The
+\mpl{center} macro defined in "plain.mp" gives you the centre of the bounding box,
+but this is not the same as the centre of the polygon when the number of sides is
+odd. What you need instead is the geometric median:
+\begin{code}
+vardef median primary p =
+ origin for i=1 upto length p: + point i of p / length p endfor
+enddef;
+\end{code}
+This should work for any closed path, not just regular polygons.
+
+\newpage
+\subsection{Regular polygons of a given side length}\label{polygons-given-side}
+But you might want a polygon with a fixed side instead of a fixed radius. This needs
+a little trigonometry, using the sine rule:\mpic{-42pt}{closed-fixed-polygon}
+\begin{code}
+vardef polygon_with_side(expr n, s) =
+ save a, b, r; numeric a, b, r;
+ a * n = 360; a + 2b = 180; r = s * sind(b) / sind(a);
+ for i = 0 upto n-1: (0, r) rotated (a * i) -- endfor cycle
+enddef;
+\end{code}
+Which you can use like this to produce a nest of polygons $\rightarrow$
+\begin{smallcode}
+for n = 11 downto 3: path p; p = polygon_with_side(n, 72);
+ fill p withcolor (n/32)[white, 3/4 if odd n: red else: blue fi];
+ draw p;
+endfor
+\end{smallcode}
+These polygon paths are centred on $(0, 0)$ but
+sometimes it is more convenient to construct a polygon on a known segment
+rather than working out how to rotate and shift it into place.
+$$\includegraphics[width=0.9\textwidth]{closed-polygon-chain.pdf}$$
+Here is a way to do that using the \mpl{of} syntax in the macro construction
+$\longrightarrow$
+\vadjust{\moveright 384pt\vbox to 0pt{\vss
+\begin{smallcode}
+vardef poly expr n of p = save x, y;
+ z0 = point 0 of p; z1 = point 1 of p;
+ for i=2 upto n-1:
+ z[i] = z[i-2] rotatedabout(z[i-1], 180(2/n-1));
+ endfor
+ for i=0 upto n-1: z[i] -- endfor cycle
+enddef;
+path P[]; P3 = for i=0 upto 2: 6 up rotated 120i -- endfor cycle;
+fill P3 withcolor 3/4 red; draw P3;
+for n = 4 upto 23:
+ numeric m; m = floor(n / 2);
+ P[n] = poly n of subpath (m, m-1) of P[n-1];
+ fill P[n] withcolor (n/32)[3/4 if odd n: red else: blue fi, white];
+ draw P[n]; label(decimal n, median(P[n]));
+endfor
+\end{smallcode}\vskip -12pt}}
+
+\newpage\subsection{Curved polygons}
+
+\textsc{The regular polygons} above are all defined with straight edges using the
+\mpl{--} connector that makes a tense path. If you changed each connector to
+\mpl{..} you would get a circle, and contrariwise, if you try
+\mpl{tensepath(fullcircle scaled 20)} you will get a regular octagon. But we can
+also adjust the directions at the corners to make a variety of closed polygon shapes
+with closed edges.
+
+One of the most pleasing is the Reuleaux polygon, with circular arcs for edges.
+$$\includegraphics[width=0.9\textwidth]{closed-reuleaux-set.pdf}$$
+The figure on the right attempts to explain the geometry.\mwpic{-160pt}{closed-reuleaux-geometry}
+\begin{code}
+vardef reuleaux(expr n, r) =
+ save a; numeric a; a = 90/n;
+ for t = 0 step 4a until 359:
+ (0,r) rotated t {left rotated (a+t)} .. {left rotated (3a+t)}
+ endfor cycle
+enddef;
+\end{code}
+If you swap the directions at each point you get shapes that are not quite like
+hypocycloids; play about a bit more to get flower shapes or windmills.
+$$\includegraphics[width=0.9\textwidth]{closed-antireuleaux-set.pdf}$$
+
+\newpage
+\subsection{A triangle of Schläfli polygons}\label{sec:gcd}
+
+Apart from the curious polygon patterns in the display, the main \MP\ point of interest
+is the recursive "gcd" macro to find the greatest common divisor.\mpic{-108pt}{gons}
+
+\begin{code}
+input colorbrewer-rgb
+
+vardef gcd(expr a, b) =
+ if b = 0: a else: gcd(b, a mod b) fi
+enddef;
+
+beginfig(1);
+for n=2 upto 24:
+ for s=1 upto floor n/2:
+ pair p; p = (12n - 24s, -24n);
+ path gon; gon =
+ for t=0 upto n/gcd(s,n) - 1:
+ 10 up rotated (360/n * s * t) --
+ endfor cycle;
+ if (n mod s = 0):
+ fill gon shifted p withcolor Blues 9 2;
+ label("$" & decimal (n/s) & "$", p);
+ fi
+ draw gon shifted p withpen pencircle scaled 1/8;
+ endfor
+endfor
+endfig;
+\end{code}
+
+\noindent
+The macro also leads directly to an efficient way to find the least common multiple:
+\begin{code}
+vardef lcm(expr a, b) = a / gcd(a, b) * b enddef;
+\end{code}
+As always in \MP, it is safer to divide as early as possible to reduce the chance of arithmetic
+overflow.
+
+
+\newpage\subsection{Building cycles from parts of other paths}
+
+Plain \MP\ has a built-in function to compute the intersection points of two paths, and
+there’s a handy high level function called "buildcycle" that uses this function to
+create an arbitrary closed path.
+\mpic{0pt}{area-under-graph}
+The arguments to the function are just a list of paths, and providing the paths all
+intersect sensibly, it
+returns a closed path that can be filled or drawn. This is often used for colouring an
+area under a function in a graph.
+Here is an example. The red line has been defined
+as path "f" and the two axes as paths "xx", and "yy". The blue area was defined
+with
+\begin{code}
+buildcycle(yy shifted (1u,0), f, yy shifted (2.71828u,0), xx)
+\end{code}
+Note the re-use of the $y$-axis path shifted along by different amounts.
+
+\smallskip\noindent
+There are similar examples in the \MP\ manual, but "buildcycle" can also
+be useful in more creative graphics.
+Here’s a second example that uses closed paths to give an illusion of depth to a simple
+graphic of the planet Saturn.
+\mpic{0pt}{saturn}
+\marginpar{\hbox{}\vskip1.3in\raggedright\noindent\textbf{Notes}\begin{itemize}
+ \item The first five paths are just circles and ellipses based on "fullcircle".
+ \item The drawing is done inside an "image" simply so that the final result can
+ be drawn at an angle
+ \item "unfill gap" is shorthand for "fill gap withcolor background"
+ \item The subpaths passed to "buildcycle" are chosen carefully to make sure we
+ get the intersections at the right points and so that the component paths
+ all run in the same direction. Note that "subpath (8,4) of globe" runs
+ clockwise (that is backwards) from point 8 to point 4.
+\end{itemize}}
+\mpexternal{saturn-code.mp}
+
+\newpage\subsection{The implementation of \texttt{buildcycle}}
+\textsc{The implementation} of "buildcycle" in plain \MP\ is interesting for a number of
+reasons. Here it is copied from "plain.mp" (with minor simplifications) $\longrightarrow$
+\vadjust{\moveright5.5in\vbox to 0pt{\kern-1cm%
+\begin{code}
+vardef buildcycle(text input_path_list) =
+ save ta, tb, k, j, pp; path pp[];
+ k=0;
+ for p=input_path_list: pp[incr k]=p; endfor
+ j=k;
+ for i=1 upto k:
+ (ta[i], length pp[j]-tb[j])
+ = pp[i] intersectiontimes reverse pp[j];
+ if ta[i]<0:
+ errmessage("Paths " & decimal i &
+ " and " & decimal j & " don't intersect");
+ fi
+ j := i;
+ endfor
+ for i=1 upto k:
+ subpath (ta[i],tb[i]) of pp[i] ..
+ endfor cycle
+enddef;
+\end{code}
+\vss}}
+
+\noindent
+Notice how freely the indentation can vary; this is both a blessing
+(because you can line up things clearly) and a curse (because the syntax may not
+be very obvious at first glance). Notice also the different ways we can use a
+$\kw{for}$-loop. The first two are used at the ‘outer’ level to repeat complete
+statements (that end with semi-colons); the third one is used at the ‘inner’ level
+to build up a single statement.
+
+The use of a "text" parameter allows us to pass a comma-separated list as an
+argument; in this case the list is supposed to be a list of path expressions that
+(we hope) will make up a cycle. The first "for" loop provides us with a standard
+idiom to split a list; in this case the comma-separated value of "input_path_list"
+is separated into into a more convenient array of paths called "pp" indexed by "k".
+Note that the declaration of the array as "path" forces the argument to be a list of
+paths.
+
+The second "for" loop steps through this array of paths looking for intersections.
+The index "j" is set to be "k" when "i=1", and then set to the previous value of "i"
+at the end of the loop; in this way
+"pp[j]" is the path before "pp[i]" in what is supposed to be a cycle.
+The macro uses the primitive operator \mpl{intersectiontimes} to find the intersection
+points, if any. Note that we are looking for two path times: the time to start a
+subpath of the current path and the time to end a subpath of the previous path; the
+macro does this neatly
+by reversing the previous path and setting the $b$-point indirectly by subtracting
+the time returned from the length of the path.
+
+If all has gone well, then "ta" will hold all the start points of the desired
+subpaths, and "tb" all the corresponding end
+points.
+The third and final "for" loop assumes that this is indeed the case, and tries to
+connect them all together. Note that it uses ".." rather than "&" just in case the
+points are not quite co-incident; finally it finishes with a
+\mpl{cycle} to close the path even though point "tb" of path "k" should be identical (or
+at least very close) to
+point "ta" of path "0".
+
+This implementation of \mpl{buildcycle} works well in most cases, provided that there
+are enough components to the cycle of paths. If you only have two paths, then the
+two paths need to be running the same direction, and the start of each path must not
+be contained within the other. This is explored in the next section.
+
+\newpage
+\subsection{Strange behaviour of \texttt{buildcycle} with two closed paths}
+
+The implementation of "buildcycle" in plain \MP\ can get confused if you use it with
+just two paths. Consider the following example: \mpic{0pt}{overlaps-missing-filler}
+\begin{code}
+beginfig(1);
+ path A, B;
+ A = fullcircle scaled 2.5cm;
+ B = fullcircle scaled 1.8cm shifted (1cm,0);
+ fill buildcycle(A,B) withcolor .8[blue,white];
+ drawarrow A; drawarrow B;
+endfig;
+\end{code}
+When we compile this example, we get no error message from "buildcycle", but there
+is no fill colour visible in the output. The problem is that the points found by
+"buildcycle" are the same both times that it steps through the middle loop, so
+the closed path it returns consists of two identical (or very close) points and the
+so the fill has zero area.
+
+Now observe what happens when we rotate and reverse each of the paths in
+turn.\mpic{-24pt}{overlaps-default-fillers}
+Number 1 corresponds to the example shown above; point~0 of~$A$ is inside the closed
+path $B$. In~2 we have rotated path $A$ by 180° so that the start of path~$A$ is no
+longer inside $B$, and now "buildcycle" works ‘properly’ --- but this is the only
+time it does so. In~3, we've rotated $B$ by 180° as well, so that $B$ starts inside
+$A$ and as expected "buildcycle" fails. In 4 we've rotated $A$ back to it's
+original position, so that both paths start inside each other; and we get the
+union of the two shapes. In 5--8, we've repeated the exercise with path $A$
+reversed, and "buildcycle" fails in yet more interesting ways.
+
+You could use this behaviour as a feature if you need to treat $A$ and $B$ as sets
+and you wanted to fill the intersection, union, or set differences, but if you just
+wanted the overlap, then you need to ensure that both paths are running in the same
+direction and that neither of them starts inside the other.
+
+\newpage
+\subsection{Find the overlap of two closed paths}
+
+As we have seen, in order to get the overlap of two closed paths from "buildcycle",
+we need both paths to be running in the same direction, and neither path should
+start inside the other one. It's not hard to create an "overlap" macro that does
+this automatically for us. The first element we need is a macro to determine if a
+given point is inside a given closed path. Following Robert Sedgwick's
+\textit{Algorithms in C} we can write a generic "inside" function that works with any
+simple closed path. The approach is to extend a horizontal ray from
+the point towards the right margin and to count how many times it crosses the closed
+path; if the number is odd, the point must be inside.\vadjust{\moveright5.5in\vbox
+ to 0pt{\kern-4.05cm
+\begin{code}
+vardef inside(expr p, ring) =
+ save t, count, test_line;
+ count := 0;
+ path test_line;
+ test_line = p -- (infinity, ypart p);
+ for i = 1 upto length ring:
+ t := xpart(subpath(i-1,i) of ring
+ intersectiontimes test_line);
+ if ((0<=t) and (t<1)): count := count + 1; fi
+ endfor
+ odd(count)
+enddef;
+\end{code}
+\vss}}\label{function:inside}
+
+Equipped with this function we can create an "overlap" function that first uses the
+handy "counterclockwise" function to ensure the given paths are running in the
+same direction, and then uses "inside" to determine where the start points are.
+\begin{smallcode}
+vardef front_half primary p = subpath(0, 1/2 length p) of p enddef;
+vardef back_half primary p = subpath(1/2 length p, length p) of p enddef;
+% a and b should be closed paths...
+vardef overlap(expr a, b) =
+ save A, B, p, q;
+ path A, B; boolean p, q;
+ A = counterclockwise a;
+ B = counterclockwise b;
+ p = not inside(point 0 of A, B);
+ q = not inside(point 0 of B, A);
+ if (p and q):
+ buildcycle(A,B)
+ elseif p:
+ buildcycle(front_half B, A, back_half B)
+ elseif q:
+ buildcycle(front_half A, B, back_half A)
+ else:
+ buildcycle(front_half A, back_half B, front_half B, back_half A)
+ fi
+enddef;
+\end{smallcode}
+Using this "overlap" macro in place of "buildcycle" produces less surprising
+results.\mpic{-2in}{overlaps}
+
+\newpage
+\subsection{Fitting dashed lines to a path}
+
+\textsc{This one is} perhaps for perfectionists, but also shows how simple it
+is to make useful adjustments in \MP. As you will know, plain \MP\ provides two
+built-in dash patterns, so that you can draw a path \mpl{dashed withdots} or
+\mpl{dashed evenly}.
+\vadjust{%
+\moveright384pt\vbox to 0pt{\vskip-46pt\hsize 4.2in\small
+$$
+\begin{mplibcode}
+vardef exactly(expr a) =
+ save m; numeric m; 2m = (a-6) / round(a/6);
+ dashpattern(on m off m)
+enddef;
+vardef gooddots(expr a) =
+ save m; numeric m; 2m = (a-5) / round(a/5);
+ dashpattern(off m on 0 off m)
+enddef;
+ beginfig(1);
+ for i=2 upto 8:
+ path c[];
+ c1 = fullcircle scaled 16i shifted 80 left;
+ c2 = fullcircle scaled 16i shifted 80 right;
+ draw c1 dashed evenly withcolor 2/3 blue;
+ draw c2 dashed exactly(arclength c2) withcolor 1/2 red;
+ %draw c1 shifted 160 down dashed withdots withcolor 2/3 blue;
+ %draw c2 shifted 160 down dashed gooddots(arclength c2) withcolor 1/2 red;
+ endfor
+ endfig;
+\end{mplibcode}
+$$
+
+\noindent
+The blue circles on the left were drawn with \mpl{dashed evenly}, and the uneven
+gaps are noticeable at the “three o’clock” positions where the paths begin and end.
+As you can see the default dash spacing looks fine at some sizes but bad on others. On the right you can see the
+same circular paths coloured red, and drawn with \mpl{dashed exactly(arclength c,
+6)}.
+
+$$
+\begin{mplibcode}
+vardef exactly(expr a, u) =
+ save m; numeric m; 2m = a / round(a/u);
+ dashpattern(on m off m)
+enddef;
+ beginfig(1);
+ for i=2 upto 8:
+ path c[];
+ c1 = unitsquare shifted -(1/2, 1/2) scaled 16i shifted 80 left;
+ c2 = unitsquare shifted -(1/2, 1/2) scaled 16i shifted 80 right;
+ draw c1 dashed evenly withcolor 2/3 blue;
+ draw c2 dashed (exactly(arclength c2, 8) shifted 6 right) withcolor 1/2 red;
+ endfor
+ endfig;
+\end{mplibcode}
+$$
+Other paths may require a bit more ingenuity and thought. Because the square paths
+have four equal sides, they work better with a target dash length that is a multiple
+of 4. Here the blue squares on the left use the default \mpl{dashed evenly}, and the
+red on the right, \mpl{exactly(arclength c2, 8)} \mpl{shifted 6 right}. The shift makes
+the corners look better.
+
+
+\vss}}
+
+The keyword \mpl{dashed} gives you access to the PostScript "setdash" command, its
+argument is a special \<picture> defined with the \MP\ \mpl{dashpattern} function.
+If you look in "plain.mp" you will find these declarations:
+\begin{code}
+picture evenly,withdots;
+evenly = dashpattern(on 3 off 3); % dashed evenly
+withdots = dashpattern(off 2.5 on 0 off 2.5); % dashed withdots
+\end{code}
+The detailed syntax is explained in §9.4 of the \MP\ manual, but essentially
+\mpl{withdots} creates a unit 5 points long with a dot in the middle, and
+\mpl{evenly} creates a unit 6 points long with the dashes 3pt long (plus the round
+bit at the end of each dash, unless you have changed \mpl{linecap}) and gaps 3pt
+long (minus any round bits).
+
+You probably also know that you can adjust these sizes by applying a suitable
+scaling, so that \mpl{dashed withdots scaled 1/2} gives a rather denser dotted line,
+and \mpl{dashed evenly scaled 4} will give you very long dashes. But you may also
+notice that the dash patterns (particularly the longer ones) do not always fit your
+paths exactly -- this is especially noticeable with closed paths, where you may end
+up with one unsightly long dash or a very short gap a the point where the path
+begins and ends.
+
+Fortunately there is a very simple solution: adjust the length of the dash pattern
+so that an integer number of dash units exactly fit your path.
+\begin{code}
+vardef exactly(expr a, u) =
+ save m; numeric m; 2m = (a-u) / round(a/u);
+ dashpattern(on m off m)
+enddef;
+\end{code}
+Here "a" is supposed to be the \mpl{arclength} of your path, and "u" the desired
+unit size, so you can use it like this:
+\begin{code}
+path c; c = fullcircle scaled 200;
+draw c dashed exactly(arclength c, 6);
+\end{code}
+to get a close approximation to \mpl{dashed evenly} that exactly fits the path.
+
+\newpage
+\section{Numbers}
+
+This section discusses plain \MP's scalar numeric variables
+and what you can do with them.
+\MP\ inherits its unusual native system of scaled numbers from \MF; like many of
+Knuth's creations it is slightly quirky, but works very well once you get the hang
+of it. The original objective was to make \MF\ produce identical results on a wide
+variety of computers. By default all arithmetic is carried out using 28-bit
+integers in units of $1/65536$. This is done automatically for you, so you don’t
+need to worry about it, but you should be aware of a couple of practical
+implications:
+\begin{itemize}
+ \item All fractions are rounded to the nearest multiple of $1\over65536$, so
+ negative powers of 2 ($1\over2$,
+ $1\over4$, $1\over8$, $\dots$) are exact, but other common fractions are not:
+ for example $1\over3$ is represented as
+ ${21845\over65536} \simeq 0.333328$, and $1\over10$ as
+ ${6554\over65536} \simeq 0.100006$.
+ You should bear this in mind particularly when you
+ choose fractional step-values in a "for" loop; the errors can accumulate so that
+ you may miss your expected terminal value.\vadjust{\moveright5.5in\vbox to
+ 0pt{\kern-2in\hsize4in\noindent
+ Compare the following two snippets:
+ $$\vbox{\halign{#\hfil\quad&#\hfil\cr
+ Code&Output\cr\noalign{\smallskip\hrule\bigskip}
+ \vtop{\parindent0pt\hsize2.2in
+ \bgroup\obeylines
+ $\kw{for}$ $i=0$ \kw{step} $1/10$ \kw{until} $1$:
+ \quad$\kw{show}$ $i$;
+ $\kw{endfor}$
+ \egroup
+
+}
+ &
+ \vtop{\parindent0pt\parskip-2pt\obeylines\hsize60pt\tt
+>> 0
+>> 0.1
+>> 0.20001
+>> 0.30002
+>> 0.40002
+>> 0.50003
+>> 0.60004
+>> 0.70004
+>> 0.80005
+>> 0.90005
+}
+\cr\noalign{\bigskip}
+ \vtop{\parindent0pt\hsize2.2in
+ \bgroup\obeylines
+ $\kw{for}$ $i=0$ \kw{step} $1$ \kw{until} $10$:
+ \quad$\kw{show}$ $i/10$;
+ $\kw{endfor}$
+ \egroup
+}
+ &
+ \vtop{\parindent0pt\parskip-2pt\obeylines\hsize60pt\tt
+>> 0
+>> 0.1
+>> 0.2
+>> 0.3
+>> 0.4
+>> 0.5
+>> 0.6
+>> 0.7
+>> 0.8
+>> 0.9
+>> 1
+}\cr\noalign{\bigskip\hrule}\cr
+}}$$
+You get 11 iterations in the second but only 10 with the first.
+\vss}}
+
+ \item The system limits you to numbers that are less than 4096 in absolute value.
+ This can be an irritation if you are trying to plot data with large values,
+ but the solution is simple: scale your values to a reasonable range first.
+
+ \item Intermediate calculations are allowed to be up to 32768 in absolute value
+ before an error occurs. You can sometimes avoid problems by using the
+ special Pythagorean addition and subtraction operators, but the general
+ approach should be to do your calculations before you scale a path
+ for filling or drawing.
+
+ \item You can turn a number up to 32768 into a string using the "decimal"
+ command, and then you could append zeros to it using string concatenation.
+
+\end{itemize}
+
+If you are using a recent version of \MP\ you can avoid all these issues by choosing one of
+the three new number systems: double, binary, or decimal, with the "numbersystem"
+command line switch. But beware that if you write programs that depend on these new
+systems, they might not be so portable as others. It's nice to have these new
+approaches just in case, but you will not need to use them very often.
+
+\newpage\subsection{Numeric constants}
+
+Alongside the quirky number system,
+plain \MP\ also inherits three numeric constants from \MF: \id{infinity}, \id{epsilon},
+and \id{eps}:
+\begin{itemize}
+ \item $\id{eps}$ is defined to be a
+small amount that is noticeable to \MF’s rounding algorithms, namely
+${32\over65536}={1\over2048}\simeq 0.00049$. As a distance on the page or screen it's invisible at
+any resolution less than 150,000 dots per square inch. If you were designing fonts
+ in \MF, $\id{eps}$ could help you avoid bad choices of pixels at low resolutions, but in
+\MP\ it's only really useful in comparisons that might suffer from rounding errors.
+\id{eps} is tiny, but it's bigger than any rounding error you may encounter, so
+you can safely test for equality with: $\kw{abs}(\id{a}-\id{b})<\id{eps}$.
+
+\item $\id{epsilon}$ is defined to be $1\over65536$, the smallest positive scaled
+ number.
+
+\item $\id{infinity}$ is defined to be $4096-\id{epsilon}$, which is the largest
+ number you will normally deal with. This is useful when you just want a quantity
+ larger than any other in the immediate vicinity. For an example, look at the
+ definition of the "inside" function in
+ section~\ref{function:inside}.
+\end{itemize}
+These three quantities retain (approximately) the same value even if you choose one of the
+alternative, higher precision, number systems. This is probably the most sane
+approach, but the constants lose their status as the smallest and largest numbers you can
+have.
+\vadjust{\moveright5.5in\vbox to 0pt{\kern-221pt\hsize 4.25in
+\noindent
+Running the toy program:
+\par\bigskip
+$\kw{show} \id{numbersystem}, \id{eps}, \id{epsilon}, \id{infinity}; \kw{end}\!.$
+\par\bigskip\noindent
+gives the following results with the different
+number systems:
+
+\begin{code}
+>> "scaled"
+>> 0.00049
+>> 0.00002
+>> 4095.99998
+
+>> "double"
+>> 0.00048999999999999998
+>> 1.52587890625e-05
+>> 4095.9999800000001
+
+>> "binary"
+>> 0.00048999999999999999999999999999999993
+>> 0.0000152587890625
+>> 4095.9999800000000000000000000000001
+
+>> "decimal"
+>> 0.00049
+>> 0.0000152587890625
+>> 4095.99998
+\end{code}
+\vss}}
+
+The messy set of results shown on the right arises because "plain.mp" defines these constants
+like this (in version 1.005, which is current at the time of writing):
+\begin{code}
+eps := .00049; % this is a pretty small positive number
+epsilon := 1/256/256; % but this is the smallest
+infinity := 4095.99998; % and this is the largest
+\end{code}
+If you want cleaner constants, feel free to redefine the two decimals as:
+\begin{code}
+eps := 1/2048;
+infinity := 64*64-epsilon;
+\end{code}
+These definitions are equivalent with "scaled" numbers, but more consistent at
+higher precision. In particular they ensure that we always have
+$4096 = \id{infinity} +\id{epsilon}$ whichever number system is in use.
+
+\newpage\subsection{Units of measure}
+In addition to the very small and very large numeric variables, plain \MP\ inherits
+eight more that provide a system of units of measure compatible with \TeX.
+The definitions in "plain.mp" are very simple: $\longrightarrow$
+\vadjust{\moveright 384pt\vbox to 0pt{\kern-24pt
+\begin{code}
+mm=2.83464; pt=0.99626; dd=1.06601; bp:=1;
+cm=28.34645; pc=11.95517; cc=12.79213; in:=72;
+\end{code}
+\vss}}
+
+When the output of \MP\ is set to be PostScript, then the basic unit of measure is
+the PostScript point. This is what \TeX\ calls a "bp" (for `big point'), and it is
+defined so that $1\unit{inch}=72\unit{bp}$. The traditional printers' point, which \TeX\
+calls a~"pt", is slightly smaller so that $1\unit{inch}=72.27\unit{pt}$.
+
+Normal use of these units relies on \MP's implicit multiplication feature. If you write
+`$\id{w}=10\,\id{cm};$' in a program, then the variable \id{w} will be set to the value 283.4645.
+The advantage is that your lengths should be more intuitively understandable, but if
+you are comfortable thinking in PostScript points (72 to the inch, 28.35 to the
+centimetre) then there is no real need to use any of the units.\marginpar{Bizarrely, 28.35
+is also the number of grammes to the ounce.}
+
+It is sometimes useful to define your own units; in particular many \MP\ programs
+define something like `$\id{u}=1\,\unit{cm};$' near the start, and then define all
+other lengths in terms of \id{u}. If you later wish to make a smaller or larger
+version of the drawing then you can adjust the definition of \id{u} accordingly.
+Two points to note:
+\begin{itemize}
+ \item If you want different vertical units, you can define something like
+ `$\id{v}=8\,{mm}$' and specify horizontal lengths in terms of \id{u}, but
+ verticals in terms of \id{v}.
+ \item If you want to change the definition of \id{u} or \id{v} from one figure
+ to the next, you will either have to use `$\kw{numeric} \id{u},\id{v};$' at
+ the start of the your program in order to reset them, or
+ use the assignment operator instead of the
+ equality operator to overwrite the previous values.
+\end{itemize}
+
+The unit definitions in "plain.mp" are designed for use with the default scaled
+number system; if you want higher precision definitions, then you can update them by
+including something like this at the top of your program: $\longrightarrow$
+\vadjust{\moveright 5.5in \vbox to 0pt{\kern-24pt
+\begin{code}
+% exact values to re-define the plain.mp units
+numeric bp, in, mm, cm, pt, pc, dd, cc;
+72 = 72 bp = 1 in;
+800 = 803 pt = 803/12 pc;
+3600 = 1270 mm = 127 cm;
+1238 pt = 1157 dd = 1157/12 cc;
+\end{code}
+%\bgroup\obeylines\parindent0pt
+%$\kw{numeric} \id{bp}, \id{in}, \id{mm}, \id{cm}, \id{pt}, \id{pc}, \id{dd}, \id{cc};$
+%$72 = 72\id{bp} = 1\id{in}$;
+%$800 = 803 \id{pt} = 803/12 \id{pc};$
+%$3600 = 1270 \id{mm} = 127 \id{cm};$
+%$1238 \id{pt} = 1157 \id{dd} = 1157/12 \id{cc};$
+%\egroup
+\vss}}
+
+The effect of the $\kw{numeric}$ keyword is to remove the previous definitions; the
+four equation lines then re-establish the units with very slightly more accurate
+definitions. You can safely use these definitions with "scaled", as they are
+equivalent to the decimals currently given in "plain.mp", but the main point of the
+example is to show how you can do implicit definitions with equations.
+
+
+\newpage
+\subsection{Integer arithmetic, clocks, and rounding}
+
+Native \MP\ provides nothing but a "floor" function, but "plain.mp" provides several
+more useful functions based on this.
+\begin{itemize}
+ \item `$\mathop{\kw{floor}} x$' returns $\lfloor x\rfloor$, $\hbox{the
+ largest integer} \le x$. You can use "x=floor x" to check that $x$ is an
+ integer.
+ \item `$\mathop{\kw{ceiling}} x$' returns $\lceil x\rceil$, $\hbox{the
+ smallest integer} \ge x$.
+
+ \item `$x \mathbin{\kw{div}} y$' returns $\lfloor x/y \rfloor$, integer
+ division.
+ \item `$x \mathbin{\kw{mod}} y$' returns $x-y\times\lfloor x/y \rfloor$,
+ integer remainder.
+
+\end{itemize}
+Note that $\kw{mod}$ preserves any fractional part, so $355/113 \mathrel{\kw{mod}} 3 = 0.14159$.
+
+\smallskip
+\parshape=1 0pt 3.4in
+This behaviour is usually what you want.
+\vadjust{\moveright 266pt \vbox to 0pt{\noindent
+\begin{mplibcode}
+input clocks
+beginfig(1); draw clock(hour, minute) scaled 0.8; endfig;
+\end{mplibcode}\vss}}
+For example we can use it to turn the time of day into an appropriate rotation for
+the hands of a clock.%
+\vadjust{\moveright 384pt\vbox to 0pt{\kern-196pt
+\begin{code}
+path hand[];
+hand1 = origin .. (.257,1/50) .. (.377,1/60)
+ & (.377,1/60) {up} .. (.40,3/50)
+ .. (.60, 1/40) .. {right} (.75,0);
+hand1 := (hand1 .. reverse hand1 reflectedabout(left,right)
+ .. cycle) scaled 50;
+hand2 = origin .. (.60, 1/64) .. {right} (.925,0);
+hand2 := (hand2 .. reverse hand2 reflectedabout(left,right)
+ .. cycle) scaled 50;
+
+% hour of the day to degrees
+vardef htod(expr hours) = 30*((15-hours) mod 12) enddef;
+vardef mtod(expr minutes) = 6*((75-minutes) mod 60) enddef;
+
+vardef clock(expr hours, minutes) = image(
+ % face and outer ring
+ fill fullcircle scaled 100 withcolor 1/256(240, 240, 230);
+ draw fullcircle scaled 99 withcolor .8 white;
+ draw fullcircle scaled 100 withpen pencircle scaled 7/8;
+ % numerals
+ for h=1 upto 12:
+ label( decimal h infont "bchr8r", (40,0) rotated htod(h));
+ endfor
+ % hour and minute marks
+ for t=0 step 6 until 359:
+ draw ((48,0)--(49,0)) rotated t;
+ endfor
+ drawoptions(withpen pencircle scaled 7/8);
+ for t=0 step 30 until 359:
+ draw ((47,0)--(49,0)) rotated t;
+ endfor
+ % hands rotated to the given time
+ filldraw hand1 rotated htod(hours+minutes/60);
+ filldraw hand2 rotated mtod(minutes);
+ % draw the center on top
+ fill fullcircle scaled 5;
+ fill fullcircle scaled 3 withcolor .4 white;
+) enddef;
+\end{code}
+\vss}}
+In the program given on the right, this idea
+is used to define functions that convert from hours and minutes
+to degrees of rotation on the clock.
+\MP\ provides two internal variables
+\id{hour} and \id{minute} that tell you the time of day when the
+current job started. The clock face shown here was generated using
+$$\kw{beginfig}(1);{}\mathbin{\kw{draw}}\id{clock}(\id{hour},\id{minute}); \kw{endfig};$$
+to give a sort of graphical time stamp.
+
+\vfill
+
+There is also a "round" function that rounds a number to the nearest integer. It is
+essentially defined as $\mathop{\kw{floor}}(x+0.5)$ except that it is enhanced to
+deal with $\kw{pair}$ variables as well. If you round a pair the $x$-part and
+the $y$-part are rounded separately, so that $\mathop{\kw{round}}(3.14159, 2.71828)
+= (3,3)$.
+
+The "round" function only takes a single argument, but you can use it to round to a
+given number of places by multiplying by the precision you want, rounding, and then
+dividing the result. So to round to the nearest eighth you might use
+`$\kw{round}(x\times8)/8$', and to round to two decimal places
+`$\kw{round}(x\times100)/100$'. The only restriction is that the intermediate value
+must remain less than 32767 if you are using the default number system.
+
+\newpage
+\subsection{Integer powers}
+
+\textsc{Even if you use} one of the new number systems, you may occasionally get
+caught out by the \mpl{**} operator. As the table on the right shows, you may get
+an approximate answer from \mpl{x ** y} even when $x$ and $y$ are both integers.
+\vadjust{\moveright 384pt\vbox to 0pt{\kern -2pt
+$$\begin{mplibcode}
+beginfig(0);
+%primarydef x ** y = 1 for n=1 upto y: * x endfor enddef;
+for x=1 upto 19:
+ for y = 1 upto 7:
+ if x = 1:
+ label("$x" if y>1: & "^{" & decimal y & "}" fi & "$", (52y, -20x));
+ elseif y * mlog(x) < mlog(infinity):
+ numeric r; r = x ** y;
+ label(decimal r, (52y, -20x)) withcolor 3/4 if r = round(r): blue
+ else: red fi;
+ fi
+ endfor
+endfor
+label.lft("Results of \mpl{x**y} for small values, using", lrcorner currentpicture shifted 36 up);
+label.lft("the default \mpl{scaled} number system", lrcorner currentpicture shifted 24 up);
+currentpicture := currentpicture scaled 0.8;
+endfig;
+\end{mplibcode}$$\vss}}
+Note that the squares are all integers, and the powers of two appear to be ok
+(although if the page was wider you would see that \mpl{2**9} is $512.00002$), but
+that with a couple of exceptions cubes and higher powers are slightly off. Changing
+the number system makes it worse; even $x^1$ is not always an integer. The reason
+can be found in the way that the \mpl{**} operator is defined in "plain.mp".
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-36pt]
+primarydef x ** y = if y = 2: x * x else: takepower y of x fi enddef;
+def takepower expr y of x =
+ if x > 0:
+ mexp(y * mlog x)
+ elseif (x = 0) and (y > 0):
+ 0
+ else:
+ if y = floor y:
+ if y >= 0: 1 for n=1 upto y: * x endfor
+ else: 1 for n=-1 downto y: / x endfor
+ fi
+ else:
+ hide(errmessage "Undefined power: " & decimal x & "**" & decimal y)
+ fi
+ fi
+enddef;
+\end{smallcode}
+This is inherited direction from plain \MF, and as it says in the \mfbook, it is
+optimized for $x^2$ and takes care to handle correctly negative numbers and zeros.
+But for all positive values of $x$ other than 2 it is implemented using logs, and
+the results are therefore only approximate. To avoid confusion where this might
+matter (such as a particular offset into a recursively defined path) you could
+simply use \mpl{round(7**3)} to get a whole number, or if you are sure that your $y$
+values are all non-negative integers, you could temporarily replace the definition:
+\begin{smallcode}
+primarydef x ** y = 1 for n=1 upto y: * x endfor enddef;
+\end{smallcode}
+
+
+\newpage
+\section{Pairs, triples, and other tuples}
+
+\vpic{7pt}{random-selection}
+
+\noindent
+\MP\ inherits a generalized concept of number from \MF\ that includes ordered pairs.
+Pairs are primarily used as Cartesian coordinates, but can also be used as complex
+numbers, as discussed below. \MP\ extends this gener\-al\-ization with 3-tuples and
+4-tuples. Just like pairs, the elements in these tuples can take any numeric value,
+so in theory it would be possible to use them for three- and four-dimensional
+coordinates, but there are no built-in facilities for this in plain \MP, so some
+external library is needed. \textit{All of the various attempts at three dimensions
+in \MP\ are rather difficult to use, so none of them is discussed in this document}.
+
+\smallskip\noindent
+Unlike simple numerics, the extended tuple variables are not automatically
+declared for you, so if you want to define points $A$ and $B$ you need to explicitly
+write `$\kw{pair} \id{A},\id{B};$' before you assign values to them. Once you have
+declared them, you can equate them to an appropriate tuple using $=$ as normal.
+
+\begin{code}
+ pair A,B; A = B = (1,2);
+ color R; R = (1,2,3);
+ cmykcolor C; C = (1,2,3,4);
+\end{code}
+
+The normal use of triples and quads is for colours (RGB colours and CMYK colours);
+Triples are type \kw{color}, quads are type \kw{cmykcolor}.
+You can't have tuples of any other length, not even as constants, except for
+transforms.
+
+A transform is how \MP\ represents
+an affine transformation such as "rotated 45 shifted (10,20)".
+They are represented as 6-tuples, but if you try to write:
+\begin{code}
+ transform T; T = (1,2,3,4,5,6); % <-- doesn't work
+\end{code}
+you will get a parsing error (that complains about a missing parenthesis after the 4).
+You can examine and assign the individual parts using `$\kw{xpart} \id{T}$' etc.
+More details below, and full details in the \MF\ book.
+
+
+\newpage\subsection{Pairs and coordinates}
+Now \textbf{pairs}: if you enclose two numerics in parentheses, you get a \<pair>. A
+pair generally represents a particular position in your drawing with normal, orthogonal
+Cartesian $x$- and $y$-coordinates, but you can use a pair variable for other
+purposes if you wish. As far as \MP\ is concerned it's just a pair of numerics.
+
+\MP\ provides a simple, but slightly cumbersome, way to refer to each half of a
+pair. The syntax `$\kw{xpart} \id{A}$' returns a numeric equal to the first number in
+the pair, while `$\kw{ypart} \id{A}$' returns the second. The names refer to the
+intended usage of pair variable to represent pairs of $x$ and $y$-coordinates.
+Note that they are read-only; you can't
+assign a value to an $\kw{xpart}$ or a $\kw{ypart}$. So if you want to update only one
+part of a pair, you have to do something like this: $\id{A} \mathrel{:}= (42,
+\kw{ypart}\id{A});$
+
+In addition there is a neat macro definition in plain \MP\ that allows you do deal
+with the $x$- and $y$-parts of pairs rather more succinctly.
+\vadjust{\moveright 384pt\vbox to 0pt{\kern-140pt
+\noindent Plain \MP\ provides this definition
+\begin{code}
+vardef z@#=(x@#,y@#) enddef;
+\end{code}
+which you can use to find orthogonal points.
+
+\bigskip\noindent
+\includegraphics{random-function}
+\vss}}%
+The deceptively simple definition of $\id{z}$ as a subscripted macro allows you to
+write "z1 = (10,20);" and have it automatically expanded into the equivalent of
+"x1=10;" and "y1=20;". You can then use "x1" and "y1" as independent numerics or
+refer to them as a pair with "z1". A common usage is to find the orthogonal points
+on the axes in graphs, like so $\longrightarrow$
+
+\smallskip
+There is also a simple way to write coordinates using a polar notation
+using\label{polar}
+\mpl{dir}. This macro is defined so that \mpl{dir 30} expands to \mpl{right rotated
+30} and then to \mpl{(1,0) rotated 30}, which becomes \mpl{(cosd(30), sind(30)}
+or \mpl{(0.86603, 0.5)}. So to get the polar notation
+point $(r,\theta)$, where $r$ is the radius and $\theta$ is the angle in degrees
+counter-clockwise from the positive $x$-axis, you can write `\mpl{r * dir
+theta}'. As usual, with a constant you can omit the multiplication sign, so `\mpl{2
+dir 30}' provides another way to define the point "(sqrt(3),1)".
+
+\smallskip
+Plain \MP\ defines five useful pair variables: \id{origin}, \id{right}, \id{up},
+\id{left}, and \id{down}. As so often, Knuth-Hobby definitions in "plain.mp" are
+quite illuminating
+$\longrightarrow$
+\vadjust{\moveright 384pt\vbox to 0pt{\kern-36pt
+\begin{code}
+% pair constants
+pair right,left,up,down,origin;
+origin=(0,0); up=-down=(0,1); right=-left=(1,0);
+\end{code}
+\vss}}%
+As you can see, pair variables can be used in implicit equations.
+
+They can also be scaled using implicit multiplication, so writing
+`$144 \id{right}$' is equivalent to writing `$(144,0)$' but possibly a bit more
+readable. In particular the idiom `$\kw{shifted} 200 \id{up};$'
+works well when applied to a point, a path,
+or an image.
+Unfortunately, this convenient notation does not work well with units of
+measure. This is because implicit multiplication only works between a numeric constant and a
+variable. So `$2 \id{in}\, \id{right}$' does not work as you might expect; you can
+write `$2\id{in} \mathrel{\ast}\id{right}$' but by that stage it's probably simpler to
+write `$(2\id{in},0)$' or even just `$(144,0)$'.
+
+
+\newpage
+\subsection{Pairs as complex numbers}
+
+As you might expect in a language designed by mathematicians, \MP's pair variables
+work rather well as complex numbers. To represent the number $3+4i$ you can write
+"(3,4)". To get its modulus, you write "abs (3,4)" (which gives $5$ in this case),
+and to get its argument, you write "angle (3,4)" (which gives $53.1301$). Note that
+"angle" returns the argument in degrees rather than radians, and that the result is
+normalized so that $-180 < \kw{angle} (x,y) \le 180$.
+
+The standard notation for points supports this usage. You can write "z0=(3,4);" and then
+extract or set the real part with "x0" and the imaginary part with "y0". If you
+want to use other letters for your variable names, you can use "xpart" and "ypart"
+to do the same thing. So after `\mpl{pair w; w=(3,4);}' you can get the real part with
+"xpart w" and the imaginary part with "ypart w".
+You can also use the polar notation shown above to write complex numbers. For
+$re^{i\theta}$ you can write `\mpl{r * dir theta}' where "r" is the modulus and
+"theta" is the argument in degrees.
+
+The predefined constants \mpl{up},
+\mpl{down},
+\mpl{left}, and
+\mpl{right} also provide points on the unit circle corresponding to $i$, $-i$,
+$-1$, and $+1$ respectively. It's tempting to define `\mpl{pair i; i=(0,1);}', so that
+you can write constants like "4i" directly, but this is not very helpful, because
+"3+4i" will give you an error since \MP\ does not let you add a "numeric" to a "pair".
+
+However \MP\ does let you add (and subtract) two pairs, so complex addition and
+subtraction are just done with the
+normal operators.
+\vadjust{\moveright 384pt\vbox to 0pt{\vskip -3.74in
+$$\includegraphics{complex-operators}$$
+\begin{code}
+beginfig(1);
+ numeric u; u = 1cm;
+ z1 = 2 dir 15; z2 = 1.2 dir 60;
+ z3 = z1+z2; z4 = z1 zscaled z2; z5 = (x1,-y1);
+ drawoptions(withcolor 2/3 white);
+ draw (1/2 left -- 3 right) scaled u ;
+ draw (1/2 down -- 3 up ) scaled u ;
+ draw subpath (0,3) of fullcircle scaled 2u rotated -22.5;
+ drawoptions();
+ dotlabel.lrt (btex $\scriptstyle 1$ etex, (u,0));
+ dotlabel.ulft(btex $\scriptstyle i$ etex, (0,u));
+ interim ahangle := 30;
+ forsuffixes @=1,2,3,4,5:
+ x@ := x@ * u; y@ := y@ * u;
+ drawarrow origin -- z@
+ cutafter fullcircle scaled 5 shifted z@
+ withcolor 2/3 if @ < 3: blue else: red fi;
+ endfor
+ fill fullcircle scaled dotlabeldiam;
+ dotlabel.rt (btex $A$ etex, z1);
+ dotlabel.urt(btex $B$ etex, z2);
+ dotlabel.top(btex $A+B$ etex, z3);
+ dotlabel.top(btex $A \times B$ etex, z4);
+ dotlabel.rt (btex $\bar{A}$ etex, z5);
+endfig;
+\end{code}
+\vss}}%
+To get the complex conjugate you
+could use "reflectedabout(left,right)", but it's probably easier just to write
+"(x0,-y0)" or define a simple function:
+\begin{code}
+ def conj(expr z) = (xpart z, -ypart z) enddef;
+\end{code}
+Complex multiplication is provided as part of the core language by the "zscaled"
+operator. This is defined with the same precedence as "scaled" or normal scalar
+multiplication (which is what you usually want). So "(3,4) zscaled (1,2)" gives
+"(-5,10)" because $(3+4i)\times(1+2i) = 3+6i+4i-8 = -5+10i$.
+"zscaled" is only defined to work on two "pair" variables, so you can't write
+\mpl{(3,4) zscaled 4}. To get that effect with "zscaled" you would have to write
+\mpl{(3,4) zscaled (4,0)}, but this is the same as
+\mpl{(3,4) scaled 4}, which is usually simpler to write. If your pair is
+stored as a variable you can write (for example) \mpl{4 z0} to get the same
+effect. Or \mpl{1/4 z0} or \mpl{z0/4} for scalar division.
+
+There are no other complex operators available, but it is not hard to implement the
+usual operations when they are required\dots
+
+\newpage
+\subsubsection{Extra operators for complex arithmetic}
+
+Since multiplication by $z$ can be thought of as a transformation consisting of
+rotation by the argument of $z$ and scaling by $|z|$, you can define the complex
+inverse and complex square root simply using \mpl{angle} and \mpl{abs}.
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip -24pt
+\centerline{\includegraphics{complex-inverse-and-sqrt}}
+The interesting part of the left hand figure was drawn as follows:
+\begin{smallcode}
+input colorbrewer-rgb
+for i=1 upto 3:
+ z[i] = (3/2 + 1/4 normaldeviate) * dir (16 i + normaldeviate);
+ path a;
+ a = z[i] scaled 42 -- origin -- zinverse(z[i]) scaled 42;
+ drawarrow a cutafter fullcircle scaled 5 shifted point 2 of a
+ withcolor SetTwo[7][2+i];
+ drawdot point 0 of a withpen pencircle scaled dotlabeldiam;
+ drawdot point 2 of a withpen pencircle scaled dotlabeldiam;
+ drawdot point 2 of a withpen pencircle scaled 2 withcolor white;
+endfor
+\end{smallcode}
+The only difference on the right is that the drawing used "zsqrt()".
+\vss}}
+
+\smallskip\noindent
+First an inverse function. The idea here is to find a function that is the opposite
+of complex multiplication, so we want something that gives
+\begin{code}
+z zscaled zinverse(z) = (1,0)
+\end{code}
+In other words you need to find a complex number with an argument that is the
+negative of the argument of $z$ and a modulus that will scale $|z|$ to 1.
+You can use the polar notation with "dir" to write this directly:
+\begin{code}
+vardef zinverse(expr z) = 1/abs z * dir - angle z enddef;
+\end{code}
+The complex division, $z/w$, can now be done as: \mpl{z zscaled zinverse(w)}.
+The only difficulty with this function is how it deals with zero, or rather with
+the point $(0,0)$. Since `\mpl{abs (0,0)}' gives $0$, the function will give you
+a `divide by zero' error if it's called with $(0,0)$. But this is probably what you want
+it to do, since there is no easy way to represent the point at infinity in the
+extended complex plane on paper.
+
+\medskip\noindent
+For square root, you want a function `\mpl{zsqrt(z)}' that returns
+a complex number with half
+the argument of $z$ and a modulus that is the square root of the modulus of $z$, so that
+`\mpl{zsqrt(z) zscaled zsqrt(z) = z}'. This does the trick:
+\begin{code}
+def zsqrt(expr z) = sqrt(abs z) * dir 1/2 angle z enddef;
+\end{code}
+This function also has a difficulty with the point $(0,0)$, because "angle (0,0)" is
+not well defined, and so \MP\ throws an error. If you want a function that
+correctly returns $(0,0)$ as its own square root, then try something like this:
+\begin{code}
+def zsqrt(expr z) =
+ if abs z > 0: sqrt(abs z) * dir 1/2 angle fi z
+enddef;
+\end{code}
+
+\newpage
+\subsubsection{Using complex numbers to draw fractals}
+
+As an example of what you can do with complex arithmetic, here is a version of the
+diagram from §4.1 of Knuth's \textsl{Seminumerical Algorithms} showing $S$, the set
+of all points that can be written as $\sum_{k\ge1}a_k(i-1)^{-k}$.
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip -81pt
+\begin{smallcode}
+vardef fizz(expr X) =
+ pair m, n;
+ m = right;
+ n = origin;
+ numeric a, x;
+ x = X;
+ forever:
+ exitif x = 0;
+ m := m zscaled zinverse((-1, 1));
+ a := x mod 2;
+ n := n + a * m;
+ x := x div 2;
+ endfor
+ n
+enddef;
+input colorbrewer-rgb
+color shade[];
+shade0 = Reds 5 4; shade1 = Oranges 5 4;
+shade2 = Greens 5 4; shade3 = Blues 5 4;
+
+beginfig(1);
+ numeric s, t; s = 256; t = 4;
+ for n=0 upto (s/t*s/t-1):
+ numeric h, v;
+ h = floor 1/8 (n mod 32);
+ v = n mod 4;
+ fill fullcircle scaled t shifted (fizz(n) scaled s)
+ withcolor (1/2 + 1/8 v)[white, shade[h]];
+ endfor;
+
+ path xx, yy;
+ xx = (left--right) scaled (s+8);
+ yy = xx rotated 90;
+ for i=-1 upto 1:
+ draw xx shifted (0, s*i) withpen pencircle scaled 1/8;
+ draw yy shifted (s*i, 0) withpen pencircle scaled 1/8;
+ endfor
+ dotlabel.lrt(btex $-1-i$ etex, (-1, -1) scaled s);
+ dotlabel.lrt(btex $-1$ etex, (-1, 0) scaled s);
+ dotlabel.lrt(btex $-1+i$ etex, (-1, 1) scaled s);
+ dotlabel.lrt(btex $-i$ etex, (0, -1) scaled s);
+ dotlabel.lrt(btex $+i$ etex, (0, 1) scaled s);
+ dotlabel.lrt(btex $+1-i$ etex, (1, -1) scaled s);
+ dotlabel.lrt(btex $+1$ etex, (1, 0) scaled s);
+ dotlabel.lrt(btex $+1+i$ etex, (1, 1) scaled s);
+endfig;
+\end{smallcode}
+\vss}}
+$$\includegraphics[width=\textwidth]{double-dragon.pdf}$$
+\vbox to 0pt{\noindent\small\textbf{Note}: you can adjust the “resolution” with the parameter $t$, but don't
+make it smaller than 1 if you are using the default number system; the diagram looks
+a bit strange unless $t$ is an integer power of 2.\vss}
+
+\newpage
+\section{Colours}
+
+\MP\ implements colours as simple numerics, or tuples of three or four numeric values.
+Three-tuples (which are type \mpl{color}) represent RGB colours; four-tuples
+(which are type \mpl{cmykcolor}) represent CMYK colours. Simple numerics are used to
+represent grey scale colours.
+
+The numeric values of the colours can take any \kw{numeric} value, but \MP\ only considers the
+range 0 to 1 --- values less than zero are treated as zero, values greater than 1 are
+treated as 1.
+So British Racing Green with RGB code "(1,66,37)",
+or Pillar Box Red with code "(223,52,57)", can be defined like this:
+\begin{code}
+ color brg, pbr;
+ brg = (0.00390625, 0.2578125, 0.14453125);
+ pbr = (0.87109375, 0.203125, 0.22265625);
+\end{code}
+or, slightly more idiomatically:
+\begin{code}
+ brg = 1/256 (1, 66, 37);
+ pbr = 1/256 (223, 52, 57);
+\end{code}
+As you can see, you can apply implicit multiplication to a \mpl{color}, so after
+the declaration above "2 brg" would be a valid colour, although you have to think
+a bit to know what that means in terms of colour in your drawings.
+\vadjust{\moveright 384pt\vbox to 0pt{\kern-72pt
+To use RGB hex strings, you'll need to write a function:
+\begin{code}
+vardef hexrgb(expr Spec) =
+ save r, g, b;
+ numeric r, g, b;
+ r = hex(substring (1,3) of Spec);
+ g = hex(substring (3,5) of Spec);
+ b = hex(substring (5,7) of Spec);
+ 1/256(r,g,b)
+enddef;
+brg = hexrgb("#014225");
+pbr = hexrgb("#df3439");
+\end{code}
+\vss}}%
+
+Plain \MP\ defines five basic colour constants: \mpl{red}, \mpl{green},
+\mpl{blue}, \mpl{white}, \mpl{black}. These are quite useful with leading
+fractions: \mpl{2/3 red} gives a nice dark red, that's good for drawing lines you
+want to emphasize; \mpl{1/2 white} gives you a shade of grey; and so on. But since
+\mpl{black} is defined as \mpl{(0,0,0)}, \mpl{1/2 black} just gives you \mpl{black}.
+
+You can also add up \mpl{colors}. So \mpl{red + 1/2 green} gives you a shade of
+orange; this is more long-winded than writing \mpl{(1, 0.5, 0)} but maybe slightly
+easier to read. Much more usefully, you can use the mediation notation to get a
+colour that is part way between two others. So \mpl{1/2[red, white]} gives you a
+shade of pink, and \mpl{2/3[blue, white]} a sort of sky blue. You can also use this
+idea to vary colour with data, as in \mpl{(r)[red, blue]} where \mpl{r} is some
+calculated value. \vadjust{\moveright 384pt\vbox to 0pt{\kern-36pt
+\begin{code}
+color brg; brg = 1/256 (1, 66, 37);
+color pbr; pbr = 1/256 (223, 52, 57);
+N = 5; n = 0;
+for y=1 upto N:
+ for x=1 upto N:
+ fill fullcircle scaled 16 shifted 20(x,y)
+ withpen pencircle scaled 2
+ withcolor (n/N/N)[pbr, brg];
+ label(decimal incr n infont "phvr8r", 20(x,y))
+ withcolor white;
+ endfor
+endfor
+\end{code}\vss}}
+Here's a toy example:
+
+\vbox to 0pt{\centerline{\includegraphics[scale=0.8]{color-blend-toy}}\vss}
+
+\newpage
+\subsection{CMYK colours}
+
+\MP\ also implements a CMYK colour model, using tuples of four numerics.
+This is more or less a direct mapping onto the PostScript "cmykcolor" functions.
+In this model the four components represent cyan, magenta, yellow, and black.
+White is \mpl{(0,0,0,0)} and black is anything where the last component is 1.
+Beware however that the constants, \mpl{white} and \mpl{black} are defined in
+"plain.mp" as RGB colours, and you can't mix the two models, so anything like
+\mpl{1/2[(1,1,0,0), white]} will not work. If you want to do lots of work with CMYK colours
+you might like to redefine the color constants.
+$$\includegraphics[width=0.7\textwidth]{blended-color-circles}$$
+\hey The apparent blending of colours here is done by calculating the overlaps
+and filling them in order. In plain \MP, there is no support for transparency in any of the
+colour models; this is because they are inherited directly from PostScript.
+
+\moveright 384pt\vbox to 0pt{\vss
+\begin{code}
+% the illusion of blended colours is helped by buildcycle
+
+path C[], B[];
+
+% arrange each circle so that point 0 is outside the others
+C1 = fullcircle scaled 120 rotated 90 shifted 40 up;
+C2 = C1 rotated 120;
+C3 = C2 rotated 120;
+
+B0 = buildcycle(C1, C2, C3);
+B1 = buildcycle(C1, C2);
+B2 = buildcycle(C2, C3);
+B3 = buildcycle(C3, C1);
+
+picture P;
+for x=0 upto 1:
+ for y=0 upto 1:
+ P := image(
+ s := 1/4 + x/2;
+ k := 0 + y/4;
+ fill C1 withcolor s*(1,0,0,k);
+ fill C2 withcolor s*(0,1,0,k);
+ fill C3 withcolor s*(0,0,1,k);
+ fill B3 withcolor s*(1,0,1,k);
+ fill B2 withcolor s*(0,1,1,k);
+ fill B1 withcolor s*(1,1,0,k);
+ fill B0 withcolor s*(1,1,1,k);
+ undraw C1; undraw C2; undraw C3;
+ ) shifted -(200x, 200y);
+ draw P;
+ label.bot(("shade: " & decimal s & ", k: " & decimal k)
+ infont "phvr8r", point 1/2 of bbox P);
+ endfor
+endfor
+\end{code}}
+
+\newpage
+\subsection{HSV colours}
+
+HSV colours are colours defined by a triple of hue, saturation, and value.
+Unlike RGB and CMYK colours there is no native support in \MP\ but it is possible to
+write a routine that maps HSV triples into RGB colours:
+\begin{code}
+vardef hsv_color(expr h,s,v) =
+ save chroma, hh, x, m;
+ chroma = v*s;
+ hh = h/60;
+ x = chroma * (1-abs(hh mod 2 - 1));
+ m = v - chroma;
+ if hh < 1: (chroma,x,0)+(m,m,m)
+ elseif hh < 2: (x,chroma,0)+(m,m,m)
+ elseif hh < 3: (0,chroma,x)+(m,m,m)
+ elseif hh < 4: (0,x,chroma)+(m,m,m)
+ elseif hh < 5: (x,0,chroma)+(m,m,m)
+ else: (chroma,0,x)+(m,m,m)
+ fi
+enddef;
+\end{code}
+This is based on information from the Wikipedia article on
+on “HSL and HSV”.
+
+\medskip\noindent
+The hue values in HSV colours map nicely to the familiar spectrum
+of the rainbow. In the model used here 0 is red, 120 green, and 240 blue:
+$$\includegraphics[width=0.85\textwidth]{color-hsv-gamut}$$
+With less saturation the colours look faded; if you lower the value they get
+darker. Once you get the hang of them, they make choosing colours rather easier.
+You can produce ranges of colour by changing hue, or make gradations of a single
+colour by changing the saturation or value.
+
+\moveright 384pt\vbox to 0pt{\vss
+\begin{code}
+defaultfont := "phvr8r";
+
+numeric s[], v[];
+s0 = 1/2; v0 = 7/8;
+s1 = 7/8; v1 = 7/8;
+s2 = 7/8; v2 = 1/2;
+for y=0 upto 2:
+ for h=0 step 15 until 360:
+ fill fullcircle scaled 24 shifted (h, -32y)
+ withcolor hsv_color(h, s[y], v[y]);
+ draw fullcircle scaled 24 shifted (h, -32y)
+ withcolor white;
+ if y=1:
+ label(decimal h infont defaultfont scaled 1/2, (h,-16));
+ fi
+ endfor
+endfor
+
+label.urt("Less saturation", (-20,12));
+label.lrt("Lower value", (-20,-76));
+
+drawarrow (-15, -12) -- (-15,12);
+drawarrow (-15, -52) -- (-15,-76);
+\end{code}}
+
+\newpage
+\subsubsection{An HSV example of a graduated scale}
+
+\noindent
+This example requires the \mpl{hsv_color} routine from the previous page.
+\mpic{12pt}{color-hsv-bathymetric}
+\begin{code}[xleftmargin=0pt]
+defaultfont := "phvr8r"; defaultscale := 3/4;
+path h,d,b; numeric n; n = 10;
+h = ((-2,0)--(0,0)--(-1,3)--(-2,3)--cycle) scaled 60;
+d = h rotated 180;
+b = subpath (0,1) of h -- point 1+1/n of d --
+ (xpart point 0 of h, ypart point 1+1/n of d) -- cycle;
+fill b withcolor hsv_color(123, 1/8, 7/8);
+draw subpath (2.13,4) of b;
+for i=1 upto n:
+ fill point 4-(i-1)/n of h -- point 1+(i-1)/n of h
+ -- point 1+i/n of h -- point 4-i/n of h -- cycle
+ withcolor hsv_color(42, 1/4 + 3/4 * i/n, 1 - i/3n);
+ fill point 4-(i-1)/n of d -- point 1+(i-1)/n of d
+ -- point 1+i/n of d -- point 4-i/n of d -- cycle
+ withcolor hsv_color(200, i/n - 1/n, 1 - i/3n);
+endfor
+string s;
+for i=1 upto n-1:
+ draw point 4-i/n of h -- point 1+i/n of h;
+ draw point 4-i/n of d -- point 1+i/n of d;
+ s := decimal if i < 4: (i**2+1) else: (10 + (i-3)*10) fi & "00";
+ label.rt(s, point 1+i/n of h);
+ label.lft(s, point 1+i/n of d);
+endfor
+label.rt("Metres", point 2 of h);
+label.lft("Metres", point 2 of d);
+label.lft("Hypsometric tints" infont defaultfont
+ scaled defaultscale rotated 90, point 7/2 of h);
+label.rt("Bathymetric tints" infont defaultfont
+ scaled defaultscale rotated -90, point 7/2 of d);
+label.lft("sea level", point 0 of h);
+label("areas below sea level", center b);
+draw h; draw d;
+\end{code}
+
+
+
+\newpage
+\subsection{Grey scale}
+
+\moveright5.5in\vbox to 0pt{\vskip6pt
+\begin{code}[xleftmargin=0pt]
+numeric s; s = 13;
+path atom;
+atom = origin
+ -- (2s,0) rotated -30 -- (2s,0) rotated -30 + (0,s)
+ -- ( s,0) rotated 30 -- ( s,0) rotated 30 + (0,s)
+ -- (0,2s) -- cycle;
+
+picture p[];
+for i=0 upto 2:
+ p[i] = image(
+ fill atom rotated -120i withcolor (7/8 - 1/8i) ;
+ draw atom rotated -120i;
+ );
+endfor
+
+n = 13;
+for i=-n upto n:
+ for j=-n upto n:
+ forsuffixes $=0,1,2:
+ draw p$ shifted ((3i*s,0) rotated -30
+ + (0,floor(1/2i)*3s + 3j*s));
+ endfor
+ endfor
+endfor
+
+clip currentpicture to (unitsquare shifted -(1/2,1/2)
+ xscaled 55.425s yscaled 30s);
+\end{code}
+\vss}
+\noindent
+The \mpl{withcolor} command will also take a single \mpl{numeric} instead of a 3-tuple or
+a 4-tuple. This produces a colour in grey scale (or gray scale if you prefer the
+Webster spellings). Just as for the other colour types, values below 0 count as
+zero and values above 1 count as one. And since the smallest possible positive
+number in plain \MP\ is: $\id{epsilon} = 1/256/256;$ then you can have at most 65,536 shades in
+between.
+
+Grey scale is appropriate for some printed media, and can make effective textures
+and patterns.
+The code on the right was used to produce this:
+$$\includegraphics[width=\textwidth]{escher}$$
+First a basic path (named $\id{atom}$) is defined, then in the first loop three
+picture variables, $p_1$, $p_2$, and $p_3$, are defined, each one rotated
+120° from the previous and filled with a slightly darker shade of grey.
+The double loop then draws the three versions of the shape on an up-and-down grid.
+Finally the picture is clipped to a neat rectangle.
+
+\newpage
+\subsubsection{Drawing algorithmic shadows}
+\moveright5.5in\vbox to 0pt{\vskip6pt
+\begin{code}[xleftmargin=0pt]
+path b, w;
+b = ((-3,-4)--(3,-2)--(3,+2)--(-3,4)--cycle) scaled 5;
+w = b reflectedabout(up, down);
+
+numeric n;
+n = 128;
+
+picture B, W;
+B = image(for i=0 step 1/n until 1:
+ draw point 4-i of b -- point 1+i**2 of b
+ withcolor 1-i**8;
+ endfor);
+
+ W = image(for i=0 step 1/n until 1:
+ draw point 4-i of w -- point 1+i**2 of w
+ withcolor 3/4-i**8;
+ endfor);
+
+for i=-9 upto 9:
+ for j=-4 upto 4:
+ draw if odd (i+j): W else: B fi shifted (i*30,j*30);
+ endfor
+endfor
+
+clip currentpicture to bbox currentpicture yscaled 7/8;
+\end{code}
+\vss}
+\noindent
+Here is a more complex pattern, showing one way to create an
+illusion of shadows with multiple fine lines.
+$$\includegraphics[width=\textwidth]{shadows}$$
+The first part defines two wedge-shaped closed paths, $\id{w}$ being
+the mirror image of $\id{b}$. Like the standard \id{unitsquare} path, the
+path $\id{b}$ is defined so that point 0 is the bottom left corner.
+
+The two $\kw{picture}$ variables are produced
+by drawing lines across the shapes from bottom to top. By setting $n$ high enough,
+these multiple lines blend smoothly to give an even colour. And by using higher
+powers of the index variable, an effective shadow can be drawn ‘bunched up’ into the
+top of each shape.
+
+By repeating them alternately in a grid, we get an effective texture, which is
+clipped at the end to a neat rectangle again.
+
+
+\newpage
+\subsection{Colorbrewer palettes}\label{colorbrewer}
+
+\moveright 384pt\vbox to 0pt{\vskip144pt\raggedright\hsize4in\noindent
+This map shows the "RdYlBu[9]" palette in action on a map of the Brexit vote in
+London. The outlines are the 33 London boroughs, and the colours show how we voted,
+faded by turnout. The data and the outlines are from publicly-available UK
+government sources. They were prepared for \MP\ using various Python scripts, and
+they are available in the source for this document.
+
+\vskip 72pt
+Here is the code for the palette used as the legend:
+\begin{smallcode}
+input colorbrewer-rgb
+numeric s; s = 10;
+for i = 1 upto 9:
+ fill unitsquare scaled s shifted (i*s, 0) withcolor RdYlBu[9][i];
+ if i > 1: draw (i*s, 0) -- (i*s, s); fi
+endfor
+draw unitsquare xscaled 9s yscaled s shifted (s,0);
+label.top("Leave" infont "phvr8r", (s, s));
+label.top("Remain" infont "phvr8r", (10s, s));
+\end{smallcode}
+\vss}
+
+\noindent
+The well-known Colorbrewer website ("http://colorbrewer2.org") provides a useful set
+of colour palettes that are suitable for a wide range of applications. They were
+originally written for maps, but they are useful for many other types of drawing.
+If you are using an up-to-date, and complete, \TeX\ distribution, you should find
+that my implementation of them for \MP\ is already installed on your system,
+otherwise you can get it from "https://ctan.org/pkg/metapost-colorbrewer". The
+package provides two files that define all the colour ranges; one for CMYK and
+another for RGB; an example of usage is shown below on the right.
+
+$$\includegraphics[width=\textwidth]{brexit-map.pdf}$$
+
+
+%--------------------------------------------
+\newpage
+\section{Random numbers}
+
+\MP\ provides us with two built-in functions to generate random numbers.
+\vadjust{\moveright 384pt\vbox to 0pt{\kern-24pt
+\begin{code}
+vardef dice(expr pip_count, pip_color) =
+ save d,r,p, ul, ur, lr, ll;
+ r=1/8; path d; picture p;
+ d = for i=0 upto 3:
+ quartercircle scaled 3 shifted (15,15) rotated 90i --
+ endfor cycle;
+ p = image(draw fullcircle scaled 6;
+ fill fullcircle scaled 6 withcolor pip_color);
+ pair ul, ur, ll, lr;
+ ul = 1/5[ulcorner d, lrcorner d];
+ lr = 4/5[ulcorner d, lrcorner d];
+ ur = 1/5[urcorner d, llcorner d];
+ ll = 4/5[urcorner d, llcorner d];
+ image(fill d withcolor background; draw d;
+ if odd(pip_count):
+ draw p shifted center d;
+ fi;
+ if pip_count > 1:
+ draw p shifted ul; draw p shifted lr;
+ fi;
+ if pip_count > 3:
+ draw p shifted ur; draw p shifted ll;
+ fi;
+ if pip_count = 6:
+ draw p shifted 1/2[ul,ur];
+ draw p shifted 1/2[ll,lr];
+ fi)
+enddef;
+
+beginfig(1);
+for i=0 upto 4:
+ draw dice(1+floor uniformdeviate 6, red)
+ rotated (2 normaldeviate)
+ shifted (36i,0);
+endfor
+endfig;
+\end{code}
+ $$\includegraphics{dice}$$
+\vss}}
+\begin{itemize}
+ \item `$\kw{uniformdeviate}\,n$' generates a random real number between $0$ and
+ $n$.
+
+ Note that the $n$ is required. It can be negative, in which case you get negative random
+ numbers; or it can be zero, but then you just get $0$ every time. In other words the
+ implementation generates a number $r$ such that $0\le r<1$ and then
+ multiplies $r$ by
+ $n$.
+
+ If you want a random whole number, use `$\kw{floor}$' on the result.
+ So to simulate six-sided dice, you can use `$1+\kw{floor}\,\kw{uniformdeviate}6$'.
+
+ If you use the new number systems, and you find that the numbers generated
+ are all multiples of $n/4096$, so $\kw{uniformdeviate} 8192$ (for example)
+ generates even integers instead of random real numbers, then you should
+ update your \TeX\ distribution. This `feature' was an accident of the
+ original way that the scaled arithmetic routines were adapted.
+
+ \item `\kw{normaldeviate}' generates a random real number that follows the
+ familiar normal distribution. The algorithm used is discussed in \textsl{The
+ Art of Computer Programming}, section~3.4.1.
+ If you generate enough samples, the mean should
+ be approximately zero, and the variance about 1.
+ The chance of getting a number between $-1$ and 1 is
+ about 68.3\%; between $-2$ and 2, about 95.4\%.
+ \vadjust{\moveright 3.6in\vbox to 0pt{\hsize 1.6in \vskip21pt \noindent
+ \small 10000 samples suggest\\\kw{normaldeviate} works.\par\vss}}
+ $$\includegraphics[width=4.6in]{gaussian}$$
+ To relocate the mean, just add a constant. To rescale the distribution,
+ multiply by the desired standard deviation (the square root of the
+ desired variance).
+
+
+\end{itemize}
+
+
+\newpage\subsection{Random numbers from other distributions}
+
+The \kw{normaldeviate} function is provided as a primitive \MP\ operation. The
+implementation is based on the `Ratio method' presented in \textsl{The Art of
+Computer Programming}, section~3.4.1. It turns out to be very straightforward to
+implement the algorithm for this method as a user-level program $\longrightarrow$
+\vadjust{\moveright5.5in\vbox to 0pt{\kern -64pt
+\begin{smallcode}
+vardef normaldeviate =
+ save u, v, xa;
+ forever:
+ forever:
+ u := uniformdeviate 1;
+ exitif (u>1/64);
+ endfor
+ v := sqrt(8/mexp(256)) * ( -1/2 + uniformdeviate 1 );
+ xa := v/u;
+ exitif ( xa**2 <= -mlog(u)/64 );
+ endfor
+ xa
+enddef;
+
+vardef exponentialdeviate =
+ save u;
+ forever:
+ u := uniformdeviate 1;
+ exitif (u>0);
+ endfor
+ -mlog(u)/256
+enddef;
+
+vardef gammadeviate(expr a,b) =
+ save y, x, v, s, accept; boolean accept;
+ s = sqrt(2a-1);
+ forever:
+ forever:
+ y := tand(uniformdeviate 180);
+ exitif y<64;
+ endfor
+ x := s * y + a - 1;
+ accept := false;
+ if x>0:
+ v := uniformdeviate 1;
+ if (v <= (1+y**2)*mexp((a-1)*mlog(x/(a-1))-(256*s*y))):
+ accept := true;
+ fi
+ fi
+ exitif accept;
+ endfor
+ x/b
+ enddef;
+\end{smallcode}
+\vss}}%
+
+There are a couple points here. First, the inner loop around the assignment to $u$ is
+designed to avoid very small values that would cause $v/u$ to be larger than 64, and
+hence make "xa**2" overflow. This is a useful general technique, and justified in
+terms of the algorithm since large values of $v/u$ are rejected anyway. Secondly,
+the expression "sqrt(8/mexp(256))" is a constant ($ \sqrt{8/e} \simeq 1.71553 $) and could be
+replaced by it's value, but this does not make an appreciable improvement to the
+speed of the routine. On a modern machine, this routine is only very slightly
+slower than using the primitive function.
+
+It is also fairly straightforward to implement random number generators that follow other statistical
+distributions. The mathematical details are in the section of \textsl{TOACP}
+referenced above. Two examples, for the exponential distribution and the gamma
+distribution, are shown on the right. In both cases, note the care required to avoid
+arithmetic overflow (and see section~\ref{trig} for the "tand" function).
+
+\medskip\label{mexp}\noindent
+You can also see the special nature of \MP's \kw{mexp} and \kw{mlog}
+functions. They are defined so that $\kw{mexp} x = \exp(x/256)$ and $\kw{mlog} x =256\log(x)$.
+This is another artefact of the scaled number system. \MP\ computes $x^y$ using the
+formula "mexp(y*mlog(x))", and the adjusted log values give more accurate results.
+Note that this means that you have $e=\kw{mexp}(256)$.
+
+\medskip\noindent
+At the start of each job, \MP\ automatically sets a new seed for the random number
+generator, so that the sequence of numbers is different each time. But you can set
+this yourself if you need the same sequence each time. At the start of your program
+you should put "randomseed:=3.14;" (or whatever value you prefer). According to
+\textsl{The Metafont Book}, the default value is
+$\id{day}+\id{time}\ast\id{epsilon}$, but in \MP\ the exact value used depends on
+the resolution of the timers available on your system; essentially the value
+should be different every time you run \MP.
+
+
+\newpage\subsection{Random walks}
+
+You can use the random number generation routines to produce visualizations of
+random walks, with various levels of analysis.
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4.4in\kern -2\baselineskip
+\begin{code}
+beginfig(1);
+numeric w, h, n; w = 377; h = 80; n = 500;
+draw (origin--right) scaled w;
+draw (origin--right) scaled w shifted (0,+h/2) withcolor 3/4;
+draw (origin--right) scaled w shifted (0,-h/2) withcolor 3/4;
+pair zenith, nadir; zenith = nadir = origin;
+path walk[];
+for i=1 upto 8:
+ numeric y; y = 0;
+ walk[i] = origin for x=w/n step w/n until w:
+ hide(
+ y := y if uniformdeviate 1 < 1/2: + else: - fi 1;
+ if y > ypart zenith: zenith := (x,y) ; fi
+ if y < ypart nadir: nadir := (x,y) ; fi
+ )
+ -- (x,y)
+ endfor;
+ undraw walk[i] withpen pencircle scaled 3/4;
+ draw walk[i] withcolor (1/2+y/h)[red, blue]
+endfor
+drawarrow (12 up -- 2 up) shifted zenith withcolor blue;
+drawarrow (12 down -- 2 down) shifted nadir withcolor red;
+endfig;
+\end{code}
+
+\smallskip\noindent
+\hey Note the \mpl{undraw} line using a slightly thicker pen; this makes it
+easier to follow the lines as they cross each other.
+\vss}}
+$$\includegraphics[width=\textwidth]{random-walks-red-blue}$$
+In this example the random walk lines are coloured according to the final $y$-value,
+and the global maximum and minimum points are marked.
+
+Each walk is created with an `inline' for-loop; the loop is effectively expanded
+before the assignment, so that each \id{walk} variable becomes a chain of connected $(x,y)$
+pairs. Inside the loop you can conceal yet more instructions in a `\kw{hide}' block.
+These instructions contribute nothing to the assignment, but can change the values
+of variables outside the block.
+
+Note the first line of the \kw{hide} block adds $\pm1$ to $y$ with equal probability.
+You can (of course) create different kinds of random walks, by changing the way you
+set this delta value, for example by using a different type of random variate, or scaling
+the value, or changing the odds in favour of one direction or the other. For
+example:
+\begin{code}
+y := y if uniformdeviate 1 < p: + 2 else: - 1 fi;
+\end{code}
+will set the delta to $+2$ with probability $p$ and and to $-1$ with probability $1-p$.
+
+\newpage\subsection{Brownian motion}
+
+A random walk is normally constrained to move one unit at a time, but if you relax
+that constraint and use `\kw{normaldeviate}' in place of `\kw{uniformdeviate}' you
+can get rather more interesting patterns.\vadjust{\moveright5.5in\vbox to 0pt{
+\hsize4in\kern -20pt
+\begin{code}
+beginfig(2);
+for n=1 upto 4:
+ x:=y:=0;
+ draw (x,y) for i=1 upto 2000:
+ hide(x:=x+4normaldeviate; y:=y+4normaldeviate;)
+ .. (x,y)
+ endfor withcolor ((n+2)/9)[blue,white];
+ fill fullcircle scaled 3 shifted (x,y) withcolor red;
+endfor
+% mark the origin
+fill fullcircle scaled 3 withcolor green;
+endfig;
+\end{code}
+
+\kern 120pt
+\noindent
+Using these random number generators means that the output is
+different each time because \MP\ produces a different sequence of numbers. You may
+find yourself running the program a few times until you find one you like. At this
+point you will wish that you knew what "randomseed" had been used, so that you can
+re-create picture. Unfortunately \MP\ does not log the value used, unless you set it
+manually. So here's a trick to use in this situation: set your own random seed
+using a random number at the top of your program.
+\begin{code}
+ randomseed := uniformdeviate infinity;
+\end{code}
+Now \MP\ writes the (random) value used in the log for you to copy. Note that if you are using
+"luamplib" you need to add the "\mplibshowlog{enable}" option.
+\vss}}
+If you also allow the $x$-coordinates to
+wander at random as well as the $y$-coordinates you get two-dimensional random
+patterns. And if you replace the straight line segments "--" with ".." so that \MP\
+draws a smooth curve through the points, as well as vary the colour each time
+you draw a new curve, then the result is almost artistic.
+
+\medskip\noindent
+\hbox to \textwidth{\includegraphics[width=1.2\textwidth]{brown3a}\hss}
+
+\newpage\subsection{Drawing freehand}
+
+This idea is shamelessly stolen from the wonderful collection of \MP\ examples
+available at "http://melusine.eu.org/syracuse/metapost/". But since the
+examples there are all in French (including all the names of the custom macros),
+perhaps it would be better to say `translated' rather than `stolen'; moreover my
+implementations are easier to use with plain \MP.\vadjust{\moveright5.5in\vbox to 0pt{
+\hsize4in\kern -5.5\baselineskip
+\begin{smallcode}
+def freehand_segment(expr p) =
+ point 0 of p {direction 0 of p rotated (4+normaldeviate)} ..
+ point 1 of p {direction 1 of p rotated (4+normaldeviate)}
+enddef;
+def freehand_path(expr p) =
+ freehand_segment(subpath(0,1) of p)
+ for i=1 upto length(p)-1:
+ & freehand_segment(subpath(i,i+1) of p)
+ endfor
+ if cycle p: & cycle fi
+enddef;
+defaultfont := "eurm10";
+color sepia; sepia = (0.44, 0.26, 0.08);
+picture marker; marker = image(for s=-1/2, 1/2:
+ draw (left--right) scaled 2 rotated 60 shifted (s,0);
+endfor);
+def moved_along expr x of p = rotated angle direction x of p
+ shifted point x of p enddef;
+
+beginfig(1);
+pair A, B, C, D;
+A = (0,-30); B = (180,0); C = (120,90);
+D = (1/2 + 1/40 normaldeviate)[A, B];
+path triangle, circumcircle, bisector;
+triangle = freehand_path(A--D--B--C--cycle);
+bisector = freehand_segment(C--D);
+circumcircle = freehand_path(A..B..C..cycle);
+draw triangle;
+draw bisector;
+draw circumcircle withcolor .67 red;
+draw marker moved_along 1/2 of triangle withcolor .67 red;
+draw marker moved_along 3/2 of triangle withcolor .67 red;
+label.lft("A", A);
+label.rt ("B", B);
+label.top("C", C);
+label.bot("D", D);
+endfig;
+\end{smallcode}
+\vss}}
+
+\subsubsection{Making curves and straight lines look hand drawn}
+
+$$\includegraphics{random-freehand-circumcircle}$$
+A small amount of random wiggle makes the drawing come out charmingly wonky. Notice
+that the "freehand_path" macro will transform a path whether it is straight or curved,
+and open or closed. Notice also that to find $D$ the mid-point of a $AB$, you need
+to find the
+point along the freehand path; if you simply put "1/2[A,B]" there's no guarantee
+that the point would actually be on the free hand path between $A$ and $B$. In this
+case a little extra randomness has been added, and the
+two segments $AD$ and $DB$ have been marked with traditional
+markers to show that they are equal. The "moved_along" macro combines shifted and
+rotating to make the markers fit the wonky lines properly.
+The Euler font complements the hand-drawn look; but
+you might find that a little of this type of decoration goes a long way.
+
+\newpage
+\subsubsection{Extending straight lines slightly}\label{euler}
+
+This second freehand figure uses a macro to draw a wonky line through two points
+with a bit of overlap at each end. The overlap size is given using the suffix
+syntax. The lines are drawn in sepia ink to enhance the hand-drawn look. The angle
+labels are positioned on invisible arcs between neighbouring wonky lines.
+\vadjust{\moveright5.5in\vbox to 0pt{
+\hsize4in\kern -4.5\baselineskip
+\begin{code}[xleftmargin=0pt]
+vardef freehand_through@#(expr a, b) =
+ save t; pair t;
+ t = @# * unitvector(b - a) rotated (4 + normaldeviate);
+ a - t .. a {t} .. b {t} .. b + t
+enddef;
+
+vardef mid_arc@#(expr p, a, b) =
+ save c; path c;
+ c = fullcircle scaled (2*@#) shifted p cutbefore a cutafter b;
+ point arctime 1/2 arclength c of c of c
+enddef;
+
+beginfig(1);
+defaultfont := "eurm10"; color sepia; sepia = (0.44, 0.26, 0.08);
+pair A, B, C; A = (0,-30); B = (180,0); C = (120,90);
+
+path a, b, c;
+a = freehand_through 7 (A, B);
+b = freehand_through 8 (B, C);
+c = freehand_through 6 (C, A);
+
+drawoptions(withcolor sepia);
+draw a; draw b; draw c;
+
+drawoptions(withcolor .67 blue);
+label.bot ("a", point 3/2 of a);
+label.rt ("b", point 3/2 of b);
+label.ulft("c", point 3/2 of c);
+
+drawoptions(withcolor .5 red);
+label(char 11, mid_arc 16 (A, a, c));
+label(char 12, mid_arc 14 (B, b, a));
+label(char 13, mid_arc 14 (C, c, b));
+
+drawoptions();
+endfig;
+\end{code}
+\vss}}
+
+$$\includegraphics{random-freehand-through}$$
+
+\vfill
+\noindent\llap{\nb\ }The AMS Euler font available to \MP\ as "eurm10" is encoded as a subset of the \TeX\
+math italic layout --- essentially it has all the Greek letters but none of the
+arrows, nor the musical notation.
+$$\includegraphics{euler-sampler}$$
+If you can't get the upper case $\Gamma$ at \mpl{char 0}, then you might be running
+an old out-of-date version of "luamplib".
+
+\newpage\subsection{Increasingly random shapes of the same size}
+
+If you want a random-looking shape, the general approach is to find a method to make
+a path that allows you to inject some random noise at each point of the path.
+$$\hbox to \textwidth{\includegraphics{random-shapes}\hss}$$
+For these shapes the objective was to make them increasingly random, but to keep
+them all the same length.\vadjust{\moveright5.5in\vbox to 0pt{
+\hsize4in
+\begin{code}
+beginfig(1);
+numeric desired_length, n, s;
+desired_length = 180; n = 30; s = 80;
+
+for r=0 upto 8:
+
+ path shape;
+ shape = for i=1 upto n:
+ (s + r * normaldeviate, 0) rotated (360/n*i) ..
+ endfor cycle;
+
+ shape := shape scaled (desired_length/arclength shape);
+
+ draw shape shifted (r*s, 0) withcolor (r/8)[black,red];
+ label(decimal r, (r*s, 0));
+
+endfor
+endfig;
+\end{code}
+\vss}}
+Each time round the outer loop the \id{shape} is redeclared to clear it, and
+then redefined by an inline-loop with $n$ steps like
+this:
+\begin{code}
+shape = for i=1 upto n: (s,0) rotated (360/n*i) .. endfor cycle;
+\end{code}
+except that some random noise is added to the $s$ at each step: when the noise is
+zero ($\id{r}=0$) you get a circle; as the noise increases the circle is
+increasingly distorted.
+
+The scaling is done using the \mpl{arclength} operator. This works like
+\mpl{length} but instead of telling you the number of points in a path, it returns
+the actual length as a dimension. Dividing the desired length by this dimension
+gives the required scaling factor for the random shape just defined. Notice that
+you have to do this in two steps, and update the shape using ":=". This is because
+you need to have defined \id{shape} before you can refer to it.
+
+
+\newpage\subsection{Explosions and splashes}
+
+Random numbers are also useful to make eye catching banners for posters,
+presentations, and infographics. Here are two simple example shapes: $\to$
+\mpic{18pt}{explode}
+
+\begin{smallcode}
+string heavy_font;
+heavy_font = "PlayfairDisplay-Black-osf-t1--base";
+
+randomseed:=2128.5073;
+
+beginfig(1);
+n = 40; r = 10; s = 50;
+path explosion, splash;
+explosion = for i=1 upto n:
+ (s if odd(i): - else: + fi r + uniformdeviate r,0) rotated (i*360/n) --
+endfor cycle;
+
+splash = for i=1 upto n:
+ (s if odd(i): - else: + fi r + uniformdeviate r,0) rotated (i*360/n) ..
+endfor cycle;
+splash := splash shifted (3s,0);
+
+fill explosion withcolor 1/2 green + red;
+draw explosion withpen pencircle scaled 2 withcolor 2/3 red;
+label("BOOM!" infont heavy_font scaled 2, center explosion)
+ withcolor red;
+fill splash withcolor 1/2 green + blue;
+draw splash withpen pencircle scaled 2 withcolor 2/3 blue;
+label("SPLAT!" infont heavy_font scaled 2, center splash)
+ withcolor blue;
+endfig;
+\end{smallcode}
+
+\noindent
+In this figure "n" is the number of points in the shape, "r" is the amount of
+randomness, and :"s" is the radius used.
+In order to get a clear zig-zag outline, the loop alternately adds or subtracts "r";
+and then adds a random amount on top to make it look random.
+Notice that the only difference between the "explosion" and "splash" is that how
+the connecting lines are constrained to be straight or allowed to make smooth
+curves.\vadjust{\moveright5.5in\vtop to -2pt{\hsize 4in\vss\noindent
+The display font used here is one of the gems hidden away in "psfonts.map".
+If you run \MP\ with the "-recorder" option, it will create a list of all the files
+used, with the current job name and an extension of ".fls". This file will include
+a line which tells you exactly which version of "psfonts.map" is being used.
+
+The DVIPS documentation explains the format of the file, but for \MP's purposes the
+first word of each non-comment line defines a font name you can try. However beware
+that just because a name is defined in your map file, does not necessarily mean that
+you actually have the required PostScript font files installed as well. But if you have a
+full TexLive installation you will find that very many of them are already
+installed.\strut
+}}
+
+
+\newpage\subsection{Simulating jagged edges or rough surfaces}
+
+You can use the idea of adding a little bit of noise to simulate a rough surface.
+$$\includegraphics[width=0.95\textwidth]{qed}$$
+These diagrams are supposed to represent light rays reflecting from a surface: on
+the left the surface is smooth ($r=0$) and on the right it's rough ($r=0.42$).
+The parameter $r$ is used in the \MP\ program as a scaling factor for the random
+noise added to each point along the rough surface; the only difference in the code
+to produce the two figures was the value of $r$.%
+\vadjust{\moveright5.5in\vbox to
+ 0pt{\hsize 4in\vss
+\begin{smallcode}
+def perpendicular expr t of p =
+ direction t of p rotated 90 shifted point t of p
+ enddef;
+
+beginfig(1);
+u = 5mm; r = 0.42; n = 32; s = 8u; theta = -45;
+
+path base;
+base = origin
+ for i=1 upto n-1: -- (i/n*s,r*normaldeviate) endfor
+ -- (s,0) -- (s,-u) -- (0,-u) -- cycle;
+fill base withcolor .8[blue,white];
+draw base withcolor .67 blue;
+
+path ray[];
+for i=2 upto 6:
+ ray[i] = (left--right) scaled 2/3 s rotated theta shifted (i*u,0);
+ b := ypart (ray[i] intersectiontimes base);
+ ray[i] := point 0 of ray[i]
+ -- point b of base
+ -- point 0 of ray[i]
+ reflectedabout(point b of base, perpendicular b of base);
+ drawarrow ray[i];
+endfor
+
+label("r=" & decimal r, center base);
+endfig;
+\end{smallcode}
+\vss}}
+First the base block is created with some noise on the upper side. Then five rays
+are created. Applying \mpl{ypart} to the pair of times returned by
+\mpl{intersectiontimes} gives us the point of the base where the incident ray hits
+it. This point and the perpendicular at that point are then used to get the angle
+for the reflected ray. The diagrams are effective because the rays are reflected at
+realistic looking angles.
+
+The simple approach to adding noise along a path works well in most cases provided
+there's not too much noise, but it is always possible that you'll get two consecutive
+values at opposite extremes that will show up as an obtrusive jag in your line. To
+fix this you can simply run your program again to use a different random seed value;
+or you could try using ".." instead of "--" to connect each point, but beware that
+sometimes this can create unexpected loops.
+
+\newpage\subsubsection{Walking along a torn edge}
+
+It's also possible to use a random
+walk approach so that each random step takes account of the previous one to avoid
+any big jumps. Here's one way to do that.
+$$\includegraphics{torn-edge-straight}$$
+\begin{code}
+path t; numeric x, y;
+x = 0; y=0;
+t = (x, -20) -- (x, y) for i=1 upto 288:
+ -- (incr x, walkr y)
+ endfor -- (x, -20) -- cycle;
+draw t withcolor .67 blue;
+\end{code}
+The "walkr" routine works like the "incr" and "decr" commands; it updates the value of the
+argument. The idea is that the further away from zero you are, the more likely is
+that the next value will take you back towards zero.
+\begin{code}
+vardef walkr suffix $ =
+ $ := $ if uniformdeviate 1 < (2**-abs($)): + else: - fi
+ signr $; $
+ enddef;
+vardef signr suffix $ =
+ if $<0: - else: + fi uniformdeviate 1
+ enddef;
+\end{code}
+You can use this to produce more realistic torn edges. You can also apply this as a
+form of jitter to a curved path, by adding a suitably rotated vector to enough
+points along the path.
+
+\moveright5.5in\vbox to 0pt{\kern-4in
+\begin{code}
+path c; c = fullcircle scaled 200;
+draw c withcolor .8 white;
+
+y=0; n = 600;
+path t; t = for i=0 upto n-1:
+ point i/n*length(c) of c
+ + (0, walkr y) rotated angle direction i/n*length(c) of c
+ --
+endfor cycle;
+draw t withcolor .67 red;
+\end{code}
+$$\includegraphics{torn-edge-circle}$$
+\vss}
+
+
+\newpage
+\section{Plane geometry}
+
+\noindent\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\kern-9pt\noindent
+Here is the equilateral triangle point macro in action.
+$$\includegraphics{geometry-triangles-on-circle}$$
+\vskip -12pt
+\begin{code}
+beginfig(1);
+path c; c = fullcircle scaled 144;
+pair a,b,p,q;
+for i=0 upto 7:
+ a := point i of c;
+ b := point i+1 of c;
+ p := equilateral_triangle_point(a,b);
+ q := equilateral_triangle_point(b,a);
+ draw a -- p -- b withcolor .67 green;
+ draw a -- q -- b withcolor .67 red;
+endfor
+draw c withcolor .53 blue;
+endfig;
+\end{code}
+\vss}}%
+This section deals with drawing geometrical figures that involve lines,
+angles, polygons, and circles. Plain \MP\ provides very few tools that are
+explicitly designed to help draw geometric figures, but it is usually possible to
+find an elegant construction using these tools and the relevant primitive commands.
+It is tempting to build up your own library of special purpose macros, but
+experience suggests that it is often better to adapt a general technique to the task
+in hand, and to create a specific solution to your current problem. One of the main
+issues is catching exceptions; since it is hard to write completely general macros,
+I have tried simply to present each technique so that you can understand it and adapt
+it as required.
+
+The classical constructions from Euclid's \textsl{Elements} are often useful
+sources of inspiration for macros, but they do not always point in the right
+direction. For example consider the first proposition: \textit{given two points
+find a third point, so that the three points make an equilateral triangle}.
+Euclid's construction is to draw an arc, with radius equal to the length of the
+segment between the two points, at each point and find the intersection. This might
+lead us to a function like this:
+\begin{code}
+vardef equilateral_triangle_point(expr a, b) =
+ save c; path c; c = fullcircle scaled 2 abs(b-a);
+ (c shifted a intersectionpoint c shifted b)
+enddef;
+\end{code}
+This works but has a couple of issues. First using \mpl{intersectionpoint} feels a
+bit like cheating; secondly, and more seriously, the point returned depends on the
+orientation of the points "a" and "b". In some configurations the first
+intersection found will be on the left, in others on the right. We could fix this
+by rotating the circle "c" by "angle (b-a)", but we can do better with a simple
+rotation of the second point about the first:
+\begin{code}
+vardef equilateral_triangle_point(expr a, b) =
+ b rotatedabout(a,60)
+enddef;
+\end{code}
+And if you want to get right back to primitives you could even write that as:
+\begin{code}
+vardef equilateral_triangle_point(expr a, b) =
+ b shifted -a rotated 60 shifted a
+enddef;
+\end{code}
+
+
+\newpage
+\subsection{Bisecting lines and paths}
+
+\moveright5.5in\vbox to 0pt{\hsize4in\noindent
+$$\includegraphics{mediation-pitfall}$$
+\vskip 50pt
+$$\includegraphics[width=4in]{mediation-shapes}$$
+\bigskip
+$$\includegraphics[width=4in]{mediation-sallows}$$
+\centerline{\textsl{Lee Sallows' theorem of median triangles}}
+\vss}
+\noindent
+The best way to bisect a line depends on how you have defined it.
+If you have two pairs $a$ and $b$, then the simplest way to find
+the pair that bisects them is to write "1/2[a,b]". This mediation
+mechanism is entirely general, so you can write \mpl{1/3[a,b]}, "1/4[a,b]", and
+so on to define other pairs that are part of the way from $a$ to $b$.
+The expression "0[a,b]" is equal to $a$, and "1[a,b]" is equal to $b$;
+but the number before the left bracket does not have to
+be confined to the range $(0,1)$. If you write "3/2[a,b]" you will get a pair on
+the extension of the line from $a$ to $b$ beyond $b$. To get a pair going the
+other way you can either reverse $a$ and $b$, or use a negative number; but don't
+get caught out by the \MP\ precedence rules: "-1/2[a,b]" is interpreted as
+"-(1/2[a,b])" and not as "(-1/2)[a,b]", so either put in the parentheses or swap
+the order of the pairs: "(3/2)[b,a]". See $\longrightarrow$.
+
+If you want to work with a \kw{path} variable, rather than separate \kw{pair}
+variables, you can
+use the \mpl{point t of p}
+notation to do mediation along the path. For a simple straight path $p$ of length 1
+then \mpl{point 1/2 of p} will give you the midpoint. More generally,
+\mpl{point 1/2 length p of p} will give you the midpoint of a path of any length.
+This works fine for simple paths, along which \MP's time moves evenly,
+but for more complicated, curved paths you have to use this rather cumbersome notation:
+\begin{code}
+ point arctime 1/2 arclength p of p of p
+\end{code}
+If your path is closed, and makes a triangle or a regular polygon,
+then you can bisect it with the line
+\begin{code}
+ point t of p -- point t + 1/2 length p of p
+\end{code}
+\textbf{NB}: if the polygon has an odd number of sides, then $2t$ must be a whole
+number.
+
+\smallskip\noindent
+In a triangle these bisecting lines are called medians. The three medians intersect
+at the centroid of the triangle. The centroid is a good place to put a label on a
+triangle. You could find it \mpl{intersectionpoint} or with
+a construction using \mpl{whatever} on any two medians, but since we know that the centroid
+divides each median in the ratio $2:1$ we can find the centroid of a triangle path
+$p$ most simply with:
+\begin{code}
+ z0 = 2/3[point 0 of p, point 3/2 of p];
+\end{code}
+The median is the basis for several beautiful theorems about the geometry of the
+triangle. The theorem shown here was first published in 2014.
+
+\newpage
+\subsection{Bisecting angles}\label{sec:bisect}
+\moveright5.5in\vbox to 0pt{\hsize4in\noindent
+$$\includegraphics{bisection-euclidean}$$
+\smallskip
+$$\includegraphics{bisection-vector}$$
+\vss}
+\noindent
+In an equilateral triangle the medians also bisect the angles at each vertex; this
+is the basis of Euclid's method of bisecting an angle set out in the Second
+Proposition. You can do the same in \MP, but it might not always be the best way.
+Whatever approach you take, an angle is defined by three points; one that defines
+the corner and two that define the lines extending from that corner. In this
+exploration I've used $a$, $b$, and $c$ to represent the points, with $b$ being the
+one in the middle, and at the corner.
+
+Euclid's method is to draw an arc centred at the corner, and then construct an
+equilateral triangle on the two points where the arc crosses the lines. This is
+shown on the right, with a macro that re-uses the equilateral triangle point macro
+given above. But if your aim were to find any point on the line bisecting $\angle
+ABC$, then you could simplify this and make it more efficient by using
+$e = \frac12[p,q]$
+instead of calling the triangle macro at all. However the macro is still making two
+calls to \mpl{intersectionpoint}. If you wanted to eliminate this you could use the
+useful plain \MP\ macro "unitvector" to produce a solution based on adding two equal
+length vectors from the corner to the two other points. Another approach is to
+exploit another geometric theorem that states that the bisector of an angle in a
+triangle divides the opposite side in the ratio of the two other sides.
+So if sides $AB$ and $BC$ have lengths $p$ and $q$ then the bisector will
+be ${p\over p+q}={1\over1+q/p}$ from $A$ to $C$, and you can express this
+simply using \MP's mediation syntax:
+\vbox to 0pt{
+$$\includegraphics{bisection-interior}$$
+\vss}
+
+\newpage
+\subsection{Trisections and general sections of angles}
+
+There is no classical method to trisect an arbitrary angle, so you need to resort
+to measuring and arithmetic in \MP. If the angle is a given this is trivial:
+\mpic{-12pt}{trisection-simple.pdf}
+\begin{smallcode}
+path ray;
+numeric theta;
+ray = origin -- 200 right;
+theta = 42;
+draw ray;
+draw ray rotated 1/3 theta withcolor 2/3 red;
+draw ray rotated 2/3 theta withcolor 2/3 red;
+draw ray rotated theta;
+dotlabel.llft("$0$", origin);
+label("$\theta/3$", 72 right rotated 1/6 theta);
+label("$\theta/3$", 72 right rotated 3/6 theta);
+label("$\theta/3$", 72 right rotated 5/6 theta);
+\end{smallcode}
+But if you have only the coordinates of some points then you need to use the
+\mpl{angle} primitive to measure the angle first; \mpl{angle} takes a \kw{pair}
+argument and returns a numeric representing the angle in degrees measured clockwise
+from the $x$-axis to a line through the origin and the point represented by the pair.
+This definition means that if you have three points $A$, $B$, and $C$, then you can
+measure $\angle ABC$ with \mpl{angle(C-B)-angle(A-B)}. Following the usual
+convention this gives you the angle at $B$; if you list the points in clockwise
+order you will get a positive result. If you don't care about the order, you
+can make this into a more robust macro:
+\begin{smallcode}
+vardef measured_angle(expr P, Q, R) =
+ (angle (P-Q) - angle (R-Q)) * turningnumber (P--Q--R--cycle) mod 360
+enddef;
+\end{smallcode}
+The primitive \mpl{turningnumber} is explained on p.\thinspace 111 of \textsl{The
+METAFONTbook}. It takes a closed path and returns number of times that you would
+turn through 360${}^\circ$ if you traversed the path. We use this here to
+negate the measured angle if necessary, so that you always get the interior angle.
+The \mpl{mod 360} on the end ensures that the result is in the range $0 \le \theta <
+360$. Armed with a measured angle, all you then need is arithmetic.
+\mpic{-160pt}{trisection-classical.pdf}
+It might be possible to use the \id{solve} macro to simulate the Neusis construction
+(that allows you to measure a length) illustrated on the right, but measuring the
+angles is rather easier.
+
+\newpage
+\subsection{Intersections}\label{sec:intersect}
+
+\moveright5.5in\vbox to 0pt{\hsize4in\noindent
+\centerline{A puzzle square featuring some intersections}
+$$\includegraphics[width=3in]{magic-square-14}$$
+The points were defined like this (the order was important).
+\begin{code}
+z1 = (10,10);
+z4 = 144 right rotated 12;
+z5 = z4 shifted (2, 78);
+z7 = z4 reflectedabout(origin, (1,1));
+
+z2 = 1/2 [z5, z7];
+z9 = whatever [z1, z4];
+z2-z9 = whatever * (z7-z1);
+z8 = whatever [z1, z5] = whatever [z2, z4];
+z3 = whatever [z2, z9] = whatever [z4, z7];
+z6 = whatever [z1, z7] = whatever [z3, z5];
+\end{code}
+\vss}
+\noindent
+If you have line segments defined by their endpoints, then the
+canonical way to find their intersection, is to use
+the mediation syntax with \id{whatever} twice:
+$$\includegraphics[width=\textwidth]{whatever.pdf}$$
+The mediation syntax works even if the intersection point does not actually lie on
+either of the two line segments. The intersection will be the point where the two
+(infinite) lines through the pairs of points meet. If the two lines are parallel,
+you'll get an `inconsistent equation' error. If you want to capture the calculated
+values, then use undefined numeric variables instead of \id{whatever}:
+\begin{code}
+ z0 = alpha [z1, z2] = beta [z3, z4];
+\end{code}
+In this example you would find $\alpha=0.286$ and $\beta=0.5$.
+If you are trying to find where the line through your points intersects a horizontal or vertical, then you only need one
+mediation and a simple equation for the relevant $x$ or $y$ coordinate:
+\begin{code}
+ z0 = alpha [z1, z2]; x0 = 0; % for example
+\end{code}
+If you have defined your lines as paths, and especially if they are more complicated
+than straight lines, you need to use the \mpl{intersectiontimes} primitive or the
+\mpl{intersectionpoint} macro, as explained on pp.136–137 of \mfbook.
+
+\newpage
+\subsubsection{The intersection algorithm}
+
+\MP\ inherits a fast algorithm for finding the intersection between two paths from
+\MF. It is explained rather more gnomically than usual at the end of Chapter 14 of
+\mfbook, with more detail given in the web source for \MF. The core algorithm works
+on paths of length 1. If you have longer paths, \MP\ works its way along the paths
+applying the core algorithm to successive pairs of unit subpaths. It does this is
+lexicographic order; this means that, if you have two circles $A$ and $B$, and you do this:
+\begin{code}
+ (t, u) = A intersectiontimes B;
+\end{code}
+then \MP\ will first look for an intersection between subpath $(0,1)$ of $A$ and
+subpath $(0,1)$ of $B$, then subpath $(0,1)$ of $A$ and subpath $(1,2)$ of $B$, and
+so on, with $B$ varying faster, until you get to subpath $(7,8)$ of $A$ and subpath
+$(7,8)$ of $B$. But you may never get that far, as the process stops as soon as the
+first intersection is found. The upshot of this is that the intersection point
+found will always be as early as possible on $A$. Note that after the call above
+point $t$ of $A$ will be very close to point $u$ of $B$, as they both refer to the
+same intersection point. If you want the alternative point that is earlier on $B$,
+then use `$B \mathbin{\textrm{intersectiontimes}} A$'
+instead.\mpic{-222pt}{intersection-AB-or-BA}
+
+\vfill\noindent
+When we get down to paths of length 1, the algorithm works something like this:
+
+$$
+\includegraphics{intersection-algorithm}
+$$
+\vadjust{\moveright 384pt\vbox to 0pt{\hsize 4.2in\vss \noindent
+The two paths are represented as rectangles that enclose the end points and the
+control points for each path. If these rectangles don't overlap then there is
+certainly no intersection. Otherwise \MP\ bisects each path and considers four
+smaller rectangles, in the order $(1,2)$, $(1,4)$, $(3,2)$, $(3,4)$ (as shown). In
+this case it will pick $(1,2)$, discard 4, and push 3 onto a stack. It carries on
+doing this, back tracking as required, until it finds sufficiently small overlapping
+rectangles. The two times returned by \mpl{intersectiontimes} are the midpoints of
+the subpaths enclosed by these two tiny rectangles, which is why they do not always
+refer to exactly the same point.}}
+
+\subsubsection{Finding all intersection points}
+
+As noted above, the \mpl{intersectiontimes} algorithm will stop at the first
+intersection of the two paths, but it is possible that the two paths will intersect
+again further along. If you want to find all the intersection points then the
+simplest technique is just to unwrap the algorithm slightly, and loop through all
+the unit subpaths applying \mpl{intersectiontimes} to each pair. Using an array to
+hold the points and a counter, you can get them with something like this:
+\begin{smallcode}
+pair P[], times; numeric n; n = 0;
+for i = 1 upto length(A):
+ for j = 1 upto length(B):
+ times := subpath (i-1,i) of A intersectiontimes subpath (j-1,j) of B;
+ if xpart times > -1:
+ P[incr n] = 1/2[point xpart times of subpath (i-1,i) of A,
+ point ypart times of subpath (j-1,j) of B];
+ fi
+ endfor
+endfor
+\end{smallcode}
+and then use them like this:
+\begin{smallcode}
+for i=1 upto n:
+ draw fullcircle scaled 4 shifted P[i]; % or whatever
+endfor
+\end{smallcode}
+There are a couple of \MP\ technical points to note. The \mpl{intersectiontimes}
+operation returns a pair, which we assign to a pair variable $\id{times}$
+above; we have to use \mpl{:=} to re-assign it in each loop, and we have to
+use an explicit pair variable because you can't assign to a literal pair;
+\MP\ will give you an error if you try \mpl{(t, u) := A intersectiontimes B;}.
+This may come as a surprise, because you \textit{can} legally do \mpl{(t, u) = A
+intersectiontimes B}, but in a loop this causes an inconsistent equation error on
+the second iteration. If you need to avoid the repeated use of \mpl{xpart} and
+\mpl{ypart}, one alternative is to do this inside the loop:
+\begin{smallcode}
+ ...
+ numeric t, u;
+ (t, u) = A intersectiontimes B;
+ ...
+\end{smallcode}
+Now the numerics are reset each time and the equation is not inconsistent.
+\vadjust{\moveright 384pt\vbox to 0pt{\hsize 4.2in\vss \noindent
+T\textsc{he} technique discussed on the left, works well on paths where the points on one or
+both of the paths are close together, so that the unit subpaths are short;
+But it
+is possible to create quite long paths of unit \mpl{length} and these may intersect
+each other more than once, like so:
+$$\includegraphics{intersection-only-two}$$
+Here the two paths $A$ and $B$ are Bézier splines of with \mpl{length=1}, so the
+normal \MP\ algorithm is only ever going to give you one of the intersections. In
+the diagram above, the
+red circle marks the point given by \mpl{A intersectiontimes B}. We can try
+reversing the first path, and in this case you get the point marked in blue,
+but what about the one in the middle?
+
+The most reliable approach is to take a copy of one of the paths, and snip it off at
+the intersection and try again until there is nothing left to snip.
+$$\includegraphics{intersection-all-three}$$
+The three points marked here were captured like this:
+\begin{code}
+pair P[]; numeric n; n=0;
+path R; R := A; % take a copy of A
+forever:
+ R := R cutbefore B; % snip where we cross B
+ exitif length cuttings = 0; % stop if nothing was cut
+ P[incr n] = point 0 of R; % capture the point
+ R := subpath (epsilon, infinity) of R; % nudge along
+endfor
+\end{code}
+This technique also works on paths with \mpl{length} greater than one,
+so you may prefer it as your general “get all the intersections” approach.
+Note that the \mpl{cutbefore} macro is defined using \mpl{intersectiontimes}.
+
+\kern 6.5pt
+}}
+
+
+\subsection{Parallel and orthogonal or whatever}\label{sec:parallel}
+
+Given five known points --- $A$, $B$, $C$, $D$, and $E$ --- \MP\ can find the point $F$
+on the line $A \to B$, so that $E \to F$ is parallel to $C \to D$ like this:
+\mpic{0pt}{parallel}
+\begin{code}
+ F = whatever[A, B]; % F is on the line A..B
+ E-F = whatever * (C-D) % E..F || C..D
+\end{code}
+In the second line the expressions \mpl{E-F} and \mpl{C-D} return \<pair>
+variables and the equation with \mpl{whatever} says that they must be scalar
+multiples of each other. With the first equation, this is enough for \MP\ to work
+out where $F$ should go. Note that \mpl{whatever} can take any real value,
+positive or negative, so it does not matter whether you put \mpl{E-F} or \mpl{F-E}.
+Note also that for the same reason, while $F$ will lie on the \textit{line} through
+$A$ and $B$, it might not lie on the \textit{segment} from $A$ to $B$.
+But also note that you \textit{cannot} write the second equation as
+\begin{code}
+ E-F * whatever = (C-D); % <--- gives an error
+\end{code}
+because you can only apply \mpl{whatever} to known quantities.
+
+\bigskip\noindent\llap{\nb}%
+To define a line perpendicular to $C\to D$ rather than parallel, then you can write:
+\begin{code}
+ G = whatever[A, B];
+ E-G = whatever * (C-D) rotated 90;
+\end{code}
+and obviously the "90" can be adjusted to whatever angle you please, if you want
+something between parallel and orthogonal.
+
+\smallskip\noindent\llap{\nb}%
+To define the line through $E$ that is perpendicular to $A\to B$, you should just
+use $(A-B)$ instead of $(C-D)$. The diagram shows $H$, the point on $A\to B$
+that is closest to $E$; you can (I trust) work out how to define that yourself.
+
+\smallskip\noindent\llap{\nb}%
+If you just need to compute the perpendicular distance from the point $E$ to a line $A\to
+B$, rather than defining the point $H$, then you can use Knuth's ‘slick’ formula:
+\begin{code}
+ abs ypart ((E-A) rotated -angle (B-A))
+\end{code}
+This effectively rotates $E$ about $A$ by the angle of the line, so that the problem
+is reduced to measuring the height of a point above the $x$-axis, which is what
+\mpl{ypart} does, of course.
+
+\moveright5.5in\vbox to 0pt{\hsize 4in\vss\noindent
+There are some limitations to what you can do with \MP's linear equations; for one
+thing you can't generally say things like \mpl{length(C-A) = 72}. If you want to
+find the two points on a line that are a given distance from an external point, it's
+often simpler to find the intersection points of the line with a suitably scaled and
+shifted circle, even if you don't actually then draw the circle. You can usually
+find the other point by reversing the circle.\par}
+
+\newpage
+\subsection{Drawing circles}\label{sec:circles}
+
+The canonical way to draw a circle in plain \MP\ is to use the pre-defined path
+\mpl{fullcircle} with a suitable transformation.
+\mpic{-12pt}{drawing-circles.pdf}
+The path is defined (in "plain.mp") using two \MP\ primitive commands:
+\begin{code}
+path fullcircle; fullcircle = makepath pencircle;
+\end{code}
+A \kw{pencircle} is the basic nib that is used to draw lines that digitize neatly;
+it represents a true circle of diameter 1, passing through the points $(\pm.5, 0)$
+and $(0, \pm.5)$. When processed with \kw{makepath} it turns into a closed
+polygonal path with eight points that closely approximates a circle with diameter
+1\unit{bp} centred on the point $(0, 0)$. To use it, you can scale it and shift it.
+To draw a circle with radius 2\unit{cm} at the point $(34, 21)$ you would do:
+\begin{code}
+draw fullcircle scaled 4cm shifted (34, 21);
+\end{code}
+Remember to scale before you shift, and that \id{fullcircle} has unit
+\textit{diameter}, not unit \textit{radius}. To draw a circle centred at point $A$
+that passes through point $B$ [\red{I}] try:
+\begin{code}
+draw fullcircle scaled 2 abs (B-A) shifted A;
+\end{code}
+There are of course an infinite number of circles that you can draw through two
+points, but if the line between the two points is a diameter [\blue{II}], then you can do:
+\begin{code}
+draw fullcircle scaled abs (B-A) shifted 1/2[A,B];
+\end{code}
+Finally three points define a unique circle [\green{III}]:
+\begin{code}
+vardef circle_through(expr A, B, C) =
+ save o; pair o;
+ o = whatever * (A-B) rotated 90 shifted 1/2 [A,B]
+ = whatever * (B-C) rotated 90 shifted 1/2 [B,C];
+ fullcircle scaled 2 abs (A-o) shifted o
+enddef;
+\end{code}
+Plain \MP\ also defines \id{halfcircle} and \id{quartercircle}, as the appropriate
+subpaths of \id{fullcircle}, both starting at point 0 (3 o'clock). Curiously, this
+differs from \MF\ where \id{quartercircle} is defined first, and the other two
+composed from it. The reference point of these two paths is the center of the
+complete circle of which they would be part; so if you did “\kw{draw}
+\id{quartercircle} \kw{shifted} $(34, 21)$;”, you would get an quarter-circle arc from
+$(34.5,21)$ to $(34,21.5)$.
+
+\newpage
+\subsection{Incircle and excircle of a triangle}
+
+The incircle of a triangle is the largest circle contained in the triangle.
+The centre of the incircle lies at the intersection of the internal angle bisectors.
+So we can use ideas from §\ref{sec:bisect} and §\ref{sec:intersect} to define a
+macro that returns the required path given points $A$, $B$, and $C$:
+\mxpic{-1in}{5in}{incircle}
+\begin{code}
+vardef incircle(expr A,B,C) =
+ save a, b, m, t; pair a, b, m, t;
+ a = A + unitvector (C-A) + unitvector (B-A);
+ b = B + unitvector (A-B) + unitvector (C-B);
+ m = whatever[A,a] = whatever [B,b]; t = whatever[A,B];
+ t-m = whatever * (B-A) rotated 90;
+ fullcircle scaled 2 abs (t-m) shifted m
+enddef;
+\end{code}
+
+\bigskip\noindent
+The excircles of a triangle are the three circles lying outside the triangle and
+tangent to one edge and the extensions of the other two. The centres of each
+excircle lie at the intersection of one internal angle bisector and the external
+angle bisector of one of the other corners.
+
+To get the external angle bisector,
+all you have to do is reverse the direction of one of the \mpl{unitvector} calls:
+\mxpic{0pt}{5in}{excircle}
+\begin{code}
+vardef excircle(expr A,B,C) =
+ save a, b, m, t; pair a, b, m, t;
+ a = A + unitvector (C-A) - unitvector (B-A);
+ b = B + unitvector (A-B) + unitvector (C-B);
+ m = whatever[A,a] = whatever [B,b]; t = whatever[A,B];
+ t-m = whatever * (B-A) rotated 90;
+ fullcircle scaled 2 abs (t-m) shifted m
+enddef;
+\end{code}
+
+\smallskip\noindent
+To get the other excircles, call the macro with the points in a different order.
+
+\newpage
+\subsection{Circumcircle of a triangle}
+
+The circumcircle of a triangle is the circle through the three corners, so if you
+already have the corners of your triangle as separate \<pair> variables, you can
+use the \mpl{circle_through} macro from §\ref{sec:circles}. Or you can adapt the
+macro to take a single triangular path:
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-60pt]
+vardef circumcircle(expr T) =
+ save m; pair m;
+ m = whatever * (point 0 of T - point 1 of T) rotated 90 shifted point 1/2 of T
+ = whatever * (point 1 of T - point 2 of T) rotated 90 shifted point 3/2 of T;
+ fullcircle scaled 2 abs (point 0 of T - m) shifted m
+enddef;
+\end{smallcode}
+Note that as the diagram on the right shows,\mxpic{-2in}{4.6in}{circumcircle}
+the centre of the circumcircle is the intersection of all three of the perpendicular bisectors of
+sides, but for the purposes of drawing in \MP\ you only need to find the
+intersection of two of them. You could write
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-60pt]
+ m = whatever * (point 0 of T - point 1 of T) rotated 90 shifted point 1/2 of T
+ = whatever * (point 1 of T - point 2 of T) rotated 90 shifted point 3/2 of T
+ = whatever * (point 2 of T - point 3 of T) rotated 90 shifted point 5/2 of T;
+\end{smallcode}
+but this does not add any more information to the equation for $m$, and
+\MP\ will sometimes give you an “inconsistent equation” error if your triangle
+is long and thin.
+
+\vfill
+\noindent
+\hey The marks that show line segments are equal were created by this macro.
+\begin{code}
+vardef mark_equal(expr a, b, n) =
+ save m, s; numeric s; 2s = n - 1;
+ picture m; m = image(for t=-s upto s:
+ draw (down--up) scaled 2 rotated -13 shifted (t,0)
+ withpen pencircle scaled 1/4;
+ endfor);
+ draw m rotated angle (b-a) shifted 1/4[a,b];
+ draw m rotated angle (b-a) shifted 3/4[a,b];
+enddef;
+\end{code}
+Given the triangular \<path> $T$, the macro was used like this:
+$\longrightarrow$\vadjust{\moveright5.5in\vbox to 0pt{\vss
+\begin{code}
+mark_equal(point 0 of T, point 1 of T, 1);
+mark_equal(point 1 of T, point 2 of T, 2);
+mark_equal(point 2 of T, point 0 of T, 3);
+\end{code}}}
+
+\newpage
+\subsection{The nine-point circle of a triangle}
+
+The orthocentre of a triangle is the point is the intersection of the three
+altitudes, shown as point $D$ below.
+The point $N$, half-way from $D$ to the
+circumcentre $M$ is the centre of the remarkable nine-point circle which passes
+through the bases of the three altitudes and bisects the six line segments $AB$, $AC$, $AD$,
+$BC$, $BD$, and $CD$.\vadjust{\moveright5.2in\vbox to 0pt{\hsize 4in\vskip-80pt\noindent
+\begin{smallcode}
+pair A, B, C, D, N, M, p, q, r;
+A = origin; B = 377 dir 10; C = 233 dir 70;
+% pedal points (not labelled)
+p = whatever[B, C]; A - p = whatever * (B-C) rotated 90;
+q = whatever[C, A]; B - q = whatever * (C-A) rotated 90;
+r = whatever[A, B]; C - r = whatever * (A-B) rotated 90;
+
+D = whatever[A, p] = whatever[B, q];
+N = 1/4(A + B + C + D); % remarkably...
+M = D rotatedabout(N, 180); % M is also the circumcentre
+
+path circumcircle, nine_point_circle;
+nine_point_circle = fullcircle scaled 2 abs(N - 1/2[A, B]) shifted N;
+circumcircle = fullcircle scaled 2 abs(M - A) shifted M;
+
+draw nine_point_circle withcolor 3/4 red;
+draw circumcircle withcolor 1/2[3/4 blue, white];
+
+drawoptions(dashed evenly scaled 1/4 withcolor 1/2);
+draw 1/2[A,B] -- M -- 1/2[B, C];
+draw 1/2[C,A] -- M -- D;
+draw A -- p;
+draw B -- q;
+draw C -- r;
+
+% show the nine points with small circle markers
+drawoptions(withpen pencircle scaled 1/4);
+draw fullcircle scaled 2 shifted 1/2[A, B];
+draw fullcircle scaled 2 shifted 1/2[A, C];
+draw fullcircle scaled 2 shifted 1/2[A, D];
+draw fullcircle scaled 2 shifted 1/2[B, C];
+draw fullcircle scaled 2 shifted 1/2[B, D];
+draw fullcircle scaled 2 shifted 1/2[C, D];
+draw fullcircle scaled 2 shifted p;
+draw fullcircle scaled 2 shifted q;
+draw fullcircle scaled 2 shifted r;
+
+drawoptions();
+draw A--B--C--cycle;
+dotlabel.llft("$A$", A);
+dotlabel.rt("$B$", B);
+dotlabel.ulft("$C$", C);
+dotlabel.urt("\ $D$", D);
+dotlabel.llft("$M$", M);
+dotlabel.llft("$N$", N);
+\end{smallcode}\vss}}
+$$\includegraphics[width=\textwidth]{nine-point-circle}$$
+
+\newpage
+\subsection{Lines tangent to a point on a path}
+
+\MP\ represents paths internally as a sequence of nodes. Each node consists of three
+pairs: the pre-control point, the point itself, and the post-control point.
+\mpic{0pt}{tangents-on-path}%
+For a given path $p$ you can extract these points at time $t$ with these operators:
+\begin{code}
+precontrol t of p
+point t of p
+postcontrol t of p
+\end{code}
+Unless you explicitly set them differently, \MP’s curve fitting will make these
+three points co-linear, so you can draw a tangent at point $t$ with
+\begin{code}
+draw precontrol t of p -- postcontrol t of p;
+\end{code}
+The length of the tangent line drawn
+like this depends on the size and shape of the curve, but it is somewhat arbitrary.
+So you may prefer to extract a \<pair> representing the tangent at point $t$ with
+\begin{code}
+pair d; d = postcontrol t of p - precontrol t of p;
+\end{code}
+In fact, this is so useful that
+"plain.mp" provides \mpl{direction} as a shorthand:
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-20pt]
+vardef direction expr t of p = postcontrol t of p - precontrol t of p enddef;
+\end{smallcode}
+which can save you some typing. But the clever bit is that $t$ does not have to be a whole
+number. If you set $t=\frac14$ (say), \MP\ works out the corresponding fractional
+control points, so that you can use \mpl{direction t of p} to get a tangent at any point.
+
+The vector pairs returned have the right direction, but still have rather arbitrary magnitudes, so
+the usual idiom is something like this:
+\begin{smallcode}
+path s; s = origin -- 36 unitvector(direction t of p);
+drawarrow s shifted point t of p;
+\end{smallcode}
+or the snippet shown on the right $\longrightarrow$
+
+\newpage
+\subsection{Lines tangent to a circle}\label{sec:tangent-times}
+
+The techniques of the preceding section can be used to add a tangent line to a
+given point on a circular path, but not to find the tangent lines from a given point
+outside a circle. To do this, you need to adapt the standard geometrical
+construction: for a given circle $C$ and a point $p$, find the midpoint of $p$ and
+the center of $C$; draw a semicircle through $p$, centred on this midpoint; the tangent
+point is where the semicircle intersects $C$. %
+\mpic{-110pt}{tangents-point-to-circle.pdf}
+Given a suitable \mpl{path C} and \mpl{pair p} you can do this:
+\begin{code}
+pair o, m, t, t'; o = center C; m = 1/2[o, p];
+t = C intersectionpoint halfcircle zscaled (p-o) shifted m;
+t' = C intersectionpoint halfcircle zscaled (o-p) shifted m;
+\end{code}
+No parentheses are needed around the second path, because \mpl{intersectionpoint} is
+defined with \mpl{secondarydef}.
+
+\medskip\noindent
+Things are a little more complicated if you want the points as times along the path
+$C$ and you care about which tangent point is which. Here is a routine that returns
+the tangent points from $p$ as two times $a$ and $b$ on $C$, with $b$ adjusted so
+that $b > a$ in all cases regardless of the relative rotation of $C$ and $p$. This
+means that \mpl{subpath (a, b) of C} is always the “long way round” C, on the
+opposite side from $p$, and \mpl{subpath (a, b-8) of C} is always the shorter
+segment.
+\begin{code}
+vardef tangent_times(expr C, p) =
+ % return the two times on C that correspond
+ % to the external tangents from p to C
+ save o, a, b, G, H;
+ pair o; numeric a, b; path G, H;
+ o = center C;
+ H = halfcircle zscaled (p-o) shifted 1/2[o, p];
+ G = halfcircle zscaled (o-p) shifted 1/2[o, p];
+ (a, whatever) = C intersectiontimes H;
+ (b, whatever) = C intersectiontimes G;
+ (a, b if b < a: + 8 fi)
+enddef;
+\end{code}
+Note the elegant syntax here;
+if \mpl{z} is a \<pair> then the operation \mpl{zscaled z} is equivalent
+to \mpl{scaled abs z rotated angle z}.
+
+\vpic{-200pt\noindent Here is the macro in action.
+Having obtained the two times $a$ and $b$ from the macro, the dashed line
+was drawn along a path that was composed with:
+\vrule depth 20pt width 0pt height 2pt
+\mpl{p -- subpath (a,b) of C -- cycle}
+}{tangent-times-on-circle}
+
+\newpage
+\subsection{Lines tangent to two circles (exterior)}\label{sec:adjust-times}
+
+The same \mpl{tangent_times} macro can be reused to find the tangents that touch two
+circles, using an approach like this: \mwpic{-12pt}{tangents-two-circles-exterior}
+\begin{code}
+path A, B;
+A = fullcircle scaled 144;
+B = fullcircle scaled 60 shifted (200, 140);
+
+numeric R, r;
+R = abs (point 0 of A - center A);
+r = abs (point 0 of B - center B);
+
+path C; numeric t, u;
+C = fullcircle scaled (2R-2r) shifted center A;
+(t, u) = tangent_times(C, center B);
+
+draw A withpen pencircle scaled 2 withcolor 3/4[blue, white];
+draw B withpen pencircle scaled 2 withcolor 3/4[blue, white];
+
+draw subpath (t, u) of A -- subpath (u-8, t) of B -- cycle;
+\end{code}
+Here $A$ and $B$ are the two circles you want to connect, and $A$ is larger than
+$B$. $R$ is the radius of the larger, $r$ of the smaller. $C$ is an auxiliary circle
+centred at the same point as $A$ and scaled so that its radius is $R-r$. If we
+then find the tangent points on $C$ from the center of $B$, the points we want are
+the corresponding points on $A$ and $B$.
+
+\medskip\noindent
+This works well, provided that none of three
+circles $A$, $B$, or $C$ has been rotated (that is that point 0 is at 3 o'clock in
+all of them). But
+this may not always be the case. For example, you might have written
+\begin{code}
+B = fullcircle scaled 60 shifted 240 right rotated 36;
+\end{code}
+and then point $t$ of $B$ would \textit{not} correspond to point $t$ of the
+auxiliary circle. So to make the code above more general you have to adjust the
+tangent times to take account of the relative rotation of the circles.
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in\vskip-24pt\noindent
+\begin{code}
+vardef adjust_time(expr tt, AA, BB) =
+ tt + 1/45 angle (point 0 of AA - center AA)
+ - 1/45 angle (point 0 of BB - center BB)
+enddef;
+\end{code}
+\vss}}
+The in the figure $t$ was adjusted to $t'$ for $A$ and $t''$ for $B$, using the
+routine shown on the right. This routine shows the relationship between \mpl{angle}
+and points around a circle: $360^\circ = 8\:\hbox{points}$.
+
+\newpage
+\subsection{Lines tangent to two circles (interior)}
+
+To find the interior tangents, you just need to add the smaller radius rather than
+subtract it, and add 4 to the times on the smaller circles, so that they are on the
+other side:
+$$\includegraphics[width=\textwidth]{tangents-two-circles-interior}$$
+
+\bigskip\noindent
+The complete code for this is shown on the right. It uses the same
+routines given above; \mpl{tangent_times} from section \ref{sec:tangent-times}, and
+\mpl{adjust_time} from section \ref{sec:adjust-times}.
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in\vss\noindent
+\begin{smallcode}
+path A, B;
+A = fullcircle scaled 144 rotated uniformdeviate 360;
+B = fullcircle scaled 60 shifted 240 right rotated 36;
+
+numeric R, r;
+R = abs (point 0 of A - center A);
+r = abs (point 0 of B - center B);
+
+path C;
+C = fullcircle scaled (2R+2r) shifted center A; % NB +ve
+
+numeric t, t', t'', u, u', u'';
+(t, u) = tangent_times(C, center B);
+t' = adjust_time(t, C, A);
+u' = adjust_time(u, C, A);
+t'' = adjust_time(t + 4, C, B); % Note the plus fours
+u'' = adjust_time(u + 4, C, B);
+
+draw A withpen pencircle scaled 2 withcolor 3/4[blue, white];
+draw B withpen pencircle scaled 2 withcolor 3/4[blue, white];
+draw C withpen pencircle scaled 1 withcolor 3/4[blue, white];
+
+draw subpath (t', u') of A -- subpath (u'', t'') of B -- cycle;
+draw center B -- subpath (t, u) of C -- cycle dashed evenly;
+
+draw center B -- point t'' of B dashed withdots scaled 1/2;
+draw center B -- point u'' of B dashed withdots scaled 1/2;
+draw point t of C -- point t' of A dashed withdots scaled 1/2;
+draw point u of C -- point u' of A dashed withdots scaled 1/2;
+
+dotlabel.ulft(btex $t$ etex, point t of C);
+dotlabel.lrt (btex $t'$ etex, point t' of A);
+dotlabel.lrt (btex $t''$ etex, point t'' of B);
+dotlabel.lrt (btex $u$ etex, point u of C);
+dotlabel.ulft(btex $u'$ etex, point u' of A);
+dotlabel.ulft(btex $u''$ etex, point u'' of B);
+drawdot center B withpen pencircle scaled dotlabeldiam;
+
+drawoptions(withcolor 1/2[blue, white]);
+ label.urt(btex $A$ etex, point 1/2(t'+u'- 7.6) of A);
+ label.rt (btex $B$ etex, point 1/2(t''+u''- 2) of B);
+ label.urt(btex $C$ etex, point 1/2(t+u-8) of C);
+drawoptions();
+\end{smallcode}\vskip -1in
+}}
+
+\subsection{Axis of similitude}\label{sec:axosim}
+
+\bigskip
+\noindent\hbox to \textwidth{\includegraphics[scale=0.92]{axis-of-similitude}\hss}
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in\vss\noindent
+Given three circles taken in pairs, you can use the techniques of the preceding
+sections to find the three points where the common external tangents
+intersect (shown here as $E_{12}$, $E_{31}$, and $E_{23}$) and the
+three points where the common internal tangents intersect ($I_{12}$,
+$I_{31}$, and $I_{23}$). These points have a pleasing collinearity.
+The line common to the three $E$ points is known as the \textit{Axis of
+Similitude}.
+
+The drawing is left as an exercise for the reader, except
+to note that if $r_1$ and $r_2$ are \mpl{numeric} variables representing
+the radius of the circles centred at the \mpl{pair} variables $C_1$ and $C_2$,
+then we have:
+$$\vbox{\openup3pt\halign{\hfil$#$&${}=#$\hfil\cr
+E_{12}&({r_1\over r_1 - r_2})[C_1, C_2];\cr
+I_{12}&({r_1\over r_1 + r_2})[C_1, C_2];\cr
+}}$$
+which is a bit quicker than working out all the tangent points.}}
+
+\newpage
+\subsection{Inversion, pole, and polar}\label{sec:inversion}
+
+Inversion in a circle is a generalization of reflection in a line.
+\mpic{-68pt}{pole-and-polar}
+It is useful for certain constructions in geometry, and easy to
+implement as a macro \MP. For given circle, and a
+given point $P$ lying outside the circle, the inverted point $P'$ lies inside the
+circle at the intersection of the line from $P$ to the centre of the circle, and the
+line between the tangent points [§\ref{sec:tangent-times}] from $P$, shown here as
+$Q$ and $R$.\rlap{\quad$\longrightarrow$}
+
+But $OPQ$ and $OQP'$ are similar triangles, so $r/OP=OP'/r$ and so $OP' =
+r^2/OP$, and since $P'$ must lie on the line through $O$ and $P$, this is enough to
+define a macro directly to find $P'$ given $P$, $O$, and $r$:
+\begin{code}
+P' = O + unitvector(P-O) scaled r * r / abs (P-O);
+\end{code}
+But examining \mpl{plain.mp} shows that \mpl{unitvector} is a macro defined like this:
+\begin{code}
+vardef unitvector primary z = z/abs z enddef;
+\end{code}
+which suggests this alternative (safer) approach:
+\begin{code}
+vardef invert(expr P, O, r) =
+ save s; numeric s; s = r / abs (P-O);
+ O + (P-O) * s * s
+enddef;
+\end{code}
+This works well provided that $|P| > \frac1{180} r$, which is usually the case, but
+you could also consider checking that $|t|>0$ and that $s$ was not too large.
+
+If it was more convenient to deal with the \<path> of the circle of inversion
+instead of the centre and the radius, you get the macro to work out the centre and
+the radius for you.
+\begin{code}
+vardef invert(expr P, C) =
+ save o; pair o; o = 1/2[point 0 of C, point 4 of C];
+ save r; numeric r; r = abs (point 0 of C - o);
+ save s; numeric s; s = r / abs (P - o);
+ o + (P - o) * s * s
+enddef;
+\end{code}
+
+\vfill
+
+\moveright5.5in\vbox to 0pt{\vss\hsize 4in\noindent
+\noindent\llap{\nb}Inversion is reciprocal, so $P$ is the inverse of $P'$ above. Points
+on the circle of inversion invert to themselves.
+
+\smallskip
+\noindent\llap{\nb}For any given line, the \blue{\textit{pole}} of
+the line with respect to a circle, is the inverse of the point on the line closest
+to the centre of the circle.
+
+\smallskip
+\noindent\llap{\nb}For any given point, the \blue{\textit{polar}} of
+the point with respect to a circle, is the line through the inverse of the point
+perpendicular to the line through the point and the center of the circle of
+inversion.
+
+\smallskip
+\noindent\llap{\nb}The small dotted circle through $O$ and $P'$ above is the inversion
+of the whole polar line (infinitely extended).}
+
+\newpage
+\subsection{Radical axis and radical centre}\label{sec:radical}
+
+The \textit{radical axis} of two circles is the line, orthogonal to the line between
+the centres of the two circles which is the locus of points which have equal power
+with respect to both circles; that is the points from which the tangents to each circle
+are of equal length. A circle centred at any point on the axis, and drawn with radius equal to the
+length of the tangent will cut both circles at right angles.
+
+\medskip\noindent\centerline{\includegraphics{radical-axis}}
+
+\medskip\noindent
+In a system of three circles as shown, the \textit{radical centre} is the
+intersection of the three mutual radical axes. The tangents from this point to all three circles
+have the same length, so a circle with this radius cuts all three circles at right
+angles.
+
+\moveright5.5in\vbox to 0pt{\vss\hsize 4in\begin{smallcode}
+vardef radical_axis(expr ca, cb) =
+ numeric t, d, ra, rb;
+ ra = abs(center ca - point 0 of ca);
+ rb = abs(center cb - point 0 of cb);
+ d = abs(center cb - center ca);
+ 2t = 1 + (ra+rb) / d * (ra-rb) / d;
+ (up -- down) scaled 89
+ rotated angle (center cb - center ca)
+ shifted t[center ca, center cb]
+enddef;
+beginfig(1);
+ path c[], a[];
+ z1 = origin; z2 = 233 right rotated 4; z3 = 209 right rotated -42;
+ c1 = fullcircle scaled 202 shifted z1;
+ c2 = fullcircle scaled 106 shifted z2;
+ c3 = fullcircle scaled 62 shifted z3;
+ a1 = radical_axis(c1, c2);
+ a2 = radical_axis(c2, c3);
+ a3 = radical_axis(c3, c1);
+ z0 = whatever [point 0 of a1, point 1 of a1]
+ = whatever [point 0 of a2, point 1 of a2];
+ numeric t; (t, whatever) = tangent_times(c1, z0);
+ drawoptions(withpen pencircle scaled 1 withcolor 3/4[blue, white]);
+ draw c1; draw c2; draw c3;
+ drawoptions(withcolor 3/4[blue, white]);
+ draw z1 -- point t of c1 dashed evenly;
+ drawoptions(withpen pencircle scaled 1/4);
+ draw z1 -- z2 -- z3 -- cycle;
+ drawoptions();
+ draw a1; draw a2; draw a3;
+ drawoptions(withcolor 2/3 red);
+ draw fullcircle scaled 2 abs (point t of c1 - z0) shifted z0;
+ draw z0 -- point t of c1 dashed evenly;
+ drawdot z0 withpen pencircle scaled dotlabeldiam;
+ drawoptions(withcolor 1/4[blue, white]);
+ drawdot z1 withpen pencircle scaled dotlabeldiam;
+ drawdot z2 withpen pencircle scaled dotlabeldiam;
+ drawdot z3 withpen pencircle scaled dotlabeldiam;
+ label.urt(btex $C_1$ etex, point 1 of c1);
+ label.urt(btex $C_2$ etex, point 1 of c2);
+ label.rt (btex $C_3$ etex, point 0 of c3);
+endfig;
+\end{smallcode}\vskip -1in}
+
+\newpage
+\subsection{Circles tangent to other circles}
+\bigskip
+\noindent\hbox to \textwidth{\includegraphics[height=\textheight]{apollonius}\hss}
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in\vss\noindent
+The classical Problem of Apollonius is to find a circle tangent to three others.
+All of the approaches are rather involved, but Gergonne's is probably the simplest
+to follow in \MP.
+
+\smallskip\noindent For three given circles \blue{$C_1$, $C_2$, and
+$C_3$}, you first find the external \blue{axis of similitude}
+[§\ref{sec:axosim}]; then find the \textcolor{carrot}{poles} [§\ref{sec:inversion}] of this line with
+respect to each of the three circles; and thirdly find the
+\textcolor{squash}{radical centre}
+[§\ref{sec:radical}].
+
+\smallskip\noindent
+The lines from the radical centre through each of the three
+poles cut each circle in two places. These six points show the tangent points for
+the two \red{tangent circles}, and you can draw the circles using the three point circle
+technique [§\ref{sec:circles}].
+
+\smallskip\noindent
+{\small
+The drawing is also left as an exercise for the reader, although you can find my
+version in the source code for this document. You might like to try to make a more
+robust version or to find all the other tangent circles.}
+}}
+
+
+\newpage
+\subsection{Coordinate geometry examples}
+
+\kern-\baselineskip
+\vpic{-24pt}{desargues}
+\kern-.5\baselineskip
+\begin{code}[xleftmargin=0pt, xrightmargin=-72pt]
+beginfig(1);
+ z.P = 200 up rotated 21; z.A = 100 left rotated -21;
+ z.B = origin; z.C = 90 right rotated 42;
+
+ z.A' = 3/8[z.P, z.A];
+ z.B' = 1/2[z.P, z.B];
+ z.C' = 5/8[z.P, z.C];
+
+ z.R = whatever [z.A, z.B] = whatever [z.A', z.B'];
+ z.S = whatever [z.B, z.C] = whatever [z.B', z.C'];
+ z.T = whatever [z.C, z.A] = whatever [z.C', z.A'];
+
+ path t[];
+ t1 = z.A--z.B--z.C--cycle;
+ t2 = z.A'--z.B'--z.C'--cycle;
+
+ fill t1 withcolor 7/8[red, white];
+ fill t2 withcolor 7/8[blue, white];
+ draw t1 withcolor 1/2 white;
+ draw t2 withcolor 1/2 white;
+
+ drawoptions(dashed withdots scaled 1/2);
+ draw z.P--z.A;
+ draw z.P--z.B;
+ draw z.P--z.C;
+
+ drawoptions(dashed evenly scaled 1/2);
+ draw z.B--z.R--z.B';
+ draw z.C--z.S--z.C';
+ undraw subpath (1/4, 3/4) of (z.C'--z.T) withpen
+ pencircle scaled 5;
+ draw z.C--z.T--z.C';
+\end{code}
+\moveright 384pt \vbox to 0pt{\vss
+\begin{code}[xleftmargin=0pt, xrightmargin=-72pt]
+
+ drawoptions(withcolor 2/3 red);
+ draw 9/8[z.S,z.R] -- 9/8[z.R,z.S];
+ picture pp; pp = thelabel("perspectrix", origin);
+ draw pp shifted 7 down rotated angle (z.S-z.R)
+ shifted 1/2[z.R, z.T];
+ dotlabel.urt("perspector", z.P);
+
+ drawoptions();
+ dotlabel.lft (btex $A$ etex, z.A);
+ dotlabel.llft(btex $B$ etex, z.B);
+ dotlabel.lrt (btex $C$ etex, z.C);
+ dotlabel.lft (btex $A'$ etex, z.A');
+ dotlabel.llft(btex $B'$ etex, z.B');
+ dotlabel.bot (btex $C'$ etex, z.C');
+ label.rt(btex Desargues' Theorem etex, (x.C', 1/2(y.P+y.C')));
+endfig;
+\end{code}
+\vskip -42pt}
+
+\newpage
+\moveright5.5in\vbox to 0pt{\vskip10pt\includegraphics[width=4.2in]{trisection-triangles}\vss}
+\vskip-\baselineskip
+\begin{code}[xleftmargin=0pt, xrightmargin=-80pt]
+randomseed := 2485.81543;
+vardef measured_angle(expr p, o, q) =
+ (angle (p-o) - angle (q-o)) mod 360
+enddef;
+beginfig(1);
+picture T;
+for i=0 upto 1:
+ for j=0 upto 1:
+ clearxy;
+ T := image(
+ z1 = (120 + uniformdeviate 21, 0);
+ z2 = (120 + uniformdeviate 21, 0) rotated 120 rotated 21 normaldeviate;
+ z3 = (120 + uniformdeviate 21, 0) rotated 240 rotated 21 normaldeviate;
+ numeric a, b, c;
+ a = measured_angle(z3, z1, z2);
+ b = measured_angle(z1, z2, z3);
+ c = measured_angle(z2, z3, z1);
+ z4 = whatever [z1, z2 rotatedabout(z1, 1/3 a)]
+ = whatever [z2, z3 rotatedabout(z2, 2/3 b)];
+ z5 = whatever [z2, z3 rotatedabout(z2, 1/3 b)]
+ = whatever [z3, z1 rotatedabout(z3, 2/3 c)];
+ z6 = whatever [z3, z1 rotatedabout(z3, 1/3 c)]
+ = whatever [z1, z2 rotatedabout(z1, 2/3 a)];
+ fill z4--z5--z6--cycle withcolor 3/4[red + 1/2 green, white];
+ draw z4--z5--z6--cycle;
+ draw z1 -- z4 -- z2 -- z5 -- z3 -- z6 -- cycle
+ dashed withdots scaled 1/4;
+ draw z1 -- z2 -- z3 -- cycle;
+ );
+ draw T shifted (200i, 240j);
+ endfor
+endfor
+label.rt(btex \vbox{\halign{#\hfil\cr The trisectors of each angle\cr
+in any given triangle form a\cr central equilateral triangle.\cr}} etex, (24, 128));
+endfig;
+\end{code}
+\newpage
+\kern-\baselineskip
+\vpic{1in}{projections}
+\mpexternal[xleftmargin=0pt]{projections-code.mp}
+
+\newpage
+\moveright5.5in\vbox to 0pt{\hsize4in\noindent This needs an \mpl{invert} macro, such
+as the one from [§\ref{sec:inversion}].
+
+\smallskip\noindent
+\includegraphics[width=288pt]{arbelos}
+
+\vskip 1.414in\noindent
+\begingroup
+\raggedleft\fontsize{8}{10}\selectfont\textsf{%
+One must also recognize that any attempt to illustrate geometry\\
+involves a basic fallacy. For example, a straight line is unbounded\\
+and infinitely thin and smooth, while any illustration is unavoidably\\
+of finite length, of positive thickness, and rough edged.\\[2pt]
+— Benoit Mandelbrot, \textsl{The Fractal Geometry of Nature}}
+\par\endgroup
+\vss}
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-72pt]
+beginfig(1);
+pair A,B,C; A = origin; C = 244 right; B = 7/8[A, C];
+path c[];
+c1 = fullcircle scaled 2 abs(A-C); % large circle for the inversions
+c2 = fullcircle scaled abs(A-C) shifted 1/2[A,C];
+c3 = fullcircle scaled abs(A-B) shifted 1/2[A,B];
+c4 = fullcircle scaled abs(B-C) shifted 1/2[B,C];
+c5 = invert(c4,c1);
+numeric d; d = abs(point 0 of c5 - point 4 of c5); % diameter of c5
+
+drawoptions(withcolor 3/4 white);
+draw c4; draw c5;
+draw invert(subpath(0, 3/2) of c2, c1);
+draw invert(subpath(0, 3/2) of c3, c1);
+drawoptions();
+draw subpath(-1/4,1) of c1 withcolor 3/4[1/2 red,white];
+label.bot("\textit{circle of inversion}", point -1/4 of c1)
+ withcolor 1/4[1/2 red, white];
+
+for i=1 upto 72:
+ path c, c';
+ c = c5 shifted (0, i*d); c' = invert(c, c1);
+ if i < 5:
+ drawoptions(withcolor 3/4 white);
+ draw c; draw origin -- center c;
+ fill fullcircle scaled dotlabeldiam shifted center c;
+ fill fullcircle scaled dotlabeldiam shifted center c';
+ drawoptions();
+ fi
+ draw c' withpen pencircle scaled 1/4 withcolor 2/3 blue;
+endfor
+forsuffixes $=2,3,4: draw subpath (0,4) of c$
+ withpen pencircle scaled 1/4 withcolor 2/3 blue;
+endfor
+draw A--C;
+dotlabel.lft("$A$", A); dotlabel.llft("$B$", B); dotlabel.rt("$C$", C);
+endfig;
+\end{smallcode}
+
+\newpage
+\section{Trigonometry functions}\label{trig}
+
+\MP\ provides only two basic trigonometry functions, "sind" and "cosd". This lack
+appears to be a deliberate design; in general it's much easier to use the "rotated"
+and "angle" functions than to work out all the sine, cosines and arc-tangents
+involved in rotating parts of your picture. But if you really want the `missing'
+functions they are not hard to implement.
+
+First you might want versions that accept arguments in radians instead of degrees.
+For this you need to know the value of $\pi$, but this is not built into plain \MP.
+If you are using the default number system then it's enough to define it to five
+decimal digits,%
+\vadjust{\moveright 384pt\vbox to 0pt{\kern-144pt
+\begin{code}
+numeric pi;
+% approximate value
+pi := 3.14159;
+% measure round a circular arc...
+pi := 1/4 arclength (quartercircle scaled 16);
+% up to 32 digits of precision
+pi := 3.1415926535897932384626433832795;
+% as many digits as are needed...
+vardef getpi =
+ numeric lasts, t, s, n, na, d, da;
+ lasts=0; s=t=3; n=1; na=0; d=0; da=24;
+ forever:
+ exitif lasts=s;
+ lasts := s;
+ n := n+na; na := na+8;
+ d := d+da; da := da+32;
+ t := t*n/d;
+ s := s+t;
+ endfor
+ s
+enddef;
+pi := getpi;
+
+% conversions
+vardef degrees(expr theta) = 180 / pi * theta enddef;
+vardef radians(expr theta) = pi / 180 * theta enddef;
+% trig functions that expect radians
+vardef sin(expr theta) = sind(degrees(theta)) enddef;
+vardef cos(expr theta) = cosd(degrees(theta)) enddef;
+% inverse trig functions
+vardef acosd(expr a) = angle (a,1+-+a) enddef;
+vardef asind(expr a) = angle (1+-+a,a) enddef;
+vardef acos(expr a) = radians(acosd(a)) enddef;
+vardef asin(expr a) = radians(asind(a)) enddef;
+% tangents
+vardef tand(expr theta) = save x,y; (x,y)=dir theta; y/x enddef;
+vardef atand(expr a) = angle (1,a) enddef;
+\end{code}
+\vss}}
+but if you are using one of the new number systems you might want more digits of
+precision. In fact there's no harm in always defining these extra digits; even when
+you are using the default "scaled" number system, \MP\ will happily read as many
+extra digits of $\pi$ as you supply, before it rounds the value to the nearest
+multiple of $1\over65536$ (which turns out to be $3.14159$). The same applies to the
+"double" number system, but the "binary" and "decimal" number systems will give you
+an error if you supply more digits that the default precision. So in general
+it's best to use no more than 32 digits. It's also possible, but not really worth
+the trouble, to define a routine to calculate $\pi$ to the current
+precision.\rlap{\raise1ex\hbox{\ $\smash{\nearrow}$}} However you define it, once you are armed with a value for $\pi$ you can
+then define functions to convert between degrees and radians, and some more `normal'
+versions of sine and cosine.
+
+There's no built-in $\arccos$ or $\arcsin$ function but each is very easy to
+implement using a combination of the "angle" function and the Pythagorean difference
+operator.
+
+\MP\ does have built-in functions for tangents; but they are called "angle" and
+"dir" and they are designed for pairs. So $\kw{angle}\,(x,y)=\arctan(y/x)$ while
+$\kw{dir}\,30$ gives you the point $(x,y)$ on the unit circle such that $\tan
+30^{\circ} = y/x$. You can use these ideas to define tangent and arctan functions
+if you really need them, but often "angle" and "dir" are more directly useful
+for drawing.
+
+You should also be aware that the tangent function shown here does not
+check whether $x=0$; if this is an issue, then add something like this
+at the appropriate point:
+$$\kw{if}\,x=0\!:\id{infinity}\: \kw{else}\!: y/x \kw{fi}$$
+
+\newpage
+\section{Traditional labels and annotations}\label{sec:trad-labels}
+
+\moveright384pt\vbox to 0pt{\hsize 4.2in\vss\textcolor{blue}{\itshape This section describes labels and
+annotations in what can be called the traditional \MP\ environment, where your
+figures are compiled with "mpost". The section after this describes labels \&
+annotations in the newfangled (but better) world of "lualatex" and the
+"luamplib" package.}\par\kern 16pt}
+
+\noindent
+\MP\ does not draw text directly; but it provides two different mechanisms to
+turn some text into a \<picture>, which can then be treated like any other;
+saved as a variable, drawn directly, or transformed in some way with a
+scaling, a reflection, or a rotation. The first mechanism is described below,
+the other in §\ref{btex}.
+
+\subsection{Simple strings in PostScript fonts with \texttt{infont}}\label{infont}
+
+The first mechanism is the primitive binary operation "infont". As explained in
+section~8.3 of the \MP\ manual, it takes two strings as arguments: the left hand
+argument is the string of text to be printed; the right hand argument is the name of
+the font to use; and the result is a "picture" primary.\vadjust{
+\moveright384pt\vbox to 0pt{\kern -126.5 bp
+ \hsize 4.2in\noindent
+To find the name of a suitable font, you have to consult your local "psfonts.map"
+file, and probably the PSNFSS documentation.
+Here are a few of the many fonts available on my local \TeX\ installation; the name
+to use with "infont" is in the first column.
+$$\includegraphics{trad-font-samples}$$
+The text example in the first line
+of this table was produced with
+\begin{smallcode}
+draw "Hand in glove 42" infont "pagk8r" shifted (124,144);
+\end{smallcode}
+Note that in PostScript terms each of these font names refers to a combination of
+three files: an encoding that maps the characters you type to the glyphs in the
+font; a font metrics file that defines the sizes of the virtual boxes surrounding
+these glyphs; and a set of PostScript routines that actually draw them. In a \TeX\
+installation
+these combinations are defined in a font map file, usually called "psfonts.map".
+If you run "mpost" with the "-recorder" switch it will write an extra log file (with
+a ".fls" extension) that lists the names of all the files used in a job.
+The actual font map file in use will be one of these. You can then browse it to
+find a definitive list of the font names you can use with your local \MP.
+\vss}}
+
+To make a suitable string you can enclose your text
+in double quotes to make a string token, or to refer to a \<string> variable, or do
+one of these:
+\begin{itemize}
+ \item Concatenate two other strings with \mpl{&}.
+
+ \item Use \mpl{substring (a,b) of s} to get a substring of string \mpl{s}.
+
+ \item Use \mpl{min(a,b,...)} or \mpl{max(a,b,..)} to find the lexicographically smallest
+ (or largest) string in the list \mpl{a,b,...}. The list must have at least two
+ entries, and they must all be strings.
+
+ \item Use \mpl{char} to convert a numeric expression to the corresponding ASCII
+ code;
+ the numeric expression is rounded to the nearest integer modulo
+ 256.
+
+ \item Use \mpl{decimal} to get a string representing
+ the value of a numeric expression.
+
+ \item Apply \mpl{str} to any suffix (and hence to any variable). You get back a
+ string representation of the suffix or variable name.
+
+ \item Use \mpl{readfrom} to read one line from a file as a string.
+
+ \item Use \mpl{fontpart} to extract the name of the font used in a picture created
+ with \mpl{infont} --- the string will be empty if there's no text element in the
+ picture.
+
+ \item Use \mpl{textpart} to get the text used in a picture created by \mpl{infont} ---
+ the string will be empty if there's no text element in the picture.
+
+\end{itemize}
+
+\newpage
+\subsubsection{Character sets used by \texttt{infont} to set
+text}\label{sec:charsets}
+
+Standard \MP\ is configured to accept as input only space and the usual 94 visible
+ASCII characters (that is the characters numbered 32 to 126 in the tables at the
+right), but you can use any 8-bit characters as the payload of a string.
+However, plain \MP\ is set by default to use "cmr10", the familiar Computer Modern typeface
+developed by Knuth for \TeX, and unfortunately, this is encoded using the \TeX\ text
+font encoding (also known as `OT1', and as shown in the first table in Appendix~F of the {\sl \TeX book}).
+\mpic{-108pt}{trad-font-tables}
+From the point of
+view of using "infont" to make simple labels, this means that the characters for
+space and seven other characters ("< > \ _ { | }") are in the wrong place.
+You are likely to notice this first if you try to set a label with two words; the
+space will come out as a small diagonal stroke accent that is used in plain \TeX\
+to make the characters Ł and ł, used in Polish and other Slavic languages.
+
+To fix this you should change the default font at the start of your program:
+\begin{code}
+defaultfont := "texnansi-lmr10"; % for Computer Modern Roman
+\end{code}
+If you want "cmss10", use "texnansi-lmss10" and so on. The encoding is shown on the
+right. The characters printed in black correspond to the widely used ISO Latin~1
+encoding. If you want to use one of the standard PostScript fonts listed on the
+previous page, then the encoding to use is either "8y" to get the same "texnansi"
+arrangement or "8r" to get the arrangement shown in the lower table.
+
+Choosing a font with one of these encodings means that if you use Windows code page
+1252 or ISO Latin 1 as the encoding for your text editor, you can create labels with
+accented characters using "infont" and without resorting to "btex" \dots\ "etex".
+But if you are using UTF-8 characters (as many of us are now), then you have to do
+some extra work to get them printed correctly with "infont". A solution is shown on
+the next page.
+
+In the normal course of labelling a drawing, it is always possible to
+use "btex" \dots\ "etex" to produce your accented characters as discussed in section
+\ref{btex} below; but it may be that you are using \MP\ to represent data and labels
+supplied from some other program or a website. In this case it can be useful to be
+able to work with at least a subset of UTF-8 input.
+
+\newpage
+\subsubsection{Mapping a subset of UTF-8 for \texttt{infont}}
+
+UTF-8 is a way of
+representing 16-bit Unicode characters with sequences of 8-bit characters. So your
+UTF-8 aware editor may show you an é but \MP, knowing nothing about UTF-8,
+will see this as é. But you can write a fairly simple routine to decode a
+commonly-used subset of
+UTF-8.\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip -9.5pt\parindent 0pt
+\def\item{\leavevmode\llap{•~}}
+\item You can extend this idea to cope with other UTF-8 characters, including
+ those that use three bytes. The UTF-8 page on Wikipedia shows you how it
+ works. Essentially you look at the values of the next 2 or 3 characters and
+ then pick the appropriate character in your encoding with "char". But your
+ output is still, of course, limited to the 256 characters in your encoded font.
+
+\item If you get tired of writing "decode", you could define a short cut with a
+ shorter name. You could even write it as a primary without parentheses like
+ this:
+\begin{code}
+def U primary s = if string s: decode(s) fi enddef;
+\end{code}
+which would let you write:
+\begin{code}
+label.rt(U"café à la möde", (x,y));
+\end{code}
+
+\item However, there's no point in making any of this too elaborate. If you
+ really want proper Unicode support you should use \MP\ with Lua\TeX. (See
+ below in §\ref{sec:neo-labels}).
+\vss}}
+\begin{code}[xrightmargin=-10pt]
+vardef decode(expr given) =
+ save a,i,s,out; string s, out; numeric a, i;
+ out = ""; i=0;
+ forever:
+ i := i+1; s := substring (i-1,i) of given; a := ASCII s;
+ if a < 128:
+ elseif a = 194:
+ i := i+1; s := substring (i-1,i) of given;
+ elseif a = 195:
+ i := i+1; s := char (64 + ASCII substring (i-1,i) of given);
+ else:
+ s := "?";
+ fi
+ out := out & s;
+ exitif i >= length given;
+ endfor
+ out
+enddef;
+\end{code}
+Use it with "infont" like this: \verb|decode("café") infont "ptmr8r"| to produce a
+normal "picture" that can be passed to \mpl{draw} or saved as
+usual.\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip -9.5pt
+\noindent The fragment on the left produces:
+$$\includegraphics{utf8}$$
+The \texttt{label} macro automatically calls \texttt{infont} with the current value
+of \texttt{defaultfont}; notice how it also adds some extra space.
+\vss}}
+\begin{code}
+draw "café noir £2.50" infont "pncr8r";
+draw decode("café noir £2.50") infont "pncr8r" shifted 12 down;
+defaultfont := "pncr8r";
+label.rt("café noir £2.50", 24 down);
+label.rt(decode("café noir £2.50"), 36 down);
+\end{code}
+Note that you can't just use \mpl{draw} with a string variable; you have to use
+"infont" to turn the string into a picture.
+On the other hand, "label" calls "infont" automatically, but you must explicitly set
+the default font, preferably to one with an encoding that
+is compatible with ISO Latin~1.
+
+
+\newpage
+\subsubsection{Typographical minus signs with \texttt{infont}}
+
+If you are producing labels for a numeric reference scale, like the axis of a chart,
+it is convenient to be able to write a loop like this:
+\begin{code}
+for x=1 upto 3: label.bot(decimal x, (x*cm, 0)); endfor
+\end{code}
+to produce your labels, however if $x$ is negative this does not come out so well,
+because the first character of the string produced by \mpl{decimal -1} is an
+\mpl{ASCII 45},
+which is the hyphen character. What we need is the mathematical minus sign instead;
+this is what you get with \mpl{btex $-1$ etex} of course, but that's harder to put in a
+loop with traditional \MP. Instead you can do this:\vadjust{\moveright5.5in\vbox to 0pt{\vss\hsize4in
+$$\includegraphics{minus}$$
+\vss}}
+\begin{code}
+string minus_sign;
+minus_sign := char 143; % if you are using the texnansi encoding
+minus_sign := char 12; % if you are using the 8r encoding
+for x = -3 upto 3:
+ label.bot(if x<0: minus_sign & fi decimal abs(x), (x*cm, 0));
+endfor
+\end{code}
+Note that this does not work with the default encoding used in "cmr10" because
+there is no minus sign available in that font. Plain TeX uses "char 0" from
+"cmsy10".
+
+\subsubsection{Bounding boxes and clipping with \texttt{infont}}
+
+Once the encoding is fixed, the other two parts of a PostScript font are the font
+metrics and the programs that draw the actual glyphs. The font metrics define the
+width of each character and provide a kerning table to adjust the space between
+particular pairs.\vadjust{\moveright5.5in\vbox to 0pt{\vss\hsize4in
+$$\includegraphics{infont-example}$$
+}} This means that certain characters will overlap each other or stick out
+beyond the bounding box of the picture produced by "infont". This is not normally a
+problem unless the picture happens to be at the edge of your figure. In the first
+example observe how the last letter sticks out to the right; in the second a
+wider baseline has been added to prevent this.
+If you want this effect, but you
+don't want to see the baseline, then draw it
+using the colour \mpl{background}.
+
+\subsubsection{But what about the \texttt{label} command?}
+
+As a convenience, the plain \MP\ format provides a "label" macro that automatically
+turns strings into pictures for you using whatever font name is the current value of
+"defaultfont" and scaled to the current value of "defaultscale".\vadjust{\moveright5.5in\vbox to 0pt{\vss\hsize4in
+\noindent
+The "label" macro is defined (essentially) to do this:
+\begin{code}
+ def *label(expr s, z) =
+ draw s if string s: infont defaultfont
+ scaled defaultscale fi shifted z
+ enddef;
+\end{code}
+plus some clever code to align the label for you.
+}}
+
+\newpage
+\subsubsection{Bounding boxes and alignment with \texttt{infont}}\label{textsize}
+\label{infontbbox}
+
+To allow you to align a text label on a specific point, \MP\ provides five unary
+operators to measure the bounding box of a picture; they are shown in
+\textcolor{red!67!black}{red} in the diagram, and you can use them to measure the
+width, depth, and height of a textual picture. You can also work out the location
+of the baseline of the text or the x-height, provided you know how much your picture
+has been shifted.
+The easiest way to do this is to
+measure the picture \textit{before} you shift it.\vadjust{\moveright5.5in\vbox to 0pt{\vss\hsize4in
+$$\includegraphics[width=4in]{infont-annotated}$$
+\vss}}
+\begin{code}
+ picture pp; pp = "proof" infont "pplri8r";
+\end{code}
+Here the picture \id{pp}
+is created with the origin of the text sitting at coordinates $(0,0)$;
+then you can get the dimensions like this
+\begin{code}
+ wd = xpart urcorner pp;
+ ht = ypart urcorner pp;
+ dp = ypart lrcorner pp;
+\end{code}
+In this particular case you will find that you have $wd=20.47292$, $ht=7.19798$, and
+$dp=-2.60017$. The depth is negative because the descenders on the
+\textdemo{\textit{p}} and the \textdemo{\textit{f}}
+in the chosen font stick down below the base line. The height is greater than the
+x-height, because the \textdemo{\textit{f}} also sticks up, so you need to make another measurement:
+\begin{code}
+numeric xheight; xheight = ypart urcorner ("x" infont "pplri8r");
+\end{code}
+Armed with these measurements you can align your text labels neatly so that they are
+all positioned on the base line or vertically centred on the lower case letters
+regardless of any ascenders or descenders. To draw your label left-aligned with its
+origin at position $(x,y)$ you just need to use: \kw{draw} \id{pp} \kw{shifted} $(x,y)$.
+To draw it right-aligned, you subtract
+\id{wd} from the $x$-coordinate: \kw{draw} \id{pp} \kw{shifted} $(x-wd,y)$. Or to
+centre it, subtract $1/2wd$. To center it vertically on the lowercase letters,
+subtract $1/2\id{xheight}$ from the $y$-coordinate. You might of course like to
+wrap these adjustments up in your own convenient macro to help you maintain
+consistency in a diagram with many labels.
+
+Alternatively you can adjust the bounding box of your textual picture and then use
+it with "label" as normal. Assuming \id{wd} is set to the width of your picture
+and \id{xheight} is set correctly for the current font, then
+\begin{code}
+ setbounds pp to unitsquare xscaled wd yscaled xheight;
+\end{code}
+will make the "label" alignment routines ignore any ascenders or descenders.
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in \vss \small
+\noindent\llap{\nb}Beware that if the resulting label is right at the edge of your
+drawing then any parts of the text that stick out of the adjusted bounding box will
+be clipped. See also §\ref{sec:rotated-boxes} for more on what happens if you
+rotate the text.}}
+
+\newpage
+\subsubsection{Setting Greek letters with \texttt{infont}}
+
+\leavevmode\hbox{}
+$$\includegraphics[width=0.5\textwidth]{greek-homer}$$
+While it's technically possible to set the whole of Homer's \textsl{Iliad} using the Greek
+fonts available to \mpl{infont}, it's probably not a great use of time; on the other hand you
+might want to label parts of a diagram with Greek letters, and for single Greek
+letters \mpl{infont} is more than adequate.
+
+The Greek letters for Computer Modern are in the maths-italic font "cmmi10", which
+uses the encoding shown on p.\thinspace 430 of \textsl{The \TeX{}book}. For historical
+reasons there's no omicron available, so you are supposed to use the $o$~character
+instead. Fortunately you are unlikely to need more than the first few, and it's
+quite easy to remember that $"char 11"=\alpha$, $"char 12"=\beta$, and so on.
+Producing the upper case letters is a bit more of a fiddle with this encoding as you
+need to know which ones use a Roman letter form; for details examine the program on
+the right, or check the table in §\ref{euler} that shows
+Herman Zapf's elegant Euler font, available as "eurm10". This
+makes a refreshing change for some diagrams.\vadjust{\moveright5.5in\vbox to
+0pt{\hsize4in\kern-164pt
+\begin{code}
+beginfig(1);
+string ab, AB;
+ab = ("" for i=11 upto 23: & char i endfor
+ & "o" for i=24 upto 33: & char i endfor);
+AB = ("AB" & char 0 & char 1 & "EZH" & char 2 & "IK"
+ & char 3 & "MNO" & char 4 & char 5 & "P"
+ & char 6 & "T" & char 7 & char 8 & "X"
+ & char 9 & char 10);
+
+draw ab infont "cmmi10";
+draw AB infont "cmmi10" shifted 12 down;
+draw ab infont "eurm10" shifted 32 down;
+draw AB infont "eurm10" shifted 44 down;
+endfig;
+\end{code}
+\centerline{\includegraphics{greek-default-encoding}}
+
+\begin{code}
+string ab, AB;
+ab = "abgdezhjiklmnoxprstufqyw";
+AB = "ABGDEZHJIKLMNOXPRSTUFQYW";
+\end{code}
+\centerline{\includegraphics{greek-gfs-encoding}}
+\vss}}
+
+\medskip\noindent
+If you have fonts installed from the Greek Font Society, then you get a wider
+choice, and a slightly more modern encoding. All of the plain letters are available
+in the normal ASCII positions, so you do not have to muck about with "char xx"
+so much. However in recent versions there is no character you
+can use as a word space, so if you want to set Greek text rather than individual
+letters, see §\ref{sec:neo-otf}.
+
+\vbox to 0pt{\centerline{\includegraphics{porson}}\vss}
+
+
+
+\newpage
+\subsection{Setting text with \texttt{btex ... etex}}\label{btex}
+
+As soon as you need anything complicated in a label, like multiple fonts, multiple
+lines, or mathematics, you will find it easier to switch from "infont" to the
+"btex ... etex" mechanism that calls \TeX\ to create your textual picture. In fact
+you might prefer to use \TeX\ for all your labels, even simple strings, for the sake
+of consistency. The only downside is that this mechanism is a little bit slower.
+
+The "btex" mechanism produces a textual picture just as "infont" does with a height,
+width, and depth that you can measure, and adjust, as discussed in
+section~\ref{infontbbox}. And again, just like "infont" you can either use \mpl{draw}
+to place the resulting picture directly, or pass it to the "label" macro.
+
+What you need to be aware of is that \MP\ places everything you put between the
+"btex" and "etex" into an "\hbox{...}" and processes it with plain \TeX. This has
+several implications: on the positive side you have easy access to italics and bold
+letters, mathematical formulae, symbols like "$\alpha$", and anything else you can
+normally put in an "\hbox{}"; but there are some restrictions especially if you want
+to do anything more than produce a simple single-line label in the default Computer
+Modern type face. The next few sections deal with some of the things you might want
+to do.
+
+\subsubsection{Producing display maths}
+
+One of the obvious restrictions that \TeX\ imposes in
+restricted horizontal mode
+is that you can't use "$$ ... $$" to produce display maths. This means that
+the various mode-sensitive constructs like $\sum$ and $\int$ will come out in their
+smaller forms. And your fractions will look like they are $3\over4$ size.
+If you want them big, then the solution is simple: just add
+"\displaystyle" at the beginning of your formula $\longrightarrow$\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in\vss\noindent
+\begin{code}
+...
+label(btex $\displaystyle \int_0^t 3x^2\, dx$ etex, (x,y));
+...
+\end{code}
+}}
+
+\subsubsection{Getting consistent baselines for your labels}
+
+As already discussed §\ref{infontbbox}, you can fiddle with the
+bounding box of a text picture to make
+the \mpl{label} macro line things up on a common baseline, but there is a
+much easier way with "btex" and "etex". Plain \TeX\ provides a "\strut"
+command that inserts an invisible rule that sticks up 8.5pt above the baseline
+and 3.5pt below. If you put one of these in each of the your labels,
+then they will all have the same vertical size and will all line up
+neatly:\quad\mpl{label(btex \\strut a etex, origin);}
+
+
+\subsubsection{Multi-line text labels}
+
+Another consequence of the "hbox" feature is that there is no automatic text
+wrapping done for you, but again you can work round this easily because \TeX\ lets
+you nest a "\vbox" inside an "\hbox". This gives you proper paragraph-like wrapping
+but you will almost certainly need to adjust the line length, justification, and
+indentation in order to get a satisfactory result \rightarrow \vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in\vskip -42pt\noindent
+\begin{code}
+...
+label(btex \vbox{\hsize 2in\parindent 0pt\raggedright
+ An extended caption or label that will be set as a
+ small paragraph with automatic hyphenation and
+ line-wrapping.
+} etex, z0);
+...
+\end{code}\vss
+}}
+
+\medskip\noindent
+You may only need the full power of \TeX's paragraph making system occasionally
+though: more usually you will just have one or two lines in each label, and you
+might be quite happy to control the line breaks manually. In this case it's helpful
+to wrap a little tabular structure around your text. Here's how to define something
+suitable in plain \TeX. First you need to define a suitable macro at the start of
+your figure
+\begin{code}
+verbatimtex
+\def\s#1{\let\\\cr\vbox{\halign{\hfil\strut ##\hfil\cr#1\crcr}}}
+etex
+\end{code}
+then you can write labels like this:
+\begin{code}
+...
+label(btex \s{Single line} etex, z1);
+label(btex \s{Longer text split\\onto a new line} etex, z2);
+...
+\end{code}
+Notice how you can still use the macro with single lines, you just get a one-line
+table as it were.
+Note also that the definition of "\s" as given will centre each line of the text under
+the one above. If you want them left aligned or right aligned, omit one of the
+"\hfil" commands. \mpic{-160pt}{split-labels}
+The three examples from this page are typeset over here \rightarrow\break
+The small red circle show the reference points and the pale blue lines the
+bounding boxes of the pictures that \MP\ gets back from \TeX.
+
+You can of course achieve the same effects using \LaTeX\ tabular structures, but
+then you have to use the "-tex=latex" option to run
+\MP.
+
+\smallskip\noindent
+\textbf{Note}: In case it's not obvious, if you want text wrapping or tabular
+arrangements as discussed here, you need to use \texttt{btex ... etex} to set your
+labels. There's no text wrapping with "infont". On the other hand if all of your
+labels are in "infont" but you just want one extra that has two lines, you can split
+the text into two separate labels and position them independently.
+
+\newpage
+\subsubsection{Dynamic labels}\label{sec:old-and-dynamic}
+
+If you are a maven of programming language syntax you may have noticed that
+"btex ... etex" fits into the type system that \MP\ inherits from \MF\ as a "picture" and
+not as a "string". Effectively, "btex" and "etex" act as a special pair of quotation
+marks that create a picture; however the contents are used verbatim, so that the
+whole construction is a syntactical atom. This means that you \textbf{cannot} write
+this sort of thing:
+\begin{code}
+for i=0 upto 4: % this won't work
+ label(btex "$p_" & decimal i & "$" etex, (10i,0));
+endfor
+\end{code}
+Given this input \MP\ would attempt to get \TeX\
+to typeset
+\begin{code}
+\hbox{"$p_" & decimal i & "$"}
+\end{code}
+which would probably result in a
+`Misplaced alignment tab character' error.
+To get round this problem, \MP\ provides a general mechanism to write out a
+string to a file, and then read the file back in. This is the mechanism used by the
+"TEX()" macro that is provided alongside "plain.mp". This allows you to write:
+\begin{code}
+input TEX
+...
+for i=0 upto 4:
+ label(TEX("$p_" & decimal i & "$"), (10i,0));
+endfor
+\end{code}
+This works because the TEX macro is expecting a "string" so the normal string
+concatenation rules are applied. The macro wraps the result with "btex" and "etex",
+writes them out to a file, and then reads the file in again so that \MP\ gets the
+correct contents to pass to \TeX.
+
+The only trouble with this is that it makes \MP\ open a file,
+write to it, close it, and then read it in again for each label one at a time; this
+means that it's very slow.
+The example on the right shows how to speed things up, by using the same file for
+all the labels and only writing it once.
+The "write" command is a \MP\ primitive, and "EOF" is defined in "plain.mp".%
+\vadjust{\moveright5.5in\vbox to 0pt{\vss\hsize4in\noindent
+\begin{code}
+path c; c = fullcircle scaled 100; draw c withcolor .67 red;
+for i=0 upto 7:
+ fill fullcircle scaled 3 shifted point i of c;
+ z[i] = point i of c scaled 1.15;
+ write "label(btex $p_" & decimal i & "$ etex,("
+ & decimal x[i] & "," & decimal y[i]
+ & "));" to ".mplabels";
+endfor
+write EOF to ".mplabels";
+input ".mplabels";
+\end{code}
+$$
+\includegraphics{dynamic-labels}
+$$
+Note that you can't use "decimal" on a "pair" variable, but you can save the pair
+as a "z"-variable and then use the "x" and "y" syntax. The scaling trick used here
+only works because "c" is centred on the origin. If "c" were drawn elsewhere, you
+would have to write:
+\begin{code}
+... point i of c shifted -center c
+ scaled 1.15
+ shifted center c ...
+\end{code}
+}}
+
+\newpage
+\subsection{Matching fonts}\label{sec:fonts}
+
+Despite the apparent restriction of using plain \TeX\ it is almost always possible
+to match the font and format of an enclosing \LaTeX\ document.
+The simplest approach is to use the plain
+\TeX\ font mechanism with the names from "psfonts.map".
+\begin{code}
+verbatimtex
+\font\rm=ptmr8r\rm
+etex
+\end{code}
+Adding this at the top of your \MP\ program will set your text in Times New Roman,
+although any maths will still be set using Computer Modern.
+To fix this, all you
+have to do is to redefine all the maths fonts in all sizes you need; this is not really
+that hard but it is a fiddle to get all the details right. Fortunately
+the wonderful "font-change" package has done it all for you for a large range of
+fonts; with this package installed you can use
+\begin{code}
+verbatimtex
+\input font_times
+etex
+\end{code}
+instead, and all of your \TeX\ labels, including bold letters, italics, small caps,
+and mathematics will be set in Times New Roman.\vadjust{\moveright5.5in\vbox to
+0pt{\hsize 4in\vss\noindent
+Here are some samples of the fonts available in the "font-change" package. For full
+details, and especially details about using AMS symbols, see the package
+documentation.
+$$\includegraphics{trad-font-changes}$$
+}}
+
+If you still can't get your labels to match, you can force \MP\ to use \LaTeX\
+instead of plain \TeX. You need to use the "-tex" command line switch:
+\begin{code}
+ mpost -tex=latex
+\end{code}
+and also load the packages you need in a "verbatimtex" block at the top of your
+file\rlap{\ $\longrightarrow$}\vadjust{\moveright 5.5in\vbox to 0pt{\hsize 4in\raggedright
+\vskip -42pt
+\noindent
+\begin{smallcode}
+verbatimtex
+ \documentclass{article}
+ \usepackage{mathpazo}
+ \usepackage{xcolor}
+ \begin{document}
+etex
+\end{smallcode}
+Note that the "\documentclass" and the "\begin{document}" lines are required, but
+\MP\ is smart enough to add an "\end{document}" for you.\vss}}
+
+Plain "mpost" needs an old-fashioned ".dvi" file to work with, so you can only use
+an engine that still produces one, like "latex" or "elatex", and not any of the
+more modern engines, like "pdflatex". Generating the labels takes a little bit
+longer because you have to load rather more `infrastructure' for \LaTeX, and you
+are limited to whatever font packages you have that work with the traditional
+\LaTeX\ engine. For a more modern approach, read on into section
+\ref{sec:neo-labels}.
+
+\newpage
+\subsection{Setting verbatim listings}\label{sec:verbatim}
+
+\textsc{There is a good chance} that you will never need to set a verbatim
+listing in a \MP\ drawing, but if you do there are a couple of things to think
+about. The issue about setting text verbatim with \TeX\ is that turning off the
+control characters can be tricky, so if you have text for a label with characters
+that are special in \TeX\ like the backslash or the underscore, then the simplest
+thing to do is to avoid \TeX\ completely and use \mpl{infont} instead.
+\mpic{-36pt}{verbatim-with-infont}
+\begin{code}
+string s; s = "\TeX\ sets maths like this $e=mc^2$";
+draw ("1. " & s) infont defaultfont;
+draw ("2. " & s) infont "texnansi-lmr10" shifted 20 down;
+draw ("3. " & s) infont "cmtt10" shifted 40 down;
+draw ("4. " & s) infont "texnansi-lmtt10" shifted 60 down;
+\end{code}
+But as you can see, (1) this is a bit of a disaster with the default font "cmr10"
+because it does not have all the glyphs in the usual ASCII positions (as noted
+above §\ref{sec:charsets}). The solution is to use the version of the font
+with the "texnansi" encoding (2), but you probably want it in the monofont (3) and
+as you can see "cmtt10" has the “visible space” character instead of a regular
+space. If this is not what you want then use the alternative encoding (4).
+
+If you want more than this, then you really need to use \LaTeX\ to process the
+label, as discussed in §\ref{sec:fonts}, and load the appropriate preamble. \rightarrowfill\break
+\vadjust{\moveright5.5in\vbox to 0pt{\vskip -72pt\begin{smallcode}
+prologues := 3; outputtemplate := "%j.eps";
+verbatimtex
+\documentclass{article}
+\usepackage{listings}
+\newcommand\mpstyle{\lstset{language=Metapost, basicstyle=\ttfamily,
+columns=fullflexible, keepspaces=true, showstringspaces=false}}
+\lstnewenvironment{code}[1][]{\mpstyle\lstset{#1}}{}
+\begin{document}
+etex
+beginfig(1);
+picture P;
+P = thelabel(btex \vbox{\begin{code}
+ % special operators
+ vardef incr suffix $ = $:=$+1; $ enddef;
+ vardef decr suffix $ = $:=$-1; $ enddef;
+
+ def reflectedabout(expr w,z) = % reflects about the line w..z
+ transformed begingroup transform T_;
+ w transformed T_ = w;
+ z transformed T_ = z;
+ xxpart T_ = -yypart T_;
+ xypart T_ = yxpart T_; % T_ is a reflection
+ T_ endgroup enddef;
+\end{code}} etex, origin);
+fill bbox P withcolor (1,1,31/32); draw P; draw bbox P;
+endfig; end.
+\end{smallcode}\vss}}
+
+\bigskip
+$$\includegraphics[width=0.9\textwidth]{verbatim-listing}$$
+
+
+
+%% \subsubsection{Getting full access to your system fonts}
+%%
+%% If you want full access to all of your system fonts you can
+%% approach the problem the other way round and use one of the various means to include
+%% \MP\ graphics as part of your \LaTeX\ source code. These include "gmp" for
+%% pdf\LaTeX, "luamplib" for lua\LaTeX, and the whole Context system. The great
+%% advantage of these systems is that all of your \MP\ labels directly inherit the
+%% environment of the parent document, and give you access to all your system fonts and
+%% full Unicode support -- the only disadvantages are that it's not so fast or simple as plain \MP\
+%% and you have to compile every graphic everytime you compile the document. It is of course always possible to
+%% use these systems to produce standalone PDF graphics that you can then include in a
+%% more conventional \TeX\ document. The example on the right shows how; in this case
+%% the text uses the fonts set in the \LaTeX\ preamble.\vadjust{\moveright5.5in\vbox to
+%% 0pt{\hsize 4in\vss\noindent
+%% Here is a version of the Lua logo, with a Unicode accent for show.
+%% $$\includegraphics[scale=0.7]{lulu.pdf}$$
+%% produced with "luamplib":
+%% \begin{smallcode}
+%% \documentclass[margin=5mm]{standalone}
+%% \usepackage{fontspec}
+%% \setmainfont{TeX Gyre Heros}
+%% \usepackage{luamplib}
+%% \begin{document}
+%% \begin{mplibcode}
+%% beginfig(1);
+%% color lemon, midnight; lemon = (1,1,1/2); midnight = (0,0,1/2);
+%%
+%% fill unitsquare shifted -(1/2,1/2) scaled 4cm withcolor lemon;
+%% fill fullcircle scaled 3cm withcolor midnight;
+%% draw fullcircle scaled 3.7cm dashed evenly scaled 2 withcolor .5 white;
+%%
+%% fill fullcircle scaled 8mm shifted (0.7cm,0.7cm) withcolor white;
+%% fill fullcircle scaled 8mm shifted (1.4cm,1.4cm) withcolor midnight;
+%%
+%% label.bot(btex Luã etex scaled 2.8,origin) withcolor white;
+%% endfig;
+%% \end{mplibcode}
+%% \end{document}
+%% \end{smallcode}
+%% }}
+
+
+\newpage
+\section{Modern labels and annotations}\label{sec:neo-labels}
+
+This section is a re-working of the previous section, that attempts to show how much
+nicer it is to handle labels in the new world of "luamplib". If this is all new
+to you, you probably should start by doing "texdoc luamplib" on your system
+and reading the documentation provided with the package. In order to use these
+newfangled facilities you need to create your \MP\ diagrams inside a \TeX-wrapper
+as explained above in §\ref{sec:sa-lua-flow}.
+
+\medskip\noindent
+The first thing to say is that everything in the preceding section
+will continue to work more or less the same when you use "luamplib" with Lua\LaTeX.
+It is designed to be backwards-compatible, so that existing \MP\ programs using "infont" and
+"btex" \dots\ "etex" will continue to work without change. The only differences are:
+that the "TEX()" macro is re-implemented with internal library functions
+so that it no longer uses temporary files, and is therefore very much faster; and it
+is easier to integrate your drawings into \LaTeX\ because you no longer need to muck
+about with \mpl{verbatimtex} blocks.
+So the example code shown on the right,\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip-160pt
+\begin{texcode}
+\documentclass[border=5mm]{standalone}
+\usepackage{fontspec}
+\setmainfont{TeX Gyre Pagella} % <-- note chosen font
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+\end{texcode}
+\vskip-\baselineskip
+\begin{smallcode}
+ beginfig(1);
+ for x = 0 upto 1:
+ draw (80x,16) -- (80x, -68) withcolor 3/4[red, white];
+ endfor
+ for y = 0 upto 3:
+ draw (0, -20y) -- (160, -20y) withcolor 3/4[red, white];
+ endfor
+
+ string s; s = "Hand gloves";
+ draw s infont defaultfont shifted (0, 0);
+ draw s infont "phvr8r" shifted (0, -20);
+ draw TEX(s) shifted (0, -40);
+ draw btex Hand gloves etex shifted (0, -60);
+
+ dotlabel.urt(s, (80, 0));
+ dotlabel.urt(s infont "phvr8r", (80, -20));
+ dotlabel.urt(TEX(s), (80, -40));
+ dotlabel.urt(btex Hand gloves etex, (80, -60));
+ endfig;
+\end{smallcode}
+\vskip-\baselineskip
+\begin{texcode}
+\end{mplibcode}
+\end{document}
+\end{texcode}\vss}}
+will produce this:
+$$\includegraphics{neo-labels.pdf}$$
+Note that "defaultfont" is still "cmr10" with the encoding that has the small stroke
+(that plain \TeX\ uses for the \L\ character) instead of a space, and that you can
+still use PostScript fonts like "phvr8r". But also notice that the "TEX()" macro
+and the "btex" \dots\ "etex" construction have picked up the font set by the \LaTeX\
+wrapper. As you can see they produce exactly the same output; "TEX()" is generally
+more useful because you can pass a primary string variable as an argument, which
+makes it easier to construct dynamic labels. "TEX()" also has the synonym
+"textext()" for compatibility with ConTexT. You can use either name, as you prefer.
+
+\smallskip\noindent
+But this isn't the clever bit\dots
+
+\clearpage
+\subsection{The magic of the \texttt{textextlabel} option}\label{ttlabel}
+
+The clever bit is that "luamplib" allows us to turn on the "TEX()" behaviour by
+default, so that you can just use plain strings with the \mpl{label()} macro, and
+have them automatically processed through \LaTeX. All you have to do is add this
+to the preamble:
+\begin{texcode}
+\mplibtextextlabel{enable}
+\end{texcode}
+If you add this line to the example from the previous
+page,\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip-80pt
+\begin{texcode}
+\documentclass[border=5mm]{standalone}
+\usepackage{fontspec}
+\setmainfont{TeX Gyre Pagella}
+\usepackage{luamplib}
+\mplibtextextlabel{enable} % <--- added option
+\begin{document}
+\begin{mplibcode}
+\end{texcode}
+\vskip-\baselineskip
+\begin{smallcode}
+ beginfig(1);
+ for x = 0 upto 1:
+ draw (80x,16) -- (80x, -68) withcolor 3/4[red, white];
+ endfor
+ for y = 0 upto 3:
+ draw (0, -20y) -- (160, -20y) withcolor 3/4[red, white];
+ endfor
+
+ string s; s = "Hand gloves";
+ draw s infont defaultfont shifted (0, 0)0
+ draw s infont "phvr8r" shifted (0, -20);
+ draw TEX(s) shifted (0, -40);
+ draw btex Hand gloves etex shifted (0, -60);
+
+ dotlabel.urt(s, (80, 0));
+ dotlabel.urt(s infont "phvr8r", (80, -20));
+ dotlabel.urt(TEX(s), (80, -40));
+ dotlabel.urt(btex Hand gloves etex, (80, -60));
+ endfig;
+\end{smallcode}
+\vskip-\baselineskip
+\begin{texcode}
+\end{mplibcode}
+\end{document}
+\end{texcode}
+
+\vskip 58pt
+\centerline{\red{$\star$ All the examples in the rest of this section $\star$}}
+\centerline{\red{assume that you have set \texttt{\textbackslash
+mplibtextextlabel}}}
+\vss}}
+you get this output:
+$$\includegraphics{neo-labels-tte.pdf}$$
+As you can see, they all come out the same.
+When the magic option is enabled, "luamplib" redefines
+the primitive binary operator \mpl{infont}.
+Ordinarily, this command takes two strings (the text you want to show, and the name
+of the font to use) and produces a picture object consisting of the text typeset in
+the given font.
+$$\<string> \mathbin{"infont"} \<string> \longrightarrow \<picture>$$
+With the option enabled,
+the right hand \<string> argument (which names the font) is completely ignored,
+and the left hand \<string> argument (the text to show) is passed to the "TEX()"
+macro. The result is still a \<picture> of course, but instead
+of a simple rendering in a single font, the string will have been passed through
+\LaTeX, so it can include maths, bold text, or any arbitrary typesetting
+constructions.
+
+Note that even with the option enabled, \MP\ will not let you pass a \<string>
+to \mpl{draw}. You have to put \mpl{infont "somefont"} after the string to get the
+magic to work; the nice thing is that the \mpl{label()} macros do this for you.
+
+If you experiment a bit, you will find that even though the font name argument is
+completely ignored, you can't leave it out; you have to give at least an empty
+string: \mpl{draw "my text" infont ""}. However if you find yourself writing this,
+you probably should try \mpl{draw TEX("my text")} instead.
+
+\subsection{Using Unicode and matching style with OTF fonts}\label{sec:neo-otf}
+
+If you read "texdoc luamplib" carefully, you will see that you \textit{can} use all
+these new facilities with plain Lua\TeX, but this chapter is about using them with
+Lua\LaTeX, and in particular it assumes some familiarity with the packages
+"fontspec" and "unicode-math" that provide complete support for Unicode and OTF
+fonts; you need this familiarity in order to use "luamplib" properly.
+\mpic{1cm}{unicode}
+
+You also need an editor that will handle Unicode. \MP\ still restricts you to using
+printable ASCII in your source code, except within a string literal or a "btex"
+\dots\ "etex" picture literal. So it becomes very easy to write this sort of label:
+\begin{smallcode}
+label("café noir £2.50", origin);
+\end{smallcode}
+or even whole paragraphs that use Unicode:
+\begin{smallcode}
+label(btex \vbox{\hsize 4in
+ Nous étions à l'Étude, quand le Proviseur entra, suivi d'un
+ \textit{nouveau} habillé en bourgeois et d'un garçon de classe
+ qui portait un grand pupitre. Ceux qui dormaient se réveillèrent,
+ et chacun se leva comme surpris dans son travail.
+\par} etex, 40 down);
+\end{smallcode}
+But you also need a font that actually supports the Unicode characters you use.
+The default Latin Modern font used by Lua\LaTeX\ has a good range for English and
+most European languages, but is a bit lacking in (say) polytonic Greek. So you will
+need to define a suitable font in your preamble, and turn it on in your labels.
+\begin{texcode}
+\usepackage{fontspec} \newfontface\polytonic{GFS Porson}
+\end{texcode}
+then a box like this with proper polytonic Homeric Greek source
+\begin{smallcode}
+label(btex \vbox{\polytonic\halign{#\hfil\cr
+ ...
+
+ (polytonic greek source in UTF8 that won't show up in
+ the Latin Modern Typewriter font being used here)
+
+ ... \cr}} etex, 120 down);
+\end{smallcode}
+will produce the first few lines of the Iliad (just in case you wanted them).
+Essentially if you can produce something in \LaTeX, you can produce exactly the same
+in \MP\ using "luamplib" (but see also §\ref{sec:verbatim}).
+
+
+\newpage
+\subsection{Multi-line labels}
+
+It is a rule of syntax in \MP\ that a string token has to be given all on one line.
+So if you have very long labels, or paragraphs of text, then you have to split them
+up into separate shorter string tokens:
+\begin{code}
+label("\vbox{\hsize 4in It is a truth universally acknowledged,"
+ & " that a single man in possession of a good fortune,"
+ & " must be in want of a wife.\par}", origin);
+\end{code}
+taking care to include the necessary spaces, which can get fiddly.
+\mpic{-15mm}{multi-line-labels}
+
+But this is where the "btex" \dots\ "etex" construction comes into play, even with
+"luamplib". As we saw in the preceding section the construction fits into the \MP\
+syntax scheme as a special pair of quotation marks that produces a \<picture>.
+Unlike regular string token, a "btex" \dots\ "etex" picture token can span several
+lines of source code, so you can (more easily) write long \TeX\ labels like this:
+\begin{code}
+label(btex \vbox{\hsize 4in
+ It is a truth universally acknowledged,
+ that a single man in possession of a good fortune,
+ must be in want of a wife.
+ \par} etex, 128 down);
+\end{code}
+Thanks to the backward compatibility of the implementation, this works very well
+even when you have "mplibtextextlabel" enabled.
+
+You also have full access to your \LaTeX\ environment, so you can get tables in the
+same way in \MP\ using environments like "tabular":
+\begin{code}
+label(btex
+ \begin{tabular}{c}
+ A way to get simple\\
+ two line labels
+ \end{tabular} etex, 256 down);
+\end{code}
+But recall that whatever you ask the \mpl{TEX()} macro to typeset like this is going into
+a restricted horizontal mode box; so don't try to use floating environments like
+"table" or "figure". And if you want automatic paragraph wrapping, you will have
+to wrap your text in a suitable "\vbox", as shown above.
+
+\subsection{Display maths}
+
+Because the \mpl{TEX()} macro typesets everything in restricted horizontal mode, you
+cannot use "$$ .. $$" to create display maths directly. This is not a \TeX\
+\textit{v} \LaTeX\ issue, it is just that for compatibility with plain \MP\ (and
+common sense), the designers of "luamplib" chose to typeset labels into
+horizontal-mode boxes This is usually what you want. If you prefer
+large integral
+operators (etc) in your labels,
+then you should either add
+"\displaystyle" at the beginning of your formula $\longrightarrow$\vadjust{\moveright5.5in\vbox to 0pt{\hsize 4in\vss\noindent
+\begin{code}
+...
+label("$\displaystyle \int_0^t 3x^2\, dx$", z0);
+...
+label("\vbox{\hsize 2in $$\int_0^t 3x^2\, dx$$}", z1);
+...
+\end{code}
+}}
+\\
+or wrap the formula in a "\vbox" with a suitable "\hsize". Using "\displaystyle" is
+probably simpler.
+
+
+\subsection{Typographical minus signs and other dynamic labels}
+
+This is really easy with "mplibtextextlabel" enabled, because we can assemble a string
+on the fly using standard \MP\ syntax:\mpic{0pt}{simple-number-line}
+\begin{code}
+draw (left--right) scaled 2in withcolor 2/3 red;
+for i=-4 upto 4:
+ dotlabel.top("$" & decimal i & "$", (32i, 0));
+endfor
+\end{code}
+The normal operator precedence rules ensure that the string argument to
+\mpl{dotlabel} is assembled before it is passed to the \mpl{TEX()} macro.
+The individual parts of the string you assemble do not have to be
+valid bits of \TeX\ in themselves; they only have to make sense once they
+are actually passed to the macro. With "luamplib" there are no slow
+external files being used, so the complexities used above
+[§\ref{sec:old-and-dynamic}] to label points around a
+circle can be simplified without sacrificing speed:\mpic{-80pt}{simple-circle-labels}
+\begin{code}
+path C; C = fullcircle scaled 100; draw C withcolor 2/3 red;
+for i=0 upto 11:
+ drawdot point 2/3 i of C withpen pencircle scaled dotlabeldiam;
+ label("$p_{" & decimal i & "}$", point 2/3 i of C scaled 1.17);
+endfor
+\end{code}
+
+\smallskip\noindent\nb But note that you can't do this string concatenation with "btex" \dots\ "etex";
+although they might appear to be special quotation marks, they produce a
+\<picture>, and \mpl{&} only works with strings or paths.
+
+\newpage
+\subsection{Drawing on an external image}\label{sec:extimage}
+
+One of the limitations of the way that plain "mpost" uses \TeX\ is that
+any "\special" commands are removed from the intermediate file that \MP\ translates
+into a \<picture> variable. Hence, in particular, you cannot use
+"\includegraphics" in a \TeX\ label. Fortunately, "luamplib" removes this
+limitation, so it is now possible to annotate images using the full array of \MP\
+tools.
+$$\includegraphics[width=360pt]{marked-up-photo}$$
+The source is shown on the right.
+\vadjust{\moveright5.5in\vbox to 0pt{\vskip-3.75in\hsize 4in\raggedright\noindent
+\begin{texcode}
+\documentclass[border=1mm]{standalone}
+\usepackage{luamplib}
+\usepackage{graphicx}
+\usepackage{fontspec}\setmainfont[Scale=0.6]{Helvetica}
+\mplibtextextlabel{enable}
+\begin{document}
+\begin{mplibcode}
+\end{texcode}
+\begin{smallcode}
+beginfig(1);
+draw btex \includegraphics[width=5in]{glenshiel.jpg} etex;
+if false:
+for i=1 upto 36:
+ draw (origin -- 180 up) shifted (10i, 0)
+ withcolor if i mod 10 = 0: red else: 1/2 fi;
+endfor
+for i=1 upto 18:
+ draw (origin -- 360 right) shifted (0, 10i)
+ withcolor if i mod 10 = 0: red else: 1/2 fi;
+endfor
+fi
+vardef callout@#(expr t, p, o) =
+ save T; picture T; T = thelabel.@#(t, p+o);
+ draw T; drawarrow p+o -- p cutbefore bbox T;
+enddef;
+ahangle := 20; ahlength := 2;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2 blue);
+callout.top("Sgurr na Ciste Dubhe", (80, 96), (-10, 20));
+callout.top("Sgurr nan Spainteach", (100, 91), (6, 12));
+label.top("\tiny Cuillin Ridge, Isle of Skye", (140, 81));
+label.top("Sgurr na Carnach", (190, 90));
+label.top("Sgurr Fhuaran", (282, 94));
+label.bot("\itshape View looking west ...",
+ point 5/2 of bbox currentpicture shifted 4 down);
+endfig;
+\end{smallcode}
+\begin{texcode}
+\end{mplibcode}
+\end{document}
+\end{texcode}
+\vss}}
+The two loops commented out with \mpl{if false:} will add a grid
+on top of the photo like this:
+$$\includegraphics[width=200pt]{marked-up-photo-with-grid}$$
+This makes it easier to find the appropriate coordinates for your annotations.
+
+\newpage
+\section{Working with pictures}
+
+\MP\ inherits the mechanism of \<picture> variables directly from \MF, except that
+the contents of these variables are a bit more complex. The system keeps track
+of the active picture in a variable called \mpl{currentpicture}, which can be copied
+to your own variables, or manipulated in various useful ways. In \MF\ the contents
+of the variable is a pattern of pixels for a font, in \MP\ the contents are vector
+graphics commands. This section reviews some of the things you can do with a
+\<picture> variable — including putting one in a frame (see §\ref{sec:pictureframe})
+like so\rlap{\ $\longrightarrow$}
+\mpic{-96pt}{youth}
+
+\bigskip\noindent
+Plain \MP\ provides two built-in \<picture> variables: \mpl{nullpicture}, which is
+empty, and \mpl{currentpicture}, which accumulates the results of drawing
+commands. When you compile your program, the \mpl{beginfig} macro will
+set \mpl{currentpicture} to blank, and the \mpl{endfig} macro will make \MP\ write
+the accumulated contents of the picture to an output file, usually as PostScript.
+You can also do these things yourself at any point in a program, using these
+macros from "plain.mp":
+\begin{code}
+def clearit = currentpicture := nullpicture enddef;
+def shipit = shipout currentpicture enddef;
+\end{code}
+
+\smallskip\noindent
+When you are creating a diagram with several independent elements, it is often
+helpful to save the \mpl{currentpicture} in a \<picture> variable and start again.
+In fact it is so useful that plain \MP\ includes an \mpl{image} macro that uses the
+magic of macro grouping to make the process a bit easier.
+
+\begin{code}
+vardef image(text t) =
+ save currentpicture;
+ picture currentpicture;
+ currentpicture := nullpicture;
+ t; currentpicture
+enddef;
+\end{code}
+The general idea is that you declare a variable and then save a drawing into it:
+\begin{code}
+picture P; P = image(...);
+\end{code}
+and then you have a picture element that can be manipulated or copied as needed.
+The rows of decorative beads in the frame on the right were created like this.
+
+
+\newpage
+\subsection{Creating and transforming pictures}
+
+After you have declared a variable with \mpl{picture P;} you can give it some contents
+in a number of ways:
+\begin{itemize}
+ \item \mpl{P = nullpicture;} --- this makes $P$ empty.
+ \item \mpl{P = currentpicture;} --- save a copy of your current picture (if any).
+ \item \mpl{P = image(... MP tokens ...);} --- capture some drawing commands.
+ \item \mpl{P = "string" infont "font-name";} --- capture an image of "string" set in the given font.
+ \item \mpl{P = btex ... TeX tokens ... etex;} --- capture the result of passing some arbitrary
+ tokens through \TeX.
+ \item \mpl{P = TEX("string");} --- capture the result of passing some arbitrary
+ string of tokens through \TeX, using the "TEX" macro.
+\end{itemize}
+You can read more about the details of type setting in §\ref{sec:trad-labels} and
+§\ref{sec:neo-labels}, but the point here is that the results are normal \<picture>
+variables that you can manipulate and use like any other. You can apply any of the
+normal \MP\ transformations to a picture, so it can be slanted, scaled, rotated, or
+shifted like any \<pair> or \<path>. Each picture has a reference point that is the
+position of the origin for pictures created with \mpl{image} or by saving
+\mpl{currentpicture} directly, and is usually the bottom left-hand corner of a
+typeset picture created by \TeX. So to add three copies of $P$ to your current
+picture, you could do:
+\begin{code}
+ for i=1 upto 3: draw P shifted (20i, 0); endfor
+\end{code}
+and \MP\ will add copies of $P$ with the reference points shifted to $(20,0)$,
+$(40,0)$, and $(60,0)$. A selection of other transformations is shown on the right $\longrightarrow$
+\vadjust{\moveright5.5in\vbox to 0pt{\hsize4in\vskip-240pt\centerline{\includegraphics[width=4in]{twister}}\par
+\centerline{\textsl{\small The reference point for each compass is the small dot in the middle.}}
+\vss}}
+
+\smallskip\noindent
+If you need to measure the size of your picture, you can get the coordinates of the
+corners with the built-in corner commands, and do some arithmetic like this:
+\begin{code}
+ (wd, ht) = urcorner P - llcorner P;
+\end{code}
+You also get \mpl{ulcorner}, \mpl{lrcorner}, and \mpl{center}; plus \mpl{bbox} which
+returns the rectangular path round the four corners, expanded by the current value
+of \mpl{bboxmargin}. (See also §\ref{sec:rotated-boxes}).
+
+\newpage
+\subsection{Clipping and bounding boxes}
+
+Once you have got your \<picture> variable, and possibly transformed it, the main
+thing you can do with it is to use \mpl{draw} to add it to the current picture. But
+there are two other commands that are sometimes helpful that allow you to alter the
+apparent size of the picture.
+\begin{itemize}
+ \item $\kw{setbounds}\ \<picture> \kw{to}\ \<path expression>$
+ \item $\kw{clip}\ \<picture> \kw{to}\ \<path expression>$
+\end{itemize}
+Both commands set the boundary of your picture to the arbitrary path expression, and
+then the \mpl{clip} command also erases all of the picture that lies outside the
+boundary.
+(Note that this is not the same as setting the bounding box. The arbitrary path does
+not have to be a rectangle; after either of these commands the bounding box will be
+the rectangle that fits around the arbitrary path).
+
+\MP\ inherits the \mpl{clip} command from PostScript; there is no equivalent in \MF.
+It can be useful as an alternative to \mpl{buildcycle}, but it is most commonly used
+for trimming a repeating pattern to a particular shape. The usual approach is to
+define a particular shape, $s$, then draw your pattern over a large area that covers
+the shape, and finally call \mpl{clip currentpicture to s} to trim the pattern to
+the shape. This is best done after you define all your shapes, but before you draw
+any others or add any labels. The example on the right shows this approach in
+action.
+
+You can apply \mpl{clip} to any picture, so you might prefer to capture your
+pattern in \<picture> variable with \mpl{image}, apply \mpl{clip} to that, and
+then \mpl{draw}. This works nicely if you want to repeat the clipped image.
+\vadjust{\moveright 5.5in\vbox to 0pt{\hsize 4.2in \vss
+\noindent\includegraphics[width=4in]{shady-circles}
+
+\medskip
+\begin{smallcode}
+path c, C; numeric r; r = 60;
+c = fullcircle scaled 2r shifted (-r, 0);
+C = fullcircle scaled 4r shifted (2r, 0);
+
+numeric t, u;
+(t, whatever) = C intersectiontimes
+ C shifted (center c - center C);
+(u, whatever) = c intersectiontimes (point t of C -- center c);
+
+path s;
+s = subpath (0, u) of c -- subpath (t, 4) of C -- cycle;
+for i=0 upto r:
+ draw (left--right) scaled 2r rotated -42 shifted (3i, 0)
+ withpen pencircle scaled 1/4 withcolor 2/3 blue;
+endfor
+clip currentpicture to s;
+
+draw c; draw C;
+draw center c -- center C -- point t of C -- cycle;
+\end{smallcode}
+\vskip -126pt}}
+
+You can also use this technique to fill with a gradient: just reduce the gap
+between each line and use the index variable to blend between two colours.
+Something like \mpl{withcolor (i/r)[blue, white]} in the example shown.
+
+\vfill\noindent
+\hey Why would you ever want to use \mpl{setbounds}? Mainly to help with aligning type set labels,
+as discussed in §\ref{infontbbox}, or if you want to make boundaries of different
+picture elements consistent in order to line them up more easily. Or perhaps to set
+a margin for the whole image by using something like this just before the
+\mpl{endfig}.
+\begin{code}
+setbounds currentpicture to bbox currentpicture;
+\end{code}
+This has the effect of adding a \mpl{bboxmargin} wide strip all round.
+
+\newpage
+\subsection{Bounding boxes of transformed pictures}\label{sec:rotated-boxes}
+
+When you rotate a text label, or otherwise transform a picture, the corner-points
+also change, but not quite in the way you might think. It turns out that
+the \mpl{bbox} is always a rectangle aligned to the edges of your page.
+Effectively, the corners are determined \textit{after} any transformation,
+and the \mpl{center} is strictly the intersection of the lines between opposite
+corners.\mpic{-68pt}{corners}
+
+You will notice this if you use the technique given on p.\thinspace29 of the \MP\ manual to draw a
+label on a coloured (or erased) background; if you have rotated the label, the
+\mpl{bbox} may be larger than you want. One solution is to define your label
+untransformed and then apply the transformation twice: first when you fill the bounding box
+and again when you draw the label, for example:
+\begin{code}
+picture p; p = thelabel.top("Correctly", origin);
+unfill bbox p rotated 30 shifted z0;
+draw p rotated 30 shifted z0;
+\end{code}
+
+\vfill
+\subsection{Using pictures to assemble a complex diagram}
+
+If you have a diagram with several independent parts, like the comparison above then
+there is a useful general technique: declare a subscripted \<picture> variable, and
+then use \mpl{image} to draw each part separately. The advantage of this is that
+you do not have to worry about where the \mpl{origin} is, which often makes a
+drawing simpler (for example because you can use \mpl{rotated} rather than
+\mpl{rotatedaround}). Once you have created all the parts you can then add them to
+the final image using \mpl{draw} as shown on the right $\longrightarrow$
+\vadjust{\moveright 396pt\vbox to 0pt{\hsize 4in \vskip -81pt
+\noindent The illustration above was drawn using this general sub-picture
+technique, approximately like this:
+\begin{code}
+picture P[];
+P1 = image(
+ % first drawing...
+);
+P2 = image(
+ % second drawing...
+);
+draw P1 shifted 100 up; draw P2 shifted 100 down;
+\end{code}
+\vss}}
+
+Sometimes it is more convenient to use \mpl{label} to place the pictures, taking
+advantage of the automatic alignment provided. Note also that, unless you have
+explicitly filled them with \mpl{white} colour, the blank parts of each picture are
+really transparent so you can overlap them when appropriate.
+
+\newpage
+\subsection{Adding a caption to the current picture}
+
+When you have finished a complicated picture, you may want
+to add a caption or some other label which would look neat if it
+were exactly centred at the bottom of the everything else. You could
+keep track of exactly how wide and deep you have made the picture to do this, but
+there is an easier way, that will adjust itself automatically if you change the
+contents of the picture later.
+\begin{code}
+beginfig(1);
+% ... complete drawing that needs a caption ...
+label.bot("This picture needs a label at the bottom",
+ point 1/2 of bbox currentpicture);
+endfig;
+\end{code}
+Through the automatic alignment routines in \mpl{label}, this
+will produce a label neatly centred at the bottom. If it is too close
+you can either set a larger \id{bboxmargin} or use something like:
+\begin{code}
+label.bot("This picture needs a label at the bottom",
+ point 1/2 of bbox currentpicture shifted 42 down);
+\end{code}
+Note that in both cases the addition of the label will move
+the corner points of the picture, so that the bounding box
+will have been expanded to include the new label. You can use this feature to
+add a series of centered labels.
+But if this is not what you want, perhaps because you want to add two labels
+side by side at bottom, then you can “freeze” the current bounding box like this:
+\begin{code}
+ picture bb; bb = bbox currentpicture;
+ label.bot("Left label", point 1/4 of bb);
+ label.bot("Right label", point 3/4 of bb);
+\end{code}
+
+\noindent
+The path returned by \mpl{bbox} has four points starting at the lower left and
+proceeding clockwise like a \mpl{unitsquare}.
+So \mpl{point 1/2 of bbox currentpicture} is half way between lower left and lower
+right, while \mpl{point 5/2 of bbox currentpicture} is half-way from upper right to
+upper left.
+
+Note that the path is defined even if the current picture is empty. If you call
+\mpl{bbox currentpicture} at the start of a picture you will get a square path
+centered on the origin and scaled to $2 \id{bboxmargin}$.
+
+\moveright5.5in\vbox to 0pt{\hsize 4in \vss
+\noindent
+Here is an example.
+$$\includegraphics[width=4in]{double-angle}$$
+The labels at the bottom were added like this:
+\begin{smallcode}
+label.bot("$\triangle ACD \sim \triangle ABC$",
+ point 1/2 of bbox currentpicture shifted 24 down);
+
+path bb; bb = bbox currentpicture shifted 12 down;
+label.bot(btex \vbox{....} etex, point 1/4 of bb);
+label.bot(btex \vbox{....} etex, point 3/4 of bb);
+\end{smallcode}
+The second call to \mpl{bbox currentpicture} gets the bounding box
+that includes the first centered label.}
+
+
+\newpage
+\subsection{Drawing pictures with various colours and pens}
+
+Consider the \<picture> with different colours and pens in the example here
+$\longrightarrow$
+\vadjust{\moveright5.5in\vbox to 0pt{\vskip
+-1.5\baselineskip
+\begin{smallcode}
+numeric s; s = 21;
+path alpha;
+alpha = ((-2s, s) {right}
+ .. halfcircle rotated -90 scaled 2s shifted (2s, 0)
+ .. {left} (-2s, -s)) shifted (s*left);
+
+vardef overdraw(expr a, b, r, P, shade) =
+ linecap := butt;
+ undraw subpath (a+r, b-r) of P withpen pencircle scaled 2;
+ draw subpath (a, b) of P withcolor shade;
+enddef;
+
+picture cb; cb = image(
+ draw alpha withcolor 2/3 red;
+ undraw alpha rotated 180 withpen pencircle scaled 2;
+ draw alpha rotated 180 withcolor 2/3 blue;
+ overdraw(0.21, 0.36, 0.02, alpha, 2/3 red);
+ overdraw(0.67, 0.86, 0.02, alpha, 2/3 red);
+ overdraw(3.4, 4.3, 0.1, alpha, 2/3 red);
+ overdraw(5.4, 5.6, 0.02, alpha, 2/3 red);
+ overdraw(5.4, 5.6, 0.02, alpha rotated 180, 2/3 blue);
+);
+\end{smallcode}
+
+\vskip 48pt\noindent
+\begin{minipage}{4in}
+\begin{itemize}
+ \item Example 1 shows that by default \mpl{draw} uses the colours and pens
+ defined in the picture
+
+ \item Examples 2, 3, and 4 show what happens if you change the pen, or the
+ colour, or both.
+
+ \item Example 5 shows you how to make a bagel in \MP.
+
+ \item Example 6 shows you the slightly tricky syntax to extract the paths, pens,
+ and colours from the \<picture> and adjust them as needed.
+\end{itemize}
+\end{minipage}
+\vss}}
+With this captured in a \<picture> variable, you can \mpl{draw} it with
+different colours and pens to obtain a variety of effects:
+$$\includegraphics[width=\textwidth]{draw-picture.pdf}$$
+The picture is supposed to represent a fancy knot (a “Carrick bend”), and to show
+the red and blue strands crossing each other. The \mpl{overdraw} macro tries to do
+this by undrawing with a thick pen, then redrawing the upper strand on top.
+
+\newpage
+\subsection{Simulating transparency}
+
+Filling with transparent colour can sometimes be a very effective graphic technique, but the
+underlying technical implementation is often dauntingly complex. Plain \MP\
+provides no colour model that directly supports transparency for any output format,
+so if you need it you will have to resort to layering and managing the colour
+blending yourself. This page presents an example of the basic technique, that can
+be adapted to more general purpose macros as required. The technique is included in
+this section, because it involves more manipulation of \<picture> variables.
+\vadjust{\moveright5.5in\vbox to 0pt{\vskip -128pt
+$$\includegraphics[width=3in]{fake-transparency}$$
+Omitting the simple grid, this drawing was produced like this:
+\begin{smallcode}
+% Large A
+label.urt("A" infont defaultfont scaled 8, origin) withcolor 1/4 green;
+% An arbitrary shape
+path shape; shape = (superellipse(right, up, left, down, 0.81))
+ shifted 1/2 right scaled 30 rotated 30;
+% Parameters
+alpha = 5/8; % alpha: 0=invisible, 1=opaque
+color filler; filler = .95[red,white];
+picture fg, bg;
+bg = currentpicture; % capture the current drawing
+fg = image(
+ for e within bg: % redraw everything in blended color
+ draw e withcolor alpha[colorpart e, filler];
+ endfor % and add some decorations
+ draw shape withpen pencircle scaled 2 withcolor 3/4;
+ draw subpath (2.718, 3.1415) of shape
+ shifted - center shape scaled 7/8 shifted + center shape
+ withpen pencircle scaled 2 withcolor white;
+);
+clip fg to shape; % now clip the fg drawing to the shape
+fill shape withcolor filler; % fill the shape
+draw fg; % and put the fg drawing on top
+draw shape withcolor 3/4 blue; % make a nice edge
+\end{smallcode}
+\vss}}%
+The two useful tools in the plain \MP\ kit bag are:
+\begin{itemize}
+ \item The ability to loop through all the elements of a picture
+ \item The ability to blend colours using the mediation syntax
+\end{itemize}
+The example drawing on the right consists of a regular grid and a text picture, with
+a bubble drawn over the top. The bubble can be made to look transparent like this:
+\begin{enumerate}
+ \item Define the shape that you want to be transparent, decide on how opaque
+ you want it, and the colour to use.
+ \item Capture the current drawing in a \<picture> variable.
+ \item Loop over all the elements in that picture, redrawing each one with
+ a blended color, and capture all this in another \<picture>.
+ \item Add some decoration; here there is an internal margin, and a hint of a
+ reflection line to make it look shiny.
+ \item Clip the new blended-colour picture to the shape.
+ \item Fill the shape with the filler colour.
+ \item Draw the blended-colour parts on top.
+ \item Finally, add a neat edge (if needed).
+\end{enumerate}
+As you may appreciate, with this approach, you need to do the transparent parts
+after you have drawn everything else in your drawing.
+
+\newpage
+\subsection{Adding a background and other post-processing}\label{backgrounds}
+
+The \<picture> capture technique provides a simple way to add a background or do
+other post-processing on your drawing. The advantage is that you do not have to
+work out the size of your drawing before you start.
+
+\moveright5.5in\vbox to 0pt{\vskip -43pt
+Here is an example that adds graph paper behind
+a drawing.
+$$\includegraphics{graph-paper}$$
+\begin{smallcode}
+input colorbrewer-rgb
+path C; C = fullcircle scaled 120 shifted 12 up rotated 6;
+for t=0,1.2,4: draw center C -- point t of C withcolor Blues 8 8; endfor
+draw C withcolor Reds 8 8; dotlabel.urt("Start", point 0 of C);
+
+vardef grid(expr ll, ur, grid_unit) =
+ save llx, lly, urx, ury, G; numeric llx, lly, urx, ury;
+ (llx, lly) = ll; (urx, ury) = ur;
+ picture G; G = image(
+ for x = floor(llx / grid_unit) + 1 upto floor(urx / grid_unit):
+ draw (x * grid_unit, lly) -- (x * grid_unit, ury);
+ endfor
+ for y = floor(lly / grid_unit) + 1 upto floor(ury / grid_unit):
+ draw (llx, y * grid_unit) -- (urx, y * grid_unit);
+ endfor
+ fill fullcircle; % <-- show the origin
+ ); G enddef;
+
+picture P; P = currentpicture; currentpicture := nullpicture;
+drawoptions(withpen pencircle scaled 1/4);
+draw grid(llcorner P, urcorner P, 1mm) withcolor Blues 8 1;
+draw grid(llcorner P, urcorner P, 10mm) withcolor Blues 8 2;
+drawoptions();
+draw P;
+\end{smallcode}
+\vss}
+
+\smallskip\noindent
+You could add a subtle off-white background fill like this:
+\begin{smallcode}
+picture P; P = currentpicture; fill bbox P withcolor (1,1,31/32); draw P;
+\end{smallcode}
+Or you can be more ambitious, as shown in the example on the right
+\rightarrowfill\break
+In general, you draw any background you want, like this:
+\begin{smallcode}
+picture P; P = currentpicture; currentpicture := nullpicture;
+% do complex background drawing...
+clip currentpicture to bbox P; draw P;
+\end{smallcode}
+Or you can do things like make automatic adjustments to the scale. If you wanted
+to be sure that your drawing was not more than 5 inches wide, you could try this
+just before the \mpl{endfig}:
+\begin{smallcode}
+numeric wd; wd = xpart (urcorner currentpicture
+ - llcorner currentpicture);
+if wd > 360: currentpicture := currentpicture scaled (360/wd); fi
+\end{smallcode}
+
+\bigskip\noindent
+If you wanted to apply one of these changes to all the figures in your "mpost" input file then
+you can use the hook provided by plain \MP:
+\begin{smallcode}
+extra_endfig := "picture P; P = currentpicture;" &
+ "fill bbox P withcolor (1,1,31/32); draw P;";
+\end{smallcode}
+The definition of \mpl{endfig}, includes the line \mpl{scantokens extra_endfig;} so
+that any contents of the string variable \mpl{extra_endfig} are automatically
+processed before the figure is produced.
+If you are using "luamplib" then you can use the alternative hook that it provides
+so that you do not even have to type \mpl{endfig}:
+\begin{smallcode}
+\everyendmplib{picture P; P = currentpicture;
+fill bbox P withcolor (1,1,31/32); draw P; endfig;}
+\end{smallcode}
+
+\newpage
+\subsection{Adding a ruler}
+
+\textsc{If you wish} to check the dimensions of your drawing, it can be useful to
+add a temporary ruler that shows you the dimensions of the bounding box like this:
+$$\includegraphics{icosahedron}$$
+The red rulers were added by putting \mpl{input ruler-cm} at the end of the figure.
+\vadjust{\moveright5.5in\vbox to 0pt{\vss\hsize 4in\raggedright\noindent
+Here is the implementation of "ruler.mp":
+\begin{code}
+% add a ruler along the left hand and lower edges
+% of the bounding box of the currentpicture
+path B; B = bbox currentpicture;
+for s=0, 1:
+ path p; numeric a; pair o;
+ p = subpath (0, 1) of if s=0: reverse fi B;
+ a = arclength p;
+ o = if s=0: left else: down fi;
+ for i=0 upto 3:
+ exitif not known u[i];
+ for j=0 upto floor(a/u[i]):
+ pair t; t = point arctime j*u[i] of p of p;
+ draw (origin -- (6 - 2i) * o) shifted t;
+ if i=0: label(decimal j, t shifted 12 o); fi
+ endfor
+ endfor
+ draw p;
+endfor
+\end{code}
+The inner loop draws successively shorter lines at each of the
+minor units, and numbers at the major units.
+\vss}}
+They are drawn round the bounding box, set here with the default
+margin of 2\unit{bp}.
+The "ruler-cm.mp" file looks like this:
+\begin{code}
+numeric u[]; u0 = 1 cm; u1 = 1 mm;
+drawoptions(withcolor 0.54 red);
+input ruler
+drawoptions();
+\end{code}
+and there is a companion "ruler-inch.mp" file that looks like this:
+\begin{code}
+numeric u[]; u0 = 1 in; u1 = 1/4 in; u2 = 1/12 in;
+drawoptions(withcolor 3/4 blue);
+input ruler
+drawoptions();
+\end{code}
+The idea is that you set a subscripted variable \mpl{u[]} to a number of unit sizes
+where you want markers and then call \mpl{input ruler}.
+
+
+\newpage
+\subsection{Adding a border}\label{pics-border}
+
+\textsc{In most documents} the drawings look just fine without any decoration, but sometimes
+you might want to add emphasis or pick out part of a drawing. The examples here can
+be applied to \mpl{currentpicture} or any other \<picture>
+variable.\vadjust{\moveright 396pt\vbox to 0pt{\hsize 4in\vskip -42pt
+$$\includegraphics{border.pdf}$$
+\begin{smallcode}
+% don't take this one too seriously...
+vardef rope expr c =
+save hemp, s, w, n, A, a, b;
+color hemp; hemp = 1/256 (224, 202, 169);
+numeric s, w, n, A;
+A = arclength c; s = A/floor(A/2); w = -1; n = -1;
+path a[]; for t=0 step s until A + 1: a[incr n] =
+ (0,+w) rotated angle direction arctime t-3/2s of c of c
+ shifted point arctime t-3/2s of c of c
+.. (0,+w) rotated angle direction arctime t-1/2s of c of c
+ shifted point arctime t-1/2s of c of c
+.. (0,-w) rotated angle direction arctime t+1/2s of c of c
+ shifted point arctime t+1/2s of c of c
+.. (0,-w) rotated angle direction arctime t+3/2s of c of c
+ shifted point arctime t+3/2s of c of c;
+endfor
+image(for i=1 upto n:
+ path b; b = buildcycle(a[i-1], reverse a[i]);
+ fill b withcolor hemp;
+ draw b withpen pencircle scaled 1/8;
+endfor) enddef;
+interim bboxmargin := 16;
+draw rope rounded_corners bbox currentpicture;
+\end{smallcode}\vss}}
+
+$$\vbox{\halign{$\vcenter{\hbox{\includegraphics[width=150bp]{#}}}$&\quad$\vcenter{\hbox{#}}$\cr
+border-shadow&
+\begin{smallcode}
+picture P; P = currentpicture;
+fill bbox P shifted (3,-3) withcolor 3/4;
+unfill bbox P; draw bbox P;
+draw P;
+\end{smallcode}\cr
+border-dashed&
+\begin{smallcode}
+vardef rounded_corners expr p =
+ for i=1 upto length p:
+ subpath (i-15/16, i-1/16) of p ..
+ endfor cycle
+enddef;
+
+interim bboxmargin := 16;
+draw rounded_corners bbox currentpicture
+ dashed evenly scaled 3/4;
+\end{smallcode}\cr
+}}$$
+
+\newpage
+\subsection{Adding a frame}\label{sec:pictureframe}
+
+As promised at the start of this section, here is the code for the picture
+frame drawn round Raphael's young man.
+\begin{code}
+input picture_frame
+beginfig(1);
+ picture F;
+ F = thelabel(TEX("\includegraphics{youth.jpg}"), origin);
+ draw F; draw frame bbox F;
+endfig;
+\end{code}
+All the heavy lifting is done by "frame" macro defined in
+"picture_frame.mp" $\longrightarrow$
+\vadjust{\moveright5.2in\vbox to 0pt{\hsize 4in\vskip-184pt
+\begin{smallcode}
+vardef frame expr P =
+ save base, side, f, t, u, xx;
+ picture base, side; path f; numeric t, u, xx;
+ % work out some measurements
+ t = arclength subpath (0,1) of P;
+ u = arclength subpath (1,2) of P;
+ xx = max(t, u) + 2 pf_wd;
+ f = unitsquare xscaled xx yscaled pf_wd;
+ % convenience / nonce function
+ vardef paint_strip(expr y, wd, shade) =
+ draw subpath (0, 1) of f
+ shifted (0, if y < 0: pf_wd + fi y)
+ withpen pencircle scaled wd
+ withcolor shade
+ enddef;
+ base = image(
+ % background colour
+ fill f withcolor gold;
+ % grey strips
+ paint_strip(2, 3, 5/4 grey);
+ paint_strip(3.5, 1/4, grey);
+ paint_strip(5, 1/4, 1/2[gold, dark]);
+ paint_strip(-6.5, 1/4, 1/2[gold, dark]);
+ paint_strip(-6, 1/4, 1/2[gold, dark]);
+ paint_strip(-2, 2, 5/4 grey);
+ % spatter with random spots
+ for i=0 upto 4 * arclength(subpath (0,1) of f):
+ fill fullcircle scaled uniformdeviate 3/4
+ shifted (uniformdeviate xx, uniformdeviate pf_wd)
+ withcolor dark;
+ endfor
+ % decorative balls
+ for x = 2 step 3 until xx:
+ draw ball shifted (x, 2);
+ endfor
+ );
+ % make two trapezium shapes
+ side = base;
+ clip side to (pf_wd, 0) -- (pf_wd + u, 0)
+ -- (2 pf_wd + u, pf_wd) -- (0, pf_wd) -- cycle;
+ clip base to (pf_wd, 0) -- (pf_wd + t, 0)
+ -- (2 pf_wd + t, pf_wd) -- (0, pf_wd) -- cycle;
+ % arrange the pieces around path P
+ image(
+ draw base rotated 180 shifted point 1 of P shifted (+pf_wd, 0);
+ draw base rotated 0 shifted point 3 of P shifted (-pf_wd, 0);
+ draw side rotated 90 shifted point 0 of P shifted (0, -pf_wd);
+ draw side rotated 270 shifted point 2 of P shifted (0, +pf_wd);
+ )
+enddef;
+\end{smallcode}
+\vss}}
+
+\noindent This macro also needs some colours:
+\begin{smallcode}
+color gold, dark, grey;
+gold = 1/256(243, 197, 127);
+dark = 1/256(144, 87, 50);
+grey = 1/256(156, 147, 138);
+\end{smallcode}
+a picture of a small silvery-gold ball:
+\begin{smallcode}
+picture ball; ball = image(for i=0 upto 16:
+ fill interpath(i/16,
+ fullcircle scaled 10,
+ fullcircle scaled 3 shifted (-2, 2)
+ ) withcolor (i/16)[gold, 15/16 white];
+endfor) scaled 1/4;
+\end{smallcode}
+and an internal variable that defines the width of the frame:
+\begin{smallcode}
+newinternal pf_wd; pf_wd := 21;
+\end{smallcode}
+The macro takes a rectangular path $P$ as an argument, and
+makes a thin rectangle $f$ that is scaled to the desired width and
+the longer of the two sides of the path. This thin rectangle is then
+decorated with background colour, strips of colour to suggest depth, a random
+spatter-pattern, and a row of little balls. The macro then makes two trapezium
+shaped copies of the decorated rectangle, pieces them together around $P$, and returns the result as a
+\<picture>.
+
+\newpage
+\section{Annotations}
+
+\textsc{In some awkward corners}, you may find that you just can't get your label in
+the right place with \mpl{dotlabel} even if you adjust \mpl{labeloffset}. In these
+cases there are two simple techniques you can use. First, you could separate
+drawing the dot from placing the label; given a point $P$ you can try:\mpic{0pt}{callout}
+\begin{code}
+drawdot P withpen pencircle scaled dotlabeldiam;
+label("$P$", P shifted 10 dir 68);
+\end{code}
+Using \mpl{dotlabeldiam} ensures that your dots match any others done with
+\mpl{dotlabel}.
+Secondly, if that's not enough, use a temporary pair to create a call out line:
+\begin{code}
+z0 = P + 20 dir -20;
+draw z0 -- P
+ cutafter fullcircle scaled 8 shifted P
+ withpen pencircle scaled 1/4;
+label.rt("\textit{pole}", z0);
+\end{code}
+If you want to do this sort of thing often, then it might be worth making a macro.
+It is hard to write anything completely general, but see §\ref{sec:extimage} for an
+example.
+
+\medskip\noindent
+\textsc{You might also want} to mark a straight line between two points.
+\vadjust{\moveright5.3in\vbox to 0pt{\hsize 4.2in
+\begin{smallcode}
+vardef do_brace(expr a,b,m,r) =
+ save d, e, n, bb; numeric d, n; pair e; path bb;
+ n = 1/2 m; d = angle (b-a);
+ e = up scaled m rotated d shifted r[a,b];
+ bb = ((origin {0,n} .. {right} (abs n,n))
+ rotated d shifted a --
+ ((-abs n,-n){right} .. {0,n} origin {0,-n} .. {right}(abs n,-n))
+ rotated d shifted e --
+ ((-abs n,n){right} .. {0,-n} origin)
+ rotated d shifted b
+ ) shifted (up scaled n rotated d);
+ draw bb withpen pencircle yscaled .6 xscaled .1666 rotated d;
+ point 3 of bb
+enddef;
+
+label.lrt("Here",do_brace(z1, z2, -12, 3/4));
+\end{smallcode}
+Note that, as well as drawing the braces, the macro uses the grouping provided by \mpl{vardef} to return the
+mid point so that you can put a label next to it.
+\vss}}
+The simplest way to do this is just to use \mpl{drawdblarrow} on a copy of your straight
+path shifted to one side, like so:
+\begin{code}
+drawdblarrow (z1--z2) shifted (12 up rotated angle (z2-z1));
+\end{code}
+If you combine this with temporarily setting \mpl{ahangle:=180}, you get the simple
+dimension line shown in blue.
+$$\includegraphics{braces}$$
+The red braces are a more complex variation on this theme $\longrightarrow$
+
+\newpage
+\section{Line caps and line joins}
+
+The PostScript language defines parameters that affect how the ends of each line are
+drawn and how lines are joined together. Plain \MP\ provides access to these
+parameters through internal variables called "linecap" and "linejoin"; it sets both
+of them to the value "rounded" at the start of each job.
+\mpic{0pt}{line-caps-and-joins}
+
+The figure on the right shows the affect of the different settings, using an
+exaggerated line width of 2 points (instead of the usual 0.5 points). Some
+observations
+to note:
+\begin{itemize}
+ \item When $\id{linecap}=\id{squared}$ then \kw{drawdot} produces diamond-shaped
+ dots, even when you are drawing with the default circular pen.
+
+ \item When $\id{linecap}=\id{butt}$ then \kw{drawdot} produces invisible dots.
+ They still count towards the bounding box of the picture but there's no mark
+ on the page.
+
+ \item When $\id{linecap}=\id{squared}$ then \kw{drawarrow} produces some
+ unpleasant results; even when $\id{linejoin}=\id{mitered}$, you can still
+ see small jaggies on the slopes of the arrows.
+
+ \item The arrows are nice and sharp when
+ $\id{linejoin}=\id{mitered}$, but they over shoot the mark slightly.
+
+ \item If you zoom in, you can see the effect of $\id{linejoin}$ on the corners of the grey box
+ as well as on the arrow heads, but you might not notice the difference when
+ the picture is printed unless you have a very high resolution printer.
+
+ \item
+ This drawing was done with \mpl{pencircle scaled 2}, so that the dots
+ would be easy to see. This does make the arrows drawn with the
+ default line modes (rounded caps and rounded joins) looks a bit fat;
+ they look better with the usual \mpl{pencircle scaled .5}.
+
+\end{itemize}
+
+There is one more PostScript parameter affecting line joins. \MP\ makes it available as "miterlimit"
+and it affects how much a mitered join is allowed to stick out at each corner. Plain \MP\ sets
+"miterlimit=10;" which is correct for nearly all drawings. If you set
+"miterlimit:=0;" then the mitered line join mode becomes more or less the same as the
+beveled mode.
+
+\newpage
+\section{Plotting functions}\label{func}
+
+\textsc{A selection} of graphs of mathematical functions is presented in this
+section, taken from real examples collected over several years. For data
+visualizations, see §\ref{dviz}. As ever in this document, the focus is on plain
+\MP; the plain format provides no built-in facilities for graphs so you have to do
+everything from scratch; but on the other hand there are no new macros or commands
+to learn, you get full control of what goes on the page, and you will not spend
+hours scratching your head wondering how to adjust the axis labels.
+
+\subsection{Making axes}
+
+You can start by drawing a simple set of axes.\mpic{-124pt}{plain-axes}
+\begin{smallcode}
+path xx, yy;
+xx = (left -- right) scaled 130;
+yy = (down -- up) scaled 80;
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+\end{smallcode}
+Here the axes are scaled arbitrarily to 130\,pt and 80\,pt, but you will probably
+find it useful to set consistent units, and express sizes in terms of them. Purely
+from habit, I use $u$ for the horizontal unit and $v$ for the vertical unit. This
+makes it more convenient when you want to add a grid and/or a number
+scale.\mpic{-16pt}{numbered-axes}
+
+\vskip -12pt
+\vbox to 0pt{
+\begin{smallcode}
+numeric u, v; u = 40; v = 29;
+path xx, yy;
+xx = (3/2 left -- 5 right) scaled u;
+yy = (3/2 down -- 4 up) scaled v;
+for x=-1, 1, 2, 3, 4:
+ draw yy shifted (x * u, 0) withcolor 7/8; % grid
+ draw (down--up) shifted (x * u, 0); % ticks
+ label("$" & decimal x & "$", (x * u, -8));
+endfor
+for y=-1, 1, 2, 3:
+ draw xx shifted (0, y * v) withcolor 7/8; % grid
+ draw (left--right) shifted (0, y * v); % ticks
+ label("$" & decimal y & "$", (-10, y * v));
+endfor
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+\end{smallcode}\vss}
+
+\newpage
+\subsection{Drawing linear functions}
+
+\textsc{For simple} linear graphs, you just need to define two points and draw a
+line between them; it is tempting to try to make some generalized macro to do this,
+but it is hard to make something completely general, so for most graphs it is easier
+just to specify two points and use \mpl{draw}; often it is handy to making your line
+longer than you need, then trim it using \mpl{cutbefore} and/or \mpl{cutafter} so
+that it fits neatly.
+\vadjust{\moveright 384pt\vbox to 0pt{\hsize 4in\vskip -100pt\begin{smallcode}
+numeric u, m, m', b, b';
+u = 1.44cm;
+b = 3.6u; b' = b + 1/2 u;
+m = -1; m' = 3/4 m;
+
+path xx, yy;
+xx = (left -- 5 right) scaled u;
+yy = xx rotated 90;
+
+numeric minx, maxx; path ff, gg;
+minx = xpart point 1/16 of xx;
+maxx = xpart point 15/16 of xx;
+ff = (minx, minx * m + b) -- (maxx, maxx * m + b);
+gg = (minx, minx * m' + b') -- (maxx, maxx * m' + b');
+
+z0 = point 0.4 of ff;
+z1 = point 0.54 of ff;
+z1 0 = whatever [point 0 of gg, point 1 of gg]; x1 0 = x0;
+z1 1 = whatever [point 0 of gg, point 1 of gg]; x1 1 = x1;
+
+forsuffixes @=0, 1:
+ draw (x@, 0) -- z@ -- (0, y@) dashed evenly scaled 3/4;
+ draw z@ -- z1 @ -- (0, y1 @) dashed withdots scaled 1/2;
+ label.bot("$x_{" & decimal @ & "}$", (x@, 0));
+ label.lft("$y_{" & decimal @ & "}$", (0, y@));
+ label.lft("$y'_{" & decimal @ & "}$", (0, y1 @));
+endfor
+draw ff withcolor 2/3 red;
+draw gg withcolor 3/4 blue;
+drawarrow xx; drawarrow yy;
+
+label.rt("$x$", point 1 of xx);
+label.top("$y$", point 1 of yy);
+
+dotlabel.urt("$b$", (0, b));
+dotlabel.urt("$b'$", (0, b'));
+
+draw thelabel("slope: $m=" & decimal m & "$", 7 up)
+ rotated angle (1, m) shifted point 2/3 of ff;
+draw thelabel("slope: $m'=" & decimal m' & "$", 7 up)
+ rotated angle (1, m') shifted point 2/3 of gg;
+\end{smallcode}\vss}}
+$$\includegraphics[width=0.84\textwidth]{linear-graph.pdf}$$
+But in this example it was easier to calculate them using $y=mx+b$.
+Note also that spaces are allowed in suffixes, which makes the loop a bit simpler.
+
+\newpage
+In this second example of a linear function, the emphasis of the diagram was on
+the angles at the $x$-axis made by the two lines, so the lines were defined using
+\mpl{rotated}, \mpl{shifted}, and \mpl{cutbefore} instead.
+\vadjust{\moveright 384pt\vbox to 0pt{\hsize 4in\vskip -24pt\begin{smallcode}
+path ell, tee, arc;
+ell = (left--right) scaled 10u rotated theta shifted P cutbefore xx;
+tee = (left--right) scaled 10u rotated psi shifted P cutbefore xx;
+arc = subpath (1.6, 3.2) of halfcircle rotated -180 shifted 1/2 up
+ scaled 10u shifted P rotatedabout(P, psi);
+% the rest of the points then follow...
+Q = ell intersectionpoint subpath (1.5, 3) of arc;
+H = P + whatever * dir psi;
+xpart H = xpart Q = xpart M; ypart M = ypart N = 0;
+xpart N = xpart P;
+L = point 0 of ell;
+T = point 0 of tee;
+% now get on with the drawing
+draw arc dashed withdots scaled 1/4 withcolor 1/2 red;
+draw P--N dashed withdots scaled 1/2;
+draw Q--M dashed withdots scaled 1/2;
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+drawoptions(withcolor 2/3 blue);
+draw fullcircle scaled 32 shifted T cutafter tee;
+draw fullcircle scaled 28 shifted L cutafter ell;
+label("$\psi$", 24 right rotated 1/2 psi shifted T);
+label("$\theta$", 20 right rotated 1/2 theta shifted L);
+drawoptions();
+% trim the function lines neatly
+path boundary;
+z1 = point .95 of xx;
+z2 = point .95 of yy;
+boundary = z1--(x1,y2)--z2;
+draw ell cutafter boundary;
+draw tee cutafter boundary;
+% and finally label the points.
+label.bot("$T$", T);
+label.bot("$L$", L);
+label.bot("$N$", N);
+label.bot("$M$", M);
+dotlabel.ulft("$P$", P);
+dotlabel.lrt("$Q$", Q);
+dotlabel.lrt("$H$", H);
+\end{smallcode}\vss}}
+$$\includegraphics[width=\textwidth]{angles-lines.pdf}$$
+The lines are both trimmed to a convenient path (\id{boundary}) when they are
+drawn.\vadjust{\moveright296pt\vbox to 0pt{\vskip 80pt\begin{mplibcode}beginfig(0);drawarrow
+origin {right} .. {dir 70} 42 dir 60;
+ label.lft("\small \dots continues", origin);
+endfig;\end{mplibcode}\vss}}
+
+\begin{smallcode}
+numeric u; u = 1cm;
+
+path xx, yy;
+xx = (2 left -- 10 right) scaled u;
+yy = (down -- 7 up) scaled u;
+
+numeric theta, psi; psi = 28; theta = 50;
+
+pair P, Q, H, N, M, T, L;
+P = (4u, 3u);
+\end{smallcode}
+
+
+\newpage
+\subsection{Making curves for functions with a loop}
+
+\textsc{To plot a function} you can construct a suitable path using an in-line
+\kw{for}
+loop like this:
+\begin{code}
+vardef f(expr x) = x ** 2 enddef;
+path ff;
+ff = (for x = minx step s until maxx - s:
+ (x, f(x)) ..
+ endfor (maxx, f(maxx))) xscaled u yscaled v;
+\end{code}
+provided you have first defined variables \id{minx} and \id{maxx} to represent the
+domain of $x$, and worked out appropriate values for horizontal and vertical
+units, $u$, and $v$ so that the range of $f(x)$ fits neatly on your graph.
+
+The loop
+above also uses a variable $s$ to control the number of points used to define the
+path.\mwpic{-180pt}{func-powers}
+The figures on the right show that over the domain $-3$ to $3$ a step of $\frac12$
+gives enough points for \MP's Bezier curve fitting routines to draw the functions
+$x^2$ and $x^3$ accurately, but that you need a step size of $\frac18$, and hence
+four times as many points,
+for $x^6$ and $x^7$. On modern machines it does not really hurt to calculate
+dozens of points, but a step size that generates 1000s of points will be slow to
+compile.
+
+\bigskip\noindent
+There are two other techniques to improve the shape of the curve produced by these loops: you can increase
+the tension between each point by using \mpl{...} or \mpl{--} instead of \mpl{..} in
+the loop; and
+if you know how to differentiate your function, you can add a direction at each
+step using the $\{\<pair>\}$ syntax:
+\begin{code}
+vardef f(expr x) = x ** 2 enddef;
+vardef fp(expr x) = 2x enddef; % NB "fp" because "f'" is illegal
+path ff;
+ff = (for x = minx step s until maxx - s:
+ (x, f(x)){1, fp(x)} ..
+ endfor (maxx, f(maxx))) xscaled u yscaled v;
+\end{code}
+
+\vfill
+\noindent
+\hey However in general it is simpler just to increase the number of samples by making a
+smaller step size.
+
+\newpage
+\subsection{Making curves for functions from path pieces}\label{sec:pathpieces}
+
+\textsc{In some situations}, you might find it easier to stich together various
+\<path> pieces to make your curve. This can be especially elegant if there is a
+symmetry in the path. For example:\mwpic{-48pt}{func-reflection}
+\begin{code}
+path ff, negative_ff;
+
+ff = (1,1) for x = 3/2 step 1/2 until 6: ... (x, 1/x) endfor;
+ff := reverse ff reflectedabout(origin, dir 45) & ff;
+ff := ff scaled 24;
+negative_ff = ff reflectedabout(origin, dir -45);
+
+draw ff withcolor 2/3 red;
+draw negative_ff withcolor 2/3 red;
+\end{code}
+
+\smallskip\centerline{\small (Omitting code for the axes, the grid, and the dots at
+each \mpl{point} of the paths).}
+
+\smallskip
+\noindent
+\begin{itemize}
+ \item Notice that you can update the path using the assignment operator
+ “\mpl{:=}”.
+ \item You need to \mpl{reverse} the reflected portion so that the two ends coincide.
+ \item The two path segments are spliced together with \mpl{&}. You could use
+ a path join like \mpl{..} instead, but then the joined path would have an extra
+ \mpl{point} at \mpl{(1,1)}.
+ \item Notice also how the vertical part has the same equal spacing of points as
+ the more horizontal part.
+\end{itemize}
+
+Reflection of a function in the line at 45° gives the inverse of the function, which
+is especially useful for $y=1/x$, but it applies to functions generally. So if you want to
+plot $y=\sqrt x$ it may be easier to define a path for $y=x^2$ and then reflect it.
+This is particularly useful if you want to plot, say, $y=\sqrt[3]x$, over a domain
+that includes negative numbers, because \MP\ will not calculate reciprocal powers of
+negative numbers.\mwpic{-60pt}{func-cuberoot}
+The curve in this chart was created by reflecting the line $y=x^3$.
+
+\newpage
+\subsubsection{Exponential and logarithm functions by reflection}
+
+\textsc{A further example} of creating paths by
+transformation.\mpic{-36pt}{func-exponential}
+\begin{smallcode}
+numeric u; u = 42;
+path xx, yy;
+xx = (-3u, 0) -- (5u, 0);
+yy = xx rotated 90;
+path ee, ll, nn;
+numeric minx, maxx, s;
+minx = -3; maxx = 1/256 mlog(4.5); s = 1/4;
+ee = (for x = minx step s until maxx - s:
+ (x, mexp(256x)){1, mexp(256x)} ...
+endfor (maxx, mexp(256 maxx)){1, mexp(256 maxx)}) scaled u;
+ll = ee reflectedabout(origin, dir 45);
+nn = (for x=1 step s until 4-s: (x, 1/x) ... endfor (4, 1/4)) scaled u;
+nn := reverse nn reflectedabout(origin, dir 45) & nn;
+
+draw unitsquare xscaled mexp(256) scaled u withcolor 7/8;
+draw unitsquare yscaled mexp(256) scaled u withcolor 7/8;
+path T[];
+numeric p; p = directiontime dir 45 of ee;
+T1 = (precontrol p of ee -- postcontrol p of ee)
+ shifted - point p of ee scaled 1/2 u shifted point p of ee;
+T2 = (precontrol p of ll -- postcontrol p of ll)
+ shifted - point p of ll scaled 1/2 u shifted point p of ll;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw T1; draw T2; draw interpath(1/2, T1, T2) dashed evenly;
+drawoptions();
+
+draw nn; label.urt("$1/x$", point 0 of nn);
+draw ee withcolor 2/3 blue; label.top("$e^x$", point infinity of ee);
+draw ll withcolor 3/4 red; label.top("$\ln(x)$", point infinity of ll);
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+dotlabel.lft("$e$", (0, mexp(256) * u));
+dotlabel.bot("$e$", (mexp(256) * u, 0));
+dotlabel.ulft("$1$", (0, u));
+dotlabel.lrt("$1$", (u, 0));
+\end{smallcode}
+\moveright6in\vbox to 0pt{\vss\noindent
+If you prefer more ‘normal’ functions, you can define:
+\begin{smallcode}
+vardef exp(expr x) = mexp(256x) enddef;
+vardef log(expr x) = 1/256 mlog(x) enddef;
+\end{smallcode}}
+
+\newpage
+\subsection{Functions using trigonometric functions}
+
+\textsc{As noted} in §\ref{trig}, \MP’s built-in trigonometric functions work in
+degrees, this example shows how you might use them in a graph.%
+\vadjust{\moveright5in\vbox to 0pt{\vskip-24pt\begin{code}
+ numeric u, pi; u = 50; pi = 3.141592653589793;
+
+ path xx, yy;
+ xx = (3.5 left -- 3.6 right) scaled u;
+ yy = (1.1 down -- 1.2 up) scaled u;
+
+ path ss;
+ ss = origin for t=1 upto 360: -- (t, sind(t)) endfor;
+ ss := ss shifted 360 left & ss;
+ ss := ss xscaled (pi/180) scaled u;
+
+ draw ss cutbefore yy shifted point 0 of xx
+ cutafter yy shifted point 1 of xx
+ withcolor 3/4 blue;
+ draw ss shifted (-1/2 pi * u ,0)
+ cutbefore yy shifted point 0 of xx
+ cutafter yy shifted point 1 of xx
+ withcolor 2/3 red;
+
+ drawoptions(dashed withdots scaled 1/4);
+ draw ((1/4 pi, 0) .. (1/4 pi, sind(45))) scaled u;
+ draw ((1/2 pi, 0) .. (1/2 pi, sind(90))) scaled u;
+ draw ((3/4 pi, 0) .. (3/4 pi, sind(135))) scaled u;
+ drawoptions();
+
+ drawarrow xx; label.rt("$t$", point 1 of xx);
+ drawarrow yy; label.top("$u(t)$", point 1 of yy);
+
+ for i=-4, -3, -2, -1, 1, 2, 3, 4:
+ draw (down--up) scaled 2 shifted (pi * i/4 * u, 0);
+ label.bot(pi_quarters(i), (pi * i/4 * u, -2));
+ endfor
+\end{code}\vss}}
+$$\includegraphics[width=\textwidth]{func-sines}$$
+
+For this diagram, the sine wave path ("ss", shown in \blue{blue})
+needs to have two complete cycles, so it is constructed in stages. First the
+section from the origin to $2\pi$ is created in a loop; with 360 steps, you can use
+\mpl{--} and still get a smooth path. Secondly the cycle is duplicated by splicing
+itself to a shifted copy. Thirdly it is $x$-scaled to radians, and then scaled in both
+directions to the chosen unit size, and drawn chopped off to the width of
+the $x$-axis. The cosine path is the same path, shifted $\frac12\pi$ left,
+drawn in \red{red}, and chopped off to fit the same width.
+
+The fancy fraction labels were produced with this subroutine:
+\begin{smallcode}
+vardef pi_quarters(expr n) =
+ save s, f, q; string s, f; numeric q;
+ s = if n < 0: "-" else: "" fi; q = abs(n);
+ if q mod 4 = 0:
+ f = if q > 4: decimal 1/4 q else: "" fi;
+ elseif q mod 2 = 0:
+ f = "\frac{" & decimal 1/2 q & "}{2}";
+ else:
+ f = "\frac{" & decimal q & "}{4}";
+ fi
+ "$\scriptstyle" & s & f & "\pi$"
+enddef;
+\end{smallcode}
+
+\newpage
+\subsection{Manipulating functions}
+
+\textsc{This second example} with trigonometric functions shows one way to add
+two functions, by combining the \MP\ paths themselves.%
+\vadjust{\moveright5in\vbox to 0pt{\vskip-24pt\begin{code}
+ numeric u, pi; u = 50; pi = 3.141592653589793;
+
+ path xx, yy;
+ xx = (3.5 left -- 4 right) scaled u;
+ yy = (1.2 down -- 1.3 up) scaled u;
+
+ path ss, tt, uu;
+ ss = origin for x=1 upto 360: -- (x, sind(x)) endfor;
+ tt = origin for x=1 upto 360: -- (x, 1/2 sind(3x)) endfor;
+ uu = origin for x=1 upto 360: --
+ (x, ypart point x of ss + ypart point x of tt) endfor;
+
+ forsuffixes $=ss, tt, uu:
+ $ := $ shifted 360 left & $;
+ $ := $ xscaled (pi/180) scaled u;
+ $ := $ cutbefore yy shifted point 0 of xx
+ cutafter yy shifted point 1 of xx;
+ endfor
+
+ draw ss withcolor 1/2[blue, white];
+ draw tt withcolor 1/2[red, white];
+ draw uu withcolor 1/4 green;
+
+ label.top("$f(x)=sin(x)$", point 290 of ss);
+ label.bot("$g(x)=\frac12 sin(3x)$", point 295 of tt);
+ label.urt("$f(x) + g(x)$", point 350 of uu);
+
+ drawarrow xx; label.rt("$x$", point 1 of xx);
+ drawarrow yy; label.top("$y$", point 1 of yy);
+
+ for i=-6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7:
+ draw (down--up) scaled 2 shifted (pi * i/6 * u, 0);
+ label.bot(pi_sixths(i), (pi * i/6 * u, -2));
+ endfor
+\end{code}\vss}}
+$$\includegraphics[width=\textwidth]{func-addition-of-sines}$$
+Notice how the same extension, scaling, and trimming operations
+can be applied to all three paths using a \mpl{forsuffixes} loop.
+Note that you can use any regular variable name for the loop index;
+you don't have to use \mpl{$}, but like \mpl{@} it is a
+valid variable name in \MP, and it looks a bit like a placeholder marker in other
+languages.
+
+Note that you need to start with the first point of the path outside the loop
+so that you don't end up with a dangling \mpl{--} path connector. Using
+\mpl{origin} is just a short cut for writing \mpl{(0, sind(0))}. If you were
+plotting a different function this would not work. For example, \mpl{(0, cosd(0))}
+is \mpl{(0,1)}.
+
+\bigskip\noindent
+\hey The missing \mpl{pi_sixths} macro is left as an exercise for the reader.
+Hint: you can adapt the \mpl{pi_quarters} on the previous page, allowing for halves,
+thirds, and sixths instead of halves and quarters.
+\newpage
+\subsection{Focus on a specific region of a function}
+
+\textsc{This visual proof} required a large $y$-axis scale.\mwpic{-24pt}{func-epi-v-pie}
+The axes are separated to show the
+discontinuity in scales, and that the origin is not on the chart.\enlargethispage\baselineskip
+
+\begin{smallcode}[xleftmargin=0pt]
+numeric minx, maxx, s, u, v;
+minx = 13/8; s = 1/16; maxx = 19/4; u = 89; v = 3072;
+
+def f(expr x) = 1/256 mlog(x) / x enddef;
+path ff, xx, yy;
+ff = for x=minx step s until maxx-s: (x, f(x)) .. endfor (maxx, f(maxx));
+ff := ff xscaled u yscaled v;
+xx = origin -- right scaled (maxx-minx) scaled u;
+yy = origin -- up scaled 0.09v;
+xx := xx shifted point 0 of ff shifted 20 down;
+yy := yy shifted point 0 of ff shifted 20 left;
+
+numeric pi, e, fpi, fe;
+pi = 3.141592653589793 u; fpi = f(3.141592653589793) * v;
+e = 2.718281828459045 u; fe = f(2.718281828459045) * v;
+path ee, pp;
+ee = (e, ypart point 0 of xx) -- (e, fe) -- (xpart point 0 of yy, fe);
+pp = (pi, ypart point 0 of xx) -- (pi, fpi) -- (xpart point 0 of yy, fpi);
+
+draw ee dashed withdots scaled 1/4 withcolor 2/3 red;
+draw pp dashed withdots scaled 1/2 withcolor 2/3 red;
+draw ff withcolor 3/4 blue;
+
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+for x=2 upto 4:
+ draw (down--up) scaled 2 shifted (x * u, ypart point 0 of xx);
+ label.bot("$" & decimal x & "$", (x * u, ypart point 0 of xx - 2));
+endfor
+for y=31 upto 38:
+ draw (left--right) scaled 2 shifted (xpart point 0 of yy, y/100*v);
+endfor
+for y=32, 35, 38:
+ label.lft("$" & decimal (y/100) & "$", (xpart point 0 of yy-2, y/100*v));
+endfor
+\end{smallcode}
+
+\moveright384pt\vbox to 0pt{\vss\hsize 4in\begin{smallcode}
+drawoptions(withcolor 1/2 red);
+label.bot("$e$", point 0 of ee shifted 4 down);
+label.lft("$1/e$", point 2 of ee shifted 2 left);
+
+label.bot("$\pi$", point 0 of pp shifted 4 down);
+label.lft("$\ln\pi/\pi$", point 2 of pp shifted 2 left);
+
+drawoptions(withcolor 2/3 blue);
+label.urt("$\displaystyle y={\ln x\over x}$", point 42 of ff);
+
+drawoptions();
+label("\dots\ hence\enspace $e^\pi > \pi^e$.", (4u, 0.38v));
+\end{smallcode}}
+
+\newpage
+\subsection{Approximate function diagrams}
+
+\textsc{Sometimes} you may need to plot a function that does not have a simple
+mathematical definition. You can use \MP’s normal path definitions to make a likely
+looking approximation.\mwpic{-48pt}{func-stress}
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-140pt]
+z1 = 377 right; z2 = 233 up;
+path ff; ff = origin .. (72, 144){1,2} .. (84, 144) .. (96, 144){1,1}
+ .. (220, 220){right} .. (370, 160){2,-1.3};
+
+for t=2, 4, 4.9:
+ draw point t of ff -- (xpart point t of ff, y2 + 6)
+ dashed evenly scaled 1/2;
+endfor
+label.top("Strain hardening",
+ (1/2 (xpart point 2 of ff + xpart point 4 of ff), y2));
+label.top("Necking",
+ (1/2 (xpart point 4 of ff + xpart point 4.9 of ff), y2));
+
+path rr;
+rr = point 0.4 of ff -- (xpart point 0.8 of ff, ypart point 0.4 of ff) -- point 0.8 of ff;
+draw rr; label.bot("Run", point 1/2 of rr); label.rt("Rise", point 3/2 of rr);
+
+vardef pin_label@#(expr p, a, b)=
+ draw a -- b cutbefore fullcircle scaled 8 shifted a withpen pencircle scaled 1/4 withcolor 1/2 white;
+ label@#(p, b);
+enddef;
+pin_label.lrt("Yield strength", point 1.2 of ff, point 2 of ff + (8, -18));
+pin_label.bot("Ultimate strength", point 4 of ff, point 4 of ff + (4, -24));
+pin_label.bot("Fracture", point 5 of ff, point 5 of ff + (-8, -18));
+
+draw ff withpen pencircle scaled 1 withcolor 2/3 blue;
+clip currentpicture to unitsquare scaled 400; % clip thick pen at origin
+
+drawdblarrow z1 -- origin -- z2;
+label.ulft("Strain, $\epsilon$", z1);
+label.urt("Stress, $\sigma$", z2);
+
+label("$\displaystyle\hbox{Young's modulus} = \hbox{Slope} = {\hbox{Rise}\over\hbox{Run}}$",
+ 1/2 z1 shifted 36 up) withcolor 2/3 blue;
+\end{smallcode}
+
+\newpage
+\subsubsection{Taming Bezier paths with controls}
+
+\textsc{It takes some} practice to translate a sketch of a curve into a smooth
+path. Plain \MP\ inherits from \MF\ a useful \id{flex} macro, that takes a list of \<pair>s
+(any number of them) and produces a pleasing path through them. As Knuth says in the
+\mfbook:
+“The idea is to specify two endpoints, $z_1$ and $z_n$, together with
+one or more intermediate points where the path is traveling in the
+same direction as the straight line from $z_1$ to~$z_n$; these
+intermediate points are easy to see on a typical curve, so they
+are natural candidates for key points.” For example:
+\begin{code}
+draw flex(z1,z2,z3) & flex(z3,z4,z5)
+flex(z5,z6,z7) & flex(z7,z8,z9,z1) & cycle;
+\end{code}
+(with appropriate definitions of the points), produces this:
+\lower 12pt\hbox{\smash{\begin{mplibcode}
+beginfig(0);
+z1=(0,509);
+z2=(-14,492);
+z3=(-32,481);
+z4=(-42,455);
+z5=(-62,430);
+z6=(-20,450);
+z7=(42,448);
+z8=(38,465);
+z9=(4,493);
+ draw flex(z1,z2,z3) & flex(z3,z4,z5) &
+flex(z5,z6,z7) & flex(z7,z8,z9,z1) & cycle;
+ for i=1 upto 9: draw z[i] withpen pencircle scaled 2 withcolor red; endfor
+ currentpicture := currentpicture scaled 0.7071 rotatedabout(z3, -20);
+endfig;
+\end{mplibcode}}}
+
+\bigskip\noindent
+\textsc{Another approach} is just to define the end-points and some control points,
+and then define a path that is shaped by the control points but does not actually go
+through them. Consider this program:\mwpic{-20pt}{func-pulse}
+\begin{code}
+vardef pulse(expr w, h, d) =
+for i=0 upto 4: x[i] = w/4 * i; endfor
+ y0 = y1 = 0;
+ y3 = y4 = d;
+ y2 = h;
+ z0 .. 1/2[z0, z1] .. controls z1
+ .. 1/2[z1, z2] .. controls z2
+ .. 1/2[z2, z3] .. controls z3
+ .. 1/2[z3, z4] .. z4
+enddef;
+draw pulse(300, 100, -40);
+\end{code}
+This produces the smooth blue line shown on the right. A second copy of the line is
+shown below, decorated with the three control points $z_1$, $z_2$, and $z_3$ in red,
+and showing the six points of the path as small black circles. You can tweak this
+curve by adjusting the controls left or right, or changing the mediation parameters
+so that the points on the path are closer to one control point than the other.
+
+\newpage
+\subsection{Parametric plots}
+
+\textsc{If you want to plot} one function against another, then you can make each
+coordinate a function of an independent variable. All functions can be converted,
+trivially, to this form:
+\begin{code}
+vardef f(expr x) = x enddef;
+vardef g(expr x) = sind(x) enddef; % or whatever function ...
+path ff; ff = for t = mint step s until maxt - s:
+ (f(t), g(t)) ..
+endfor (f(maxt), g(maxt));
+\end{code}
+But you can make more complicated curves, for example curves
+that can have more than one value for $y$ for a given $x$, if you change $f(x)$ and
+$g(x)$ appropriately.
+The first example\mwpic{-24pt}{func-lemniscate} shows the lemniscate of Bernoulli
+and was drawn like this:
+\begin{smallcode}
+numeric a, c; c = 128; a = sqrt(2) * c;
+vardef f(expr x) = a * cosd(x) / (1 + sind(x) ** 2) enddef;
+vardef g(expr x) = f(x) * sind(x) enddef;
+numeric mint, maxt, s; mint = 0; s = 30; maxt = 360;
+path p;
+p = for t = mint step s until maxt - s:
+ (f(t), g(t)) ...
+endfor cycle;
+draw p withcolor 3/4 blue;
+path xx, yy;
+xx = (left -- right) scaled 200;
+yy = (down -- up) scaled 64;
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+dotlabel.bot("$F_1$", c * left);
+dotlabel.bot("$F_2$", c * right);
+\end{smallcode}
+Although sometimes, especially when you know the domain is 0° to 360° and that the
+path is cyclic, it is simpler to write the two expressions directly in the
+loop:\mwpic{-108pt}{func-parametric}
+\begin{smallcode}
+path p;
+p = for t = 0 upto 360: (144 cosd(3t), 89 sind(2t)) ... endfor cycle;
+draw p withcolor 2/3 red;
+\end{smallcode}
+which produces this Lissajous curve $\longrightarrow$
+\newpage
+\subsubsection{Parametric plots with polar coordinates: Maurer roses}
+
+\textsc{Instead of} defining separate functions for the $x$ and $y$ coordinates in a
+parametric plot, it is sometimes convenient to use \MP’s polar coordinate notation (discussed in
+§\ref{polar}). The family of “rose” plots, based on $r=\cos(n\theta)$, is easy to
+do in this way. Here is a Maurer rose, based on $r=\cos(2\theta)$ and connecting
+every 29th point on the curve.\mpic{-24pt}{func-maurer-rose}
+
+\begin{code}
+ numeric n; n = 2;
+ path r; r = (for t=0 upto 360:
+ cosd(n * t) * dir t ...
+ endfor cycle) scaled 150;
+
+ numeric d; d = 29;
+ path k; k = for t = 0 upto 360:
+ point d * t mod 360 of r --
+ endfor cycle;
+
+ draw k dashed withdots scaled 1/8
+ withpen pencircle scaled 1/4
+ withcolor 1/2[blue, white];
+
+ draw r withcolor 2/3 red;
+
+ path xx, yy; % you might not need the axes...
+ xx = (left -- right) scaled 160;
+ yy = (down -- up) scaled 160;
+ drawarrow xx; label.rt("$x$", point 1 of xx);
+ drawarrow yy; label.top("$y$", point 1 of yy);
+\end{code}
+Different values of $n$ and $d$ give an endless variety of patterns. But note that if
+your choice of $d$ exceeds $2^{15}/360 \simeq 91$ you will need to use
+"-numbersystem=double" to avoid arithmetic overflow.
+
+\newpage
+\section{Drawing plane curves}
+
+{\textsc{“Plane curves offer} a rich \dots\ field of study which may be approached
+from a quite elementary level. Anyone who can draw a circle with a given centre and
+a given radius can draw a cardioid or a limaçon. Anyone who can use a set square
+can draw a parabola or a strophoid” \hfill — \textsl{A Book of Curves}, E.\@ H.\@
+Lockwood\parfillskip0pt\par}
+
+\subsection{Parabola}
+
+\textsc{The simplest way} to get a parabola curve is to plot $y=x^2$ over $-1 \le x
+\le 1$ and then transform as required (see next page), but it can be illuminating to follow more
+traditional constructions, such as that shown on the
+right.\mwpic{-180pt}{curves-parabola}
+\vadjust{\moveright7.2in\vbox to 0pt{\hsize 200pt\noindent
+The idea here is that you put the right angle of your set square on the vertical
+axis with the short side touching $S$, and then draw the long side. If you do this
+in enough places, the edges form a parabola. In the \MP\ code here, the intersection
+of each ray with the one before is captured as variable $t$ and then added one at a
+time to the \<path> \id{parabola}, (using a neat trick at the beginning).
+\vss}}
+\begin{smallcode}[xleftmargin=0pt]
+pair A, S; A = origin; S = 66 right;
+path parabola, last;
+for q = -144 step 8 until 144:
+ pair Q; Q = (0, q);
+ path ray;
+ ray = (origin -- unitvector(S - Q)) scaled 300
+ rotated if q < 0: - fi 90 shifted Q;
+ draw S -- ray withcolor 7/8;
+ if known last:
+ pair t;
+ t = whatever[point 0 of ray, point 1 of ray]
+ = whatever[point 0 of last, point 1 of last];
+ parabola := if known parabola: parabola .. fi t;
+ fi
+ last := ray;
+endfor
+
+draw parabola withcolor 3/4[red, white];
+for t=0 upto length parabola:
+ draw point t of parabola withpen pencircle scaled 3/2 withcolor red;
+endfor
+draw (up--down) scaled 300;
+
+dotlabel.lft("$A$", A);
+dotlabel.rt("$S$", S);
+\end{smallcode}
+
+\newpage
+\subsubsection{Parabola from directrix and focus}
+
+\textsc{The classical definition} of the parabola is the locus of points that are
+equidistant from a given line (the \textit{directrix}, shown as $A\to B$ on the
+right) to a given focus point (shown as $S$).\mpic{-24pt}{curves-parabola-directrix}
+Each point on the parabola path is related to each point, and you can construct an
+equilateral parallelogram at each point as shown. This leads to a macro that
+generates a parabola given two \<pair> variables to define the directrix and another
+to define the focus:
+\begin{code}
+vardef parabola(expr A, B, S) =
+ save m, q, n, parabola;
+ pair n; % n = nearest point to S on A--B
+ n = whatever[A, B]; n - S = whatever * (A-B) rotated 90;
+ path parabola;
+ for t=0 step 1/64 until 1:
+ pair m, q;
+ m = 1/2[S, t[A, B]];
+ q = whatever[S, n];
+ q - m = whatever * (S - m) rotated 90;
+ parabola := if known parabola: parabola -- fi
+ q reflectedabout(S, m);
+ endfor
+ parabola
+enddef;
+
+\end{code}
+
+\subsubsection{Parabola from $y=x^2$ and $dy/dx=2x$}
+
+Alternatively you could define a “unit parabola” like this:
+\begin{code}
+path ff; ff = (-1, 1){1, -2} .. (-1/2, 1/4){1, -1} ..
+ (0, 0){right} .. (1/2, 1/4){1, 1} .. (1, 1){1, 2};
+\end{code}
+and then — using the points defined above, where $o$ is the mid-point of $n\to S$ — scale it and place it like this:
+\begin{code}
+draw ff scaled 4 abs(S-o) rotated angle (B-A) shifted o;
+\end{code}
+
+\newpage
+\subsection{Hyperbola}
+
+\textsc{The traditional construction} for the hyperbola is identical to the
+construction for the parabola given above, except that the base line is a circle
+rather than a straight line.\mwpic{-48pt}{curves-hyperbola-construction}
+As a result, the shape of the curve changes depending on the radius of the base
+circle, unlike the parabola. The curve is bounded by the two asymptotes, which are
+the lines from the centre of the circle $O$ through the tangent points from the focus
+$S$. When the ratio of $OS/OA = \sqrt2$, the asymptotes are at right angles.
+
+You can also draw the hyperbola as the function $y=1/x$ (as shown in
+§\ref{sec:pathpieces}), which can be transformed to any desired shape.
+The untransformed function is shown on the bottom left, with the focus $S$
+at the point $(\sqrt2, \sqrt2)$. If the desired angle between the asymptotes is
+$2\alpha$, the transformation can be created like this:
+\begin{code}
+numeric alpha; alpha = 34; transform t;
+origin transformed t = origin;
+right transformed t = dir -alpha;
+up transformed t = dir alpha;
+\end{code}
+This can be applied to the hyperbola curve itself and to the axes. But the focus
+will remain at the same distance from the origin, as shown below right.
+$$\includegraphics[width=0.9\textwidth]{curves-hyperbola-function}$$
+
+\newpage
+\subsection{Ellipse}
+
+\textsc{You can draw an ellipse} in \MP\ by scaling the standard \mpl{fullcircle}
+path by a different amount in each direction. By convention, the $y$-axis is the
+minor axis of an ellipse.\mwpic{-24pt}{curves-ellipse}
+The ellipse shown on the right, was defined like this:
+\begin{code}
+path ellipse;
+ellipse = fullcircle scaled 320 yscaled 5/8 rotated 13;
+\end{code}
+Then the lengths of the semi-major axes, $a$ and $b$, were extracted like this:
+\begin{code}
+numeric a, b;
+2a = abs (point 4 of ellipse - point 0 of ellipse);
+2b = abs (point 6 of ellipse - point 2 of ellipse);
+\end{code}
+If you already had $a$ and $b$, then you could use them directly to scale your
+ellipse; the following snippet would produce the same elliptical path:
+\begin{code}
+numeric a, b; a = 160; b = 100; path ellipse;
+ellipse = fullcircle xscaled 2a yscaled 2b rotated 13;
+\end{code}
+
+\bigskip\noindent
+The “eccentricity”, $e$, of the ellipse is the ratio between the distance from the centre
+to each focus and the semi-major axis, $a$. By definition, the distance from $F_1$
+to $T$ to $F_2$ is constant as $T$ moves round the ellipse and is equal to $2a$.
+Hence when $T$ lies on the minor axis, you have $TF_1=a$, and so $a^2 = b^2 +
+a^2e^2$, and $e^2=1-b^2/a^2$:
+\begin{code}
+numeric e; e = 1 +-+ b/a; % the Pythagorean difference operator
+\end{code}
+The focus points can then be found like this:
+\begin{code}
+z0 = 1/2[point 0 of ellipse, point 4 of ellipse];
+z1 = e[z0, point 0 of ellipse];
+z2 = e[z0, point 4 of ellipse];
+\end{code}
+\vfill
+\moveright 384pt\vbox to 0pt{\vss
+The tangent and the normal at $T$ were added like this:
+\begin{code}
+numeric t; t = 1.732;
+draw (left--right) scaled 21
+ rotated angle direction t of ellipse
+ shifted point t of ellipse;
+draw (1/2 down--up) scaled 21
+ rotated angle direction t of ellipse
+ shifted point t of ellipse;
+\end{code}}
+\newpage
+\subsubsection{Tangent from external point to ellipse}
+
+$$\includegraphics[width=\textwidth]{curves-ellipse-tangents}$$
+To find the tangent points from an external point $A$ to an ellipse, the classical
+construction is to draw an arc centred at $A$ through one focus point, then draw a
+second arc centred at the other focus with radius $2a$. The intersection points,
+$P$ and $Q$, of these two arcs are the images of the first focus point in the
+required tangents (because $F_2TF_1=2a$ by definition, and $F_2P=2a$ by
+construction), and so the tangent points $T$ and $T'$ are the intersections of
+$F_2P$ and $F_2Q$ with the ellipse.
+
+\vfill\noindent
+There is no such direct construction for the nearest point on an ellipse to a given
+point, but you can use the macro \id{solve} to find it numerically. The blue arrow
+shows the shortest distance from $A$ to the ellipse.
+\vadjust{\moveright 384pt\vbox to 0pt{\vss
+\begin{smallcode}
+secondarydef a through b =
+ begingroup; save d; numeric d; d = abs(a-b);
+ (1+12/d)[b,a]--(1+12/d)[a,b] endgroup
+enddef;
+path ellipse; ellipse = fullcircle scaled 300 yscaled 5/8 rotated 13;
+z0 = 1/2[point 4 of ellipse, point 0 of ellipse];
+numeric a, b, e;
+2a = abs (point 4 of ellipse - point 0 of ellipse);
+2b = abs (point 6 of ellipse - point 2 of ellipse);
+e = 1 +-+ b/a;
+z1 = e[z0, point 0 of ellipse];
+z2 = e[z0, point 4 of ellipse];
+z3 = 240 dir 25;
+path pp, qq;
+pp = fullcircle scaled 2 abs (z1 - z3) shifted z3;
+qq = fullcircle scaled 4a shifted z2;
+z4 = pp intersectionpoint qq;
+z5 = reverse pp intersectionpoint qq;
+numeric t, u;
+(t, whatever) = ellipse intersectiontimes (z2 -- z4);
+(u, whatever) = ellipse intersectiontimes (z2 -- z5);
+vardef f(expr x) =
+ angle (z3 - point x of ellipse) + 90 > angle direction x of ellipse
+enddef;
+drawarrow z3 -- point solve f(0, t) of ellipse withcolor 2/3 blue;
+drawoptions(dashed evenly withcolor 7/8);
+draw point 0 of ellipse through point 4 of ellipse;
+draw point 2 of ellipse through point 6 of ellipse;
+drawoptions(withcolor 3/4);
+draw z4 -- z1 -- z5;
+draw z2 -- z4 -- z3 -- z5 -- cycle;
+draw point t of ellipse -- z1 -- point u of ellipse;
+drawoptions();
+draw point t of ellipse -- z3 -- point u of ellipse withcolor 2/3 red;
+dotlabel.llft("$F_1$", z1); dotlabel.llft("$F_2$", z2);
+dotlabel.urt("$A$", z3);
+dotlabel.ulft("$P$", z4); dotlabel.lrt ("$Q$", z5);
+dotlabel.ulft("$T$", point t of ellipse);
+dotlabel.lrt("$T'$", point u of ellipse);
+draw ellipse;
+picture P; P = currentpicture; currentpicture := nullpicture;
+draw pp dashed withdots scaled 1/2;
+draw qq dashed withdots scaled 1/2;
+bboxmargin := 24; clip currentpicture to bbox P; draw P;
+\end{smallcode}
+\vskip -48pt}}
+
+\newpage
+\subsection{Cardioid}
+
+\textsc{To draw a cardioid by hand}, you can draw a base circle, mark a fixed point $A$ on it, and
+then draw a circle centred at any point $Q$ on the circle that passes through point
+$A$. If you then repeat this for many different positions of Q, the cardioid is the
+curve that encloses all the circles.\mpic{-24pt}{curves-cardioid-simple}
+But for \MP, you want only a single point $P$ from the circumference of each circle;
+this turns out to be the image of $A$ reflected in the tangent at each point $Q$, like so:
+$$\includegraphics[width=0.7\textwidth]{curves-cardioid-construction}$$
+\vskip -84pt\noindent
+With a small step size $s$ and a base circle \id{base}, this suggests: \begin{smallcode}
+pair A; A = point 0 of base;
+path cardioid; cardioid = for t = 0 step s until length base:
+ A reflectedabout(precontrol t of base, postcontrol t of base) ..
+endfor cycle;
+\end{smallcode}
+You can also show that $AP=2a(1+\cos\theta)$, where $a$ is the radius of the
+base circle and $\theta$ is the angle that $AP$ makes with the diameter through
+$A$, so you might use:
+\begin{smallcode}
+cardioid = for t=0 upto 360: 2a * (1+cosd(t)) * dir t .. endfor cycle;
+\end{smallcode}
+
+\newpage
+\subsection{Limaçon}
+
+\textsc{The limaçon can be seen} as a generalization of the cardioid, obtained by
+moving point $A$ off the base circle.
+\vadjust{\moveright356pt\vbox to 0pt{\vskip -20pt\noindent
+\rlap{\includegraphics[scale=0.833]{curves-limacon-simple}}\vss}}
+Here $A$ has been moved to the left, but each $P$ on the curve is still $A$
+reflected in the tangent at each $Q$. The “hole” gets larger as $A$ moves away from
+the \id{base} circle; when $A$ touches the \id{base} the hole disappears and the
+curve becomes the cardioid, as before.
+
+Following this ruler-and-compasses approach, the red limaçon path in the figure here
+was generated from the \id{base} circle shown in blue.
+\begin{smallcode}
+pair A; A = 2[center base, point 0 of base];
+path limacon; limacon = for t = 0 step s until length base:
+ A reflectedabout(precontrol t of base, postcontrol t of base) ..
+endfor cycle;
+\end{smallcode}
+Or if you prefer a more trigonometrical approach:
+\begin{smallcode}
+limacon = for t=0 upto 359: 2a*(1+2cosd(t))*dir t .. endfor cycle;
+\end{smallcode}
+Here $2a$ is the diameter of the blue \id{base} circle. Note that if you use
+\mpl{sind}\\ instead of \mpl{cosd} you get the same curve rotated $90^\circ$.
+
+\vfill
+\noindent
+An alternative approach (due to Albrecht Dürer) is shown below. In this dia-
+\par\kern 2pt
+\vbox{\halign{#&\quad\vbox{\hsize=2.4in\noindent #}\cr
+$$\includegraphics{curves-limacon-durer}$$
+&gram the base circle is divided into 12 parts like a
+clock face. At 1 o’clock, you draw a line segment of a given
+length parallel to the radius to 2 o’clock; at 2 you draw the same length
+segment parallel to 4 o’clock, and so on. The limaçon is the curve through
+the far ends of each segment (plus any intermediate points required).
+This approach of doubling the angles makes it more obvious that the limaçon goes round twice, as it
+were. The path was generated like this: \cr}}
+\smallskip
+\begin{smallcode}
+limacon = for t=0 upto length base-1:
+ 42 dir angle point 2t of base shifted point t of base ..
+endfor cycle;
+\end{smallcode}
+
+\newpage
+\subsection{Astroid}
+
+\textsc{Readers of a certain age} may recall threading strings between
+pegs on a board to make the astroid. It is the envelope of a line of a given
+length drawn from $x$-axis to $y$-axis at all possible points.\mpic{-24pt}{curves-astroid}
+In \MP\ the simplest way to draw the astroid curve (and the “strings”) is to use a
+base circle and the points $A$ and $B$ at the ends of each line that have the $x$
+part and $y$ part of each point $T$ round the base circle.
+$$\includegraphics[scale=0.8]{curves-astroid-construction}$$
+Then the point $P$ on $A \to B$ that is closest to $T$ will lie on the astroid, so you
+can make the path with:
+\begin{smallcode}
+path astroid; astroid = for t=0 step 1/16 until 8:
+ hide(pair a, b, p;
+ a = (xpart point t of base, 0); b = (0, ypart point t of base);
+ p = whatever[a, b]; p-point t of base = whatever * (a-b) rotated 90;
+ ) p -- endfor cycle;
+\end{smallcode}
+Note that you need to use “\mpl{--}” so that the cusps stay neatly
+pointed.\marginpar{\vskip-38pt\small\noindent
+\llap{\hey\,}The geometry of the subtended angles shows that the length of the arc
+$T\to S$ equals the length of the arc from $T\to P$ on the quarter-sized circle
+through $T$ and $M$. So the astroid is also the path of a point on the smaller
+circle rolling around the inside of the base circle.}
+
+\newpage
+\subsubsection{Astroid and cousins}
+
+The geometry of the astroid also allows us to define a simple parametric equation
+for the point $P$.
+$$\includegraphics[scale=0.8]{curves-astroid-construction}$$
+If the distance $OT = a$, then $OA = BT = a\cos\theta$.
+But then $BP = BT\,\cos\theta = a\cos^2\theta$, and the
+$x$-coordinate of $P = BP\,\cos\theta=a\cos^3\theta$. By a similar
+argument the $y$-coordinate is $a\sin^3\theta$, so the parametric
+equations for $P = (x, y)$:
+$$\centerline{$x=a\cos^3\theta$ \quad and \quad $y=a\sin^3\theta$}$$
+This is used to make this rather psychedelic family of astroid cousins $\longrightarrow$
+
+\moveright384pt\vbox to 36pt{\vss
+$$\includegraphics[scale=0.9]{curves-astroid-family}$$
+\begin{smallcode}
+numeric a; a = 144; input colorbrewer-rgb
+for n=1 upto 7:
+ path p; p = a * right for t=6 step 6 until 90:
+ .. a * (cosd(t) ** n, sind(t) ** n)
+ endfor;
+ p := for i=0 upto 3: p rotated 90i & endfor cycle;
+ fill p withcolor Oranges[9][n]; draw p;
+endfor
+\end{smallcode}}
+
+
+\newpage
+\subsection{Cycloid}
+
+\textsc{Cycloids} are the curves made by points on the circumference of a
+rolling wheel. In the first diagram the cycloid is drawn in red and the
+corresponding rolling wheel in blue. The main idea in this diagram is to make the
+whole drawing depend on just a few parameters; here there are two: the radius $r$
+and the amount of rotation $θ$. If we make $r$ bigger, the drawing will be
+scaled up; if we change $θ$, the wheel will appear to have rolled along.
+\mpic{-66pt}{cycloids}
+
+
+\marginpar{\par\kern1in
+\begin{itemize}
+ \item Near the beginning we define $\pi=3.14159265$, as there’s no such constant
+ built in, but it makes the source more understandable to write "pi/180"
+ instead of "0.017453". It would be nice to use the Greek letters themselves
+ in the source, but \MP\ only lets you use plain ASCII characters, to you
+ have to write "pi" instead. Later on "t" is used instead of $\theta$.
+
+ \item The path of the cycloid $c$ is defined using an inline "for" loop. There’s a
+ slight awkwardness to doing this as you have to repeat yourself either at
+ the beginning or the end, because you can’t have a dangling "--" or ".." at
+ the end of the path. With a closed path it’s easier because you can just
+ put "--cycle" after the "endfor". The strange numbers here are because
+ we are going from a rotation of $-100°$ to $+460°$; $360°$ corresponds to
+ one hop of the cycloid.
+
+ \item The axes are done in the usual way, except that we use "xpart" and the
+ "point .. of .." notation to make the $x$-axis neatly line up with the ends
+ of the cycloid path.
+
+ \item To label points with dots but no text it’s convenient just to fill a
+ circle scaled to "dotlabeldiam"; this internal parameter is the current size
+ to be used for the dots in "dotlabel".
+
+\end{itemize}}
+
+\mpexternal[xleftmargin=0pt]{cycloids-code.mp}
+
+\noindent
+You can generalize the picture to make cycloids where the point tracing the
+cycloid is not on the circumference doing the rolling; the classic example is the
+wheel of the train with a flange. Here I have added $R$ to define the radius of an
+outer rim, while the wheel still rolls along a circle of radius $r$.
+\mpic{-40pt}{cycloids-extra}
+You might like to experiment with making $R<r$. Note also that variable names are
+case sensitive in \MP.
+
+\mpexternal[xleftmargin=0pt]{cycloids-extra-code.mp}
+
+\noindent The output\mpic{-122pt}{cycloids-extra} is repeated at the right to save you flicking pages.
+
+\newpage
+\subsubsection{The cycloid compared to other curves}
+
+\noindent\textsc{You can't easily} draw a cycloid through two arbitrary points, but
+if you get the size of the generating circle right, you can make it pass through
+points at each end of a quarter circle, and then it's easy to draw other curves
+between the two points. \vadjust{\moveright5.25in\vbox to 0pt{\vskip-48pt\begin{smallcode}
+numeric r; r = 164;
+path Y, L, C, P, S;
+
+Y = origin for t=5 step 5 until 140:
+ -- (0, r) rotated t shifted (t/57.29577951308232*r, -r)
+endfor cutafter (origin -- (4r, 0) rotated -45);
+
+z0 = point 0 of Y;
+z1 = point infinity of Y;
+
+L = z0 -- z1;
+C = quartercircle rotated 180 scaled 2x1 shifted (x1, y0);
+% The idea here is to use the derivative as the direction at each point.
+% If you treat A as x=-1, and B as x=0 and used x=-1/2 in the middle,
+% then three points are enough to make the curves look realistic.
+% parabola f = x^2, f' = 2x
+P = z0{1,-2}
+ ... (xpart 1/2[z1, z0], ypart 1/4[z1, z0]){1,-1} ... z1 {1, 0};
+% sixth degree f = x^6, f' = 6x^5
+S = z0{1,-6}
+ ... (xpart 1/2[z1, z0], ypart 1/64[z1, z0]){1, -6/32} ... z1 {1, 0};
+
+draw z0 -- (x0,y1) -- z1 withcolor 3/4;
+
+drawoptions(withcolor 2/3 red);
+ draw L; dotlabel.urt("Line", point 1/4 of L);
+drawoptions(withcolor 1/2 green);
+ draw C; dotlabel.urt("Circle", point 1 of C);
+drawoptions(withcolor 1/4[red, green]);
+ draw P; dotlabel.urt("Parabola", point 1/2 of P);
+drawoptions(withcolor 3/4[red, green]);
+ draw S; dotlabel.llft("Sixth degree", point 3/4 of S);
+drawoptions(withcolor 1/2 blue);
+ draw Y; dotlabel.urt("Cycloid", point 22 of Y);
+drawoptions();
+dotlabel.ulft(btex $A$ etex, z0);
+dotlabel.urt(btex $B$ etex, z1);
+\end{smallcode}\vss}}
+Here is an example with an inverted cycloid, the
+so-called \textit{brachistochrone} (the curve joining two points such that a body
+travelling along it under gravity takes a shorter time than is possible along any
+other curve between the points).
+$$\includegraphics{brachisto}$$
+
+\newpage
+\subsection{Spirals}
+
+\textsc{D'Arcy Thompson} tells us, in \textsl{On Growth and Form}, that the spiral
+of Archimedes “may be roughly illustrated by the way a sailor coils a rope upon the
+deck; as the rope is of uniform thickness, so in the whole spiral coil is each whorl
+of the same breadth as that which precedes and as that which follows it”. In
+mathematical terms the radius of the spiral is proportional to the angle turned, so that
+$r=a\theta$.\mpic{-36pt}{curves-spiral-archimedes}
+This is very simple to program in \MP.
+\begin{code}
+numeric a; a = 1/8; path S;
+S = origin for t=1 upto 360: .. a * t * dir t endfor;
+\end{code}
+except that you are unlikely to need one point for every degree of turn in your spiral, so you are
+more likely to code:
+\begin{code}
+S = origin for t=1 upto 360: .. a * t * dir 8t endfor;
+\end{code}
+which spreads the points out and gives you eight full turns, or perhaps
+\begin{code}
+S = origin for t=1 upto 90: .. 1/12 t * dir 16t endfor;
+\end{code}
+which would give you four complete turns with a tighter spacing.\marginpar{\small
+The rope was drawn (very slowly) with the \mpl{rope} macro from §\ref{pics-border}.}
+
+\bigskip\noindent
+The next simplest is the logarithmic spiral where you have
+$r=a^\theta$.\mwpic{10pt}{curves-spiral-equiangular} This is also very simple to
+program in \MP, provided you are careful about the scaling. The complete program
+for the spiral shown on the right was:
+\begin{code}
+numeric a; a = 2.6; path S;
+S = right for t=1 upto 360: .. a ** (t/64) * dir 4t endfor;
+drawarrow S;
+\end{code}
+Note that $a$ was carefully chosen to get a curve that would fit the page, and that
+$t$ has been divided by 64 to bring it into a suitable range to work with the
+default number system.
+
+\newpage
+\subsubsection{Logarithmic spiral and the golden rectangle}
+
+\textsc{The logarithmic spiral} is connected to growth in nature. If you start with
+a small square and keep adding squares scaled to the longer side of the resulting
+rectangle, you get the golden rectangle and the logarithmic spiral emerges from
+it.\mpic{-48pt}{curves-spiral-gnomon-sq}
+\begin{code}[xleftmargin=0pt, xrightmargin=-20pt]
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/4);
+path s[]; s0 = unitsquare;
+fill s0 withcolor 1/2[2/3 blue, white]; draw s0;
+numeric a, b, t, n; a = 1; b = 1; n = 11;
+for i = 1 upto n:
+ t := b; b := b + a; a := t; % Fibonacci sequence
+ s[i] = unitsquare scaled a;
+ s[i] := s[i] shifted (point i of s[i-1] - point i-1 of s[i]);
+ fill s[i] withcolor (1/2 + i/32)[2/3 blue, white];
+ draw s[i];
+endfor
+% cross hairs
+for i = n-1 upto n:
+ draw point i-2 of s[i-2] -- point i of s[i];
+endfor
+drawoptions();
+% Draw the spiral as a red arrow
+drawarrow origin for i=0 upto n: .. point i of s[i] endfor
+ withcolor 2/3 red;
+% Show the Fibonacci sizes for the bigger boxes
+for i = 5 upto n:
+ label(TEX(decimal arclength subpath (0, 1) of s[i])
+ scaled 0.8 rotated angle point n of s[n], center s[i]);
+endfor
+% Rotate whole picture to show off the spiral
+currentpicture := currentpicture rotated - angle point n of s[n];
+\end{code}
+\moveright 396pt \vbox to 0pt{\vss\hsize 4in\small
+\noindent\llap{• }You can't assign to a pair literal in \MP, so you cannot write
+ \mpl{(a,b) := (b,a+b)}; use a temporary numeric instead.
+
+\noindent\llap{• }The uses of \mpl{point} with the square paths \mpl{s[]}
+exploit the fact the the \mpl{unitsquare} path is cyclic, so point 4 is the same
+as point 0, and so on.
+
+\noindent\llap{• }Note also the rotation of the labels, so that they are horizontal
+when the whole picture is rotated at the end to show the spiral better.
+\par}
+
+
+\newpage
+\subsubsection{Logarithmic spiral and similar triangles}
+
+\textsc{This drawing} starts with a large triangle and transforms it to make
+smaller similar copies. The spiral is drawn through the apex of successive
+transformed triangles.\mpic{0pt}{curves-spiral-gnomon-trig}
+\begin{code}[xleftmargin=0pt, xrightmargin=-80pt]
+path t[], base; pair apex;
+base = (left--right) scaled 100;
+apex = whatever * dir +72 shifted point 0 of base
+ = whatever * dir -72 shifted point 1 of base;
+t0 = (base -- apex -- cycle);
+
+transform S;
+r = arclength subpath (0, 1) of t0 / arclength subpath (2, 3) of t0;
+point 0 of t0 transformed S = (r*r)[point 0 of t0, point 2 of t0];
+point 1 of t0 transformed S = point 0 of t0;
+point 2 of t0 transformed S = point 1 of t0;
+
+n = 16;
+for i=1 upto n:
+ t[i] = t[i-1] transformed S;
+ draw subpath (2,3) of t[i] withpen pencircle scaled 1/4;
+endfor
+
+drawoptions(withpen pencircle scaled 1/8 withcolor blue);
+draw point 0 of t0 -- point 3/2 of t0;
+draw point 0 of t1 -- point 3/2 of t1;
+drawoptions();
+draw t0;
+drawarrow point 2 of t[n] for i=n-1 downto 0:
+ .. point 2 of t[i] endfor withcolor 2/3 red;
+
+z0 = whatever[point 0 of t0, point 3/2 of t0]
+ = whatever[point 0 of t1, point 3/2 of t1];
+currentpicture := currentpicture rotated - angle (point 2 of t0 - z0);
+\end{code}
+\moveright 396pt \vbox to 0pt{\vss\hsize 4in\small
+\noindent The \<transform> $S$ is defined implicitly. It is sufficient
+to give equations for three non-collinear points, and \MP\ will work out
+the rest. In order to do this, you need to know the ratio of $x/a$, but by
+definition $a/b=b/x$, so $x=b^2/a$, hence $x/a=(b/a)^2$. The code shown
+sets $r=b/a$, and then uses $r^2$ as the required fraction along $a$.
+
+\smallskip\noindent\hey
+This construction also works for other triangles, but it looks more elegant with
+an isosceles with base angles of $72^\circ$ as shown.
+\par}
+
+
+
+\newpage
+\section{Eggs}\label{eggs}
+
+\textsc{Drawing bird's eggs} excites a curious fascination in some people. This
+section shows some possible ways to make eggs with \MP. The first few
+compass-and-ruler constructions are taken from Robert Dixon's
+\textsl{Mathographics}. They all follow the same basic idea of constructing the
+egg-shaped path from a series of circular arcs.\mnote{-16pt}{In these \MP\ implementations
+each egg path has 8 points starting with point 0 at “3 o’clock” like \mpl{fullcircle}.}
+
+\subsection{Euclidean egg}
+
+The first is made of four circular arcs, defined here as parts of
+circles $a$, $b$, $c$, \& $d$.\mwpic{0pt}{eggs-moss}\marginpar{\par\kern 3in
+\begin{itemize}
+ \item "eggs-common.mp" defines the colours, and the \mpl{numbered_points}
+ routine that is used to show the points of the "egg" path.
+ \item Note that it is not necessary that the parts of the arcs touch;
+ in fact it is better to join them with the \mpl{..} connector in case the
+ ends are not close enough for you to use \mpl{&}.
+ \item The rigmarole with saving the current picture, is to show a copy
+ of the egg path with and without the construction lines.
+\end{itemize}
+}
+\begin{code}[xleftmargin=0pt]
+input eggs-common
+path a, b, c, d, egg; numeric r; r = 100;
+a = fullcircle scaled 2r;
+b = fullcircle scaled 4r shifted point 4 of a;
+c = fullcircle scaled 4r shifted point 0 of a;
+d = fullcircle scaled 2 abs (point 2 of a - point 1 of b)
+ shifted point 2 of a;
+egg = subpath (0, 1) of b .. point 2 of d ..
+ subpath (3, 4) of c .. subpath (5, 7) of a .. cycle;
+beginfig(1);
+fill egg withpen pencircle scaled 2 withcolor eggshell;
+picture P; P = currentpicture;
+drawoptions(withpen pencircle scaled 1/4 withcolor dark_eggshell);
+draw a; draw d;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw point 1 of egg -- point 4 of egg --
+ point 0 of egg -- point 3 of egg;
+draw egg;
+drawoptions(withpen pencircle scaled 2 withcolor 7/16);
+draw center a;
+draw center d;
+draw numbered_points(egg);
+drawoptions();
+draw P shifted 240 right;
+endfig;
+\end{code}
+\newpage
+\subsection{Pythagorean egg}
+
+The centres of the arcs are determined by the 3-4-5 triangle at the
+origin.\mwpic{0pt}{eggs-thom}
+\begin{code}
+numeric r, a, b, t; a = 60; 4b = 3a; r = a ++ b;
+path base, cap, egg;
+base = subpath (4, 8) of fullcircle scaled 2(2r-b);
+cap = subpath (0, 4) of fullcircle scaled 2r shifted (0, a)
+ cutbefore ((b, 0) -- (b, 2r))
+ cutafter ((-b, 0) -- (-b, 2r));
+egg = point 4 of base {up} .. cap .. {down} base & cycle;
+% more naturally "base {up} .. cap .. {down} cycle"
+% but then point 0 would not be at 3 o'clock
+\end{code}
+Note that you can use $\to$ to create reasonably large circular arcs.
+The parts of the drawing for filling the egg,
+and showing the construction are similar to the first example.
+
+\subsection{A taller Pythagorean egg}
+
+A slightly different approach using a $\sqrt3$-$\sqrt4$-$\sqrt7$
+triangle.\mwpic{20pt}{eggs-357}
+\begin{code}
+path base, cup, cap, egg;
+base = fullcircle scaled 200;
+z1 = point -2/3 of base;
+z2 = point 2/3 of base;
+z3 = point 10/3 of base;
+z4 = point 14/3 of base;
+z5 = 1/2[z2, z3];
+z6 = 1/2[z4, z1];
+numeric a, b;
+a = abs(z3 - z1) - abs(z4 - z6);
+b = abs(z3 - z1) - abs(z4 - z5);
+cup = subpath (4, 8) of fullcircle scaled 2a shifted z6;
+cap = fullcircle scaled 2b shifted z5
+ cutbefore (z5 -- 2[z4, z5])
+ cutafter (z5 -- 2[z1, z5]);
+egg = point 4 of cup {up} .. cap .. {down} cup & cycle;
+\end{code}
+
+\newpage
+\subsection{Golden section egg}
+
+An alternative construction.\mwpic{-10pt}{eggs-gold}
+\begin{code}[xleftmargin=0pt]
+path base, aa, bb; pair m, n, n';
+base = fullcircle scaled 200; m = 1/2 point 0 of base;
+aa = halfcircle scaled 2 abs (point 2 of base - m)
+ shifted m cutbefore (origin -- 1000 up);
+n = point infinity of aa; n' = n reflectedabout(up, down);
+bb = subpath (0, 2) of base shifted n cutafter (origin -- 1000 up);
+
+path dome, cap, cup, egg;
+dome = fullcircle
+ scaled 2 (abs(n - point 0 of base) - abs(n - point 0 of bb))
+ shifted point infinity of bb;
+cap = dome cutbefore (point 4 of bb -- 2[n, point 4 of bb])
+ cutafter (point 4 of bb -- 2[n', point 4 of bb]);
+cup = subpath (4, 8) of base;
+egg = point 4 of cup {up} .. cap .. {down} cup & cycle;
+\end{code}
+
+\subsection{Four point egg}
+% eggs-four-point.mp
+So far all the eggs have been drawn with semi-circular big end, but this
+can be improved.
+To get a smoother curve, you can use four different sized arcs with four different
+centres of rotation to make up
+each side of the egg.\mwpic{-36pt}{eggs-four-point}
+\begin{code}[xleftmargin=0pt]
+path egg, a, b, c, d;
+a = fullcircle scaled 80;
+b = a scaled 2 shifted point 6 of a;
+c = halfcircle
+ scaled 2 (abs(point 0 of a - point 5 of b) - abs(point 0 of a));
+d = fullcircle
+ scaled 2 abs(point 2 of a - point 2 of c) shifted point 2 of c;
+
+egg = point 0 of c {up} .. subpath (1,3) of d .. {down} point 4 of c
+ .. subpath (5, 7) of b .. cycle;
+\end{code}
+
+\newpage
+\subsection{Five point egg}
+
+The next level of sophistication is to use five different arcs,
+but this is more complex and you lose the
+points at exactly E, N, W, and S.\mwpic{0pt}{eggs-five-better}\marginpar{\par\vskip 3in
+\noindent\hey Instead of defining and joining circular arcs, this construction defines
+the points for the egg and the desired directions at each point;
+all the work of making the circular arcs is left to the $\to$
+connector. The six symmetrically-arranged rings $r_1$ to $r_6$ are used to define eight centres of
+rotation $o_1$ to $o_8$ which are either points on the rings or intersections of
+lines between them. Then eight directions $u_1$ to $u_8$ are defined at right
+angles to lines between pairs of centre points. Finally the handy
+\mpl{directionpoint} macro is used to find the points where the relevant circle is
+moving in that direction. To make the egg, these points are joined up with $\to$
+constrained by the matching direction to make circular arcs.\\
+\llap{$\longleftarrow$\ }{\small Like so.}
+}
+\begin{smallcode}[xleftmargin=0pt]
+numeric a; a = 56;
+path r[]; % the rings
+r1 = fullcircle scaled 2a shifted (0, -3/2 a);
+r2 = fullcircle scaled 2a shifted (0, -1/2 a);
+r3 = fullcircle scaled 2a shifted (0, +1/2 a);
+r4 = fullcircle scaled 2a shifted (0, +3/2 a);
+r5 = r2 rotatedabout(point 2 of r2, -60);
+r6 = r2 rotatedabout(point 2 of r2, +60);
+pair o[]; % the centres of rotation for each arc
+o1 = point 6 of r5;
+o2 = point 2 of r3;
+o3 = point 6 of r6;
+o4 = whatever[o3, point 2+4/3 of r2] = whatever[o2, point 2-4/3 of r1];
+o8 = whatever[o1, point 2-4/3 of r2] = whatever[o2, point 2+4/3 of r1];
+o6 = 1/2[point 2-4/3 of r1, point 2+4/3 of r1];
+o5 = whatever[o6, point 2-4/3 of r3] = whatever[o4, point 2+4/3 of r1];
+o7 = whatever[o6, point 2+4/3 of r3] = whatever[o8, point 2-4/3 of r1];
+pair u[], t[]; % directions and points for the egg path
+u0 = (o8 - o1) rotated 90; t0 = directionpoint u0 of r6;
+u1 = (o2 - o1) rotated 90; t1 = directionpoint u1 of r4;
+u2 = (o2 - o3) rotated 90; t2 = directionpoint u2 of r4;
+u3 = (o4 - o3) rotated 90; t3 = directionpoint u3 of r5;
+u4 = (o5 - o4) rotated 90;
+u5 = (o6 - o5) rotated 90;
+u6 = (o6 - o7) rotated 90;
+u7 = (o7 - o8) rotated 90;
+t4 = directionpoint u4 of fullcircle scaled 2 abs (t3 - o4) shifted o4;
+t5 = directionpoint u5 of fullcircle scaled 2 abs (t4 - o5) shifted o5;
+t6 = directionpoint u6 of fullcircle scaled 2 abs (t5 - o6) shifted o6;
+t7 = directionpoint u7 of fullcircle scaled 2 abs (t6 - o7) shifted o7;
+
+path egg; egg = for i=0 upto 7: t[i] {u[i]} .. endfor cycle;
+\end{smallcode}
+
+\newpage
+\subsection{A superellipse egg}
+
+All this construction is a good exercise in ingenuity, but if you just want
+a simple quick egg path, then the \mpl{superellipse} macro gives you a \MP-specific
+option. All you need is this:\mwpic{-36pt}{eggs-super}
+\begin{code}[xleftmargin=0pt]
+path egg;
+egg = superellipse(right, 1.6 up, left, 1.2 down, 0.69);
+egg := egg scaled 100;
+\end{code}
+
+
+\vfill \centerline{\tiny [This space intentionally left blank]}
+\vfill
+
+\subsection{The perfect egg}
+
+The last word in egg curve perfection is the algebraic solution provided by the TDCC
+Laboratory in Japan [{\small \mpl{https://nyjp07.com/index_E.html}}].\mwpic{0pt}{eggs-perfect}
+\begin{code}
+path egg;
+egg = for t=-180 step 15 until 180 - eps:
+ (0.78 cosd(1/4 t) * sind(t), -cosd(t)) ..
+ endfor cycle;
+egg := egg scaled 128;
+\end{code}
+Note that, unlike all the others, this path has 24 points and the path starts at the
+top. You can draw it starting at 3 o’clock, and with only 8 points but the egg is slightly less perfect.
+Just replace the loop above with:
+\begin{code}
+egg = for t=90, 135, 180, -135, -90, -45, 0, 45:
+ (0.78 cosd(1/4 t) * sind(t), -cosd(t)) ..
+ endfor cycle;
+\end{code}
+
+\newpage
+\subsection{Egg kitsch}
+
+If you want eggs that look solid, then you can use \mpl{interpath}:\mpic{-24pt}{eggs-shaded}
+\begin{smallcode}[xleftmargin=0pt]
+path egg, spot;
+egg = (for t=-180 step 15 until 180 - eps:
+ (0.78 cosd(1/4 t) * sind(t), -cosd(t)) ..
+endfor cycle) scaled 100;
+spot = fullcircle scaled 4 shifted 3/4 point 3 of egg;
+vardef fade_filled(expr egg, spot, dark, light, n) = image(
+ for i = 0 upto n:
+ fill interpath(i/n, egg, spot) withcolor ((i/n)**1/3)[dark,light];
+ endfor)
+enddef;
+beginfig(1);
+ color a, b;
+ a = 1/256(150, 100, 60);
+ b = 1/256(256, 220, 180);
+ draw fade_filled(egg, spot, a, b, 256) rotated -30;
+endfig;
+\end{smallcode}
+This works nicely with any of the "egg" paths defined in this section.
+And finally, if all that has made you feel peckish, then how about
+these?\mwpic{12pt}{eggs-fried}
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-24pt]
+path yolk, base;
+color cooked_egg_yolk, cooked_egg_white;
+cooked_egg_yolk = 1/256(216, 136, 49);
+cooked_egg_white = 1/256(235, 237, 233);
+vardef fried_egg(expr r) =
+ save base, yolk; path base, yolk;
+ yolk = for i=0 upto 17: (r + 1/8 normaldeviate) * dir 20i .. endfor cycle;
+ base = for i=0 upto 17: (2r + 1/8r * normaldeviate) * dir 20i .. endfor cycle;
+ base := base shifted (uniformdeviate r/2, uniformdeviate r/2);
+ image(
+ fill base withcolor cooked_egg_white;
+ fill yolk withcolor cooked_egg_yolk;
+ fill subpath (6.7, 9.6) of yolk scaled 0.8 --
+ subpath (9.6, 6.7) of yolk scaled 0.66 -- cycle
+ withcolor 1/2[cooked_egg_yolk, white];
+ ) enddef;
+for i=0 upto 1: draw fried_egg(40) shifted 120 dir 120i; endfor
+\end{smallcode}
+
+%===============================================================
+\newpage
+\section{Data visualizations}\label{dviz}
+
+\textsc{Graphs and other displays} that show data, rather than a mathematical
+function, are presented in this section, with a focus on illustrations for books and
+technical papers. Most of the examples here follow those developed in Edward
+Tufte's \textsl{The Visual Display of Quantitative Information}.
+
+\bigskip\noindent
+Most of them have a pale manilla background, which was added using the technique
+from §\ref{backgrounds}, like this:
+\begin{code}
+picture p; p = currentpicture; currentpicture := nullpicture;
+bboxmargin := 12;
+fill bbox p withcolor 1/32(32, 32, 31);
+draw p;
+\end{code}
+
+\newpage
+\subsection{Simple time lines}
+
+\noindent\mpic{144pt}{tufte-mpg}\marginpar{
+\begin{itemize}
+ \item The complete Lua\TeX\ document shows the
+use of "fontspec" to get the Palatino-like font, used in E.\@ Tufte's books.
+ \item The data is stored as \<pair> values in a \<path> variable. This only
+ works if both data values are numeric. If the values are larger than 4096
+ you either need to scale them or use the "double" number system.
+ \item Notice how the horizontal unit $u$ is set by measuring the width of a label using
+the technique discussed in §\ref{textsize}. And that you have to shift the data
+ path left before applying the $x$-scaling to avoid overflow.
+\end{itemize}
+}
+\begin{texcode}[xleftmargin=0pt]
+\documentclass{standalone}
+\usepackage{luamplib}
+\usepackage{fontspec}
+\setmainfont[Numbers=OldStyle]{TeX Gyre Pagella}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+\end{texcode}\vskip -8pt
+\begin{smallcode}[xleftmargin=2pt]
+beginfig(1);
+path data, p;
+data = (1978, 18) -- (1979, 19) -- (1980, 20) -- (1981, 22)
+ -- (1982, 24) -- (1983, 26) -- (1984, 27) -- (1985, 27.5);
+numeric u, v;
+u = xpart urcorner textext("1980\kern 0.75em"); v = 8;
+p = data shifted -(xpart point 0 of data, 0) xscaled u yscaled v;
+draw (xpart point 0 of p, 20) -- p -- (xpart point infinity of p, 20);
+draw (xpart point 0 of p, 0) -- (xpart point infinity of p, 0);
+for t=0 upto length p:
+ numeric x, y; (x, y) = point t of p;
+ undraw (x, y) withpen pencircle scaled 2 dotlabeldiam;
+ draw (x, y) withpen pencircle scaled dotlabeldiam;
+ label("\strut" & decimal ypart point t of data, (x, y + 8));
+ draw (x, 0) -- (x, 4);
+ label("\strut" & decimal xpart point t of data, (x, 12));
+endfor
+dotlabel.rt(btex \vbox to 6pt{\halign{\small #\hss\cr
+13.7 mpg, average\cr for all cars on\cr road, 1978\cr}\vss} etex,
+(xpart point 0 of p, 13.7v));
+dotlabel.lft(btex \vbox to 6pt{\halign{\small #\hss\cr
+19.5 mpg, expected\cr average for all cars\cr on road, 1985\cr}\vss} etex,
+(xpart point infinity of p, 19.5v));
+label.top(btex \vbox{\halign{\hss\textsc{#}\hss\cr
+required fuel economy standards:\cr
+new cars built from 1978 to 1985\cr}} etex,
+point 5/2 of bbox currentpicture shifted 21 up);
+endfig;
+\end{smallcode}\vskip -10pt
+\vbox to 0pt{\begin{texcode}[xleftmargin=0pt]
+\end{mplibcode}
+\end{document}
+\end{texcode}\vss}
+
+\newpage
+\subsection{Time line with minimal annotation}
+\noindent\mpic{120pt}{tufte-budget}\marginpar{
+\begin{itemize}
+ \item This one has an even sparser frame, and
+ uses the \mpl{ahangle} trick to make the neat
+ I-beam annotation mark.
+ \item It is suggested that you resist the temptation to make very many
+ special macros to do charts like this; the ideas here are mainly
+ to show that \MP\ makes a good environment for following Tufte’s advice
+ about charts: to maximize data ink, and minimize chart junk.
+\end{itemize}}
+\begin{smallcode}[xleftmargin=0pt]
+beginfig(1);
+path data, p;
+data = (1967, 311) -- (1968, 332) -- (1969, 372) -- (1970, 385)
+ -- (1971, 385) -- (1972, 393) -- (1973, 387) -- (1974, 381)
+ -- (1975, 387) -- (1976, 400) -- (1977, 380);
+numeric u, v;
+u = xpart urcorner textext("1980\kern 0.75em"); v = 1.414;
+p = data shifted -(xpart point 0 of data, 300) xscaled u yscaled v;
+draw p;
+for d = 300 step 20 until 400:
+ numeric y; y = (d - 300) * v;
+ label.lft("\strut\scriptsize\$\,\small" & decimal d, (-12, y));
+ draw (-8, y) -- (-12, y);
+ if d > 370:
+ draw (xpart point 3 of p, y) -- (xpart point infinity of p + 8, y)
+ dashed evenly scaled 1/4 withpen pencircle scaled 1/4;
+ fi
+endfor
+path a; a = (xpart point infinity of p + 21, (380 - 300) * v)
+ -- (xpart point infinity of p + 21, (400 - 300) * v);
+interim ahangle := 180;
+interim ahlength := 2;
+drawdblarrow a withpen pencircle scaled 1/4;
+label("\small 5\%", point 1/2 of a shifted 12 right);
+for t=0 upto length p:
+ numeric x, y; (x, y) = point t of p;
+ undraw (x, y) withpen pencircle scaled 2 dotlabeldiam;
+ draw (x, y) withpen pencircle scaled dotlabeldiam;
+ draw (x, -8) -- (x, -12);
+ label("\strut\small" & decimal xpart point t of data, (x, -20));
+endfor
+label.urt(btex \vbox{\halign{\small #\hfill\cr
+Per capita\cr budget expenditure\cr in constant dollars\cr}} etex,
+(0, (410 - 300) * v));
+endfig;
+\end{smallcode}
+
+\newpage
+\subsection{Time line with more complex dates}
+
+If the dates in your time line are more granular than years, then you need a
+better way to deal with them. This chart shows the £/€ exchange rate by month.
+$$\includegraphics[width=\textwidth]{tufte-currency}$$
+The dates on the horizontal axis where transformed from calendar dates to a
+serial number using this routine:
+\begin{code}
+vardef base(expr Y, M, d) =
+ save m, y; numeric m, y;
+ if M < 3: m = M + 9; y = Y - 1;
+ else: m = M - 3; y = Y; fi
+ 365/1024 y + (floor(y/4) - floor(y/100) + floor(y/400)
+ + floor((2+3m)/5) + 30m + d - 307) / 1024
+enddef;
+\end{code}
+which allows you to add events like this:
+\begin{code}
+dotlabel.bot("Brexit vote", (base(2016, 6, 24) * u, 78 v));
+\end{code}
+for suitable values of $u$ and $v$.
+
+\newpage
+\section{Commutative diagrams}
+
+\textsc{If you want lots} of complex bells and whistles on your commutative diagrams, then
+you probably want to use specialist tools like "tikz-cd" or "xypic", but if your
+needs are simpler, plain \MP\ is more than capable, and if you are already
+using it for other illustrations, there is one less thing to learn.
+
+Here are two examples to illustrate some general techniques. They may be familiar to
+readers of the manuals for the tools referred to above.
+$$
+\includegraphics{tikzcd-example}
+\qquad
+\includegraphics{xypic-example}
+$$
+The complete code used to generate the right-hand picture is shown on the
+right.\rlap{\rightarrow}%
+\vadjust{\moveright5.5in\vbox to 0pt{\kern-218pt
+\begin{smallcode}
+picture U, XY, X, Y, Z;
+z1 = -z2 = (-61, 42);
+
+U = thelabel("$U$", z1);
+XY = thelabel("$X\times_ZY$", origin);
+X = thelabel("$X$", (x2, 0));
+Y = thelabel("$Y$", (0, y2));
+Z = thelabel("$Z$", z2);
+
+forsuffixes @=U, XY, X, Y, Z: draw @; endfor
+
+ahangle := 20;
+vardef curved_connect@#(expr s, a, b, d) =
+ save line, mark;
+
+ path line;
+ line = center a {d} .. center b;
+ interim bboxmargin := 4;
+ drawarrow line cutbefore bbox a cutafter bbox b;
+
+ picture mark;
+ mark = thelabel@#("$\scriptstyle " & s & "$", point 1/2 of line);
+ interim bboxmargin := 1;
+ unfill bbox mark; draw mark;
+enddef;
+
+vardef connect@#(expr s, a, b) =
+ curved_connect@#(s, a, b, center b - center a)
+enddef;
+
+connect.bot("p", XY, X);
+connect.rt ("q", XY, Y);
+connect.top("g", Y, Z);
+connect.lft("f", X, Z);
+
+curved_connect.urt("x", U, X, right);
+curved_connect.llft("y", U, Y, dir -80);
+
+drawoptions(dashed withdots scaled 1/2);
+connect("(x,y)", U, XY);
+drawoptions();
+\end{smallcode}
+\noindent\textit{\small This example assumes you are using "mplibtextextlabel" – §\ref{ttlabel}}
+\vss}}
+The approach taken for both examples is first to define the node labels as pictures
+placed as needed, and then write a special-purpose "connect" macro to make
+consistent arrows between the nodes, using \mpl{center}, \mpl{bbox},
+\mpl{cutbefore}, and \mpl{cutafter} as appropriate.
+
+The $X\times_ZY$ example needs two variations. The "curved_connect" macro
+takes a string for the label, the two nodes to be connected, and the initial
+direction for the curved path to connect them. You can't have optional macro
+arguments in \MP\ but you can call macros from inside another macro, so a second
+simpler macro "connect" is defined to do straight connections. To avoid repetition,
+this macro simply calls "curved_connect" with the required direction from $a$ to
+$b$.
+
+For the $f^*E$ example, "connect" is simpler, because all the arrows are
+straight and there are no labels, but needs to allow for arrows crossing:
+\begin{smallcode}
+vardef connect(expr a, b) =
+ save line; path line; interim bboxmargin := 4;
+ line = center a .. center b cutbefore bbox a cutafter bbox b;
+ cutdraw line withpen pencircle scaled 4 withcolor background;
+ drawarrow line
+enddef;
+\end{smallcode}
+
+\newpage
+\section{Tilings and tessellations}
+
+\textsc{In mathematical terms}, a “tiling” is a countable set of tiles
+that cover the plane without gaps or overlaps.\footnote{Adapted from \textsl{Tilings
+and Patterns}, Branko Grünbaum \& G.\@ C.\@ Shephard, Freeman, 1987}
+This section loosely follows that idea, and presents some ideas and general
+techniques for creating tilings and other patterns or textures.
+
+You can make an effective grid by drawing repeated lines and then clipping to the
+size you want:\mpic{-42pt}{tiling-simple}
+\begin{code}
+for i = -10 upto 10:
+ draw (left--right) scaled 200 shifted (0, 20i);
+ draw (down--up) scaled 200 shifted (20i, 0);
+endfor
+clip currentpicture to fullcircle scaled 200;
+\end{code}
+but this is a bit limited. If you want to produce more interesting tilings, you
+need to define a unit shape or picture, and a pair of vectors to repeat it.
+\begin{code}
+path unit; pair u, v; color a, b;
+unit = unitsquare scaled 24;
+u = point 1 of unit - point 0 of unit;
+v = point 3 of unit - point 0 of unit;
+a = 3/4[red, white]; b = 3/4[blue, white];
+for i=-5 upto 5:
+ for j=-5 upto 5:
+ fill unit shifted (i*u + j*v)
+ withcolor if odd (i+j): a else: b fi;
+ draw unit shifted (i*u + j*v);
+ endfor
+endfor
+clip currentpicture to fullcircle scaled 200;
+\end{code}
+In tilings with more complex shapes you may find that using \mpl{fill} and
+\mpl{draw} in the same loop causes uneven lines because the fill overlaps part of
+the line. In these cases it is a good idea to duplicate the loops; use the first
+set for filling, the second for drawing.
+
+\newpage
+\subsection{Tiling with regular polygons}\label{sec:regtiling}
+
+\textsc{After tiling with squares}, the two simplest tilings are with triangles and
+hexagons\mwpic{-24pt}{tiling-hex-trig}
+(using the regular polygons from §\ref{polygons}). The basic loop is the same as the
+previous page except
+that the vectors $u$ and $v$ are now at 60° to each other (as shown in blue and
+red in the examples to the right). All of these examples where drawn with the same
+basic loop as before:
+\begin{code}
+for i = -n upto n:
+ for j = -n upto n:
+ draw P shifted (i * u + j * v);
+ endfor
+endfor;
+\end{code}
+In the first row, $P$ was set to a simple polygon path:
+\begin{code}
+triangle = for i=0 upto 2: (0, 16) rotated 120i -- endfor cycle;
+hexagon = for i=0 upto 5: (0, 16) rotated 60i -- endfor cycle;
+\end{code}
+The vectors $u$ (in red) and $v$ (in blue) were defined as (for both tilings):
+\begin{code}
+u = point 0 of triangle - point 1 of triangle;
+v = u rotated -60;
+\end{code}
+To make the coloured versions, $P$ was defined as an appropriate \<picture>.
+For the triangular tiling, it looked like this: $\vcenter{
+\begin{mplibcode}
+input colorbrewer-rgb
+path t, tt;
+t = for i=0 upto 2: (0,8) rotated 120i --endfor cycle;
+tt = t reflectedabout(point 2 of t, point 0 of t);
+ beginfig(0);
+fill t withcolor Reds 8 2; fill tt withcolor Blues 8 2; draw t; draw tt; endfig;
+\end{mplibcode}}$ so that the tiling actually filled the plane. In the hexagonal
+tiling there are no gaps to fill, but in order to get a non-adjacent colouring, the
+unit picture was defined as three shifted copies of the hexagon each filled with a
+different color. The unit vectors were therefore scaled by $\sqrt3$ and rotated by
+30° (as shown).
+
+The bottom row the unit pictures were replaced with drawings that connect the centre
+of each shape to the midpoint of each side (in red), like this:
+$$
+\begin{mplibcode}
+path p[]; input colorbrewer-rgb
+p3 = for i=0 upto 2: (0, 14) rotated 120i -- endfor cycle;
+p6 = for i=0 upto 5: (0, 14) rotated 60i -- endfor cycle;
+picture P[];
+for i=3,6:
+ P[i] = image(
+ for j=1 upto length p[i]:
+ draw origin -- point j+1/2 of p[i] withcolor Reds 7 6;
+ endfor
+ draw p[i]);
+endfor
+ beginfig(0); draw P3; draw P3 reflectedabout(point 0 of p3, point 2 of p3);
+ draw P6 shifted (60, 3); endfig;
+\end{mplibcode}
+$$
+This has the effect of
+connecting the centres of adjacent shapes in the tiling, which reveals that each
+tiling is the dual of the other.
+
+\newpage
+\subsection{Separating filling and drawing}
+
+\textsc{Repeating a unit image} can sometimes cause unwanted overlaps, so as noted
+above, the solution is to make a filler unit and a drawing unit and do the filling
+first and the drawing second. In this example\mwpic{-32pt}{arch-4-8-8} the drawing
+unit (the octagon) is simple so you can just draw that path instead of making another
+\<picture> for it.
+\begin{smallcode}
+input colorbrewer-rgb
+path o, r[]; % o is the octagon, r[] are the "corners"
+o = (for i=0 upto 7: 21 dir 45i -- endfor cycle) rotated -90/4;
+pair t; t = whatever[point 0 of o, point 1 of o]
+ = whatever[point 2 of o, point 3 of o];
+r1 = subpath (1,2) of o -- t -- cycle;
+r2 = r1 rotated 90;
+r3 = r2 rotated 90;
+r4 = r3 rotated 90;
+picture filler; filler = image(
+ filldraw r1 withcolor Reds 8 3;
+ filldraw r3 withcolor Reds 8 3;
+ filldraw r2 withcolor Blues 8 3;
+ filldraw r4 withcolor Blues 8 3;
+ filldraw o withcolor Purples 8 2;
+);
+pair u, v;
+u = point 0 of o - point 5 of o; v = u rotated 90;
+beginfig(1);
+numeric n; n = 5;
+for i=-n upto n:
+ for j=-n upto n:
+ draw filler rotated ((i+j) mod 2 * 90) shifted (i*u + j * v);
+ endfor
+endfor
+for i=-n upto n:
+ for j=-n upto n:
+ draw o shifted (i*u + j * v);
+ endfor
+endfor
+\end{smallcode}
+Rotating every other \mpl{filler} allows you to get the alternate colours in the squares.
+\mpic{-60pt}{arch-4-8-8-parts}%
+Using \mpl{filldraw} ensures that there are no gaps between adjacent segments.
+
+\newpage
+\subsection{Tilings with more complex patterns}
+
+\textsc{The next example} also uses the square lattice,\mwpic{0pt}{arch-3-4-3-4}
+but the unit is more complicated, so the drawing needs two \<picture>
+variables, one for the colour fill and a second for the grid.
+\begin{smallcode}
+input colorbrewer-rgb
+path s[], t[];
+s1 = unitsquare scaled 21 rotated 15;
+s2 = s1 rotated 150;
+t1 = subpath (4, 3) of s1 -- point 1 of s2 -- cycle;
+t2 = t1 reflectedabout(point 1 of t1, point 2 of t1);
+t3 = t1 rotated 150;
+t4 = t1 rotated 210;
+picture color_unit, grid_unit;
+color_unit = image(
+ fill s1 withcolor Oranges 8 1;
+ fill s2 withcolor Oranges 8 2;
+ fill t1 withcolor Blues 8 1;
+ fill t2 withcolor Blues 8 2;
+ fill t3 withcolor Blues 8 3;
+ fill t4 withcolor Blues 8 4;
+);
+grid_unit = image(
+ draw s1; draw s2;
+ draw t2; draw t3; draw t4;
+);
+pair u, v;
+u = point 1 of s1 - point 1 of s2;
+v = u rotated 90;
+numeric n; n = 4;
+forsuffixes $=color_unit, grid_unit:
+ for i=-n upto n:
+ for j=-n upto n:
+ draw $ shifted (i * u + j * v);
+ endfor
+ endfor
+endfor
+\end{smallcode}
+
+
+
+\newpage
+\subsection{Showing the dual tiling}
+
+\textsc{These tilings can be classified} by the configuration of the polygons that meet
+at each vertex. This one is $(3^4, 6)$ because each vertex has four triangles and one
+hexagon. It exists in two enantiomorph forms.\mxpic{-80pt}{3.6in}{arch-snub-hexagon}
+The unit pictures look like this:
+\par\bigskip
+\vbox{\halign{#&\qquad\qquad\vbox to 48pt{\hsize=2.7in\noindent #\par\vss}\cr
+\includegraphics[scale=0.75]{arch-snub-hexagon-unit}
+&\hey\itshape To reveal the dual of the tiling, you can draw a line from
+the median (or centroid if you prefer) of each polygon to the centre of each
+edge.\cr}}
+
+\bigskip
+\noindent They are drawn like this, where $h$ is the hexagon, $t_1 \dots\ t_6$ are the blue
+triangles surrounding it, and $t_7$ \& $t_8$ are the two “connecting” triangles,
+which swap sides to make the enantiomorphs.
+\begin{code}
+unit[k] = image(
+ for i=1 upto 6:
+ fill t[i] withcolor Blues 8 if odd i: 2 else: 3 fi;
+ endfor
+ for i=7 upto 8:
+ fill t[i] withcolor Oranges 8 if odd i: 3 else: 2 fi;
+ endfor
+ fill h withcolor Oranges 8 2;
+ forsuffixes S=h, t1, t2, t3, t4, t5, t6, t7, t8:
+ draw S withpen pencircle scaled 1/4 withcolor 3/4;
+ pair m; m = median(S);
+ for i=1 upto length S:
+ draw m -- point i - 1/2 of S withcolor 3/4;
+ endfor
+ endfor);
+\end{code}
+The $\id{median}()$ routine is from §\ref{polygons-given-side} and the colours are from
+§\ref{colorbrewer}. This tiling is generated using the loop-with-triangular-grid-vectors
+from §\ref{sec:regtiling}.
+
+\newpage
+\subsection{Tiling with a dynamic unit}
+
+\textsc{In order to reveal} patterns in a tiling, you might want to vary the colours
+or line styles used in each repeated drawing unit. In this case, you can write a
+macro that takes a parameter and returns a picture to draw.\mwpic{-36pt}{arch-3-4-6-4}
+
+\begin{smallcode}
+\mplibsetformat{metafun} % <-- for the "transparent" macro
+\begin{mplibcode}
+input colorbrewer-rgb
+beginfig(1);
+numeric r; r = 5;
+path d; d = for i=1 upto 12:
+ (0, r) shifted (r * (sqrt(3)+2), 0) rotated 30i --
+endfor cycle;
+color shade[];
+shade0 = Oranges 8 3; shade2 = Greens 8 3;
+shade1 = Blues 8 3; shade3 = Reds 8 3;
+vardef unit(expr n) = image(
+ fill d withcolor transparent (2, .9, shade[n mod 4]);
+ draw d;
+) enddef;
+pair u, v;
+u = point 0 of d - point 3 of d;
+v = u rotated 60;
+numeric n; n = 6;
+for i=-n upto n:
+ for j=-n upto n:
+ draw unit(i*j) shifted ((i - floor(j / 2)) * u + j * v);
+ endfor
+endfor
+clip currentpicture to unitsquare shifted -(1/2, 1/2) scaled (n * 9 r);
+endfig;
+\end{mplibcode}
+\end{smallcode}
+Instead of defining six triangles, six squares, and a hexagon, you can just define
+the dodecagon and overlap each one. Using a macro to create the unit, allows you to
+choose a different colour for each filler. Using the \mpl{transparent} macro from
+Metafun automatically mixes the colours for the overlaps. But the edges don't look
+so good, so you need to clip the whole picture to a neat square.
+
+
+\newpage
+\section{Recursion and iteration}
+
+\textsc{This chapter is not a tutorial} on recursion or iteration \textit{per se}, but rather
+more of an exploration of the \MP\ techniques you can use to create some particular types
+of drawing such as trees, plane-filling curves, non-periodic tilings, and fractals.\mwpic{-48pt}{rec-bush}
+
+\medskip\noindent
+Even so,
+it is perhaps useful to review some of the basic programming ideas
+involved.
+Consider for example the greatest common divisor algorithm presented in
+§\ref{sec:gcd}.
+\begin{smallcode}
+vardef gcd(expr a, b) = if b = 0: a else: gcd(b, a mod b) fi enddef;
+\end{smallcode}
+The reason this works is that we know (mathematically) that $0 \le a \bmod b < b$,
+and therefore that the arguments to the recursive call must get smaller each time
+and eventually we must get to $b=0$ when the answer will be $a$. This is the basic
+recursive approach: ensure at least one argument gets smaller each time and stop
+when you get to a given limit.
+The examples in this chapter use one of two simple approaches:
+\begin{itemize}
+ \item Explicitly pass a \mpl{level} argument that is decremented on each
+ recursive call, and stop the recursion when the level gets to zero
+ \item Pass a \<path> or two \<pair> arguments, and stop the recursion when the
+ path is too short or the pairs are too close together.
+\end{itemize}
+If you find recursion confusing, you can nearly always use an iterative approach
+instead. For example, you can implement the \mpl{gcd} function like this:
+\begin{smallcode}
+vardef gcd(expr A, B) = save r, a, b; numeric a, b, r; a := A; b := B;
+ forever:
+ r := a mod b; exitif r = 0;
+ a := b; b := r;
+ endfor b
+enddef;
+\end{smallcode}
+Notice that you have to use assignment in the loop to update the variables, and
+that you cannot assign to the arguments of a macro. Notice also that this version
+requires both arguments to be positive integers. You need to use your judgement to
+decide which is the better approach for a given problem.
+
+\newpage
+\subsection{The Koch curve}
+
+\textsc{The Swedish mathematician} Helge von Koch\mpic{-30pt}{rec-koch-steps} originally devised the
+Koch curve as an example of a non-differentiable curve that could be constructed with
+elementary geometry. It makes a good introduction to recursive paths with \MP. The
+construction is recursive: each straight line segment in the path is replaced with
+four copies of itself, scaled down $\frac13$ and arranged as shown
+at Level 1 \rightarrowfill\break
+At each level of the construction, the number of points in the path increases
+four-fold and the \mpl{arclength} of the path gets $\frac43$ longer.
+\begin{code}
+vardef koch(expr level, a, b) =
+ if level = 0:
+ a -- b
+ else:
+ save p, q, r; pair p, q, r;
+ p = 1/3[a,b]; r = 2/3[a,b]; q = r rotatedabout(p, 60);
+ koch(level-1, a, p) &
+ koch(level-1, p, q) &
+ koch(level-1, q, r) &
+ koch(level-1, r, b)
+ fi
+enddef;
+\end{code}
+The five levels were drawing using this function in a loop like this:
+\begin{code}
+for n=0 upto 4:
+ draw koch(n, origin, 300 right) shifted (0, -100n)
+endfor
+\end{code}
+The annotations in the middle show the \mpl{length} of the path and the
+\mpl{arclength}. The curve will always fit in the same bounding box but in theory it
+can become infinitely long. In practice it looks much the same past level 6, and
+you will start running into \MP\ limitations. The length of a path is not limited by
+the default scaled number system, but the numbers actually returned by \mpl{length}
+and \mpl{arclength} may not be reliable for very long paths. Also the call stack may
+get very large and the single-threaded processing time can get very slow, and when
+the length of each segment shrinks to the size of your pen, you will start losing
+detail.
+
+\newpage
+\subsection{Sierpinski's gaskets}
+
+\textsc{The second example} of recursive construction also dates from the early 20th
+century, but unlike von Koch's infinite curve, the area of Sierpinski's gasket tends
+to zero.\mwpic{-12pt}{rec-sierpinski-triangle} In the original specification, you
+are supposed to remove the central quarter of each triangle, but this program does
+it the other way round and delays drawing the triangles until they are small enough.
+\begin{code}[xleftmargin=0pt, xrightmargin=-2in]
+vardef gasket(expr t, s, limit) =
+ if length (point 1 of t - point 0 of t) < limit:
+ fill t;
+ else:
+ save little_t; path little_t; little_t = t scaled s;
+ for i=1 upto length t:
+ gasket(little_t shifted (point i of t - point i of little_t), s, limit);
+ endfor
+ fi
+enddef;
+\end{code}
+Note the useful idiom \mpl{shifted (point i of t - point i of little_t)} – this
+neatly tucks a copy of the small triangle into the appropriate corner of the big
+triangle. You can make this even simpler by coding the scaling parameter $s$ and
+\id{limit} as constants in the recursive routine, so that you do not have to pass
+them down each time. The triangular gasket was generated using the macro like this:
+\begin{code}[xleftmargin=0pt, xrightmargin=-2in]
+beginfig(1);
+ path T; T = for i = 1 upto 3: 220 up rotated 120i -- endfor cycle;
+ gasket(T, 1/2, 20);
+endfig;
+\end{code}
+You can generalize it, for example by making
+the path \id{T} into a pentagon with scaling factor $s=(3-\sqrt5)/2$,
+or a hexagon with $s=1/3$, and so on:
+
+\vbox to 0pt{\vskip-2pt\hsize10in\noindent\includegraphics[width=10in]{rec-sierpinski-pentagon.pdf}\par\vss}
+
+\newpage
+\subsection{The Heighway dragon}
+
+\textsc{The Heighway dragon curve} dates from the 1960s, and is created in a similar
+way to the Koch curve: each straight line segment is recursively replaced with two
+copies of itself scaled down and arranged as shown.\mwpic{-36pt}{rec-dragon}
+
+\medskip
+\centerline{\includegraphics{rec-heighway-stages}}
+
+\noindent
+Note that every other segment is flipped left and right. At each stage, the number of points
+increases two-fold and the path gets $\sqrt2$ times longer. Here is a recursive
+routine to generate the curve as a single path.
+\begin{smallcode}
+numeric r, theta; r = sqrt 1/2; theta = 45;
+vardef dragon(expr level, a, b) =
+ if level > 0:
+ save p; pair p;
+ p = r[a, b] rotatedabout(a, theta);
+ dragon(level - 1, a, p) & reverse dragon(level - 1, b, p)
+ else:
+ a .. b
+ fi
+enddef;
+\end{smallcode}
+The blue dragon was created with: {\small\mpl{draw dragon(15, origin, 240 right)}}\rlap{\raise1ex\hbox{\ $\smash{\nearrow}$}}
+
+After the fourth level the corners of the curve start to touch each
+other, but they never cross. You can see this if you draw the curve with rounded
+corners.
+\begin{smallcode}
+vardef rounded_corners expr p =
+ save r, n; numeric r, n; r = 1/3; n = length p;
+ subpath (0, 1-r) of p
+ for t=1 upto n-1:
+ .. subpath (t+r, t+1-r) of p
+ endfor .. subpath (n-r, n) of p
+enddef;
+\end{smallcode}
+The red dragon was: {\small\mpl{draw rounded_corners dragon(10, origin, 240
+right)}}\rlap{\hbox{\ $\smash{\longrightarrow}$}}
+
+\vfill
+\noindent{\small\llap{\hey\ }The length of the dragon path at level $n$ is
+$2^n$, so if you want to do arithmetic with the path length you need to use a big
+number system when $n > 11$.}
+
+\newpage
+\subsection{Iterative dragons}
+
+\textsc{The dragon curve} can also be created with iteration instead of recursion.
+Another way of viewing the stages of developing the curve is that at each stage the
+whole curve is replaced by two copies of itself arranged as shown:
+
+\medskip
+\centerline{\includegraphics{ifs-heighway-stages}}
+
+\smallskip\noindent
+We can do this in two steps in a loop, like this:\mpic{-160pt}{ifs-heigh}
+\begin{smallcode}
+path p; p = origin -- dir 30;
+numeric n;
+for i=1 upto 12:
+ n := length p;
+ p := p rotated 45;
+ p := p & reverse p rotatedabout(point n of p, 90);
+endfor
+draw p scaled (384 / xpart (urcorner p - llcorner p));
+\end{smallcode}
+In this approach, instead of scaling down each time, the curve is just allowed to
+grow $\sqrt2$-times bigger in each loop, then scaled to the desired width
+(384\unit{pt}) when it is complete. The 12 stages in the loop produce the rotated blue
+dragon as shown.\rlap{\raise1ex\hbox{\ $\smash{\nearrow}$}}
+
+\vfill\noindent
+With a small adaptation, you can also use this to explore variations.
+\begin{smallcode}
+path p; p = origin -- dir 30;
+numeric n, r; r = 3;
+for i=1 upto 12:
+ n := length p;
+ p := p rotated (45 - r);
+ p := p & reverse p rotatedabout(point n of p, 90 + 2r);
+endfor
+\end{smallcode}
+The extra parameter $r$ is used to open up the folds, making it more
+“organic”.\mpic{-200pt}{ifs-heigh-open}
+
+\newpage
+\subsection{The golden dragon}
+
+\textsc{You can also explore variations} with the recursive approach by altering
+the scaling and rotation. Here $r\simeq 0.74274$ and
+$\theta\simeq 32.893°$ in the initial triangle.\vadjust{\moveright136pt\vbox to
+0pt{\vskip 3.16in \hsize 3.6in \noindent
+Because the initial triangle shape is shorter on one side, it is better to adapt
+the \mpl{dragon} routine to measure the gap between points instead of using a fixed
+level parameter:
+\begin{smallcode}
+vardef dragon(expr a, b) =
+ if abs(a-b) > 1:
+ save p; pair p;
+ p = r[a, b] rotatedaround(a, theta);
+ dragon(a, p) & reverse dragon(b, p)
+ else:
+ a .. b
+ fi
+enddef;
+\end{smallcode}
+\vss}}
+$$\hbox to \textwidth{\includegraphics{rec-dragon-golden.pdf}\hss}$$
+
+\newpage
+\subsection{The Peano-Gosper curve, or flow-snake}
+
+\textsc{The Peano-Gosper curve} is a space-filling curve. It is
+constructed in the same way as the dragons, but generating shape has seven sections
+instead of two, and they are cunningly arranged to fill the space.\mpic{-48pt}{rec-flowsnake-construction}
+The arrows indicate the reversals so that the scaled-down copies fill the larger
+part of the hexagons that contain them.\rlap{\hbox{\ $\smash{\rightarrow}$}}
+$$\includegraphics[width=\textwidth]{rec-flowsnake}$$
+This fourth-level curve is the boundary between the filled and unfilled branches.
+\vadjust{\moveright 384pt \vbox to 0pt{\vss\hsize 4in
+\noindent Given the \id{snake} path scaled to unit length as shown above in
+\red{red}, the
+flow-snake path can be created with:
+\begin{smallcode}
+vardef rattle(expr level, a, b) =
+ if level > 0:
+ save s; path s; s = snake zscaled (b-a) shifted a;
+ reverse rattle(level - 1, point 1 of s, a) &
+ rattle(level - 1, point 1 of s, point 2 of s) &
+ rattle(level - 1, point 2 of s, point 3 of s) &
+ rattle(level - 1, point 3 of s, point 4 of s) &
+ reverse rattle(level - 1, point 5 of s, point 4 of s) &
+ reverse rattle(level - 1, point 6 of s, point 5 of s) &
+ rattle(level - 1, point 6 of s, b)
+ else:
+ a -- b
+ fi
+enddef;
+path S; S = rattle(4, origin, 360 right);
+\end{smallcode}
+}}
+
+\newpage
+\subsection{Fractal trees}
+
+\textsc{You can make a tree} with a vertical line segment, a scaling factor $0< r <
+1$, and an angle $0° < \theta < 180°$. Start with the vertical line as the trunk,
+then make the first branch by scaling the trunk by $r$, rotating it $+\theta$, and
+moving it to the top of the trunk; make the second in the same way but rotate it by
+$-\theta$. Then repeat using each branch as a new trunk.\mpic{-114pt}{rec-simple-tree}
+And stop after enough levels.
+
+This can be implemented easily in \MP, but requires a
+slightly different technique. There is no simple way to represent the tree as a single
+\<path> because a path cannot have branches, so
+you need to draw each segment separately instead of trying to join them up. Compare
+this to the \mpl{rattle} routine on the page before.
+\begin{code}
+vardef make_tree(expr level, bar) =
+ draw bar;
+ if level > 0:
+ for t=-theta, theta:
+ make_tree(level - 1, bar shifted - point 0 of bar
+ scaled r rotated t shifted point 1 of bar);
+ endfor
+ fi
+enddef;
+\end{code}
+To combine several such trees in a drawing either move the initial \id{bar} path, or
+capture the tree as a \<picture> using \mpl{image(make_tree(...))}, like so:
+\begin{code}
+picture T[]; numeric r, theta;
+r = 0.58; theta = 60; T1 = image(
+ make_tree(3, origin -- 100 up);
+);
+% update r and theta...
+r := 0.75; theta := 14; T2 = image(
+ make_tree(10, origin -- 100 up);
+);
+draw T1 shifted 32 up;
+draw T2 shifted 128 right;
+\end{code}
+Notice that $r$ and $\theta$ are treated as global constants. You could pass them
+to the \mpl{make_tree} routine instead. Notice also that the smaller tree only has
+three levels, but the larger one has 10. And that the labels were omitted.
+
+\newpage
+\subsubsection{More fractal vegetation}
+
+\textsc{If you are more interested} in the visual aspect of your tree than the
+mathematical, you can tweak the \mpl{make_tree} routine a
+bit.\mpic{-12pt}{rec-general-tree}
+\begin{smallcode}[xleftmargin=0pt]
+vardef make_tree(expr bar) =
+ save a; numeric a; a = abs(point 1 of bar - point 0 of bar);
+ cutdraw bar withpen pencircle scaled 1.2(1/8 a) withcolor background;
+ cutdraw bar withpen pencircle scaled (1/8 a) withcolor 1/256(57, 35, 32);
+ if a > leaf:
+ save s; pair s;
+ s = 1/32 a * r * unitvector(direction 1 of bar) rotated 90;
+ make_tree(bar shifted - point 0 of bar
+ shifted s scaled r rotated theta
+ shifted point 1 of bar);
+ make_tree(bar shifted - point 0 of bar
+ shifted -s scaled r rotated -theta
+ shifted point 1 of bar);
+ else:
+ draw point 1 of bar withpen pencircle scaled 1 withcolor 2/3 green;
+ fi
+enddef;
+beginfig(1);
+ numeric leaf, r, theta;
+ r = 0.75; theta = 14; leaf = 3;
+ make_tree(origin -- 100 up);
+endfig;
+\end{smallcode}
+\begin{itemize}
+ \item The recursion is controlled by measuring the length of the branches instead
+ of using a \id{level} parameter.
+ \item Each branch is drawn with a pen scaled to $\frac18$ of its length using
+ \mpl{cutdraw}, and outlined so you can see the crossings.
+ \item Each branch is moved slightly left or right with $s$ to make the joins
+ neater.
+ \item Tiny green leaves are added on the ends of each branch.
+\end{itemize}
+
+\newpage
+\subsubsection{Randomized recursive plants}
+
+\vskip-\baselineskip
+\noindent\hbox to \linewidth{\includegraphics{rec-general-tree-deviate}\hss}
+
+\noindent
+\textsc{To get plants that look more natural} you can introduce some random factors.
+Strictly these are not fractal because they are not
+self-similar. The only change from the previous \mpl{make_tree} is to replace
+\mpl{scaled r rotated theta} with
+\begin{smallcode}[xleftmargin=0pt]
+scaled (r + 1/16 normaldeviate) rotated (theta + 8 normaldeviate)
+\end{smallcode}
+The bush is similar, except that it splits into four branches at each step instead of
+two and only the lengths randomized.\mwpic{-96pt}{rec-bush}
+The colouring was a happy accident.
+\begin{smallcode}[xleftmargin=0pt, xrightmargin=-100pt]
+input colorbrewer-rgb
+vardef bush(expr start, aim, level, limit) =
+ save s, target; numeric s; pair target; s = level / limit;
+ for a = -32, -8, 8, 16:
+ target = aim scaled ((32 + 16 normaldeviate) * s) rotated a shifted start;
+ draw start -- target withpen pencircle scaled s withcolor BrBG[limit][limit-level];
+ if level > 1: bush(target, aim rotated a, level - 1, limit); fi
+ endfor
+enddef;
+beginfig(1); bush(origin, dir 80, 6, 8); endfig;
+\end{smallcode}
+
+\newpage
+\subsection{Penrose tilings}
+
+\textsc{Recursion is useful} for generating non-periodic tilings,%
+\vadjust{\moveright5.5in\vbox to 0pt{\kern-8pt
+\begin{smallcode}
+% golden ratio constant
+numeric psi; psi = (sqrt 5 - 1) / 2;
+
+% inflating tall shape makes two others
+vardef inflate_tall(expr level, a, b, c) =
+ if level = 0:
+ draw a--b--c withpen pencircle scaled 1/8;
+ else:
+ save d; pair d; d = psi[b,a];
+ inflate_tall(level - 1, d, c, a);
+ inflate_wide(level - 1, c, d, b);
+ fi
+enddef;
+
+% inflating wide makes three
+vardef inflate_wide(expr level, a, b, c) =
+ if level = 0:
+ draw a--b--c withpen pencircle scaled 1/8;
+ else:
+ save d, e; pair d, e; d = psi[a,b]; e = psi[a,c];
+ inflate_tall(level - 1, d, e, b);
+ inflate_wide(level - 1, e, d, a);
+ inflate_wide(level - 1, c, e, b);
+ fi
+enddef;
+
+% start with a tall triangle with apex at origin
+pair a, b, c;
+b = origin;
+c = (sind(18), sind(72)) scaled 800;
+a = (-xpart c, ypart c);
+
+% make an inflated "wedge"
+picture P; P = image(inflate_tall(7, a, b, c));
+
+% then exploit the five-fold symmetry to make the picture
+for t = 0 upto 9:
+ draw P if odd t: reflectedabout(b, c) fi rotated 72t;
+endfor;
+\end{smallcode}
+
+\qquad\hey \textit{\small Colouring the tiling is left as an exercise for the
+reader.}\par\vss}}
+like those discovered in the 1970s by the British polymath Sir Roger Penrose.
+$$\includegraphics[width=\textwidth]{penrose-P3.pdf}$$
+By definition, there is no periodic unit to repeat; but there are well-known
+expansion rules to split each shape in the tiling into smaller congruent copies. So
+you can start with a single large shape and apply the rules recursively to make the
+tiling. The tiling above is made from two rhombus shapes, but each of these shapes can be
+split in half into two triangles, and the expansion process actually works on these:
+$$\includegraphics{penrose-stages.pdf}$$
+
+\vbox to 0pt{\noindent
+Each expansion of half the thick rhombus, produces two more thick halves and one
+thin half; each expansion of half the thin rhombus produces a thick half and a thin
+half. No other shapes are produced, so the recursive process can be repeated
+indefinitely. At the desired lowest level the triangles are patched back into
+rhombus shapes simply by \textit{not} drawing the edges shown with dots.\par\vss}
+
+\newpage
+\subsection{Pinwheel tiling}
+
+\textsc{Another non-periodic tiling} is the so-called pinwheel tiling, devised in 1994
+by Charles Radin, based on
+this dissection by John Conway.\mpic{-22pt}{pinwheel}
+$$\includegraphics{conway.pdf}$$
+Starting with a triangle of this shape, the tiling recursively divides into
+five smaller copies of itself. The colouring is passed down each level but only used
+on the lowest.
+\begin{smallcode}
+input colorbrewer-rgb
+vardef pinwheel(expr level, a, b, c, s) =
+ if level = 0:
+ fill a--b--c--cycle withcolor s;
+ draw a--b--c--cycle withpen pencircle scaled 1/8 withcolor white;
+ else:
+ save d, e, f, g; pair d, e, f, g;
+ d = 2/5[b, c]; e = 4/5[b,c]; f = 1/2[e, a]; g = 1/2[a, b];
+ pinwheel(level - 1, e, a, c, Blues 9 4);
+ pinwheel(level - 1, f, g, a, Blues 9 3);
+ pinwheel(level - 1, f, g, e, Blues 9 2);
+ pinwheel(level - 1, d, e, g, Blues 9 5);
+ pinwheel(level - 1, d, b, g, Blues 9 6);
+ fi
+enddef;
+beginfig(1);
+ pinwheel(5, origin, 200 right, 100 up, "");
+ pinwheel(5, (200,100), 100 up, 200 right, "");
+endfig;
+\end{smallcode}
+Notice that to make the dissection work, it is important to pass the three
+\<pair> arguments in the right order.
+
+
+
+\newpage
+\tableofcontents
+
+\newpage
+\section*{To do...}
+
+- angle marks, including curved angle marks
+
+- drawing knots, double lines, ropes
+
+- decorating lines
+
+- the eye, hand
+
+- physics diagrams, pendulum, indicating movement and vibration
+
+- examining a glyph
+
+- all sorts of arrow, arrows between arrows, arrows next to a path (handles)
+
+- faking 3d
+
+- functions, def, vardef, recursion, primarydef etc, of syntax, expr suffix text
+
+- four box model charts - Tufte charts - Venn diagrams
+
+- tour of the plain format
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/Drawing-with-Metapost.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,78 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ % define a unit
+ numeric u;
+ u = 1cm;
+
+ % define the axes
+ path xx, yy;
+ xx = (2 left -- 10 right) scaled u;
+ yy = (down -- 7 up) scaled u;
+
+ % and the angles
+ numeric theta, psi;
+ psi = 28;
+ theta = 50;
+
+ % and some points
+ pair P, Q, H, N, M, T, L;
+ P = (4, 3) scaled 1cm;
+
+ % now some lines
+ path ell, tee, arc;
+ ell = (left--right) scaled 10u rotated theta shifted P cutbefore xx;
+ tee = (left--right) scaled 10u rotated psi shifted P cutbefore xx;
+
+ % this is a bit if a fiddle, but gets us a circular arc tangent to
+ % the line tee at point P, which appears to be what is wanted....
+ arc = subpath (1.6, 3.2) of halfcircle rotated -180 shifted 1/2 up
+ scaled 10u shifted P rotatedabout(P, psi);
+
+ % the rest of the points then follow...
+ Q = ell intersectionpoint subpath (1.5, 3) of arc;
+ H = P + whatever * dir psi;
+ xpart H = xpart Q = xpart M; ypart M = ypart N = 0;
+ xpart N = xpart P;
+ L = point 0 of ell;
+ T = point 0 of tee;
+
+ % now we can get with the drawing
+ draw arc dashed withdots scaled 1/4 withcolor 1/2 red;
+ draw P--N dashed withdots scaled 1/2;
+ draw Q--M dashed withdots scaled 1/2;
+
+ drawarrow xx; label.rt("$x$", point 1 of xx);
+ drawarrow yy; label.top("$y$", point 1 of yy);
+
+ drawoptions(withcolor 2/3 blue);
+ draw fullcircle scaled 32 shifted T cutafter tee;
+ draw fullcircle scaled 28 shifted L cutafter ell;
+ label("$\psi$", 24 right rotated 1/2 psi shifted T);
+ label("$\theta$", 20 right rotated 1/2 theta shifted L);
+ drawoptions();
+
+ path boundary;
+ z1 = point .95 of xx;
+ z2 = point .95 of yy;
+ boundary = z1--(x1,y2)--z2;
+
+ draw ell cutafter boundary;
+ draw tee cutafter boundary;
+
+ % and finally label the points.
+ label.bot("$T$", T);
+ label.bot("$L$", L);
+ label.bot("$N$", N);
+ label.bot("$M$", M);
+ dotlabel.ulft("$P$", P);
+ dotlabel.lrt("$Q$", Q);
+ dotlabel.lrt("$H$", H);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/angles-lines.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,158 @@
+\documentclass[border=1mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef radical_axis(expr ca, cb) =
+ numeric t, d, ra, rb;
+ ra = abs(center ca - point 0 of ca);
+ rb = abs(center cb - point 0 of cb);
+ d = abs(center cb - center ca);
+ 2t = 1 + (ra+rb) / d * (ra-rb) / d;
+ (up -- down) scaled 89
+ rotated angle (center cb - center ca)
+ shifted t[center ca, center cb]
+enddef;
+
+input tangent-times
+
+vardef invert_point(expr P, o, r) =
+ save p, d; pair p; numeric d;
+ p = P - o; d = abs p;
+ if d > 0:
+ o + unitvector p scaled (r/d*r)
+ else:
+ errmessage("Inversion undefined at center.")
+ fi
+enddef;
+
+vardef pole(expr Line, Circle) =
+ save p, o, r; pair o, p; numeric r;
+ o = center Circle;
+ r = 1/2 abs (point 4 of Circle - point 0 of Circle);
+ p = whatever [point 1 of Line, point 0 of Line];
+ p - o = whatever * direction 0 of Line rotated 90;
+ invert_point(p, o, r)
+enddef;
+
+vardef polex(expr a, b, o, r) =
+ save p; pair p;
+ p = whatever [a, b];
+ p - o = whatever * (a-b) rotated 90;
+ invert_point(p, o, r)
+enddef;
+
+vardef three_point_circle(expr a,b,c) =
+ save m; pair m;
+ m = whatever [a,b] rotatedaround(.5[a,b],90)
+ = whatever [b,c] rotatedaround(.5[b,c],90);
+ fullcircle scaled 2 length(m-a) shifted m
+ enddef;
+
+vardef through(expr a, b, o) =
+ save d; numeric d; d = abs(a-b);
+ (1+o/d)[b, a] -- (1+o/d)[a, b]
+enddef;
+
+beginfig(1);
+ path c[]; numeric r[];
+ z1 = origin; r1 = 101;
+ z2 = 233 right rotated 4; r2 = 53;
+ z3 = 209 right rotated -42; r3 = 31;
+
+ forsuffixes $=1, 2, 3:
+ c$ = fullcircle scaled 2 r$ shifted z$;
+ endfor
+
+ pair ecs[], ics[];
+
+ for i=1 upto 3:
+ numeric j, k;
+ j = i mod 3 + 1;
+ k = 10i + j;
+ ics[k] = (r[i]/(r[i]+r[j]))[z[i], z[j]];
+ ecs[k] = (r[i]/(r[i]-r[j]))[z[i], z[j]];
+ endfor
+ path a[];
+ a1 = radical_axis(c1, c2);
+ a2 = radical_axis(c2, c3);
+ a3 = radical_axis(c3, c1);
+
+ z0 = whatever [point 0 of a1, point 1 of a1]
+ = whatever [point 0 of a2, point 1 of a2];
+
+ z11 = polex(ecs31, ecs12, z1, r1);
+ z21 = polex(ecs31, ecs12, z2, r2);
+ z31 = polex(ecs31, ecs12, z3, r3);
+
+ z12 = c1 intersectionpoint (z0 -- z11);
+ z22 = c2 intersectionpoint (z0 -- z21);
+ z32 = c3 intersectionpoint (z0 -- z31);
+
+ z13 = c1 intersectionpoint (z11 -- 8[z0,z11]);
+ z23 = c2 intersectionpoint (z21 -- 8[z0,z21]);
+ z33 = c3 intersectionpoint (z31 -- 8[z0,z31]);
+
+ z14 = whatever[ecs12, ecs31] = whatever[z1, z11];
+ z24 = whatever[ecs12, ecs31] = whatever[z2, z21];
+ z34 = whatever[ecs12, ecs31] = whatever[z3, z31];
+
+ drawoptions(withcolor 3/4[blue, white]);
+ draw c1; draw c2; draw c3;
+ drawoptions(withcolor 1/4[blue, white]);
+ label.urt(btex $C_1$ etex, point 1 of c1);
+ label.top(btex $C_2$ etex, point 2 of c2);
+ label.rt (btex $C_3$ etex, point 1/2 of c3);
+ draw ecs12 -- ecs31 -- ecs23;
+
+ drawoptions(withpen pencircle scaled 1/4 withcolor 3/4[2/3 blue, white]);
+ draw a1; draw a2; draw a3;
+ draw through(z1, z14, 6);
+ draw through(z2, z24, 6);
+ draw through(z3, z34, 6);
+
+ drawoptions(withpen pencircle scaled 1/4 withcolor 1/2 white);
+ draw through(z0, z13, 6);
+ draw through(z0, z23, 6);
+ draw through(z0, z33, 6);
+
+ drawoptions(withcolor 1/256(203, 92, 13));
+ drawdot z0 withpen pencircle scaled 3/2 dotlabeldiam;
+ z99 = z0 shifted 24 dir -6;
+ label.rt("\vbox{\openup-4pt\halign{\hss #\hss\cr Radical\cr centre\cr}}", z99);
+ interim ahangle := 20; drawarrow z99 -- z0
+ cutafter fullcircle scaled 16 shifted z0
+ withpen pencircle scaled 1/3;
+
+ drawoptions(withcolor 1/256(239, 114, 21));
+ dotlabel.urt("\small Pole", z11);
+ dotlabel.ulft("\small Pole", z21);
+ dotlabel.urt("\small Pole", z31);
+
+ drawoptions(withcolor 2/3 red);
+ draw three_point_circle(z12, z22, z32);
+ draw three_point_circle(z13, z23, z33);
+ drawdot z12 withpen pencircle scaled 3/4 dotlabeldiam;
+ drawdot z22 withpen pencircle scaled 3/4 dotlabeldiam;
+ drawdot z32 withpen pencircle scaled 3/4 dotlabeldiam;
+ drawdot z13 withpen pencircle scaled 3/4 dotlabeldiam;
+ drawdot z23 withpen pencircle scaled 3/4 dotlabeldiam;
+ drawdot z33 withpen pencircle scaled 3/4 dotlabeldiam;
+
+ drawoptions(withcolor 1/2[blue, white]);
+ drawdot z1 withpen pencircle scaled dotlabeldiam;
+ drawdot z2 withpen pencircle scaled dotlabeldiam;
+ drawdot z3 withpen pencircle scaled dotlabeldiam;
+ drawdot z14 withpen pencircle scaled dotlabeldiam;
+ drawdot z24 withpen pencircle scaled dotlabeldiam;
+ drawdot z34 withpen pencircle scaled dotlabeldiam;
+ draw thelabel.top(btex Axis of similitude, as polar etex, origin)
+ rotated angle (ecs12 - ecs31)
+ shifted 3/4[ecs31, ecs12];
+
+ drawoptions();
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/apollonius.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,63 @@
+\RequirePackage{luatex85}
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+% invert path or pair P in circle C
+vardef invert(expr P, C) =
+ save I, r; pair I; numeric r;
+ I = center C;
+ r = abs(point 0 of C shifted -I);
+ if pair P: if abs(P-I) > 0: unitvector(P-I) scaled (r/abs(P-I)*r) shifted fi I
+ elseif path P:
+ save T; numeric T;
+ T = length P;
+ for t=0 upto T-1: invert(point t of P, C) .. endfor if cycle P: cycle else: invert(point T of P, C) fi
+ fi
+enddef;
+beginfig(1);
+ pair A,B,C;
+ A = origin; C = 244 right; B = 7/8[A, C];
+
+ path c[];
+ c1 = fullcircle scaled 2 abs(A-C); % large circle for the inversions
+ c2 = fullcircle scaled abs(A-C) shifted 1/2[A,C];
+ c3 = fullcircle scaled abs(A-B) shifted 1/2[A,B];
+ c4 = fullcircle scaled abs(B-C) shifted 1/2[B,C];
+ c5 = invert(c4,c1);
+
+ numeric d; d = abs(point 0 of c5 - point 4 of c5); % diameter of c5
+
+ drawoptions(withcolor 3/4 white);
+ draw c4; draw c5;
+ draw invert(subpath(0, 3/2) of c2, c1);
+ draw invert(subpath(0, 3/2) of c3, c1);
+ drawoptions();
+
+ draw subpath(-1/4,1) of c1 withcolor 3/4[1/2 red,white];
+ label.bot("\textit{circle of inversion}", point -1/4 of c1) withcolor 1/4[1/2 red, white];
+
+ for i=1 upto 72:
+ path c, c';
+ c = c5 shifted (0, i*d);
+ c' = invert(c, c1);
+ if i<5:
+ drawoptions(withcolor 3/4 white);
+ draw c; draw origin -- center c;
+ fill fullcircle scaled dotlabeldiam shifted center c;
+ fill fullcircle scaled dotlabeldiam shifted center c';
+ drawoptions();
+ fi
+ draw c' withpen pencircle scaled 1/4 withcolor 2/3 blue;
+ endfor
+
+ forsuffixes $=2,3,4: draw subpath (0,4) of c$
+ withpen pencircle scaled 1/4 withcolor 2/3 blue;
+ endfor
+
+ draw A--C;
+ dotlabel.lft("$A$", A); dotlabel.llft("$B$", B); dotlabel.rt("$C$", C);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arbelos.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,62 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+vardef median(expr p) = origin for i=1 upto length p: + point i of p / length p endfor enddef;
+beginfig(1);
+ path s[], t[];
+ s1 = unitsquare scaled 21 rotated 15;
+ s2 = s1 rotated 150;
+ t1 = subpath (4, 3) of s1 -- point 1 of s2 -- cycle;
+ t2 = t1 reflectedabout(point 1 of t1, point 2 of t1);
+ t3 = t1 rotated 150;
+ t4 = t1 rotated 210;
+
+ picture color_unit, grid_unit;
+ color_unit = image(
+ fill s1 withcolor Oranges 8 1;
+ fill s2 withcolor Oranges 8 2;
+ fill t1 withcolor Blues 8 1;
+ fill t2 withcolor Blues 8 2;
+ fill t3 withcolor Blues 8 3;
+ fill t4 withcolor Blues 8 4;
+ );
+ grid_unit = image(
+ forsuffixes $=s1, s2, t1, t2, t3, t4:
+ draw $;
+ % pair m; m = median($);
+ % for i=1 upto length $:
+ % draw m -- point i - 1/2 of $
+ % withpen pencircle scaled 1/4;
+ % endfor
+ endfor
+ );
+
+ pair u, v;
+ u = point 1 of s1 - point 1 of s2;
+ v = u rotated 90;
+
+ numeric n; n = 3;
+ forsuffixes $=color_unit, grid_unit:
+ for i=-n upto n:
+ for j=-n upto n:
+ draw $ shifted (i * u + j * v);
+ endfor
+ endfor
+ endfor
+ label.bot("The arrangement of polygons in the units was carefully", point 1/2 of bbox currentpicture
+ shifted 21 down);
+ label.bot("chosen to give the tiling neat edges." , point 1/2 of bbox currentpicture);
+
+ path b; b = bbox currentpicture shifted 34 down;
+ draw color_unit shifted point 1/4 of b;
+ draw grid_unit shifted point 3/4 of b;
+ path b; b = bbox currentpicture shifted 13 down;
+ label("\texttt{color\_unit}", point 1/4 of b);
+ label("\texttt{grid\_unit}", point 3/4 of b);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-3-4.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,54 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\mplibsetformat{metafun}
+\begin{mplibcode}
+input colorbrewer-rgb
+beginfig(1);
+ numeric r; r = 5;
+ path d; d = for i=1 upto 12:
+ up scaled r
+ shifted (r * (sqrt(3)+2), 0)
+ rotated 30i --
+ endfor cycle;
+
+ color shade[];
+ shade0 = Oranges 8 3;
+ shade1 = Blues 8 3;
+ shade2 = Greens 8 3;
+ shade3 = Reds 8 3;
+
+ vardef unit(expr n) = image(
+ fill d withcolor transparent (2, .9, shade[n mod 4]);
+ draw d;
+ ) enddef;
+ pair u, v;
+ u = point 0 of d - point 3 of d;
+ v = u rotated 60;
+ numeric n; n = 6;
+ for i=-n upto n:
+ for j=-n upto n:
+ draw unit(i*j) shifted ((i - floor(j / 2)) * u + j * v);
+ endfor
+ endfor
+ clip currentpicture to unitsquare shifted -(1/2, 1/2) scaled (n * 9 r);
+ picture p; p = image(
+ draw d; draw point 0 of d withpen pencircle scaled 2;
+ drawoptions(withcolor 3/4[red, white]);
+ draw d shifted u; draw point 0 of d shifted u withpen pencircle scaled 2;
+ drawoptions(withcolor 3/4[blue, white]);
+ draw d shifted v; draw point 0 of d shifted v withpen pencircle scaled 2;
+ drawoptions();
+ drawarrow origin -- u withcolor red;
+ drawarrow origin -- v withcolor blue;
+ );
+ label.bot(p, point 1/2 of bbox currentpicture shifted 13 down);
+ label.bot(btex \vbox{\hsize 3.4in\noindent
+ The vectors are chosen so that the dodecagons overlap to make
+ the required triangles, squares, and hexagons.} etex,
+ point 1/2 of bbox currentpicture shifted 13 down);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-3-4-6-4.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,65 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input archimedean-tools
+input colorbrewer-rgb
+beginfig(1);
+ path dodo, h[], s[];
+ dodo = poly 12 of (origin -- 21 up);
+ for i=1 upto 3:
+ s[i] = poly 4 of subpath(2i, 2i-1) of dodo;
+ endfor
+ h1 = poly 6 of subpath (4, 3) of s1;
+ h2 = poly 6 of subpath (2, 1) of s3;
+
+ picture cols, lines;
+ cols = image(
+ fill dodo withcolor Greens 9 2;
+ for i=1 upto 2:
+ fill h[i] withcolor Greens 9 3;
+ endfor
+ for i=1 upto 3:
+ fill s[i] withcolor Greens 9 4;
+ endfor
+ );
+ lines = image(
+ forsuffixes $=dodo, s1, s2, s3, h1, h2:
+ if known $:
+ draw $ withpen pencircle scaled 1/4;
+ pair m; m = median($);
+ for i=1 upto length $:
+ cutdraw m -- point i - 1/2 of $
+ if odd i: cutbefore fullcircle scaled (length $ / 4) shifted m fi
+ withpen pencircle scaled 1/4
+ withcolor Reds 4 3;
+ ;
+ endfor
+ fi
+ endfor
+ );
+
+ pair u, v;
+ u = point 2 of s1 - point 8 of dodo;
+ v = u rotated 60;
+
+ numeric n;
+ n = 2;
+
+ forsuffixes @ = cols, lines:
+ for i=-n upto n+1:
+ for j=-n upto n:
+ draw @ shifted (i*u + j*v - floor(i/2) * v);
+ endfor
+ endfor
+ endfor
+
+ clip currentpicture to unitsquare xscaled ((2n+1) * xpart u) yscaled (2n * ypart v)
+ shifted median(s2 shifted (-n*u - n*v + floor(n/2) * v));
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-6-12.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,34 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+input colorbrewer-rgb
+path o, r[];
+o = (for i=0 upto 7: 21 dir 45i -- endfor cycle) rotated -90/4;
+pair t; t = whatever[point 0 of o, point 1 of o]
+ = whatever[point 2 of o, point 3 of o];
+r1 = subpath (1,2) of o -- t -- cycle;
+r2 = r1 rotated 90;
+r3 = r2 rotated 90;
+r4 = r3 rotated 90;
+
+picture filler;
+filler = image(
+ filldraw r1 withcolor Reds 8 3;
+ filldraw r2 withcolor Blues 8 3;
+ filldraw r3 withcolor Reds 8 3;
+ filldraw r4 withcolor Blues 8 3;
+ filldraw o withcolor Purples 8 2;
+);
+beginfig(1);
+ draw filler;
+ label.bot("\begin{tabular}{c}The \texttt{filler} picture\\(unrotated)\end{tabular}", point 1/2 of bbox filler);
+
+ draw o shifted 120 right;
+ label.bot("The octagon path \texttt{o}", point 1/2 of bbox o shifted 120 right);
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8-parts.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,40 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+input colorbrewer-rgb
+path o, r[];
+o = (for i=0 upto 7: 21 dir 45i -- endfor cycle) rotated -90/4;
+pair t; t = whatever[point 0 of o, point 1 of o]
+ = whatever[point 2 of o, point 3 of o];
+r1 = subpath (1,2) of o -- t -- cycle;
+r2 = r1 rotated 90;
+r3 = r2 rotated 90;
+r4 = r3 rotated 90;
+
+picture filler;
+filler = image(
+ filldraw r1 withcolor Reds 8 3;
+ filldraw r2 withcolor Blues 8 3;
+ filldraw r3 withcolor Reds 8 3;
+ filldraw r4 withcolor Blues 8 3;
+ filldraw o withcolor Purples 8 2;
+);
+pair u, v;
+u = point 0 of o - point 5 of o; v = u rotated 90;
+beginfig(1);
+numeric n; n = 5;
+for i=-n upto n:
+ for j=-n upto n:
+ draw filler rotated ((i+j) mod 2 * 90) shifted (i*u + j * v);
+ endfor
+endfor
+for i=-n upto n:
+ for j=-n upto n:
+ draw o shifted (i*u + j * v);
+ endfor
+endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-4-8-8.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hexagon.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hexagon.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hexagon.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,59 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+input archimedean-tools
+beginfig(1);
+
+ path h[];
+ % 42/sqrt(3) \simeq 24.2487;
+ for i=0 upto 2:
+ h[i] = poly 6 of (origin -- 42 / sqrt(3) * dir (30 + 120i));
+ endfor
+
+ picture unit;
+ unit = image(
+ % fill h0 withcolor Purples 8 3;
+ % fill h1 withcolor Oranges 8 3;
+ % fill h2 withcolor Blues 8 2;
+ numeric i; i = -1;
+ forsuffixes $ = Purples, Oranges, Blues:
+ pair m; m = median(h[incr i]);
+ for j=1 upto 3:
+ fill subpath (-2i+2j, 2-2i+2j) of h[i] -- m -- cycle withcolor $[8][1+j];
+ endfor
+ for j=1 upto 3:
+ draw m -- point 2j of h[i] withcolor $[8][1];
+ endfor
+ endfor
+
+ % for i=0 upto 2:
+ % pair m; m = median(h[i]);
+ % for j=0 upto 2:
+ % draw point 2j+1/2 of h[i] -- m -- point 2j+3/2 of h[i];
+ % endfor
+ % endfor
+ );
+
+ pair u, v;
+ u = point 3 of h1 - point 1 of h0;
+ v = u rotated 60;
+
+ numeric n;
+ n = 4;
+
+ for i=-n upto n:
+ for j=-n upto n:
+ draw unit shifted (i*u + j*v);
+ endfor
+ endfor
+
+ clip currentpicture to superellipse(168 right, 168 up, 168 left, 168 down, 0.78);
+
+
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hexagon.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,62 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+input archimedean-tools
+beginfig(1);
+ path t[], s[], h;
+ h = poly 6 of (origin -- 42 dir 30);
+ for i=1 upto 3:
+ s[i] = poly 4 of subpath (2i, 2i-1) of h;
+ endfor
+ t1 = poly 3 of subpath (4, 3) of s1;
+ t2 = poly 3 of subpath (2, 1) of s2;
+
+ picture unit;
+ unit = image(
+ for i=1 upto 2:
+ fill t[i] withcolor Blues 8 4;
+ endfor
+ for i=1 upto 3:
+ fill s[i] withcolor Greens 8 1;
+ endfor
+ fill h withcolor Oranges 9 4;
+ forsuffixes $=t1, t2:
+ pair m; m = median($);
+ for i=1 upto length $:
+ draw m -- point i - 1/2 of $ withcolor Blues 8 8;
+ endfor
+ endfor
+ forsuffixes $=s1, s2, s3:
+ draw point 1/2 of $ -- point 5/2 of $ withcolor Oranges 8 8;
+ draw point 3/2 of $ -- point 7/2 of $ withcolor Blues 8 8;
+ endfor
+ for i=1 upto 3:
+ draw point i-1/2 of h -- point i+5/2 of h withcolor Oranges 8 8;
+ endfor
+ );
+
+ pair u, v;
+ u = point 2 of s1 - point -1 of h;
+ v = u rotated 60;
+
+ numeric n; n=4;
+ for i=-n upto n:
+ for j=-n upto n:
+ draw unit rotated 0 shifted (i*u + j*v - floor (j/2) * u);
+ endfor
+ endfor
+ %draw bbox unit withcolor red;
+
+ clip currentpicture to fullcircle scaled (3/2n * abs(v));
+
+ % picture p; p = currentpicture;
+ % (wd, ht) = (urcorner p - llcorner p);
+ % currentpicture := nullpicture;
+ % p := p scaled (148.5mm / wd);
+ % draw p;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-hst.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hex-parts.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hex-parts.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hex-parts.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,49 @@
+input colorbrewer-rgb
+input archimedean-tools
+path t[], h;
+h = poly 6 of (origin -- 21 dir 30);
+for i=1 upto 6:
+ t[i] = poly 3 of subpath (i, i-1) of h;
+endfor
+picture P[], unit[];
+for k=1 upto 2:
+ pair u, v;
+ if k=1:
+ u = point 2 of h - point 2 of t6;
+ t7 := poly3 of subpath (0, -1) of t6;
+ t8 := poly3 of subpath (0, -1) of t3;
+ else:
+ u = point 3 of h - point 2 of t6;
+ t7 := poly3 of subpath (2, 1) of t6;
+ t8 := poly3 of subpath (2, 1) of t3;
+ fi
+
+ v = u rotated -60;
+
+ unit[k] = image(
+ for i=1 upto 6:
+ fill t[i] withcolor Blues 8 if odd i: 2 else: 3 fi;
+ endfor
+ for i=7 upto 8:
+ fill t[i] withcolor Oranges 8 if odd i: 3 else: 2 fi;
+ endfor
+ fill h withcolor Oranges 8 2;
+ forsuffixes $=h, t1, t2, t3, t4, t5, t6, t7, t8:
+ draw $ withpen pencircle scaled 1/4 withcolor 3/4;
+ pair m; m = median($);
+ for i=1 upto length $:
+ draw m -- point i - 1/2 of $ withcolor 3/4;
+ endfor
+ endfor
+ );
+
+ numeric n; n=4;
+ P[k] = image(
+ for i=-n upto n:
+ for j=-n upto n:
+ draw unit[k] shifted (i*u + j*v - floor (j/2) * u);
+ endfor
+ endfor
+ clip currentpicture to superellipse(168 right, 168 up, 168 left, 168 down, 0.78);
+ );
+endfor
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hex-parts.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input arch-snub-hex-parts
+beginfig(1);
+ draw unit1 rotated 210;
+ draw unit2 rotated 210 shifted 100 left;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon-unit.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,13 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input arch-snub-hex-parts
+beginfig(1);
+draw P1 shifted 180 left;
+draw P2 shifted 180 right;
+currentpicture := currentpicture rotated 90;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-hexagon.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,72 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-cmyk
+% a polygon of n sides on a given path
+vardef poly expr n of p =
+ save x, y;
+ z0 = point 0 of p;
+ z1 = point 1 of p;
+ for i=2 upto n-1:
+ z[i] = z[i-2] rotatedabout(z[i-1], 180(2/n-1));
+ endfor
+ for i=0 upto n-1: z[i] -- endfor cycle
+enddef;
+vardef median(expr P) =
+ (origin for i=1 upto length P: + point i of P endfor) / length P
+enddef;
+beginfig(1);
+ path t[], s[];
+ s1 = poly 4 of (origin -- 42 dir 15);
+ t1 = poly 3 of subpath (2, 1) of s1;
+ t2 = poly 3 of subpath (3, 2) of s1;
+ t3 = poly 3 of subpath (2, 1) of t1;
+ t4 = poly 3 of subpath (2, 1) of t2;
+ s2 = poly 4 of subpath (2, 1) of t4;
+
+ picture unit;
+ unit = image(
+ fill s1 withcolor Oranges 8 5;
+ fill t1 withcolor Blues 8 4;
+ fill t4 withcolor Blues 8 3;
+ fill t3 withcolor Greens 8 4;
+ fill t2 withcolor Greens 8 3;
+ fill s2 withcolor Reds 8 5;
+ forsuffixes $=s1, t1, s2, t2, t3, t4:
+ pair m; m = median($);
+ for i=1 upto length $:
+ draw point i - 1/2 of $ -- m
+ withpen pencircle scaled 3/2 withcolor Spectral 3 2;
+ endfor
+ endfor
+ );
+
+ pair u, v;
+ u = point 2 of t2 - point 0 of s1;
+ v = point 2 of t3 - point 0 of s1;
+
+ for i=0 upto 6:
+ for j=0 upto 9:
+ draw unit shifted (i*u + j*v);
+ endfor
+ endfor
+
+ % picture p; p = currentpicture;
+ % (wd, ht) = (urcorner p - llcorner p);
+ % currentpicture := nullpicture;
+ % p := p scaled (145mm / wd);
+ % undraw unitsquare xscaled 148mm yscaled 210mm shifted llcorner p shifted -(1.5mm, 1.5mm)
+ % withpen pencircle scaled 1/8;
+ % z0 = 1/2[llcorner currentpicture, ulcorner currentpicture];
+ % draw z0 -- z0 shifted 3 right withpen pencircle scaled 1/8;
+ % z1 = 1/2[lrcorner currentpicture, urcorner currentpicture];
+ % draw z1 -- z1 shifted 3 left withpen pencircle scaled 1/8;
+ % draw p;
+ % picture r; r = currentpicture rotated 90;
+ % currentpicture := nullpicture;
+ % draw r;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-snub-square.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-square.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-square.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-square.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,39 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+input archimedean-tools
+beginfig(1);
+
+ path s;
+ s = poly 4 of (origin -- 42 right);
+ pair m;
+ m = median(s);
+
+ picture unit[];
+ unit0 = image(
+ fill s withcolor Oranges 8 5;
+ for i=1 upto length s:
+ draw m -- point i-1/2 of s;
+ endfor<D-`>
+
+ );
+ unit1 = image(fill s withcolor Blues 8 4);
+
+
+ pair u, v;
+ u = point 1 of s - point 0 of s;
+ v = point 3 of s - point 0 of s;
+
+
+ numeric n;
+ n = 4
+
+
+
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-square.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-triangle.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-triangle.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-triangle.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,45 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+input archimedean-tools
+beginfig(1);
+
+ path s, t;
+ s = poly 3 of (origin -- 42 right);
+ t = poly 3 of subpath(2,1) of s;
+ pair ms, mt;
+ ms = median(s);
+ mt = median(t);
+
+ picture unit;
+ unit = image(
+ fill s withcolor Oranges 8 3;
+ fill t withcolor Blues 8 2;
+ draw point 5/2 of s -- ms;
+ draw point 3/2 of t -- mt;
+ draw point 1/2 of s -- ms -- mt -- point 5/2 of t;
+ );
+
+ pair u, v;
+ u = point 1 of s - point 0 of s;
+ v = point 2 of s - point 0 of s;
+
+ numeric n;
+ n = 0;
+
+ for i=-n upto n:
+ for j=-n upto n:
+ draw unit shifted (i*u + j*v);
+ endfor
+ endfor
+
+ clip currentpicture to superellipse(168 right, 168 up, 168 left, 168 down, 0.78);
+
+
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/arch-triangle.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedean-tools.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedean-tools.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedean-tools.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,33 @@
+% a polygon of n sides on a given path
+vardef poly expr n of p =
+ save x, y;
+ z0 = point 0 of p;
+ z1 = point 1 of p;
+ for i=2 upto n-1:
+ z[i] = z[i-2] rotatedabout(z[i-1], 180(2/n-1));
+ endfor
+ for i=0 upto n-1: z[i] -- endfor cycle
+enddef;
+vardef polyc expr n of p =
+ save x, y;
+ z0 = point 0 of p;
+ z1 = point 1 of p;
+ for i=2 upto n-1:
+ z[i] = z[i-2] rotatedabout(z[i-1], 180(2/n-1));
+ endfor
+ for i=0 upto n-1: z[i] ... endfor cycle
+enddef;
+
+% a polygon of n sides of a given length
+vardef polya(expr n, s) =
+ save r, x, y; numeric r, x, y;
+ (x, y) = dir (180/n);
+ 2r = s * x / y;
+ for i=0 upto n-1:
+ (left * s/2) shifted (r * down) rotated (360 / n * i) --
+ endfor cycle
+enddef;
+vardef median(expr P) =
+ (origin for i=1 upto length P: + point i of P endfor) / length P
+enddef;
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedean-tools.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,189 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+numeric u; u = 10;
+path box; box = unitsquare shifted -(1/2,1/2) scaled 12u;
+picture P[];
+% (4,6,12)
+numeric dx; dx = u*(1+ cosd(15)/sind(15));
+picture unit; unit = image(
+ path s; s = unitsquare shifted -(1/2,1/2) scaled u shifted (dx/2,0);
+ for t=0 upto 2:
+ draw s rotated 120t;
+ for tt=1 upto 3:
+ draw subpath(3,4) of s rotated (120t+30tt);
+ endfor
+ endfor
+);
+P1 = image(
+ draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+ for x=-5dx step dx until 5dx:
+ for y=-5dx step dx until 5dx:
+ draw unit shifted (x,0) shifted ((y,0) rotated 60);
+ endfor
+ endfor
+ clip currentpicture to box; draw box dashed withdots scaled 1/4;
+ label.bot("$(4, 6, 12)$", point 1/2 of bbox currentpicture);
+);
+numeric dx; dx = u*(cosd(180/8)/sind(180/8));
+path octagon; octagon = for t = 0 upto 7: 1/2(dx,u) rotated 45t -- endfor cycle;
+P2 = image(
+ draw octagon withpen pencircle scaled 4 withcolor .8[red,white];
+ for x=-5dx step dx until 5dx:
+ for y=-5dx step dx until 5dx:
+ draw octagon shifted (x,y);
+ endfor
+ endfor
+ clip currentpicture to box; draw box dashed withdots scaled 1/4;
+ label.bot("$(4, 8^2)$", point 1/2 of bbox currentpicture);
+);
+
+numeric dx; dx = u*(cosd(180/12)/sind(180/12));
+path unit; unit = for t=0 upto 11: 1/2(dx,u) rotated 30t -- endfor cycle;
+P3 = image(
+ draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+ for x=-5dx step dx until 5dx:
+ for y=-5dx step dx until 5dx:
+ draw unit shifted (x,0) shifted ((y,0) rotated 60);
+ endfor
+ endfor
+ clip currentpicture to box; draw box dashed withdots scaled 1/4;
+ label.bot("$(3, 12^2)$", point 1/2 of bbox currentpicture);
+);
+
+% path box; box = unitsquare shifted -(1/2,1/2) scaled 12u;
+% clip currentpicture to box; draw box dashed evenly;
+
+% endfig;
+
+% beginfig(4);
+% % (6^3)
+% save dx; dx = 3u;
+% picture unit; unit = image(
+% for t=0 upto 2:
+% draw origin -- (u,0) rotated 120t;
+% endfor
+% );
+
+% draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+
+% for x=-5dx step dx until 5dx:
+% for y=-5dx step dx/3 until 5dx:
+% draw unit shifted (x,0) shifted (y,0) shifted ((y,0) rotated 60);
+% endfor
+% endfor
+
+% path box; box = unitsquare shifted -(1/2,1/2) scaled 12u;
+% clip currentpicture to box; draw box dashed evenly;
+
+% endfig;
+
+% (3,4,6,4)
+numeric dx; dx = u*(1+cosd(30)/sind(30));
+picture unit; unit = image(
+ path s; s = unitsquare shifted -(1/2,1/2) scaled u shifted (dx/2,0);
+ for t=0 upto 2:
+ draw s rotated 120t;
+ endfor
+);
+P4 = image(
+ draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+ for x=-5dx step dx until 5dx:
+ for y=-5dx step dx until 5dx:
+ draw unit shifted (x,0) shifted ((y,0) rotated 60);
+ endfor
+ endfor
+ clip currentpicture to box; draw box dashed withdots scaled 1/4;
+ label.bot("$(3, 4, 6, 4)$", point 1/2 of bbox currentpicture);
+);
+
+% beginfig(6);
+% % (3,6,3,6)
+% save dx; dx = 2u;
+% path unit; unit = for t=0 upto 5: (u,0) rotated 60t -- endfor cycle;
+
+% draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+
+% for x=-5dx step dx until 5dx:
+% for y=-5dx step dx until 5dx:
+% draw unit shifted (x,0) shifted ((y,0) rotated 60);
+% endfor
+% endfor
+
+% path box; box = unitsquare shifted -(1/2,1/2) scaled 12u;
+% clip currentpicture to box; draw box dashed evenly;
+
+% endfig;
+
+% beginfig(7);
+% % (4^4)
+% save dx; dx = 4u;
+% path unit; unit = unitsquare shifted -(1/2,1/2) scaled 2u;
+
+% draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+
+% for x=-5dx step dx until 5dx:
+% for y=-5dx step dx until 5dx:
+% draw unit shifted (x,0) shifted (y/2,y/2);
+% endfor
+% endfor
+
+% path box; box = unitsquare shifted -(1/2,1/2) scaled 12u;
+% clip currentpicture to box; draw box dashed evenly;
+
+% endfig;
+
+% beginfig(8);
+% % (3^4,6)
+% save dx; dx = 2u;
+% picture unit; unit = image(
+% for t=0 upto 5: draw ((2u,0) -- (u,0)
+% -- (u,0) rotated 60
+% -- (u,0) rotated 60 shifted (u,0)
+% ) rotated 60t; endfor
+% );
+
+% draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+
+% for x=-5dx step dx until 5dx:
+% for y=-5dx step dx until 5dx:
+% draw unit shifted (x,0) shifted ((x/2,0) rotated -60)
+% shifted ((y,0) rotated 60) shifted (y/2,0);
+% endfor
+% endfor
+
+% path box; box = unitsquare shifted -(1/2,1/2) scaled 12u;
+% clip currentpicture to box; draw box dashed evenly;
+
+% endfig;
+% beginfig(9);
+% % (3^2,4,3,4)
+% save dx; dx = u;
+% picture unit; unit = image(
+% for t=0 upto 3: draw ( (u/2,-u/2) -- (u/2+u*sqrt(3)/2,0) -- (u/2,u/2) -- cycle) rotated 90t; endfor
+% );
+
+% draw unit withpen pencircle scaled 4 withcolor .8[red,white];
+
+% for x=-5dx step dx until 5dx:
+% for y=-5dx step dx until 5dx:
+% draw unit shifted (x,0) shifted ((x,0) rotated 30)
+% shifted (0,y) shifted ((0,y) rotated 30);
+% endfor
+% endfor
+
+% path box; box = unitsquare shifted -(1/2,1/2) scaled 12u;
+% clip currentpicture to box; draw box dashed evenly;
+
+% endfig;
+beginfig(1);
+draw P1;
+draw P2 shifted (12.5u, 0);
+draw P3 shifted (0, -14.4u);
+draw P4 shifted (12.5u, -14.4u);
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/archimedes.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,37 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+ahangle := 30;
+beginfig(1);
+ numeric u;
+ u = 1cm;
+ path xx, yy, f;
+ xx = (1/4 left -- 17/4 right) scaled u;
+ yy = (1/4 down -- 9/4 up) scaled u;
+
+ f = ((15/32,32/15) for x = 1/2 step 1/8 until 33/8: .. (x,1/x) endfor) scaled u;
+
+ path A;
+ A = buildcycle(yy shifted (u,0), f, yy shifted (2.71828u,0), xx);
+ fill A withcolor Blues 8 2;
+
+ drawoptions(withcolor 3/4);
+ for x=1 upto 4:
+ draw yy shifted (x*u,0) cutafter (xx shifted (0, ypart point 0 of f));
+ endfor
+ for y=1 upto 2:
+ draw xx shifted (0,y*u) cutafter (yy shifted (xpart point infinity of f,0));
+ endfor
+
+ drawoptions();
+ draw f withcolor Reds 8 7;
+ drawarrow xx;
+ drawarrow yy;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/area-under-graph.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,113 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef straight_through(expr Prefix, Path, Suffix) =
+ reverse (left scaled Prefix rotated angle direction 0 of Path shifted point 0 of Path)
+ .. Path .. (right scaled Suffix rotated angle direction infinity of Path shifted point infinity of Path)
+enddef;
+
+vardef tangent_times(expr C, p) =
+ save m, a, b, G, H;
+ pair m; numeric a, b; path G, H;
+ m = 1/2[p, center C];
+ H = halfcircle scaled abs (p - center C)
+ rotated angle (p - center C) shifted m;
+ G = H rotatedabout(m, 180);
+ (a, whatever) = C intersectiontimes H;
+ (b, whatever) = C intersectiontimes G;
+ (a, b if b < a: + 8 fi)
+enddef;
+vardef arc_of_tangents(expr C, p) =
+ subpath tangent_times(C, p) of C
+enddef;
+
+beginfig(1);
+
+ path c[]; numeric r[];
+ z1 = origin; r1 = 101;
+ z2 = 233 right rotated 4; r2 = 53;
+ z3 = 209 right rotated -42; r3 = 31;
+
+ forsuffixes $=1, 2, 3:
+ c$ = fullcircle scaled 2 r$ shifted z$;
+ endfor
+
+ pair ecs[], ics[];
+
+ for i=1 upto 3:
+ numeric j, k;
+ j = i mod 3 + 1;
+ k = 10i + j;
+ ics[k] = (r[i]/(r[i]+r[j]))[z[i], z[j]];
+ ecs[k] = (r[i]/(r[i]-r[j]))[z[i], z[j]];
+ endfor
+
+ show unitvector(ecs31 - ics12) dotprod unitvector(ecs12 - ics31);
+
+ fill ecs12 -- arc_of_tangents(c1, ecs12) -- cycle withcolor 15/16[blue, white];
+ fill ics12 -- arc_of_tangents(c1, ics12) -- cycle withcolor 7/8 [blue, white];
+ fill ics12 -- arc_of_tangents(c2, ics12) -- cycle withcolor 7/8 [blue, white];
+
+ unfill c1; unfill c2; unfill c3;
+
+ drawoptions(withcolor 3/4[blue, white]);
+ draw c1 withpen pencircle scaled 1;
+ draw c2 withpen pencircle scaled 1;
+ draw c3 withpen pencircle scaled 1;
+
+ numeric t, u, v;
+ (t, whatever) = tangent_times(c1, ecs12);
+ (u, whatever) = tangent_times(c1, ics12);
+ (whatever, v) = tangent_times(c2, ics12);
+ draw point t of c1 -- z1 -- point u of c1 dashed evenly;
+ draw point t of c2 -- z2 -- point v of c2 dashed evenly;
+
+ drawoptions(withcolor 1/4[blue, white]);
+ drawdot z1 withpen pencircle scaled dotlabeldiam;
+ drawdot z2 withpen pencircle scaled dotlabeldiam;
+ drawdot z3 withpen pencircle scaled dotlabeldiam;
+ label(btex $C_1$ etex, z1 shifted 10 dir 254);
+ label(btex $C_2$ etex, z2 shifted 10 dir 299);
+ label(btex $C_3$ etex, z3 shifted 10 dir 6);
+ label.lft(btex $r_1$ etex, 1/2[z1, point t of c1]);
+ label.lft(btex $r_2$ etex, 1/2[z2, point t of c2]);
+
+ drawoptions();
+ draw ecs31 -- ics12 -- ecs23 -- ecs12 -- ics31 dashed withdots scaled 1/2;
+
+ drawoptions(withcolor 1/2 white);
+ draw straight_through(r1+24, z1 -- ecs12, 24);
+ draw straight_through(r1+24, z1 -- ecs31, 24);
+ draw straight_through(r2+24, z2 -- ecs23, 24);
+
+ drawoptions(withcolor 2/3 red);
+ drawdot ics12 withpen pencircle scaled dotlabeldiam;
+ drawdot ics23 withpen pencircle scaled dotlabeldiam;
+ drawdot ics31 withpen pencircle scaled dotlabeldiam;
+ label(btex $I_{12}$ etex, ics12 shifted 12 dir 100);
+ label(btex $I_{23}$ etex, ics23 shifted 12 dir 340);
+ label(btex $I_{31}$ etex, ics31 shifted 10 dir 200);
+
+ drawoptions(withcolor 5/8 blue);
+ drawdot ecs12 withpen pencircle scaled dotlabeldiam;
+ drawdot ecs23 withpen pencircle scaled dotlabeldiam;
+ drawdot ecs31 withpen pencircle scaled dotlabeldiam;
+ label(btex $E_{12}$ etex, ecs12 shifted 8 dir 100);
+ label(btex $E_{23}$ etex, ecs23 shifted 11 dir 345);
+ label(btex $E_{31}$ etex, ecs31 shifted 10 dir 277);
+
+ draw thelabel.top(btex Axis of Similitude etex, origin)
+ rotated angle (ecs12 - ecs31)
+ shifted 1/4[ecs31, ecs12];
+
+ label(btex $\displaystyle {C_1E_{12} \over C_2E_{12}} = {r_1 \over r_2}
+ = {C_1I_{12} \over C_2I_{12}}$ etex, (x1, y3));
+
+ label(btex \it \& cetera \dots etex, (x1, y3-28));
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/axis-of-similitude.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/basedate.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/basedate.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/basedate.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,11 @@
+vardef base(expr Y, M, d) =
+ save m, y; numeric m, y;
+ if M < 3:
+ m = M + 9;
+ y = Y - 1;
+ else:
+ m = M - 3;
+ y = Y;
+ fi
+ 365/1024 y + (floor(y/4) - floor(y/100) + floor(y/400) + floor((2+3m)/5) + 30m + d - 307) / 1024
+enddef;
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/basedate.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,33 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\usepackage{dwmpcode}
+\mplibtextextlabel{enable}
+\begin{document}
+\vbox{\openup 1pt \halign to 4in{#\cr
+\begin{code}
+vardef euclidean_bisector(expr a,b,c,r) =
+ save arc,p,q,e;
+ path arc; pair p,q,e;
+ arc = fullcircle scaled r shifted b;
+ p = (a--b) intersectionpoint arc;
+ q = (b--c) intersectionpoint arc ;
+ e = equilateral_triangle_point(p,q);
+ e
+enddef;
+\end{code}
+\cr\kern 64pt
+\begin{mplibcode}
+input bisection
+beginfig(1);
+z0 = euclidean_bisector(A,B,C,100);
+draw B -- 1.2[B,z0] withcolor .67 red;
+draw A--B--C;
+dotlabel.top(btex $A$ etex, A);
+dotlabel.lft(btex $B$ etex, B);
+dotlabel.lrt(btex $C$ etex, C);
+dotlabel.lrt(btex $E$ etex, z0);
+undraw bbox currentpicture;
+endfig;
+\end{mplibcode}
+\cr}}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-euclidean.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,28 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\usepackage{dwmpcode}
+\mplibtextextlabel{enable}
+\begin{document}
+\vbox{\openup 1pt \halign to 4in{#\cr
+\begin{code}
+vardef interior_bisector(expr a,b,c) =
+ (1/(1+abs(c-b)/abs(a-b)))[a,c]
+enddef;
+\end{code}
+\cr\kern 64pt
+\begin{mplibcode}
+input bisection
+beginfig(1);
+z0 = interior_bisector(A,B,C);
+draw A--B--C--cycle;
+draw B -- 1.2[B,z0] withcolor .67 red;
+dotlabel.top(btex $A$ etex, A);
+dotlabel.lft(btex $B$ etex, B);
+dotlabel.lrt(btex $C$ etex, C);
+draw z0 withpen pencircle scaled dotlabeldiam;
+label(btex $E$ etex, z0 + (3,9));
+undraw bbox currentpicture;
+endfig;
+\end{mplibcode}
+\cr}}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-interior.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,30 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\usepackage{dwmpcode}
+\mplibtextextlabel{enable}
+\begin{document}
+\vbox{\openup 1pt \halign to 4in{#\cr
+\begin{code}
+vardef vector_bisector(expr a,b,c,r) =
+ b + unitvector (a-b) scaled r
+ + unitvector (c-b) scaled r
+enddef;
+\end{code}
+\cr\kern 64pt
+\begin{mplibcode}
+input bisection
+beginfig(1);
+z0 = vector_bisector(A,B,C,50);
+drawarrow B--A cutafter fullcircle scaled 5 shifted A;
+drawarrow B--C cutafter fullcircle scaled 5 shifted C;
+drawarrow B--z0 cutafter fullcircle scaled 5 shifted z0
+withcolor .67 red;
+dotlabel.top(btex $A$ etex, A);
+dotlabel.lft(btex $B$ etex, B);
+dotlabel.lrt(btex $C$ etex, C);
+dotlabel.lrt(btex $E$ etex, z0);
+undraw bbox currentpicture;
+endfig;
+\end{mplibcode}
+\cr}}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection-vector.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,33 @@
+vardef equilateral_triangle_point(expr a, b) =
+ b shifted -a rotated 60 shifted a
+enddef;
+
+vardef euclidean_bisector(expr a,b,c,r) =
+ save arc,p,q,e;
+ path arc; numeric p,q; pair e;
+ arc = fullcircle scaled r shifted b;
+ p = ypart ( (a--b) intersectiontimes arc );
+ q = ypart ( (b--c) intersectiontimes arc );
+ e = equilateral_triangle_point(point p of arc, point q of arc);
+ hide(
+ draw subpath(p-1/4,p+1/4) of arc withcolor .7[red,white];
+ draw subpath(q-1/4,q+1/4) of arc withcolor .7[red,white];
+ draw point p of arc -- point q of arc -- e -- cycle
+ withcolor .7[blue,white];
+ )
+ e
+enddef;
+
+vardef vector_bisector(expr a,b,c,r) =
+ b + unitvector (a-b) scaled r
+ + unitvector (c-b) scaled r
+enddef;
+
+vardef interior_bisector(expr a,b,c) =
+ (1/(1+abs(c-b)/abs(a-b)))[a,c]
+enddef;
+
+pair A,B,C;
+A = 120 right rotated 52;
+B = origin;
+C = 144 right rotated -4;
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/bisection.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,44 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\usepackage{fontspec}
+\setmainfont{Helvetica}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+path C[], B[];
+
+% arrange each circle so that point 0 is outside the others
+C1 = fullcircle scaled 120 rotated 90 shifted 40 up;
+C2 = C1 rotated 120;
+C3 = C2 rotated 120;
+
+B0 = buildcycle(C1, C2, C3);
+B1 = buildcycle(C1, C2);
+B2 = buildcycle(C2, C3);
+B3 = buildcycle(C3, C1);
+
+picture P;
+for x=0 upto 1:
+ for y=0 upto 1:
+ P := image(
+ s := 1/4 + x/2;
+ k := 0 + y/4;
+ fill C1 withcolor s*(1,0,0,k);
+ fill C2 withcolor s*(0,1,0,k);
+ fill C3 withcolor s*(0,0,1,k);
+ fill B3 withcolor s*(1,0,1,k);
+ fill B2 withcolor s*(0,1,1,k);
+ fill B1 withcolor s*(1,1,0,k);
+ fill B0 withcolor s*(1,1,1,k);
+ undraw C1; undraw C2; undraw C3;
+ ) shifted -(200x, 200y);
+ draw P;
+ label.bot(("shade: " & decimal s & ", k: " & decimal k)
+ infont "phvr8r", point 1/2 of bbox P);
+ endfor
+endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/blended-color-circles.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-dashed.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-dashed.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-dashed.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-dashed.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-dashed.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-shadow.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-shadow.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-shadow.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-shadow.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border-shadow.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,50 @@
+\documentclass[border=2mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+input rope
+beginfig(1);
+
+ interim ahangle := 30;
+
+ z0 = 42 left rotated normaldeviate;
+ z1 = 30 up rotated normaldeviate;
+ z2 = 31 right rotated normaldeviate;
+ z3 = 34 down rotated normaldeviate;
+
+ path s[];
+ for i=0 upto 3:
+ s[i] = unitsquare zscaled (z[(i+1) mod 4] - z[i]) shifted z[i];
+ fill s[i] withcolor if odd i: Blues else: Oranges fi 8 1;
+ draw point 3 of s[i] -- subpath (1,4) of s[i] -- point 2 of s[i] withcolor 3/4;
+ drawarrow subpath (0, 1) of s[i];
+ z[i+4] = 1/2[point 0 of s[i], point 2 of s[i]];
+ endfor
+
+ z8 = whatever[z4, z6] = whatever[z5, z7];
+
+ draw unitsquare scaled 5 rotated angle (z4-z6) shifted z8 withcolor 3/4;
+
+ drawarrow z4--z6;
+ drawarrow z5--z7;
+
+ vardef with_rounded_corners expr p =
+ for i=1 upto length p:
+ subpath (i-15/16, i-1/16) of p ..
+ endfor cycle
+ enddef;
+
+ interim bboxmargin := 16;
+ draw rope with_rounded_corners bbox currentpicture;
+ % dashed evenly scaled 3/4;
+ %picture P; P = currentpicture;
+ %fill bbox P shifted (3,-3) withcolor 3/4;
+ %unfill bbox P; draw bbox P;
+ %draw P;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/border.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,44 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef do_brace(expr a,b,m,r) =
+ save d, e, n, bb;
+ numeric d, n; pair e; path bb;
+ d = angle (b-a);
+ e = up scaled m rotated d shifted r[a,b];
+ n = 1/2 m;
+ bb = (
+ (origin {0,n} .. {right} (abs n,n))
+ rotated d shifted a
+ --
+ ((-abs n,-n) {right} .. {0,n} origin {0,-n} .. {right}(abs n,-n))
+ rotated d shifted e
+ --
+ ((-abs n,n){right}..{0,-n}origin)
+ rotated d shifted b
+ ) shifted (up scaled n rotated d);
+ draw bb withpen pencircle yscaled .6 xscaled .1666 rotated d;
+ point 3 of bb
+enddef;
+beginfig(1);
+
+z1 = origin;
+z2 = 180 right rotated 13;
+draw z1--z2 withcolor .7 white;
+dotlabel.llft("$z_1$",z1);
+dotlabel.urt("$z_2$",z2);
+
+begingroup; interim ahangle := 180; interim ahlength := 3;
+drawdblarrow (z1--z2) shifted (12 up rotated angle (z2-z1)) withcolor 2/3 blue;
+endgroup;
+
+drawoptions(withcolor 2/3 red);
+label.lrt("Here",do_brace(z1,z2,-12,3/4));
+drawoptions();
+
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/braces.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,56 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+ path Y, L, C, P, S;
+
+ % cycloid
+ numeric r, s; r = 160;
+ def sin(expr x) = sind( 57.29577951308232 x) enddef;
+ def cos(expr x) = cosd( 57.29577951308232 x) enddef;
+ vardef u(expr x) = x - sin(x) enddef;
+ vardef v(expr x) = 1 - cos(x) enddef;
+ vardef f(expr t) = u(t) < v(t) enddef;
+ tolerance := epsilon;
+ numeric a; a = solve f(2,3);
+
+ Y = (origin for t = 1 upto 128: -- (u(t / 128 * a), -v(t / 128 * a)) endfor) scaled r;
+
+ % Y = origin for t=5 step 5 until 140:
+ % -- (0, r) rotated t shifted (t / 57.29577951308232 * r, -r)
+ % endfor cutafter (origin -- 4r * dir -45);
+
+ z0 = point 0 of Y;
+ z1 = point infinity of Y;
+
+ % line
+ L = z0 -- z1;
+
+ % circle
+ C = quartercircle rotated 180 scaled 2x1 shifted (x1, y0);
+
+ % parabola f = x^2, f' = 2x
+ P = z0{1,-2} ... (xpart 1/2[z1, z0], ypart 1/4[z1, z0]){1,-1} ... z1 {1, 0};
+
+ % sixth degree f = x^6, f' = 6x^5
+ S = z0{1,-6} ... (xpart 1/2[z1, z0], ypart 1/64[z1, z0]){1, -6/32} ... z1 {1, 0};
+
+ % axes
+ draw z0 -- (x0,y1) -- z1 withcolor 3/4;
+
+ drawoptions(withcolor 2/3 red); draw L; dotlabel.urt("Line", point 1/4 of L);
+ drawoptions(withcolor 1/2 green); draw C; dotlabel.urt("Circle", point 1 of C);
+ drawoptions(withcolor 1/4[red, green]); draw P; dotlabel.urt("Parabola", point 1/2 of P);
+ drawoptions(withcolor 3/4[red, green]); draw S; dotlabel.llft("Sixth degree", point 3/4 of S);
+ drawoptions(withcolor 1/2 blue); draw Y; dotlabel.urt("Cycloid", point 100 of Y);
+ drawoptions();
+
+ dotlabel.ulft("$A$", z0);
+ dotlabel.urt("$B$", z1);
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brachisto.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,99 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\mplibtextextlabel{enable}
+\begin{document}
+\begin{mplibcode}
+input london-boroughs
+input colorbrewer-rgb
+vardef median(expr p) =
+ save n; numeric n; n = length p;
+ 1/n * point 0 of p for i=1 upto n: + 1/n * point i of p endfor
+enddef;
+
+beginfig(1);
+
+fill Barking_and_Dagenham withcolor 0.638 [white, RdYlBu 9 3]; draw Barking_and_Dagenham;
+fill Barnet withcolor 0.721 [white, RdYlBu 9 6]; draw Barnet;
+fill Bexley withcolor 0.752 [white, RdYlBu 9 3]; draw Bexley;
+fill Brent withcolor 0.650 [white, RdYlBu 9 5]; draw Brent;
+fill Bromley withcolor 0.788 [white, RdYlBu 9 5]; draw Bromley;
+fill Camden withcolor 0.654 [white, RdYlBu 9 7]; draw Camden;
+fill City_of_London withcolor 0.735 [white, RdYlBu 9 7]; draw City_of_London;
+fill Croydon withcolor 0.698 [white, RdYlBu 9 5]; draw Croydon;
+fill Ealing withcolor 0.700 [white, RdYlBu 9 5]; draw Ealing;
+fill Enfield withcolor 0.690 [white, RdYlBu 9 5]; draw Enfield;
+fill Greenwich withcolor 0.695 [white, RdYlBu 9 5]; draw Greenwich;
+fill Hackney withcolor 0.651 [white, RdYlBu 9 7]; draw Hackney;
+fill Hammersmith_and_Fulham withcolor 0.699 [white, RdYlBu 9 6]; draw Hammersmith_and_Fulham;
+fill Haringey withcolor 0.705 [white, RdYlBu 9 7]; draw Haringey;
+fill Harrow withcolor 0.722 [white, RdYlBu 9 5]; draw Harrow;
+fill Havering withcolor 0.760 [white, RdYlBu 9 3]; draw Havering;
+fill Hillingdon withcolor 0.689 [white, RdYlBu 9 4]; draw Hillingdon;
+fill Hounslow withcolor 0.697 [white, RdYlBu 9 5]; draw Hounslow;
+fill Islington withcolor 0.703 [white, RdYlBu 9 7]; draw Islington;
+fill Kensington_and_Chelsea withcolor 0.659 [white, RdYlBu 9 6]; draw Kensington_and_Chelsea;
+fill Kingston_upon_Thames withcolor 0.783 [white, RdYlBu 9 6]; draw Kingston_upon_Thames;
+fill Lambeth withcolor 0.673 [white, RdYlBu 9 7]; draw Lambeth;
+fill Lewisham withcolor 0.630 [white, RdYlBu 9 6]; draw Lewisham;
+fill Merton withcolor 0.734 [white, RdYlBu 9 6]; draw Merton;
+fill Newham withcolor 0.592 [white, RdYlBu 9 5]; draw Newham;
+fill Redbridge withcolor 0.675 [white, RdYlBu 9 5]; draw Redbridge;
+fill Richmond_upon_Thames withcolor 0.820 [white, RdYlBu 9 6]; draw Richmond_upon_Thames;
+fill Southwark withcolor 0.661 [white, RdYlBu 9 7]; draw Southwark;
+fill Sutton withcolor 0.760 [white, RdYlBu 9 4]; draw Sutton;
+fill Tower_Hamlets withcolor 0.645 [white, RdYlBu 9 6]; draw Tower_Hamlets;
+fill Waltham_Forest withcolor 0.666 [white, RdYlBu 9 5]; draw Waltham_Forest;
+fill Wandsworth withcolor 0.719 [white, RdYlBu 9 7]; draw Wandsworth;
+fill Westminster withcolor 0.649 [white, RdYlBu 9 6]; draw Westminster;
+
+label("\tiny Barking \& Dagenham", median(Barking_and_Dagenham));
+label("\tiny Barnet", median(Barnet));
+label("\tiny Bexley", median(Bexley));
+label("\tiny Brent", median(Brent));
+label("\tiny Bromley", median(Bromley));
+label("\tiny Camden", median(Camden));
+label("\tiny City of London", median(City_of_London));
+label("\tiny Croydon", median(Croydon));
+label("\tiny Ealing", median(Ealing));
+label("\tiny Enfield", median(Enfield));
+label("\tiny Greenwich", median(Greenwich));
+label("\tiny Hackney", median(Hackney));
+label(TEX("\tiny Hammersmith \& Fulham") rotated -62, median(Hammersmith_and_Fulham));
+label("\tiny Haringey", median(Haringey));
+label("\tiny Harrow", median(Harrow));
+label("\tiny Havering", median(Havering));
+label("\tiny Hillingdon", median(Hillingdon));
+label("\tiny Hounslow", median(Hounslow) shifted 12 left);
+label("\tiny Islington", median(Islington));
+label(TEX("\tiny Kensington \& Chelsea") rotated -54, median(Kensington_and_Chelsea));
+label(TEX("\tiny Kingston upon Thames") rotated 66, median(Kingston_upon_Thames));
+label("\tiny Lambeth", median(Lambeth));
+label("\tiny Lewisham", median(Lewisham));
+label("\tiny Merton", median(Merton));
+label("\tiny Newham", median(Newham));
+label("\tiny Redbridge", median(Redbridge));
+label("\tiny Richmond upon Thames", median(Richmond_upon_Thames));
+label("\tiny Southwark", median(Southwark));
+label("\tiny Sutton", median(Sutton));
+label("\tiny Tower Hamlets", median(Tower_Hamlets));
+label("\tiny Waltham Forest", median(Waltham_Forest));
+label("\tiny Wandsworth", median(Wandsworth));
+label("\tiny Westminster", median(Westminster));
+
+label("\tiny Barking \& Dagenham", median(Barking_and_Dagenham));
+picture legend; legend = image(
+numeric s; s = 10;
+for i = 1 upto 9:
+ fill unitsquare scaled s shifted (i*s, 0) withcolor RdYlBu [9][i];
+ if i > 1: draw (i*s, 0) -- (i*s, s); fi
+endfor
+draw unitsquare xscaled 9s yscaled s shifted (s,0);
+label.top("Remain" infont "phvr8r", (10s, s));
+label.top("Leave" infont "phvr8r", (s, s)););
+label.ulft(legend, point 1 of bbox currentpicture);
+label.lrt("Brexit vote in London 2016" infont "phvr8r", point 3 of bbox currentpicture);
+
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brexit-map.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brown3a.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brown3a.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brown3a.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brown3a.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/brown3a.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,19 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path a; a = (left .. right) scaled 42;
+pair P; P = origin; r = 31;
+draw a rotated r withcolor 2/3 red; draw a rotated (90+r) withcolor 2/3 red;
+drawdot P withpen pencircle scaled dotlabeldiam;
+label("$P$", P shifted 10 dir 68);
+ z0 = P + 20 dir -20;
+ draw z0 -- P
+ cutafter fullcircle scaled 8 shifted P
+ withpen pencircle scaled 1/4;
+ label.rt("\textit{pole}", z0);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/callout.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,49 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef through(expr a, b, o) =
+ save t; numeric t; t = 1+o/abs(a-b);
+ t[b,a] -- t[a,b]
+enddef;
+
+beginfig(1);
+ path T; T = origin -- 377 dir 10 -- 233 dir 70 -- cycle;
+ pair m;
+ m = whatever * (point 0 of T - point 1 of T) rotated 90 shifted point 1/2 of T
+ = whatever * (point 1 of T - point 2 of T) rotated 90 shifted point 3/2 of T
+ = whatever * (point 2 of T - point 3 of T) rotated 90 shifted point 5/2 of T;
+
+ drawoptions(withcolor 3/4);
+ draw unitsquare scaled 5 rotated angle (point 1 of T-point 0 of T) shifted point 1/2 of T;
+ draw unitsquare scaled 5 rotated angle (point 2 of T-point 1 of T) shifted point 3/2 of T;
+ draw unitsquare scaled 5 rotated angle (point 0 of T-point 2 of T) shifted point 5/2 of T;
+ drawoptions(dashed evenly scaled 1/4 withcolor 1/2);
+ draw through(point 1/2 of T, m, 10);
+ draw through(point 3/2 of T, m, 10);
+ draw through(point 5/2 of T, m, 10);
+ drawoptions();
+ draw fullcircle scaled 2 abs (point 0 of T - m) shifted m withcolor 2/3 red;
+ draw T;
+
+ draw m withpen pencircle scaled dotlabeldiam; label("$m$", m + 10 dir 12);
+
+vardef mark_equal(expr a, b, n) =
+ save m, s; picture m; m = image(
+ numeric s; 2s = n - 1; for t=-s upto s:
+ draw (down--up) scaled 2 rotated -13 shifted (t,0) withpen pencircle scaled 1/4;
+ endfor
+ );
+ draw m rotated angle (b-a) shifted 1/4[a,b];
+ draw m rotated angle (b-a) shifted 3/4[a,b];
+enddef;
+
+ mark_equal(point 0 of T, point 1 of T, 1);
+ mark_equal(point 1 of T, point 2 of T, 2);
+ mark_equal(point 2 of T, point 0 of T, 3);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/circumcircle.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/clocks.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/clocks.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/clocks.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,47 @@
+vardef clock_roman primary h =
+ if h<5: "" for i=1 upto h: & "I" endfor
+ elseif h<9: "V" for i=6 upto h: & "I" endfor
+ elseif h=9: "IX"
+ else: "X" for i=11 upto h: & "I" endfor
+ fi
+enddef;
+
+path hand[];
+hand1 = origin .. (.257,1/50) .. (.377,1/60) & (.377,1/60) {up} .. (.40,3/50) .. (.60, 1/40) .. {right} (.75,0);
+hand1 := (hand1 .. reverse hand1 reflectedabout(left,right) .. cycle) scaled 50;
+
+hand2 = origin .. (.60, 1/64) .. {right} (.925,0);
+hand2 := (hand2 .. reverse hand2 reflectedabout(left,right) .. cycle) scaled 50;
+
+% hour of the day to degrees
+vardef htod(expr hours) = 30*((15-hours) mod 12) enddef;
+vardef mtod(expr minutes) = 6*((75-minutes) mod 60) enddef;
+
+vardef clock(expr hours, minutes) = image(
+ % face and outer ring
+ fill fullcircle scaled 100 withcolor 1/256(240, 240, 230);
+ draw fullcircle scaled 99 withcolor .8 white;
+ draw fullcircle scaled 100 withpen pencircle scaled 7/8;
+ % hour and minute marks
+ for t=0 step 6 until 359:
+ draw ((48,0)--(49,0)) rotated t;
+ endfor
+ for t=0 step 30 until 359:
+ draw ((47,0)--(49,0)) rotated t withpen pencircle scaled 7/8;
+ endfor
+ % numerals
+ for h=1 upto 12:
+ label(
+ if known roman_numerals_please:
+ clock_roman h infont "bchr8r" rotated ((12-h)*30)
+ else:
+ decimal h infont "bchr8r"
+ fi, (40,0) rotated htod(h));
+ endfor
+ % hands rotated to the given time
+ filldraw hand1 rotated htod(hours+minutes/60) withpen pencircle scaled 7/8;
+ filldraw hand2 rotated mtod(minutes) withpen pencircle scaled 7/8;
+ % draw the center on top
+ fill fullcircle scaled 5;
+ fill fullcircle scaled 3 withcolor .4 white;
+) enddef;
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/clocks.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,27 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+\mplibtextextlabel{enable}
+vardef reuleaux(expr n, r) =
+ save a; numeric a; a = 90/n;
+ for t = 0 step 4a until 359:
+ (0, r) rotated t {left rotated (3a + t)} .. {left rotated (a + t)}
+ endfor cycle
+enddef;
+vardef median(expr p) = origin for i=1 upto length p: + point i of p / length p endfor enddef;
+input colorbrewer-rgb
+beginfig(1);
+ for n = 3 upto 7:
+ path p; p = reuleaux(n, 42) shifted (90n, 0);
+ pair m; m = point (n+1)/2 of p;
+ fill p withcolor if odd n: Oranges else: Blues fi 8 2;
+ % draw tensepath(p) withcolor Blues 8 6;
+ %draw p rotatedabout(median(p), 180/n) withcolor Blues 8 6;
+ draw p;
+ endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-antireuleaux-set.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,19 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+vardef polygon_with_side(expr n, s) =
+ save a, b, r; numeric a, b, r;
+ a * n = 360; a + 2b = 180; r = s * sind(b) / sind(a);
+ for i = 0 upto n-1: (0, r) rotated (a * i) -- endfor cycle
+enddef;
+for n = 11 downto 3:
+ path p; p = polygon_with_side(n, 72);
+ fill p withcolor (n/32)[white, 3/4 if odd n: red else: blue fi];
+ draw p;
+endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-fixed-polygon.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,66 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef median primary P =
+ (origin for i=1 upto length P: + point i of P endfor) / length P
+enddef;
+
+primarydef p enlarged s = p shifted -median p scaled s shifted median p enddef;
+
+path u, c, s;
+u = unitsquare shifted -(1/2, 1/2) scaled 72;
+c = fullcircle scaled 72 shifted 108 right;
+s = (superellipse(right, up, left, down, 0.8)) scaled 36 shifted 216 right;
+
+picture p[];
+p1 = image(
+draw origin--left scaled 50 withcolor background;
+ahangle := 30; numeric r, x; r = 9/16; x = -1;
+forsuffixes $=u, c, s:
+ drawarrow subpath(r, r + length $) of $;
+ draw fullcircle scaled 2 shifted median $ withcolor .67 red;
+ for i=0 upto length $-1:
+ fill fullcircle scaled 2 shifted point i of $ withcolor .67 red;
+ label(decimal i, point i of ($ enlarged 1.15));
+ endfor
+endfor);
+
+p2 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ fill median $ -- subpath (1,2) of $ -- cycle withcolor .8[blue,white];
+ draw median $ -- point 1 of $;
+ draw median $ -- point 2 of $;
+ draw $;
+endfor
+);
+
+p3 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ r := 1/5 length $;
+ fill median $ -- subpath (0,r) of $ -- cycle withcolor .8[red,white];
+ draw median $ -- point 0 of $;
+ draw median $ -- point r of $;
+ draw $;
+ endfor
+);
+
+p4 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ fill median $ -- subpath (-1,1) of $ -- cycle withcolor .8[black,white];
+ draw median $ -- point -1 of $;
+ draw median $ -- point 1 of $;
+ draw $;
+ endfor
+);
+
+beginfig(1);
+for i=1 upto 4: draw p[i] shifted (0,-108i); endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-points.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,18 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input archimedean-tools
+beginfig(1);
+ path P[]; P3 = for i=0 upto 2: 6 up rotated 120i -- endfor cycle;
+ fill P3 withcolor 3/4 red; draw P3;
+ for n = 4 upto 23:
+ numeric m; m = floor(n / 2);
+ P[n] = poly n of subpath (m, m-1) of P[n-1];
+ fill P[n] withcolor (n/32)[3/4 if odd n: red else: blue fi, white];
+ draw P[n]; label(decimal n, median(P[n]));
+ endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-chain.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,35 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef median primary P =
+ (origin for i=1 upto length P: + point i of P endfor) / length P
+enddef;
+
+primarydef p enlarged s = p shifted -median p scaled s shifted median p enddef;
+
+vardef polygon(expr n, r) =
+ for i = 0 upto n - 1: (0, r) rotated (360 / n * i) -- endfor cycle
+enddef;
+
+path u, c, s;
+u = polygon(5, 36);
+c = polygon(6, 36) shifted 108 right;
+s = polygon(7, 36) shifted 216 right;
+
+beginfig(1);
+draw origin--left scaled 50 withcolor background;
+ahangle := 30; numeric r, x; r = 9/16; x = -1;
+forsuffixes $=u, c, s:
+ drawarrow subpath(r, r + length $) of $;
+ draw fullcircle scaled 2 shifted median $ withcolor .67 red;
+ for i=0 upto length $-1:
+ fill fullcircle scaled 2 shifted point i of $ withcolor .67 red;
+ label(decimal i, point i of ($ enlarged 1.15));
+ endfor
+endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygon-tops.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,70 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef median primary P =
+ (origin for i=1 upto length P: + point i of P endfor) / length P
+enddef;
+
+primarydef p enlarged s = p shifted -median p scaled s shifted median p enddef;
+
+vardef polygon(expr n, r) =
+ for i = 0 upto n - 1: (r, 0) rotated (360 / n * i) -- endfor cycle
+enddef;
+
+path u, c, s;
+u = polygon(5, 36);
+c = polygon(6, 36) shifted 108 right;
+s = polygon(7, 36) shifted 216 right;
+
+picture p[];
+p1 = image(
+draw origin--left scaled 50 withcolor background;
+ahangle := 30; numeric r, x; r = 9/16; x = -1;
+forsuffixes $=u, c, s:
+ drawarrow subpath(r, r + length $) of $;
+ draw fullcircle scaled 2 shifted median $ withcolor .67 red;
+ for i=0 upto length $-1:
+ fill fullcircle scaled 2 shifted point i of $ withcolor .67 red;
+ label(decimal i, point i of ($ enlarged 1.15));
+ endfor
+endfor);
+
+p2 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ fill median $ -- subpath (1,2) of $ -- cycle withcolor .8[blue,white];
+ draw median $ -- point 1 of $;
+ draw median $ -- point 2 of $;
+ draw $;
+endfor
+);
+
+p3 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ r := 1/5 length $;
+ fill median $ -- subpath (0,r) of $ -- cycle withcolor .8[red,white];
+ draw median $ -- point 0 of $;
+ draw median $ -- point r of $;
+ draw $;
+ endfor
+);
+
+p4 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ fill median $ -- subpath (-1,1) of $ -- cycle withcolor .8[black,white];
+ draw median $ -- point -1 of $;
+ draw median $ -- point 1 of $;
+ draw $;
+ endfor
+);
+
+beginfig(1);
+for i=1 upto 4: draw p[i] shifted (0,-108i); endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-polygons.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,66 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef urp(expr n) =
+ save a; numeric a; a = 90/n;
+ for i=0 upto n-1:
+ 1/2 up rotated (a * 4i) {left rotated (a + a * 4i)} .. {left rotated (3a + a * 4i)}
+ endfor cycle
+enddef;
+vardef through@#(expr a, b) = save d; numeric d; d = abs(a-b);
+ (1+@#/d)[b, a] -- (1+@#/d)[a, b] enddef;
+input colorbrewer-rgb
+beginfig(1);
+ path p, c; p = urp(5) scaled 320; c = fullcircle scaled 320;
+
+ pair A, B, C;
+ A = point 0 of p;
+ B = point 1 of p;
+ C = point 3 of p;
+
+ drawoptions(withcolor 7/8);
+ draw c;
+ draw through 42(origin, A);
+ draw through 42(origin, B);
+ draw through 42(C, A);
+ draw through 42(C, B);
+ draw through 42(B, B shifted 64 up);
+
+ forsuffixes $=origin, B:
+ draw (left--right) scaled 2 rotated 13 shifted $ shifted 42 up;
+ draw (left--right) scaled 2 rotated 13 shifted $ shifted 41 up;
+ endfor
+ ahangle := 30;
+ forsuffixes $=A, B:
+ drawarrow (reverse unitsquare scaled 5 -- 48 up) rotated angle ($ - C) shifted $;
+ endfor
+
+ drawoptions();
+ draw p withcolor Reds 8 7;
+ numeric a; a = 18;
+ label("$\alpha$", 32 dir 11/2 a shifted A);
+ label("$\alpha$", 32 dir 31/2 a shifted A);
+ label("$\alpha$", 32 dir 17/2 a shifted B);
+ label("$\alpha$", 32 dir 37/2 a shifted B);
+ label("$2\alpha$", 28 dir 14/2 a shifted C);
+ label("$3\alpha$", 24 dir 13/2 a shifted B);
+ label("$4\alpha$", 20 dir 7a);
+
+ dotlabel.urt("$A$", A);
+ dotlabel.lrt("$B$", B);
+ dotlabel.lrt("$C$", C);
+ dotlabel.urt("$O$", origin);
+
+ label.lft("$r$", 1/2 A);
+
+label.bot(btex \vbox{\hsize 4in \small\noindent
+This proof only works for Reuleaux polygons with an odd number of sides,
+because otherwise the point $C$ does not (quite) lie on the circle.\strut} etex,
+point 1/2 of bbox currentpicture shifted 21 down);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-geometry.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,31 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+\mplibtextextlabel{enable}
+vardef reuleaux(expr n, r) =
+ save a; numeric a; a = 90/n;
+ for t = 0 step 4a until 359:
+ (0, r) rotated t {left rotated (a + t)} .. {left rotated (3a + t)}
+ endfor cycle
+enddef;
+vardef median(expr p) = origin for i=1 upto length p: + point i of p / length p endfor enddef;
+input colorbrewer-rgb
+beginfig(1);
+ for n = 3 upto 7:
+ path p; p = reuleaux(n, 42) shifted (90n, 0);
+ pair m; m = point (n+1)/2 of p;
+ fill p withcolor if odd n: Oranges else: Blues fi 8 2;
+ fill subpath (0, 1) of p -- m -- cycle
+ withcolor if odd n: Oranges else: Blues fi 8 3;
+ %draw fullcircle scaled 2 abs(point 0 of p - m) shifted m
+ % withpen pencircle scaled 2 withcolor 3/4;
+ %draw tensepath(p) withcolor Blues 8 6;
+ %draw p rotatedabout(median(p), 180/n) withcolor Blues 8 6;
+ draw p;
+ endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-reuleaux-set.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,28 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\def \id#1{\mathord{\hbox{\it #1\/}}}
+\def \kw#1{{\hbox{\bf #1\thinspace}}}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+path unitse; unitse = superellipse(1/2 right, 1/2 up, 1/2 left, 1/2 down,.8);
+path xx, yy; xx = (left -- right) scaled 144; yy = (down -- up) scaled 89;
+path u, c, s;
+u = unitsquare scaled 72;
+c = fullcircle scaled 72;
+s = unitse scaled 72;
+
+beginfig(1);
+drawarrow xx withcolor .67 white;
+drawarrow yy withcolor .67 white;
+draw u; label.top("$\id{unitsquare}$", point 5/2 of u);
+drawoptions(withcolor .67 red);
+draw c; label("$\id{fullcircle}$", 3/4[point 2 of c, point 6 of c]);
+drawoptions(withcolor .67 blue);
+draw s; label.lrt("$\id{superellipse}()$", point 7 of s);
+drawoptions();
+dotlabel.bot("$\scriptstyle (1,0)$", point 1 of u);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-standards.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,29 @@
+\documentclass{standalone}
+\usepackage{dwmpcode}
+\usepackage{luamplib}
+\mplibtextextlabel{enable}
+\def \kw#1{\mathop{\hbox{\bf #1\thinspace}}}
+\def \id#1{\mathord{\hbox{\it #1\/}}}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+path xx, yy; xx = left scaled 8 -- right scaled 89; yy = down scaled 8 -- up scaled 55;
+path t; t = origin -- (55,0) -- (55,34) -- cycle;
+picture p[];
+p1 = image(
+ahangle := 30;
+drawarrow xx withcolor .67 white;
+drawarrow yy withcolor .67 white;
+fill t withcolor .8[blue,white]);
+
+p2 = image(
+draw p1;
+draw t;
+dotlabel.rt(btex $(55,34)$ etex scaled 0.8, point 2 of t);
+) shifted 144 right;
+draw p1; draw p2;
+label.bot(btex \mpl{fill t withcolor 0.8[blue,white];} etex scaled 0.8, point 1/2 of bbox p1);
+label.bot(btex \mpl{draw t;} etex scaled 0.8, point 1/2 of bbox p2);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/closed-triangles.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,21 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+ color brg, pbr;
+ brg = 1/256 (1, 66, 37);
+ pbr = 1/256 (223, 52, 57);
+ N = 5; n = 0;
+ for y=1 upto N:
+ for x=1 upto N:
+ fill fullcircle scaled 16 shifted 20(x,y)
+ withpen pencircle scaled 2
+ withcolor (n/N/N)[pbr, brg];
+ label(decimal incr n infont "phvr8r", 20(x,y))
+ withcolor white;
+ endfor
+ endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-blend-toy.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,42 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+input color-hsv-macro
+beginfig(2);
+ defaultfont := "phvr8r";
+ defaultscale := 3/4;
+ path h,d,b; numeric n;
+ h = ((-2,0)--(0,0)--(-1,3)--(-2,3)--cycle) scaled 60;
+ d = h rotated 180;
+ n = 10;
+ b = subpath (0,1) of h -- point 1+1/n of d -- (xpart point 0 of h, ypart point 1+1/n of d) -- cycle;
+ fill b withcolor hsv_color(123, 1/8, 7/8);
+ draw subpath (2.13,4) of b;
+
+ for i=1 upto n:
+ fill point 4-(i-1)/n of h -- point 1+(i-1)/n of h
+ -- point 1+i/n of h -- point 4-i/n of h -- cycle
+ withcolor hsv_color(42, 1/4 + 3/4 * i/n, 1 - i/3n);
+ fill point 4-(i-1)/n of d -- point 1+(i-1)/n of d
+ -- point 1+i/n of d -- point 4-i/n of d -- cycle
+ withcolor hsv_color(200, i/n - 1/n, 1 - i/3n);
+ endfor
+ string s;
+ for i=1 upto n-1:
+ draw point 4-i/n of h -- point 1+i/n of h;
+ draw point 4-i/n of d -- point 1+i/n of d;
+ s := decimal if i < 4: (i**2+1) else: (10 + (i-3)*10) fi & "00";
+ label.rt(s, point 1+i/n of h);
+ label.lft(s, point 1+i/n of d);
+ endfor
+ label.rt("Metres", point 2 of h);
+ label.lft("Metres", point 2 of d);
+ label.lft("Hypsometric tints" infont defaultfont scaled defaultscale rotated 90, point 7/2 of h);
+ label.rt("Bathymetric tints" infont defaultfont scaled defaultscale rotated -90, point 7/2 of d);
+ label.lft("sea level", point 0 of h);
+ label("areas below sea level", center b);
+ draw h; draw d;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-bathymetric.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,28 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+input color-hsv-macro
+beginfig(1);
+ defaultfont := "phvr8r";
+ numeric s[], v[];
+ s0 = 1/2; v0 = 7/8;
+ s1 = 7/8; v1 = 7/8;
+ s2 = 7/8; v2 = 1/2;
+ for y=0 upto 2:
+ for h=0 step 15 until 360:
+ fill fullcircle scaled 24 shifted (h, -32y) withcolor hsv_color(h, s[y], v[y]);
+ draw fullcircle scaled 24 shifted (h, -32y) withcolor white;
+ if y=1: label(decimal h infont defaultfont scaled 1/2, (h,-16)); fi
+ endfor
+ endfor
+
+ label.urt("Less saturation", (-20,12));
+ label.lrt("Lower value", (-20,-76));
+
+ drawarrow (-15, -12) -- (-15,12);
+ drawarrow (-15, -52) -- (-15,-76);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-gamut.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-macro.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-macro.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-macro.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,15 @@
+vardef hsv_color(expr h,s,v) =
+ % following wikipedia article on "HSL and HSV"
+ save chroma, hh, x, m;
+ chroma = v*s;
+ hh = h/60;
+ x = chroma * (1-abs(hh mod 2 - 1));
+ m = v - chroma;
+ if hh < 1: (chroma,x,0)+(m,m,m)
+ elseif hh < 2: (x,chroma,0)+(m,m,m)
+ elseif hh < 3: (0,chroma,x)+(m,m,m)
+ elseif hh < 4: (0,x,chroma)+(m,m,m)
+ elseif hh < 5: (x,0,chroma)+(m,m,m)
+ else: (chroma,0,x)+(m,m,m)
+ fi
+enddef;
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/color-hsv-macro.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/compass-rose.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/compass-rose.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/compass-rose.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,35 @@
+vardef compass_rose(expr shade, highlight) =
+ save currentpicture, s;
+ picture currentpicture; currentpicture := nullpicture;
+ drawoptions(withcolor shade);
+ draw fullcircle scaled 144 withpen pencircle scaled 2;
+ draw fullcircle scaled 138;
+ draw thelabel("NW" infont defaultfont scaled 3/4, 64 up) rotated +45;
+ draw thelabel("NE" infont defaultfont scaled 3/4, 64 up) rotated -45;
+ draw thelabel("SE" infont defaultfont scaled 3/4, 64 down) rotated +45;
+ draw thelabel("SW" infont defaultfont scaled 3/4, 64 down) rotated -45;
+ draw fullcircle scaled 120;
+ draw fullcircle scaled 118;
+ draw fullcircle scaled 108;
+ draw fullcircle scaled 106;
+ for t=0 step 15 until 350: draw ((53,0) -- (60,0)) rotated t; endfor
+ for t=0 step 45 until 350: draw ((69,0) -- (80,0)) rotated t; endfor
+ path s; s = 8 right -- 60 up -- 8 left -- cycle;
+ for t=0 upto 3: filldraw s rotated (45 + 90t); endfor
+ s := s scaled 1.414;
+ for t=0 upto 3:
+ s := s rotated 90t;
+ fill s withcolor background;
+ fill subpath (-1/2, 1) of s -- cycle if t=0: withcolor highlight fi;
+ draw s;
+ endfor
+ fill fullcircle scaled 28 withcolor background;
+ draw fullcircle scaled 28;
+ fill fullcircle scaled dotlabeldiam;
+ label.top("N" infont "cmbx12", 84 up);
+ label.bot("S" infont "cmbx12", 84 down);
+ label.rt("E" infont "cmbx12", 84 right);
+ label.lft("W" infont "cmbx12", 84 left);
+ drawoptions();
+ currentpicture
+enddef;
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/compass-rose.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,48 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+picture axes, dot, opendot, P[];
+numeric u; u = 42;
+interim ahangle := 30;
+axes = image(
+ path xx, yy; xx = (left--right) scaled 1.2 u; yy = xx rotated 90;
+ draw fullcircle scaled 2u;
+ drawarrow xx; label.rt("$\Re$", point 1 of xx);
+ drawarrow yy; label.top("$\Im$", point 1 of yy);
+);
+dot = image(fill fullcircle scaled dotlabeldiam);
+opendot = image(draw dot; unfill fullcircle scaled 3/4 dotlabeldiam);
+z1 = 0.7 dir 76;
+z2 = 1.5 dir 60;
+z3 = 1 dir 42;
+
+vardef connect(expr a, b, shade) =
+ path c; c = (a -- origin -- b) scaled u;
+ drawarrow c cutafter fullcircle scaled 5 shifted point 2 of c withcolor shade;
+ draw dot shifted point 0 of c; draw opendot shifted point 2 of c;
+enddef;
+
+vardef zinverse(expr z) = 1/abs z * dir - angle z enddef;
+vardef zsqrt(expr z) = if abs z > 0: sqrt(abs z) * dir 1/2 angle fi z enddef;
+
+input colorbrewer-rgb
+P1 = image(
+draw axes withcolor 3/4;
+label.lrt("\small\texttt{zinverse()}", ulcorner axes shifted 10 left);
+for i=1 upto 3: connect(z[i], zinverse(z[i]), SetTwo[7][2+i]); endfor
+);
+P2 = image(
+draw axes withcolor 3/4;
+label.lrt("\small\texttt{zsqrt()}", ulcorner axes);
+for i=1 upto 3: connect(z[i], zsqrt(z[i]), SetTwo[7][2+i]); endfor
+);
+beginfig(1);
+ interim labeloffset := 12;
+ label.lft(P1, origin);
+ label.rt(P2, origin);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-inverse-and-sqrt.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,32 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ numeric u; u = 1cm;
+ z1 = 2 dir 15; z2 = 1.2 dir 60;
+ z3 = z1+z2; z4 = z1 zscaled z2; z5 = (x1,-y1);
+ drawoptions(withcolor 2/3 white);
+ draw (1/2 left -- 3 right) scaled u ;
+ draw (1/2 down -- 3 up ) scaled u ;
+ draw subpath (0,3) of fullcircle scaled 2u rotated -22.5;
+ drawoptions();
+ dotlabel.lrt (btex $\scriptstyle 1$ etex, (u,0));
+ dotlabel.ulft(btex $\scriptstyle i$ etex, (0,u));
+ interim ahangle := 30;
+ forsuffixes @=1,2,3,4,5:
+ x@ := x@ * u; y@ := y@ * u;
+ drawarrow origin -- z@
+ cutafter fullcircle scaled 5 shifted z@
+ withcolor 2/3 if @ < 3: blue else: red fi;
+ endfor
+ fill fullcircle scaled dotlabeldiam;
+ dotlabel.rt (btex $A$ etex, z1);
+ dotlabel.urt(btex $B$ etex, z2);
+ dotlabel.top(btex $A+B$ etex, z3);
+ dotlabel.top(btex $A \times B$ etex, z4);
+ dotlabel.rt (btex $\bar{A}$ etex, z5);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/complex-operators.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,22 @@
+\documentclass[margin=1mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+pair a, b, c, d, e, f, g;
+a = origin; b = 180 right; c = 90 up;
+d = 2/5[b, c]; e = 4/5[b,c]; f = 1/2[e, a]; g = 1/2[a, b];
+
+fill a--b--c--cycle withcolor 15/16[blue, white];
+draw a--b--c--a--e--g--f; draw g--d;
+dotlabel.llft("$a$", a);
+dotlabel.lrt ("$b$", b);
+dotlabel.ulft("$c$", c);
+dotlabel.urt ("$d$", d);
+dotlabel.urt ("$e$", e);
+dotlabel.ulft("$f$", f);
+dotlabel.bot ("$g$", g);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/conway.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,36 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\usepackage{fontspec}
+\setmainfont{TeX Gyre Pagella}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ picture p, q;
+ p = thelabel.rt("\fontsize{48}{48}\selectfont plain", origin);
+ q = thelabel.rt("\fontsize{48}{48}\selectfont rotated", origin) rotated 30;
+
+ picture P[];
+ numeric i; i = 0;
+ forsuffixes @=p,q:
+ P[incr i] = image(
+ fill bbox @ withcolor 15/16[red, white];
+ draw llcorner @ -- lrcorner @ -- urcorner @ -- ulcorner @ -- cycle
+ withcolor 7/8[red, white];
+ draw llcorner @ -- urcorner @ withcolor 7/8[red, white];
+ draw ulcorner @ -- lrcorner @ withcolor 7/8[red, white];
+ draw @ withcolor 3/4;
+ dotlabel.lft("\texttt{llcorner}", llcorner @);
+ dotlabel.rt ("\texttt{lrcorner}", lrcorner @);
+ dotlabel.rt ("\texttt{urcorner}", urcorner @);
+ dotlabel.lft("\texttt{ulcorner}", ulcorner @);
+ draw fullcircle scaled 3 shifted center @;
+ );
+ endfor
+ labeloffset := 20;
+ label.top(P1, origin);
+ label.bot(P2, origin);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/corners.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,71 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path xx, yy, base;
+
+pair A, M, N, O, P, Q, R;
+numeric t; t = 0.6;
+
+base = fullcircle scaled 500;
+xx = 12 left -- point 0 of base + 12 right;
+yy = 12 down -- point 2 of base + 12 up;
+
+O = origin;
+A = point 0 of base;
+R = (0, ypart point t of base);
+Q = (xpart point t of base, 0);
+M = 1/2[R, Q];
+N = 1/2[M, point t of base];
+
+P = whatever[R, Q]; P - point t of base = whatever * (R-Q) rotated 90;
+
+path qa; qa = point 0 of base {left}
+ for i=1/4 step 1/4 until 2:
+ hide(pair a, b, p;
+ a = (xpart point i of base, 0);
+ b = (0, ypart point i of base);
+ p = whatever[a, b]; p - point i of base = whatever * (a - b) rotated 90;
+ ) .. p endfor;
+
+draw qa withcolor 3/4[1/2 red, white];
+
+draw R -- point t of base -- O withcolor 3/4;
+draw N -- P -- point t of base -- Q withcolor 3/4;
+draw fullcircle scaled abs(M - point t of base)
+ shifted N withcolor 3/4;
+draw R -- Q;
+
+draw subpath (-1, 3) of base
+ cutbefore xx shifted 1/2 point 0 of yy
+ cutafter yy shifted 1/2 point 0 of xx
+ withcolor 3/4[2/3 blue, white];
+
+ahangle := 30;
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+
+labeloffset := 5;
+dotlabel.bot("$S$", A);
+dotlabel.llft("$O$", O);
+dotlabel.lft("$B$", R);
+dotlabel.bot("$A$", Q);
+dotlabel.bot("$P$", P);
+dotlabel.bot("$M$", M);
+dotlabel.top("$N$", N);
+dotlabel.urt("$T$", point t of base);
+
+draw P withpen pencircle scaled 2 withcolor 3/4[1/2 red, white];
+
+drawoptions(withcolor 5/8[1/2 blue, white]);
+label("$\scriptstyle \theta$", 16 dir 1/2 angle point t of base shifted O);
+label("$\scriptstyle 2\theta$", 12 dir 0 shifted M);
+label("$\scriptstyle 4\theta$", 8 dir angle (Q-R) shifted N);
+drawoptions();
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-construction.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,19 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+beginfig(1);
+ numeric a; a = 144;
+ for n=1 upto 7:
+ path p; p = a * right for t=6 step 6 until 90:
+ .. a * (cosd(t) ** n, sind(t) ** n)
+ endfor;
+ p := for i=0 upto 3: p rotated 90i & endfor cycle;
+ fill p withcolor Oranges[9][n]; draw p;
+ endfor
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid-family.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,21 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ path base; base = fullcircle scaled 300;
+ path astroid; astroid =
+ for t=0 step 1/16 until 8:
+ hide(pair a, b, p;
+ a = (xpart point t of base, 0);
+ b = (0, ypart point t of base);
+ draw a -- b withpen pencircle scaled 1/4 withcolor 3/4;
+ p = whatever[a, b]; p - point t of base = whatever * (a - b) rotated 90;
+ ) p --
+ endfor cycle;
+ draw astroid withcolor 2/3 red;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-astroid.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,54 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+ numeric u; u = 144;
+
+ path base; base = fullcircle rotated 180 scaled u;
+
+ path cardioid;
+ cardioid = for t = 0 step 1/4 until length base:
+ point 0 of base reflectedabout(precontrol t of base, postcontrol t of base) ..
+ endfor cycle;
+
+ numeric t; t = 5.4;
+ pair A, M, P, P', Q, Q', R;
+ A = point 0 of base;
+ Q = point t of base;
+ Q' = point t-4 of base;
+ P = A reflectedabout(precontrol t of base, postcontrol t of base);
+ P' = A reflectedabout(precontrol t-4 of base, postcontrol t-4 of base);
+ M = 1/2[P, P'];
+ R = whatever[P, Q] = whatever[P', Q'];
+
+ %draw Q' -- R -- Q withcolor 3/4;
+ draw 3[postcontrol t of base, precontrol t of base]
+ -- 5[precontrol t of base, postcontrol t of base] withcolor 3/4;
+ %draw 5[postcontrol t-4 of base, precontrol t-4 of base]
+ % -- 3[precontrol t-4 of base, postcontrol t-4 of base] withcolor 3/4;
+
+ draw fullcircle scaled 2 abs (Q-A) shifted Q withcolor 7/8;
+
+ %
+ %draw P' -- Q' -- Q -- P -- cycle;
+ draw A -- Q -- P -- cycle;
+
+ draw base withcolor 2/3 blue;
+ draw origin withpen pencircle scaled dotlabeldiam withcolor 2/3 blue;
+ draw cardioid withcolor 1/4[white, 1/2 red];
+
+ dotlabel.ulft("$A$", A);
+ %dotlabel.ulft("$M$", M);
+ dotlabel.top ("$P$", P);
+ %dotlabel.llft("$P'$", P');
+ dotlabel.urt ("$Q$", Q);
+ %dotlabel.bot ("$Q'$", Q');
+ %dotlabel.lrt ("$R$", R);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-construction.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,49 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+ numeric a; 2a = 144;
+
+ path base; base = fullcircle rotated 180 scaled 2a shifted (a, 0);
+ path c[]; numeric n; n = -1;
+ numeric s; s = 1/4;
+ for t = 0 step s until length base:
+ c[incr n] = fullcircle
+ scaled 2 abs (point t of base - point 0 of base)
+ shifted point t of base;
+ draw c[n] withpen pencircle scaled 1/4 withcolor 3/4;
+ endfor
+
+ path cardoid;
+ cardoid = for t = 0 step s until length base:
+ point 0 of base reflectedabout(precontrol t of base, postcontrol t of base) ..
+ endfor cycle;
+
+ path polar;
+ polar = for t=0 upto 360: 2a * (1 + cosd(t)) * dir t .. endfor cycle;
+
+ path rolling, aux;
+ aux = base rotatedabout(point 0 of base, 180);
+ rolling = for t = 0 step 1/4 until length base:
+ point t of aux rotatedabout(center base, 45t) ..
+ endfor cycle;
+
+ % draw rolling withpen pencircle scaled 2 withcolor 3/4[blue, white];
+ % draw polar withpen pencircle scaled 5/4 withcolor 3/4[green, white];
+
+ draw base withcolor 2/3 blue;
+ draw cardoid withcolor 2/3 red;
+
+ % for i=1 upto n-1:
+ % draw center c[i] withpen pencircle scaled 3/2;
+ % endfor
+
+ dotlabel.urt("$A$", point 0 of base);
+ dotlabel.urt("$Q$", point 5.4 of base);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-cardioid-simple.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,56 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+secondarydef a through b =
+ begingroup; save d; numeric d; d = abs(a-b); (1+12/d)[b,a]--(1+12/d)[a,b] endgroup
+enddef;
+beginfig(1);
+path ellipse; ellipse = fullcircle scaled 300 yscaled 5/8 rotated 13;
+z0 = 1/2[point 4 of ellipse, point 0 of ellipse];
+numeric a, b, e;
+2a = abs (point 4 of ellipse - point 0 of ellipse);
+2b = abs (point 6 of ellipse - point 2 of ellipse);
+e = 1 +-+ b/a;
+z1 = e[z0, point 0 of ellipse];
+z2 = e[z0, point 4 of ellipse];
+z3 = 240 dir 25;
+path pp, qq;
+pp = fullcircle scaled 2 abs (z1 - z3) shifted z3;
+qq = fullcircle scaled 4a shifted z2;
+z4 = pp intersectionpoint qq;
+z5 = reverse pp intersectionpoint qq;
+numeric t, u;
+(t, whatever) = ellipse intersectiontimes (z2 -- z4);
+(u, whatever) = ellipse intersectiontimes (z2 -- z5);
+
+vardef f(expr x) =
+ angle (z3 - point x of ellipse) + 90 > angle direction x of ellipse
+enddef;
+drawarrow z3 -- point solve f(0, t) of ellipse withcolor 2/3 blue;
+
+drawoptions(dashed evenly withcolor 7/8);
+draw point 0 of ellipse through point 4 of ellipse;
+draw point 2 of ellipse through point 6 of ellipse;
+drawoptions(withcolor 3/4);
+draw z4 -- z1 -- z5;
+draw z2 -- z4 -- z3 -- z5 -- cycle;
+draw point t of ellipse -- z1 -- point u of ellipse;
+drawoptions();
+draw point t of ellipse -- z3 -- point u of ellipse withcolor 2/3 red;
+dotlabel.llft("$F_1$", z1); dotlabel.llft("$F_2$", z2);
+dotlabel.urt("$A$", z3);
+dotlabel.ulft("$P$", z4); dotlabel.lrt ("$Q$", z5);
+dotlabel.ulft("$T$", point t of ellipse);
+dotlabel.lrt("$T'$", point u of ellipse);
+draw ellipse;
+picture P; P = currentpicture; currentpicture := nullpicture;
+draw pp dashed withdots scaled 1/2;
+draw qq dashed withdots scaled 1/2;
+bboxmargin := 24; clip currentpicture to bbox P;
+draw P;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse-tangents.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,49 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+secondarydef a through b =
+ begingroup; save d; numeric d; d = abs(a-b); (1+12/d)[b,a] -- (1+12/d)[a,b] endgroup
+enddef;
+beginfig(1);
+ path ellipse; ellipse = fullcircle scaled 300 yscaled 5/8 rotated 13;
+ numeric a, b, e;
+ 2a = abs (point 4 of ellipse - point 0 of ellipse);
+ 2b = abs (point 6 of ellipse - point 2 of ellipse);
+ e = 1 +-+ b/a;
+
+ z0 = 1/2[point 0 of ellipse, point 4 of ellipse];
+ z1 = e[z0, point 0 of ellipse];
+ z2 = e[z0, point 4 of ellipse];
+
+ drawoptions(withcolor 3/4);
+ draw point 0 of ellipse through point 4 of ellipse;
+ draw point 2 of ellipse through point 6 of ellipse;
+ drawoptions(withcolor 1/2);
+ label.top("$a$", 1/2[z0, point 0 of ellipse]);
+ label.bot("$ae$", 1/2[z0, z1]);
+ label.rt("$b$", 1/2[z0, point 2 of ellipse]);
+ drawoptions();
+
+ numeric t; t = 1.732;
+ draw z1 -- point t of ellipse -- z2;
+ drawoptions(withcolor 1/2);
+ draw (left--right) scaled 21
+ rotated angle direction t of ellipse
+ shifted point t of ellipse;
+ draw (1/2 down--up) scaled 21
+ rotated angle direction t of ellipse
+ shifted point t of ellipse;
+ drawoptions();
+
+ draw ellipse withcolor 3/4 red;
+
+ dotlabel.urt("$T$", point t of ellipse);
+ dotlabel.lrt("$F_1$", z1);
+ dotlabel.lrt("$F_2$", z2);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-ellipse.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,54 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+ pair O; O = origin;
+ path c; c = fullcircle scaled 288;
+ pair S; S = point 0 of c shifted 42 right;
+ path hyperbola, last;
+
+ numeric t;
+ (t, whatever) = c intersectiontimes fullcircle scaled abs(O-S) shifted 1/2[O,S];
+
+ numeric s; s = 1/16;
+ for t=-t + 6s step s until t - 5s:
+ path ray;
+ ray = (origin -- unitvector(S - point t of c)) scaled 200
+ rotated if t < 0: - fi 90 shifted point t of c;
+ draw S -- ray withcolor 7/8;
+ if known last:
+ pair p;
+ p = whatever[point 0 of ray, point 1 of ray]
+ = whatever[point 0 of last, point 1 of last];
+ hyperbola := if known hyperbola: hyperbola .. fi p;
+ fi
+ last := ray;
+ endfor
+
+
+ drawoptions(withcolor 1/2);
+ drawdblarrow 2[O, point t of c] -- O -- 2[O, point -t of c];
+ draw O -- 1.2[O, S];
+
+ drawoptions(withcolor 3/4[blue, white]);
+ draw subpath (-1.4, 1.4) of c;
+ draw 1.4[S, point t of c] -- S -- 1.4[S, point -t of c];
+ drawoptions();
+
+ draw hyperbola withcolor 3/4[red, white];
+ for t=0 upto length hyperbola:
+ draw point t of hyperbola withpen pencircle scaled 3/2 withcolor red;
+ endfor
+
+
+ dotlabel.lrt("$S$", S);
+ dotlabel.llft("$A$", point 0 of c);
+ dotlabel.lft("$O$", origin);
+
+endfig;
+\end{mplibcode}\llap{\texttt{\tiny\jobname}\quad}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-construction.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,82 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ numeric alpha; alpha = 34;
+ transform t;
+ origin transformed t = origin;
+ right transformed t = dir -alpha;
+ up transformed t = dir alpha;
+
+ path xx, yy;
+ xx = (origin--right) scaled 144;
+ yy = (origin--up) scaled 144;
+
+ numeric a, s; s = 1/64; a = 3/2;
+ path hh;
+ for x = 8 * a * s step s until 8/a:
+ hh := if known hh: hh ... fi (a * x, a / x);
+ endfor;
+ hh := hh scaled 16;
+ path C; C = fullcircle scaled 2a scaled sqrt(2) scaled 16;
+ pair F; F = (xpart point 0 of C, ypart point 2 of C);
+
+ interim ahangle := 30;
+ picture P[];
+ P1 = image(
+ draw point 0 of C -- F -- point 2 of C withcolor 3/4[blue, white];
+ draw subpath (-1/2, 5/2) of C withcolor 3/4[blue, white];
+ drawarrow xx withcolor 1/2;
+ drawarrow yy withcolor 1/2;
+ draw hh withcolor 2/3 red; dotlabel.urt("$S$", F);
+ );
+ P2 = image(
+ hh := hh transformed t;
+ C := fullcircle scaled 2 abs(point directiontime down of hh of hh);
+ F := F rotated -45;
+ (p, whatever) = C intersectiontimes (fullcircle scaled abs(F) shifted 1/2 F);
+ draw point p of C -- F -- point -p of C withcolor 3/4[blue, white];
+ draw subpath (-alpha/30, alpha/30) of C withcolor 3/4[blue, white];
+ drawarrow xx transformed t withcolor 1/2;
+ drawarrow yy transformed t withcolor 1/2;
+ draw hh withcolor 2/3 red;
+ dotlabel.urt("$S$", F);
+ );
+
+ label.lft(P1, 10 left);
+ label.rt(P2, 10 right);
+
+
+
+ %path C;
+ %C = fullcircle scaled 4 cosd(alpha) scaled 32a ;
+ %draw C withcolor 1/2;
+
+ %pair S;
+ %S = whatever[precontrol +alpha/45 of C, postcontrol +alpha/45 of C]
+ % = whatever[precontrol -alpha/45 of C, postcontrol -alpha/45 of C];
+ %draw (64a * right) withpen pencircle scaled 3 withcolor 3/4[blue, white];
+ %draw S withpen pencircle scaled 3/2 withcolor red;
+
+ %draw hh withcolor 2/3 red;
+ %%draw hh rotated 180 withcolor 2/3 red;
+
+ %% path t;
+ %% t = point 4 of hh -- point 80 of hh -- point 400 of hh -- cycle;
+
+ %% pair a, b, c;
+ %% a = whatever[point 0 of t, point 1 of t]; point 2 of t - a = whatever * (point 0 of t-point 1 of t) rotated 90;
+ %% b = whatever[point 2 of t, point 1 of t]; point 0 of t - b = whatever * (point 2 of t-point 1 of t) rotated 90;
+
+ %% draw t; c = whatever[point 2 of t, a] = whatever[point 0 of t, b];
+
+ %% draw c withpen pencircle scaled 3;
+
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-hyperbola-function.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,36 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path base;
+base = for t=0 upto 11: 42 up rotated -30t .. endfor cycle;
+
+path limacon; limacon = for t=0 upto length base - 1:
+ 42 dir angle point 2t of base
+ shifted point t of base ..
+endfor cycle;
+
+draw base withcolor 2/3 blue;
+
+for i=1 upto 9:
+ draw point i/10 of base -- point i/10 of limacon
+ withpen pencircle scaled 1/4
+ withcolor 7/8;
+endfor
+for i=1 step 1 until 12:
+ draw center base -- point i of base -- point i of limacon
+ withpen pencircle scaled 1/4
+ withcolor 3/4;
+ draw point i of base withpen pencircle scaled 2;
+ %draw point i of limacon withpen pencircle scaled 1;
+endfor
+draw limacon withcolor 2/3 red;
+
+draw origin withpen pencircle scaled 2;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-durer.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,39 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+ numeric a; 2a = 144;
+
+ path base; base = fullcircle rotated 180 scaled 2a shifted (2a, 0);
+ path c[]; numeric n; n = -1;
+ numeric s; s = 1/4;
+ pair A; A = 2[center base, point 0 of base];
+ for t = 0 step s until length base:
+ c[incr n] = fullcircle
+ scaled 2 abs (point t of base - A)
+ shifted point t of base;
+ draw c[n] withpen pencircle scaled 1/4 withcolor 3/4;
+ endfor
+
+ path limacon;
+ limacon = for t = 0 step s until length base:
+ A reflectedabout(precontrol t of base, postcontrol t of base) ..
+ endfor cycle;
+
+ % path polar;
+ % polar = for t=0 upto 359: 2a * (1 + 2 cosd(t)) * dir t .. endfor cycle;
+ % draw polar withpen pencircle scaled 5/4 withcolor 3/4[green, white];
+
+ draw base withcolor 2/3 blue; draw center base withpen pencircle scaled 2 withcolor 2/3 blue;
+ draw limacon withcolor 2/3 red;
+
+ dotlabel.lft("$A$", A);
+ dotlabel.urt("$Q$", point 5.4 of base);
+ dotlabel.ulft("$P$", A reflectedabout(precontrol 5.4 of base, postcontrol 5.4 of base));
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-limacon-simple.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,77 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\def\kw#1{\begingroup\def\_{\kern.04em
+ \vbox{\hrule width.3em height .6pt}\kern.08em}%
+\ifmmode\mathop{\textbf{#1}}\else\hbox{\bf#1\/}\fi\endgroup}
+\def\op#1{\begingroup\def\_{\kern.04em
+ \vbox{\hrule width.3em height .6pt}\kern.08em}%
+\ifmmode\mathop{\textrm{#1}}\else\hbox{\rm#1\/}\fi\endgroup}
+\def\id#1{\begingroup\def\_{\kern.04em
+ \vbox{\hrule width.3em height .6pt}\kern.08em}%
+\ifmmode\mathop{\textit{#1}}\else\hbox{\it#1\/}\fi\endgroup}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+% A--B = directrix, S = focus
+vardef parabola(expr A, B, S) =
+ save m, q, n, parabola;
+ pair n;
+ n = whatever[A, B];
+ n - S = whatever * (A-B) rotated 90;
+ path parabola;
+ for t=0 step 1/64 until 1:
+ pair m, q;
+ m = 1/2[S, t[A, B]];
+ q = whatever[S, n]; q - m = whatever * (S - m) rotated 90;
+ parabola := if known parabola: parabola -- fi q reflectedabout(S, m);
+ endfor
+ parabola
+enddef;
+input colorbrewer-rgb
+beginfig(1);
+
+ numeric i; i = 16;
+ pair a, b, s; a = 160 up rotated 5; b = 160 down rotated 5; s = 60 * right;
+ draw a--b;
+
+ path ff; ff = (-1, 1){1, -2} .. (-1/2, 1/4){1, -1} .. (0, 0){right} .. (1/2, 1/4){1, 1} .. (1, 1){1, 2};
+
+ path p; p = parabola(a, b, s);
+ pair tab; tab = whatever[a, b]; point i of p - tab = whatever * (a-b) rotated 90;
+ pair q; q = point i of p reflectedabout(s, tab);
+ pair n; n = whatever[a,b] = whatever[q, s];
+ pair o; o = 1/2[n, s];
+
+ % draw ff scaled 4 abs(s-o)
+ % rotated angle (b-a)
+ % shifted o
+ % withpen pencircle scaled 2 withcolor 7/8[red, white];
+
+ interim ahangle := 24;
+ drawarrow (b--a) shifted (o-n) withcolor 3/4;
+ drawarrow (1/2[a, n] --b) rotatedabout(n, 90) withcolor 3/4;
+
+ draw tab -- point i of p -- q -- tab -- s withcolor 3/4;
+
+ drawarrow s -- point i of p
+ -- s reflectedabout(precontrol i of p rotatedabout(point i of p, 90),
+ postcontrol i of p rotatedabout(point i of p, 90))
+ withcolor Blues 8 4;
+
+ draw p withcolor Blues 8 6;
+ dotlabel.lrt("$S$", s);
+ dotlabel.urt("$A$", a);
+ dotlabel.lrt("$B$", b);
+ dotlabel.ulft("\kw{point} $i$ \kw{of} $p$", point i of p);
+ interim dotlabeldiam := 2;
+ dotlabel.bot("$\scriptstyle q$", q);
+ dotlabel.llft("$\scriptstyle n$", n);
+ dotlabel.llft("$\scriptstyle o$", o);
+ dotlabel.lft("$\scriptstyle m\:$", 1/2[tab, s]);
+ dotlabel.lft("$\scriptstyle t[A, B]$", tab);
+
+endfig;
+\end{mplibcode}\llap{\tiny\texttt{\jobname}}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola-directrix.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,41 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ pair O, S; O = origin; S = 66 right;
+ path parabola, last;
+ for q = -144 step 8 until 144:
+ pair Q; Q = (0, q);
+ path ray;
+ ray = (origin -- unitvector(S - Q)) scaled 300
+ rotated if q < 0: - fi 90 shifted Q;
+ draw S -- ray withcolor 7/8;
+ if known last:
+ pair t;
+ t = whatever[point 0 of ray, point 1 of ray]
+ = whatever[point 0 of last, point 1 of last];
+ parabola := if known parabola: parabola .. fi t;
+ fi
+ last := ray;
+ endfor
+
+ draw parabola withcolor 3/4[red, white];
+ for t=0 upto length parabola:
+ draw point t of parabola withpen pencircle scaled 3/2 withcolor red;
+ endfor
+ draw (up--down) scaled 300;
+
+ dotlabel.lft("$A$", O);
+ dotlabel.rt("$S$", S);
+
+ % vardef signum(expr x) = if x=0: 1 else: abs(x) / x fi enddef;
+ % path cart;
+ % cart = subpath (1, infinity) of (origin for x=-304 step 8 until 304:
+ % .. (x, 16 sqrt abs(x)) scaled signum(x) endfor);
+
+ % drawarrow cart withcolor 1/3 green;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-parabola.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,16 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\mplibnumbersystem{decimal}
+\begin{mplibcode}
+beginfig(1);
+ path S; S = origin for t=1 upto 360: .. 1/12 t * dir 8t endfor;
+ drawarrow S;
+ input rope
+ draw rope S shifted 64 right;
+ z0 = urcorner currentpicture - llcorner currentpicture;
+ currentpicture := currentpicture scaled (300 / x0);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-archimedes.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,14 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ numeric a; a = 2.6; path S;
+ S = right for t=1 upto 360: .. a ** (t/64) * dir 4t endfor;
+ drawarrow S;
+% input ruler-cm
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-equiangular.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,32 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ drawoptions(withpen pencircle scaled 1/4 withcolor 1/4);
+ path s[]; s0 = unitsquare;
+ fill s0 withcolor 1/2[2/3 blue, white]; draw s0;
+ numeric a, b, t, n; a = 1; b = 1; n = 11;
+ for i = 1 upto n:
+ t := b; b := b + a; a := t;
+ s[i] = unitsquare scaled a;
+ s[i] := s[i] shifted (point i of s[i-1] - point i-1 of s[i]);
+ fill s[i] withcolor (1/2 + i/32)[2/3 blue, white];
+ draw s[i];
+ endfor
+ for i = n-1 upto n:
+ draw point i-2 of s[i-2] -- point i of s[i];
+ endfor
+ drawoptions();
+ drawarrow origin for i=0 upto n: .. point i of s[i] endfor withcolor 2/3 red;
+ for i = 5 upto n:
+ label(TEX(decimal arclength subpath (0, 1) of s[i])
+ scaled 0.8 rotated angle point n of s[n], center s[i]);
+ endfor
+ currentpicture := currentpicture rotated - angle point n of s[n];
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-sq.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,39 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ path t[], base; pair apex;
+ base = (left--right) scaled 100;
+ apex = whatever * dir +72 shifted point 0 of base
+ = whatever * dir -72 shifted point 1 of base;
+ t0 = (base -- apex -- cycle);
+ transform S;
+ r = arclength subpath (0, 1) of t0 / arclength subpath (2, 3) of t0;
+ point 0 of t0 transformed S = (r*r)[point 0 of t0, point 2 of t0];
+ point 1 of t0 transformed S = point 0 of t0;
+ point 2 of t0 transformed S = point 1 of t0;
+
+ n = 16;
+ for i=1 upto n:
+ t[i] = t[i-1] transformed S;
+ draw subpath (2,3) of t[i] withpen pencircle scaled 1/4;
+ endfor
+ draw point 0 of t0 -- point 3/2 of t0 withpen pencircle scaled 1/8 withcolor blue;
+ draw point 0 of t1 -- point 3/2 of t1 withpen pencircle scaled 1/8 withcolor blue;
+ draw t0;
+ drawarrow point 2 of t[n] for i=n-1 downto 0: .. point 2 of t[i] endfor withcolor 2/3 red;
+
+ z0 = whatever[point 0 of t0, point 3/2 of t0]
+ = whatever[point 0 of t1, point 3/2 of t1];
+ numeric a; a = angle (point 2 of t0 - z0);
+ drawoptions(withcolor 1/2 green);
+ label.lft(TEX("$a$") rotated a, point 5/2 of t0);
+ label.bot(TEX("$b$") rotated a, point 1/2 of t0);
+ label.rt(TEX("$x$") rotated a, point 1/2 of t1);
+ drawoptions();
+ currentpicture := currentpicture rotated -a;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/curves-spiral-gnomon-trig.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-code.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-code.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-code.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,63 @@
+numeric r, pi;
+r = 1.25cm; % radius of the wheel
+pi = 3.14159265; % constant
+%
+% define the cycloid
+path c;
+c = (0,-r) rotated 100 shifted (r*-100/180*pi,r)
+ for t=-99 upto 460:
+ -- (0,-r) rotated -t shifted (r*t/180*pi,r)
+ endfor;
+% and the axes
+drawoptions(withcolor .5 white);
+path xx, yy;
+yy = (down -- 5 up) scaled 1/2 r;
+xx = (xpart point 0 of c, 0) -- (xpart point infinity of c,0);
+draw fullcircle scaled 1/4r; drawarrow xx; drawarrow yy;
+drawoptions();
+label.rt (btex $x$ etex, point 1 of xx);
+label.top(btex $y$ etex, point 1 of yy);
+% draw the cycloid on top of the axes
+draw c withcolor .67 red;
+
+% define a couple of related points:
+% z1 center of the blue wheel
+% z2 intersection of rim and cycloid
+t = 84; % if you change t then the wheel will "roll" along...
+z1 = (r*t/180*pi,r);
+z2 = (0,-r) rotated -t shifted z1;
+
+% draw the auxiliary lines
+draw (0,y2) -- z2 -- (x2,0) dashed withdots scaled .6;
+draw z2 -- z1 -- (x1,0);
+
+% draw the rolling circle
+draw fullcircle scaled 2r shifted z1 withcolor .67 blue;
+% mark the centre and intersection with cycloid
+fill fullcircle scaled dotlabeldiam shifted z1;
+fill fullcircle scaled dotlabeldiam shifted z2;
+
+% some arc arrows and labels
+path a[];
+z3 = (x1,5/12y1);
+a1 = z3 {left} .. {left rotatedabout(z1,-t)} z3 rotatedabout(z1,-t);
+drawarrow subpath (.05,.95) of a1;
+label.llft(btex $\theta$ etex, point .5 of a1);
+
+a2 = subpath (0,1) of reverse quartercircle scaled 2.2r shifted z1;
+drawarrow a2 rotatedabout(z1,-100);
+drawarrow a2 rotatedabout(z1,80);
+
+% finally all the other labels
+label.top(btex $r$ etex, .5[z1,z2]);
+label.lft(btex $y$ etex, (0,y2));
+% give all the x-axis labels a common baseline with mathstrut
+label.bot(btex $\mathstrut x$ etex, (x2,0));
+label.bot(btex $\mathstrut r\theta$ etex, (x1,0));
+label.bot(btex $\mathstrut 2\pi r$ etex, (r*2pi,0));
+% notice how nicely the coordinates work...
+dotlabel.top(btex $(\pi r,2r)$ etex, (pi*r,2r));
+% and a little alignment to finish
+label(btex $\vcenter{\halign{&$#$\hfil\cr
+x=r(\theta-\sin\theta)\cr
+y=r(1-\cos\theta)\cr}}$ etex,(4.2r,r));
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-code.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra-code.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra-code.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra-code.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,61 @@
+numeric R, r, pi;
+R = 1.8cm; % radius of the outer part
+r = 1.3cm; % radius of the inner part
+pi = 3.14159265; % constant
+% define the cycloid
+path c;
+c = (0,-R) rotated 100 shifted (r*-100/180*pi,r)
+ for t=-99 upto 460:
+ -- (0,-R) rotated -t shifted (r*t/180*pi,r)
+ endfor;
+% axes
+drawoptions(withcolor .5 white);
+path xx, yy;
+yy = (down -- 5 up) scaled 1/2 r;
+xx = (xpart point 0 of c, 0) -- (xpart point infinity of c,0);
+draw fullcircle scaled 1/4r; drawarrow xx; drawarrow yy;
+drawoptions();
+label.rt (btex $x$ etex, point 1 of xx);
+label.top(btex $y$ etex, point 1 of yy);
+
+% draw the cycloid on top of the axes
+draw c withcolor .67 red;
+
+% define a couple of related points:
+% z1 center of the blue wheel
+% z2 intersection of rim and cycloid
+t = 124; % if you change t then the wheel will "roll" along...
+z1 = (r*t/180*pi,r);
+z2 = (0,-R) rotated -t shifted z1;
+
+% draw the auxiliary lines
+draw (0,y2) -- z2 -- (x2,0) dashed withdots scaled .6;
+draw z2 -- z1 -- (x1,0);
+% draw the rolling circle and mark centre and intersection
+draw fullcircle scaled 2r shifted z1 withcolor 2/3 blue;
+draw fullcircle scaled 2R shifted z1 withcolor 1/2[2/3 blue, white];
+fill fullcircle scaled dotlabeldiam shifted z1;
+fill fullcircle scaled dotlabeldiam shifted z2;
+% some arc arrows and labels
+path a[];
+z3 = (x1,5/12y1);
+a1 = z3 {left} .. {left rotatedabout(z1,-t)} z3 rotatedabout(z1,-t);
+drawarrow subpath (.05,.95) of a1;
+label.llft(btex $\theta$ etex, point .5 of a1);
+a2 = subpath (0,1) of reverse quartercircle scaled 2.2r shifted z1;
+drawarrow a2 rotatedabout(z1,-100);
+% finally all the other labels
+label.rt (btex $r$ etex, (x1,.5y1));
+label.urt(btex $R$ etex, .6[z1,z2]);
+label.lft(btex $y$ etex, (0,y2));
+% give all the x-axis labels a common baseline with mathstrut
+label.bot(btex $\mathstrut x$ etex, (x2,0));
+label.bot(btex $\mathstrut r\theta$ etex, (x1,0));
+label.bot(btex $\mathstrut 2\pi r$ etex, (r*2pi,0));
+draw (down--up) scaled 2 shifted (r*2pi,0) withcolor .5 white;
+% notice how nicely the coordinates work...
+dotlabel.top(btex $(\pi r,R+r)$ etex, (pi*r,R+r));
+% and a little alignment to finish
+label(btex $\vcenter{\halign{&$#$\hfil\cr
+x=r\theta-R\sin\theta\cr
+y=r-R\cos\theta\cr}}$ etex,(4.75r,r));
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra-code.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,10 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+input cycloids-extra-code
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids-extra.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,10 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ input cycloids-code
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/cycloids.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,56 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+beginfig(1);
+ z.P = 200 up rotated 21; z.A = 100 left rotated -21;
+ z.B = origin; z.C = 90 right rotated 42;
+
+ z.A' = 3/8[z.P, z.A];
+ z.B' = 1/2[z.P, z.B];
+ z.C' = 5/8[z.P, z.C];
+
+ z.R = whatever [z.A, z.B] = whatever [z.A', z.B'];
+ z.S = whatever [z.B, z.C] = whatever [z.B', z.C'];
+ z.T = whatever [z.C, z.A] = whatever [z.C', z.A'];
+
+ path t[];
+ t1 = z.A--z.B--z.C--cycle;
+ t2 = z.A'--z.B'--z.C'--cycle;
+
+ fill t1 withcolor 7/8[red, white];
+ fill t2 withcolor 7/8[blue, white];
+ draw t1 withcolor 1/2 white;
+ draw t2 withcolor 1/2 white;
+
+ drawoptions(dashed withdots scaled 1/2);
+ draw z.P--z.A;
+ draw z.P--z.B;
+ draw z.P--z.C;
+
+ drawoptions(dashed evenly scaled 1/2);
+ draw z.B--z.R--z.B';
+ draw z.C--z.S--z.C';
+ undraw subpath (1/4, 3/4) of (z.C'--z.T) withpen
+ pencircle scaled 5;
+ draw z.C--z.T--z.C';
+ drawoptions(withcolor 2/3 red);
+ draw 9/8[z.S,z.R] -- 9/8[z.R,z.S];
+ picture pp; pp = thelabel("perspectrix", origin);
+ draw pp shifted 7 down rotated angle (z.S-z.R)
+ shifted 1/2[z.R, z.T];
+ dotlabel.urt("perspector", z.P);
+
+ drawoptions();
+ dotlabel.lft (btex $A$ etex, z.A);
+ dotlabel.llft(btex $B$ etex, z.B);
+ dotlabel.lrt (btex $C$ etex, z.C);
+ dotlabel.lft (btex $A'$ etex, z.A');
+ dotlabel.llft(btex $B'$ etex, z.B');
+ dotlabel.bot (btex $C'$ etex, z.C');
+ label.rt(btex Desargues' Theorem etex, (x.C', 1/2(y.P+y.C')));
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/desargues.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,41 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+vardef dice(expr pip_count, pip_color) =
+ save d,r,p, ul, ur, lr, ll;
+ r=1/8; path d; picture p;
+ %d = (for i=0 upto 3: subpath (r+i,1+i-r) of unitsquare .. endfor cycle) scaled 30;
+ d = for i=0 upto 3: quartercircle scaled 3 shifted (15,15) rotated 90i -- endfor cycle;
+ p = image(draw fullcircle scaled 6; fill fullcircle scaled 6 withcolor pip_color);
+ pair ul, ur, ll, lr;
+ ul = 1/5[ulcorner d, lrcorner d];
+ lr = 4/5[ulcorner d, lrcorner d];
+ ur = 1/5[urcorner d, llcorner d];
+ ll = 4/5[urcorner d, llcorner d];
+ image(fill d withcolor background; draw d;
+ if odd(pip_count):
+ draw p shifted center d;
+ fi;
+ if pip_count > 1:
+ draw p shifted ul;
+ draw p shifted lr;
+ fi;
+ if pip_count > 3:
+ draw p shifted ur;
+ draw p shifted ll;
+ fi;
+ if pip_count = 6:
+ draw p shifted 1/2[ul,ur];
+ draw p shifted 1/2[ll,lr];
+ fi)
+enddef;
+
+beginfig(1);
+for i=0 upto 4:
+ draw dice(1+floor uniformdeviate 6, red) rotated (2 normaldeviate) shifted (36i,0);
+endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dice.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,69 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+ahangle := 30;
+beginfig(1);
+
+path h; pair A, B, C, D, O; numeric theta;
+
+h = halfcircle scaled 320;
+
+O = origin;
+A = point 4 of h;
+B = point 0 of h;
+C = point 5/4 of h;
+D = (xpart C, ypart A);
+
+2theta = angle C;
+
+draw unitsquare scaled 8 rotated angle (C-D) shifted D withcolor 3/4;
+draw unitsquare scaled 8 rotated angle (A-C) shifted C withcolor 3/4;
+
+draw A--C--B withcolor Reds 7 7;
+draw O--C--D withcolor Reds 7 7;
+
+drawoptions(withcolor Blues 7 6);
+draw h;
+label.ulft("$x^2 + y^2 = 1$", point 3 of h);
+drawoptions();
+
+primarydef o through p = (1+o/arclength(p))[point 1 of p, point 0 of p] -- (1+o/arclength(p))[point 0 of p, point 1 of p] enddef;
+drawarrow 16 through (A--B);
+drawarrow 16 through (O--point 2 of h);
+
+dotlabel.bot("$A$", A);
+dotlabel.bot("$B$", B);
+dotlabel.urt("$C \smash{\;\bigl(\cos2\theta, \sin2\theta\bigr)}$", C);
+dotlabel.bot("$D$", D);
+dotlabel.llft("$O$", O);
+
+label("$\theta$", 28 dir 1/2 theta shifted A);
+label("$2\theta$", 20 dir theta);
+
+label("$x$", B shifted 24 right);
+label("$y$", point 2 of h shifted 24 up);
+
+draw thelabel.top("$2\cos\theta$", origin) rotated theta shifted 1/2[A, C];
+draw thelabel.top("$2\sin\theta$", origin) rotated (theta-90) shifted 1/2[B, C];
+
+label.bot("$\triangle ACD \sim \triangle ABC$", point 1/2 of bbox currentpicture shifted 24 down);
+
+path bb; bb = bbox currentpicture shifted 12 down;
+
+label.bot(btex \vbox{\openup 4pt\halign{\hfil $#$\hfil\cr
+CD \Big/ AC = BC \Big/ AB\cr
+\sin 2\theta \big/ 2 \cos\theta = 2 \sin\theta \big/ 2\cr
+\sin 2\theta = 2\sin\theta \cos\theta\cr}} etex, point 1/4 of bb);
+
+label.bot(btex \vbox{\openup 4pt\halign{\hfil $#$\hfil\cr
+AD \Big/ AC = AC \Big/ AB\cr
+\bigl(1 + \cos 2\theta \bigr) \big/ 2 \cos\theta = 2 \cos\theta \big/ 2\cr
+\cos 2\theta = 2\cos^2\theta - 1\cr}} etex, point 3/4 of bb);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-angle.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,57 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\mplibnumbersystem{double}
+\begin{mplibcode}
+beginfig(1);
+
+vardef zinverse(expr z) = 1/abs z * dir - angle z enddef;
+
+vardef fizz(expr X) =
+ pair m, n;
+ m = right;
+ n = origin;
+ numeric a, x;
+ x = X;
+ forever:
+ exitif x = 0;
+ m := m zscaled zinverse((-1, 1));
+ a := x mod 2;
+ n := n + a * m;
+ x := x div 2;
+ endfor
+ n
+enddef;
+input colorbrewer-rgb
+color shade[];
+shade0 = Reds 5 4; shade1 = Oranges 5 4;
+shade2 = Greens 5 4; shade3 = Blues 5 4;
+
+beginfig(1);
+ numeric s, t; s = 256; t = 4;
+ for n=0 upto (s/t*s/t-1):
+ numeric h, v;
+ h = floor 1/8 (n mod 32);
+ v = n mod 4;
+ fill fullcircle scaled t shifted (fizz(n) scaled s)
+ withcolor (1/2 + 1/8 v)[white, shade[h]];
+ endfor;
+ path xx, yy;
+ xx = (left--right) scaled (s+8);
+ yy = xx rotated 90;
+ for i=-1 upto 1:
+ draw xx shifted (0, s*i) withpen pencircle scaled 1/8;
+ draw yy shifted (s*i, 0) withpen pencircle scaled 1/8;
+ endfor
+ dotlabel.lrt(btex $-1-i$ etex, (-1, -1) scaled s);
+ dotlabel.lrt(btex $-1$ etex, (-1, 0) scaled s);
+ dotlabel.lrt(btex $-1+i$ etex, (-1, 1) scaled s);
+ dotlabel.lrt(btex $-i$ etex, (0, -1) scaled s);
+ dotlabel.lrt(btex $+i$ etex, (0, 1) scaled s);
+ dotlabel.lrt(btex $+1-i$ etex, (1, -1) scaled s);
+ dotlabel.lrt(btex $+1$ etex, (1, 0) scaled s);
+ dotlabel.lrt(btex $+1+i$ etex, (1, 1) scaled s);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/double-dragon.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,73 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ numeric s; s = 21;
+ path alpha;
+ alpha = ((-2s, s) {right}
+ .. halfcircle rotated -90 scaled 2s shifted (2s, 0)
+ .. {left} (-2s, -s)) shifted (s*left);
+
+ vardef overdraw(expr a, b, r, P, shade) =
+ linecap := butt;
+ undraw subpath (a+r, b-r) of P withpen pencircle scaled 2;
+ draw subpath (a, b) of P withcolor shade;
+ enddef;
+
+ picture cb; cb = image(
+ draw alpha withcolor 2/3 red;
+ undraw alpha rotated 180 withpen pencircle scaled 2;
+ draw alpha rotated 180 withcolor 2/3 blue;
+ overdraw(0.21, 0.36, 0.02, alpha, 2/3 red);
+ overdraw(0.67, 0.86, 0.02, alpha, 2/3 red);
+ overdraw(3.4, 4.3, 0.1, alpha, 2/3 red);
+ overdraw(5.4, 5.6, 0.02, alpha, 2/3 red);
+ overdraw(5.4, 5.6, 0.02, alpha rotated 180, 2/3 blue);
+ );
+
+ picture P[];
+
+ P1 = image(draw cb; label.rt("\texttt{draw cb;}", point 3/2 of bbox currentpicture));
+ P2 = image(draw cb withpen pencircle scaled 4; label.rt("\texttt{draw cb withpen pencircle scaled 4;}", point 3/2 of bbox currentpicture));
+ P3 = image(draw cb withcolor 1/2; label.rt("\texttt{draw cb withcolor 1/2;}", point 3/2 of bbox currentpicture));
+ P4 = image(draw cb withpen pencircle scaled 4 withcolor 1/2; label.rt("\texttt{draw cb withpen pencircle scaled 4 withcolor 1/2;}", point 3/2 of bbox currentpicture));
+ P5 = image(
+ color bagel; bagel = 1/256(187, 146, 79);
+ for i=4 step -1/4 until 1/2:
+ draw cb withpen pencircle scaled i
+ withcolor (i/4)[white, bagel];
+ endfor
+ label.rt(btex \vbox{\halign{\texttt{#}\cr
+ for i=4 step -1/4 until 1/2:\cr
+ \quad draw cb withpen pencircle scaled i \cr
+ \qquad withcolor sqrt(i/4)[white, bagel];\cr
+ endfor\cr}} etex, point 3/2 of bbox currentpicture);
+ );
+
+ P6 = image(
+ for e within cb:
+ draw pathpart e withpen penpart e scaled 4
+ withcolor 7/8[colorpart e, background];
+ endfor
+ label.rt(btex \vbox{\halign{\texttt{#}\cr
+ for e within cb:\cr
+ \quad draw pathpart e withpen penpart e scaled 4\cr
+ \qquad withcolor 7/8[colorpart e, background];\cr
+ endfor\cr}} etex, point 3/2 of bbox currentpicture);
+ );
+
+ for i=1 upto 6:
+ if known P[i]:
+ pair p; p = 60i * down;
+ label.rt(P[i], p);
+ fill superellipse(right, up, left, down, 0.8) scaled 6 shifted p
+ withcolor 2/3;
+ label("\textsf{" & decimal i & "}", p) withcolor white;
+ fi;
+ endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/draw-picture.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,64 @@
+\documentclass[border=0mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+color TR, TB, TG;
+TB = (.2,.2,.7);
+TR = (0.54,0,0);
+TG = (0, 0.44, 0);
+
+path xx, yy;
+xx = (left--right) scaled 144;
+yy = (down--up) scaled 89;
+
+ahangle := 30;
+picture P[];
+P0 = image(drawarrow xx withcolor 1/2; drawarrow yy withcolor 1/2);
+P1 = image(draw P0;
+ path c, a;
+ c = fullcircle scaled 4cm shifted (34, 21);
+ a = point 1 of c -- center c;
+ draw c withcolor TR;
+ draw fullcircle scaled 3 shifted (34,21); label.lrt("$(34,21)$", (34,21));
+ drawdblarrow a; label.ulft("2 cm", point 1/2 of a);
+);
+
+vardef circle_through(expr A, B, C) =
+ save o; pair o;
+ o = whatever * (A-B) rotated 90 shifted 1/2[A,B]
+ = whatever * (B-C) rotated 90 shifted 1/2[B,C];
+ fullcircle scaled 2 abs (A-o) shifted o
+enddef;
+
+P2 = image(draw P0;
+ pair A, B, C;
+ A = (-21, -13);
+ B = (58, 21);
+ C = (89, -34);
+
+ path c[];
+ c1 = fullcircle scaled 2 abs(A-B) shifted A;
+ c2 = fullcircle scaled abs(A-B) shifted 1/2[A, B];
+ c3 = circle_through(A, B, C);
+
+ draw c1 withcolor TR; label.ulft("I", point 3 of c1) withcolor TR;
+
+ draw A -- B dashed withdots scaled 1/4 withpen pencircle scaled 1/4 withcolor TB;
+ draw c2 withcolor TB; label.ulft("II", point 3 of c2) withcolor TB;
+ draw fullcircle scaled 2 shifted 1/2[A, B] withcolor TB;
+
+ draw c3 withcolor TG; label.urt("III", point 1 of c3) withcolor TG;
+
+ dotlabel.llft("$A$", A);
+ dotlabel.urt("$B$", B);
+ dotlabel.lrt("$C$", C);
+);
+
+beginfig(1);
+labeloffset := 10;
+label.top(P1, origin);
+label.bot(P2, origin);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/drawing-circles.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dwmpcode.sty
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dwmpcode.sty (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dwmpcode.sty 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,49 @@
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesPackage{dwmpcode}[2021/12/30 v0.01 Code setting in DwMP]
+\RequirePackage{listings}
+\RequirePackage{xcolor}
+\definecolor{textblue}{rgb}{.2,.2,.7}
+\definecolor{textred}{rgb}{0.54,0,0}
+\definecolor{textgreen}{rgb}{0,0.43,0}
+\definecolor{squash}{rgb}{0.793, 0.359, 0.05}
+\definecolor{carrot}{rgb}{0.934, 0.445, 0.082}
+\def\red#1{\textcolor{textred}{#1}}
+\def\blue#1{\textcolor{textblue}{#1}}
+\def\green#1{\textcolor{textgreen}{#1}}
+\newcommand\mpstyle{\lstset{
+language=Metapost,
+basicstyle=\ttfamily,
+keywordstyle=\color{textblue},
+keywordstyle=[5]\color{squash},
+keywordstyle=[6]\color{carrot},
+commentstyle=\color{textred},
+stringstyle=\color{textgreen},
+frame=none,
+columns=fullflexible,
+keepspaces=true,
+xleftmargin=\parindent,
+showstringspaces=false,
+morekeywords={cmykcolor, step, eps, exitif, rotatedabout},
+morestring=[s]{btex}{etex}
+}}
+\lstnewenvironment{smallcode}[1][]{\mpstyle\lstset{basicstyle=\small\ttfamily,#1}}{}
+\lstnewenvironment{code}[1][]{\mpstyle\lstset{#1}}{}
+\newcommand\mpexternal[2][]{{\mpstyle\lstinputlisting[#1]{#2}}}
+\newcommand\mpl[1]{{\mpstyle\lstinline!#1!}}
+%
+\newcommand\texstyle{\lstset{
+language=[LaTeX]Tex,
+basicstyle=\ttfamily,
+keywordstyle=\color{textblue},
+commentstyle=\color{textred},
+stringstyle=\color{textgreen},
+frame=none,
+columns=fullflexible,
+keepspaces=true,
+xleftmargin=\parindent,
+showstringspaces=false,
+}}
+\lstnewenvironment{texcode}[1][]{\texstyle\lstset{basicstyle=\small\ttfamily,#1}}{}
+\newcommand\txl[1]{{\texstyle\lstinline!#1!}}
+%
+\endinput
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dwmpcode.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,19 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(2);
+path c; c = fullcircle scaled 100; draw c withcolor .67 red;
+for i=0 upto 7:
+ fill fullcircle scaled 3 shifted point i of c;
+ z[i] = point i of c scaled 1.15;
+ write "label(btex $p_" & decimal i & "$ etex,("
+ & decimal x[i] & "," & decimal y[i]
+ & "));" to ".mplabels";
+endfor
+write EOF to ".mplabels";
+input ".mplabels";
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/dynamic-labels.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,59 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input eggs-common
+beginfig(1);
+
+path base, cup, cap, egg;
+
+base = fullcircle scaled 180;
+z0 = origin;
+z1 = point -2/3 of base;
+z2 = point 2/3 of base;
+z3 = point 10/3 of base;
+z4 = point 14/3 of base;
+z5 = 1/2[z2, z3];
+z6 = 1/2[z4, z1];
+
+numeric a, b, c;
+a = abs(z3 - z1);
+b = a - abs(z4 - z6);
+c = a - abs(z4 - z5);
+
+cup = subpath (4, 8) of fullcircle scaled 2b shifted z6;
+cap = fullcircle scaled 2c shifted z5
+ cutbefore (z5 -- 2[z4, z5])
+ cutafter (z5 -- 2[z1, z5]);
+
+egg = point 4 of cup {up} .. cap .. {down} cup & cycle;
+
+fill egg withpen pencircle scaled 2 withcolor eggshell;
+picture P; P = currentpicture;
+fill z4 -- z5 -- z6 -- cycle withcolor light_eggshell;
+
+drawoptions(withpen pencircle scaled 1/4 withcolor dark_eggshell);
+label.top("$\scriptstyle \sqrt 3$", 1/2[z4, z6]);
+label.lft("$\scriptstyle \sqrt 4 $", 10 down);
+label.ulft("$\scriptstyle \sqrt 7$", 7/16[z4, z5]);
+draw base;
+draw z1 -- z2 -- z3 -- z4 -- z6 -- z5;
+draw z0 withpen pencircle scaled 2;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw point 0 of egg -- point 4 of egg;
+draw z4 -- point 1 of egg;
+draw z1 -- point 3 of egg;
+draw egg;
+drawoptions(withpen pencircle scaled 2 withcolor 7/16);
+forsuffixes $=1,4,5,6: draw z$; endfor
+draw numbered_points(egg);
+drawoptions();
+
+draw P shifted 240 right;
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-357.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-common.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-common.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-common.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,11 @@
+color eggshell, dark_eggshell, light_eggshell;
+eggshell = 3/4[1/4[red, green], white];
+dark_eggshell = 1/2[1/4[red, green], white];
+light_eggshell = 7/8[3/16[red, green], white];
+
+vardef numbered_points(expr egg) = image(
+ for i=1 upto length egg:
+ draw point i of egg;
+ label(decimal i, point i of egg scaled 1.06);
+ endfor;
+) enddef;
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-common.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,80 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\mplibtextextlabel{enable}
+\begin{document}
+\begin{mplibcode}
+numeric a; a = 56;
+path r[]; % the rings
+r1 = fullcircle scaled 2a shifted (0, -3/2 a);
+r2 = fullcircle scaled 2a shifted (0, -1/2 a);
+r3 = fullcircle scaled 2a shifted (0, +1/2 a);
+r4 = fullcircle scaled 2a shifted (0, +3/2 a);
+r5 = r2 rotatedabout(point 2 of r2, -60);
+r6 = r2 rotatedabout(point 2 of r2, +60);
+
+pair o[]; % the centres of rotation for each arc
+o1 = point 6 of r5;
+o2 = point 2 of r3;
+o3 = point 6 of r6;
+o4 = whatever[o3, point 2+4/3 of r2] = whatever[o2, point 2-4/3 of r1];
+o8 = whatever[o1, point 2-4/3 of r2] = whatever[o2, point 2+4/3 of r1];
+o6 = 1/2[point 2-4/3 of r1, point 2+4/3 of r1];
+o5 = whatever[o6, point 2-4/3 of r3] = whatever[o4, point 2+4/3 of r1];
+o7 = whatever[o6, point 2+4/3 of r3] = whatever[o8, point 2-4/3 of r1];
+
+pair u[], t[]; % directions and points for the egg
+u0 = (o8 - o1) rotated 90; t0 = directionpoint u0 of r6;
+u1 = (o2 - o1) rotated 90; t1 = directionpoint u1 of r4;
+u2 = (o2 - o3) rotated 90; t2 = directionpoint u2 of r4;
+u3 = (o4 - o3) rotated 90; t3 = directionpoint u3 of r5;
+
+u4 = (o5 - o4) rotated 90;
+u5 = (o6 - o5) rotated 90;
+u6 = (o6 - o7) rotated 90;
+u7 = (o7 - o8) rotated 90;
+t4 = directionpoint u4 of fullcircle scaled 2 abs (t3 - o4) shifted o4;
+t5 = directionpoint u5 of fullcircle scaled 2 abs (t4 - o5) shifted o5;
+t6 = directionpoint u6 of fullcircle scaled 2 abs (t5 - o6) shifted o6;
+t7 = directionpoint u7 of fullcircle scaled 2 abs (t6 - o7) shifted o7;
+
+path egg;
+egg = for i=0 upto 7: t[i] {u[i]} .. endfor cycle;
+
+input eggs-common
+
+beginfig(1);
+ fill egg withpen pencircle scaled 2 withcolor eggshell;
+ picture P; P = currentpicture;
+
+ drawoptions(withpen pencircle scaled 1/4 withcolor dark_eggshell);
+ for i=1 upto 6: draw r[i]; endfor
+ draw point 2+4/3 of r1 -- point 2-4/3 of r1 -- o2 -- cycle;
+ draw point 2+4/3 of r3 -- o7;
+ draw point 2-4/3 of r3 -- o5;
+
+
+ drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+ draw t0 -- o1 -- t1;
+ draw t2 -- o3 -- t3;
+ draw o4 -- t4;
+ draw o5 -- t5;
+ draw o7 -- t6;
+ draw o8 -- t7;
+ draw egg;
+
+ drawoptions(withpen pencircle scaled 2 withcolor 7/16);
+ t8 = t0;
+ for i=1 upto 8:
+ draw o[i];
+ label("$\scriptscriptstyle " & decimal i &"$",
+ o[i] + 4.2 (unitvector(t[i-1]-o[i]) + unitvector (t[i]-o[i])));
+ endfor
+ drawoptions();
+ draw numbered_points(egg);
+
+ draw P shifted 240 right;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-better.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,84 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input eggs-common
+beginfig(1);
+numeric a; a = 56;
+path r[], s[];
+for i=1 upto 4:
+ r[i] = fullcircle scaled 2a shifted (0, a * i - 5/2 a); % -2.5a so the origin is in centre
+endfor
+r5 = r2 rotatedabout(point 2 of r2, 60);
+r6 = r2 rotatedabout(point 2 of r2, -60);
+
+
+z1 = subpath (4, 8) of r5 intersectionpoint (point 6 of r6 -- 8[point 6 of r6, point 2/3 of r2]);
+z2 = subpath (0, 4) of r4 intersectionpoint (point 6 of r6 -- 8[point 6 of r6, point 2 of r3]);
+z3 = whatever [z1, point 6 of r6] = whatever [point 2 of r3, point 10/3 of r1];
+z4 = z3 reflectedabout(up, down);
+z7 = 1/2[point 10/3 of r1, point 2/3 of r1];
+z5 = whatever [z3, point 2/3 of r1] = whatever [z7, point 10/3 of r3];
+z6 = z5 reflectedabout(up, down);
+
+s1 = fullcircle scaled 2 length (z2 - point 6 of r6) shifted point 6 of r6 cutbefore z1 cutafter z2;
+s3 = fullcircle rotated angle (point 2/3 of r1 - z3) scaled 2 length (z1-z3) shifted z3 cutafter z1;
+s5 = fullcircle rotated angle (z7 - z5) scaled 2 (length (z1-z3) - length (z3-z5)) shifted z5 cutafter point 0 of s3;
+
+s2 = reverse s1 reflectedabout(up, down);
+s4 = reverse s3 reflectedabout(up, down);
+s6 = reverse s5 reflectedabout(up, down);
+
+path egg;
+
+egg = point 0 of s1 {direction 0 of s1} ..
+ point 2 of s1 {direction 2 of s1} ..
+ point 0 of s2 {direction 0 of s2} ..
+ point 0 of s4 {direction 0 of s4} ..
+ point 0 of s6 {direction 0 of s6} ..
+ point 1 of s6 {direction 1 of s6} ..
+ point 0 of s5 {direction 0 of s5} ..
+ point 0 of s3 {direction 0 of s3} .. cycle;
+
+fill egg withpen pencircle scaled 2 withcolor eggshell;
+picture P; P = currentpicture;
+
+drawoptions(withpen pencircle scaled 1/4 withcolor dark_eggshell);
+for i=1 upto 6:
+ draw r[i];
+endfor
+draw point 2 of r3 -- point 2/3 of r1 -- point 10/3 of r1 -- cycle;
+draw z5 -- point 10/3 of r3;
+draw z6 -- point 2/3 of r3;
+draw point 2/3 of r1 withpen pencircle scaled 2;
+draw point 10/3 of r1 withpen pencircle scaled 2;
+draw point 2/3 of r3 withpen pencircle scaled 2;
+draw point 10/3 of r3 withpen pencircle scaled 2;
+
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw point 6 of r6 -- point 8 of s1;
+draw point 6 of r6 -- point 0 of s1;
+draw point 6 of r5 -- point 8 of s2;
+draw point 6 of r5 -- point 0 of s2;
+
+draw z3 -- point 0 of s3;
+draw z4 -- point 8 of s4;
+draw z5 -- point 0 of s5;
+draw z6 -- point 8 of s6;
+
+for $=z3, z4, z5, z6, z7, point 2 of r3, point 6 of r5, point 6 of r6:
+ draw $ withpen pencircle scaled 2;
+endfor
+
+draw egg;
+draw numbered_points(egg);
+
+drawoptions();
+
+draw P shifted 240 right;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-five-point.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,45 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input eggs-common
+beginfig(1);
+
+path egg, a, b, c, d;
+a = fullcircle scaled 80;
+b = a scaled 2 shifted point 6 of a;
+c = halfcircle scaled 2 (abs(point 0 of a - point 5 of b) - abs(point 0 of a));
+d = fullcircle scaled 2 abs(point 2 of a - point 2 of c) shifted point 2 of c;
+egg = point 0 of c {up} .. subpath (1,3) of d .. {down} point 4 of c .. subpath (5, 7) of b .. cycle;
+
+fill egg withpen pencircle scaled 2 withcolor 3/4[1/4[red, green], white];
+picture P; P = currentpicture;
+drawoptions(withpen pencircle scaled 1/4 withcolor darker_eggshell);
+draw a; draw b; draw c; draw d;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw point 0 of c -- point 3 of egg;
+draw point 4 of c -- point 1 of egg;
+draw point 0 of a -- point 5 of egg;
+draw point 4 of a -- point 7 of egg;
+draw point 0 of c -- point 4 of c;
+draw point 2 of d -- point 6 of b;
+draw egg;
+drawoptions(withpen pencircle scaled 2 withcolor 7/16);
+for i=1 upto length egg:
+ draw point i of egg;
+ label(decimal i, point i of egg scaled 1.06);
+endfor;
+draw point 0 of a;
+draw point 4 of a;
+draw point 6 of a;
+draw point 2 of c;
+drawoptions();
+
+draw P shifted 240 right;
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-four-point.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,33 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+path yolk, base;
+color cooked_egg_yolk, cooked_egg_white;
+cooked_egg_yolk = 1/256(216, 136, 49);
+cooked_egg_white = 1/256(235, 237, 233);
+
+vardef fried_egg(expr r) =
+ save base, yolk; path base, yolk;
+ yolk = for i=0 upto 17: (r + 1/8 normaldeviate) * dir 20i .. endfor cycle;
+ base = (for i=0 upto 17: (2r + 1/8r * normaldeviate) * dir 20i .. endfor cycle)
+ shifted (uniformdeviate r/2, uniformdeviate r/2);
+ image(
+ fill base withcolor cooked_egg_white;
+ fill yolk withcolor cooked_egg_yolk;
+ fill subpath (6.7, 9.6) of yolk scaled 0.8 --
+ subpath (9.6, 6.7) of yolk scaled 0.66 -- cycle
+ withcolor 1/2[cooked_egg_yolk, white];
+ )
+enddef;
+
+for i=0 upto 1:
+ draw fried_egg(40) shifted 120 dir 120i;
+endfor
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-fried.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,63 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input eggs-common
+beginfig(1);
+
+path base;
+base = fullcircle scaled 200;
+
+pair m, n, n', p;
+path aa, bb;
+
+m = 1/2 point 0 of base;
+aa = halfcircle scaled 2 abs (point 2 of base - m) shifted m cutbefore (origin -- 1000 up);
+n = point infinity of aa;
+n' = n reflectedabout(up, down);
+bb = subpath (0, 2) of base shifted n cutafter (origin -- 1000 up);
+p = point infinity of bb;
+
+path dome;
+path cap, cup, egg;
+dome = fullcircle
+ scaled 2 (abs(n - point 0 of base) - abs(n - point 0 of bb))
+ shifted p;
+cap = dome
+ cutbefore (point 4 of bb -- 2[n, point 4 of bb])
+ cutafter (point 4 of bb -- 2[n', point 4 of bb]);
+cup = subpath (4, 8) of base;
+path egg; egg = point 4 of cup {up} .. cap .. {down} cup & cycle;
+
+fill egg withpen pencircle scaled 2 withcolor eggshell;
+picture P; P = currentpicture;
+drawoptions(withpen pencircle scaled 1/4 withcolor dark_eggshell);
+draw m -- aa;
+draw bb;
+draw origin -- point 2 of base;
+draw base; draw dome;
+label.bot("$m$", m);
+label.ulft("$n$", n);
+label.urt("$n'$", n');
+% label.lft("$p$", p);
+
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw n -- point 1 of egg;
+draw n' -- point 3 of egg;
+draw point 0 of egg -- point 4 of egg;
+draw egg;
+
+forsuffixes $=n, n', p, origin: draw $ withpen pencircle scaled 2; endfor
+draw m withpen pencircle scaled 2 withcolor dark_eggshell;
+draw numbered_points(egg);
+
+drawoptions();
+
+draw P shifted 240 right;
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-gold.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,31 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+input eggs-common
+path a, b, c, d, egg; numeric r; r = 100;
+a = fullcircle scaled 2r;
+b = fullcircle scaled 4r shifted point 4 of a;
+c = fullcircle scaled 4r shifted point 0 of a;
+d = fullcircle scaled 2 abs (point 2 of a - point 1 of b)
+ shifted point 2 of a;
+egg = subpath (0, 1) of b .. point 2 of d ..
+ subpath (3, 4) of c .. subpath (5, 7) of a .. cycle;
+beginfig(1);
+fill egg withpen pencircle scaled 2 withcolor eggshell;
+picture P; P = currentpicture;
+drawoptions(withpen pencircle scaled 1/4 withcolor dark_eggshell);
+draw a; draw d;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw point 1 of egg -- point 4 of egg --
+ point 0 of egg -- point 3 of egg;
+draw egg;
+drawoptions(withpen pencircle scaled 2 withcolor 7/16);
+draw center a;
+draw center d;
+draw numbered_points(egg);
+drawoptions();
+draw P shifted 240 right;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-moss.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,35 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef pentapath(expr a, b) =
+ save c, d, e;
+ pair c, d, e;
+ c = a rotatedabout(b, -108);
+ d = b rotatedabout(c, -108);
+ e = b rotatedabout(a, 108);
+ a -- b -- c -- d -- e -- cycle
+enddef;
+input colorbrewer-rgb
+beginfig(1);
+
+ path p[];
+ p0 = for i=1 upto 5: 20 right rotated -18 rotated 72i -- endfor cycle;
+ draw p0 dashed withdots scaled 1/4;
+ for i=1 upto 3:
+ p[i] = pentapath(point 4 of p[i-1], point 2 of p[i-1]);
+ draw p[i] dashed withdots scaled 1/4;
+ draw point 0 of p0 {point 2 of p0 - point 3 of p0}
+ .. point 1 of p0 {point 3 of p0 - point 4 of p0}
+ .. point 2 of p[i] {point 4 of p[i] - point 0 of p[i]}
+ .. point 3 of p[i] {point 0 of p[i] - point 1 of p[i]}
+ .. point 4 of p[i] {point 1 of p[i] - point 2 of p[i]}
+ .. cycle withcolor Spectral[4][i];
+ endfor
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-pentagons.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,30 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input eggs-common
+beginfig(1);
+path egg;
+%egg = for t=90,105,120,135,150,165,-180,-165,-150,-135,-120,-105,-90,-75,-60,-45,-30,-15,0,15,30,45,60,75:
+%egg = for t=90, 135, 180, -135, -90, -45, 0, 45:
+egg = for t=-180 step 15 until 180 - eps:
+ (0.78 cosd(1/4 t) * sind(t), -cosd(t)) ..
+ endfor cycle;
+egg := egg scaled 128;
+
+fill egg withpen pencircle scaled 2 withcolor eggshell;
+picture P; P = currentpicture;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw egg;
+drawoptions(withpen pencircle scaled 2 withcolor 7/16);
+draw origin;
+for i=1 upto length egg: draw point i of egg; endfor
+drawoptions();
+
+draw P shifted 240 right;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-perfect.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,27 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+path egg, spot;
+egg = (for t=-180 step 15 until 180 - eps:
+ (0.78 cosd(1/4 t) * sind(t), -cosd(t)) ..
+endfor cycle) scaled 100;
+
+spot = fullcircle scaled 4 shifted 3/4 point 3 of egg;
+
+vardef fade_filled(expr egg, spot, dark, light, n) = image(
+ for i = 0 upto n:
+ fill interpath(i/n, egg, spot) withcolor ((i/n)**1/3)[dark,light];
+ endfor)
+enddef;
+
+beginfig(1);
+ color a, b;
+ a = 1/256(150, 100, 60);
+ b = 1/256(256, 220, 180);
+ draw fade_filled(egg, spot, a, b, 256) rotated -30;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-shaded.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,20 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\mplibtextextlabel{enable}
+\begin{document}
+\begin{mplibcode}
+path egg;
+egg = (superellipse(right, 1.6 up, left, 1.2 down, 0.69)) scaled 100;
+input eggs-common
+beginfig(1);
+ fill egg withpen pencircle scaled 2 withcolor eggshell;
+ picture P; P = currentpicture;
+ drawoptions(withcolor 1/2);
+ draw origin withpen pencircle scaled 2;
+ draw egg withpen pencircle scaled 1/4;
+ drawoptions();
+ draw numbered_points(egg) withpen pencircle scaled 2;
+ draw P shifted 240 right;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-super.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,45 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input eggs-common
+
+numeric r, a, b, t; a = 60; b = 45; r = a ++ b;
+pair p, q; p = -q = (b, 0);
+path base, cap, egg;
+base = subpath (4, 8) of fullcircle scaled 2(2r-b);
+cap = subpath (0, 4) of fullcircle scaled 2r shifted (0, a)
+ cutbefore ((b, 0) -- (b, 2r))
+ cutafter ((-b, 0) -- (-b, 2r));
+egg = point 4 of base {up} .. cap .. {down} base & cycle;
+% more naturally
+% base {up} .. cap .. {down} & cycle
+% but then point 0 would not be at 3 o'clock
+
+beginfig(1);
+fill egg withpen pencircle scaled 2 withcolor eggshell;
+picture P; P = currentpicture;
+fill origin -- (-b, 0) -- (0, a) -- cycle withcolor light_eggshell;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+label.top("$\scriptstyle 3$", (-1/2b, 0));
+label.lft("$\scriptstyle 4$", (0, 1/2a));
+label.ulft("$\scriptstyle 5$", 1/2[(-b, 0), (0, a)]);
+
+draw fullcircle scaled 2(2r-b); draw origin withpen pencircle scaled 2;
+draw fullcircle scaled 2r shifted (0, a); draw (0, a) withpen pencircle scaled 2;
+
+draw p -- subpath (3, 4) of egg -- cycle; draw p withpen pencircle scaled 2;
+draw q -- subpath (0, 1) of egg -- cycle; draw q withpen pencircle scaled 2;
+
+draw numbered_points(egg);
+
+drawoptions();
+
+draw P shifted 240 right;
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/eggs-thom.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,38 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+
+numeric s; s = 13;
+path atom;
+atom = origin
+ -- (2s,0) rotated -30 -- (2s,0) rotated -30 + (0,s)
+ -- ( s,0) rotated 30 -- ( s,0) rotated 30 + (0,s)
+ -- (0,2s) -- cycle;
+
+picture p[];
+for i=0 upto 2:
+ p[i] = image(
+ fill atom rotated -120i withcolor (7/8 - 1/8i) ;
+ draw atom rotated -120i;
+ );
+endfor
+
+n = 13;
+for i=-n upto n:
+ for j=-n upto n:
+ forsuffixes $=0,1,2:
+ draw p$ shifted ((3i*s,0) rotated -30
+ + (0,floor(1/2i)*3s + 3j*s));
+ endfor
+ endfor
+endfor
+
+clip currentpicture to (unitsquare shifted -(1/2,1/2)
+ xscaled 55.425s yscaled 30s);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/escher.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,24 @@
+\documentclass[border=8pt]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+ for i=0 upto 15:
+ label.top(decimal i infont "cmss10" scaled 0.7, (15i,108)) withcolor .67 red;
+ for j=0 upto 7:
+ draw char (i+16j) infont "eurm10" shifted (15i-3,97-14j);
+ if i=0:
+ label.lft(decimal 16j infont "cmss10" scaled 0.7, (-8,100-14j)) withcolor .67 red;
+ fi
+ % if (i + 16j) > 0:
+ % draw char (i + 16j) infont "cmmi10"
+ % scaled 0.5
+ % shifted (15i - 6, 97-14j)
+ % withcolor .67 blue;
+ % fi
+ endfor
+ endfor
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/euler-sampler.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,39 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef through(expr a, b, o) =
+ save t; numeric t; t = 1+o/abs(a-b);
+ t[b,a] -- t[a,b]
+enddef;
+
+beginfig(1);
+ pair A, B, C;
+ A = origin; B = 233 dir 10; C = 144 dir 70;
+ pair a, b, m, t;
+ a = A + 22 unitvector (C-A) - 22 unitvector (B-A);
+ b = B + 22 unitvector (A-B) + 22 unitvector (C-B);
+ m = whatever[A,a] = whatever [B,b]; t = whatever[A,B];
+ t-m = whatever * (B-A) rotated 90;
+
+ drawoptions(dashed evenly scaled 1/4 withcolor 1/2 white);
+ draw t -- m;
+ draw unitsquare scaled 5 rotated angle (B-A) shifted t;
+ draw through(A, m, 10);
+ draw through(A, t, 10);
+ draw through(B, m, 10);
+ drawoptions();
+ draw fullcircle scaled 2 abs (t-m) shifted m withcolor 2/3 blue;
+ draw A--B--C--cycle;
+ dotlabel.urt(btex $m$ etex, m);
+ dotlabel.bot(btex $t$ etex, t);
+ dotlabel.bot(btex $A$ etex, A);
+ dotlabel.urt(btex $B$ etex, B);
+ dotlabel.top(btex $C$ etex, C);
+ dotlabel.urt(btex $a$ etex, a);
+ dotlabel.top(btex $b$ etex, b);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/excircle.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,31 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\usepackage{fontspec}
+\setmainfont{PlayfairDisplay-Black}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+randomseed:=2128.5073;
+beginfig(1);
+n = 40; r = 7 ; s = 44;
+path explosion, splash;
+explosion = for i=1 upto n:
+ (s if odd(i): - else: + fi r + uniformdeviate r,0) rotated (i*360/n) --
+endfor cycle;
+
+splash = for i=1 upto n:
+ (s if odd(i): - else: + fi r + uniformdeviate r,0) rotated (i*360/n) ..
+endfor cycle;
+splash := splash shifted (3s,0);
+
+fill explosion withcolor Oranges 7 4;
+draw explosion withpen pencircle scaled 2 withcolor Reds 7 7;
+label(TEX("\textbf{BOOM!}") scaled 1.6, center explosion) withcolor Reds 7 7;
+
+fill splash withcolor Blues 7 2;
+draw splash withpen pencircle scaled 2 withcolor Blues 7 7;
+label(TEX("\bfseries SPLAT!") scaled 1.6, center splash) withcolor Blues 7 7;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/explode.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,57 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+% parameters
+u = 1cm;
+ymax = xmax = 2.75;
+xmin = ymin = -1.75;
+
+% make a plain grid
+path xx, yy;
+xx = ((xmin,0) -- (xmax,0)) scaled u;
+yy = ((0,ymin) -- (0,ymax)) scaled u;
+
+drawoptions(dashed withdots scaled 1/4 withcolor 3/4 white);
+for i = ceiling ymin upto floor ymax: draw xx shifted (0,i*u); endfor
+for i = ceiling xmin upto floor xmax: draw yy shifted (i*u,0); endfor
+
+drawoptions(withpen pencircle scaled .7);
+xx := xx scaled 1.05;
+yy := yy scaled 1.05;
+drawarrow xx;
+drawarrow yy;
+drawoptions();
+
+label.urt("A" infont defaultfont scaled 8, origin) withcolor 1/4 green;
+
+% draw the "transparent" superellipse box
+path se;
+%se = unitsquare shifted 1/2 down shifted 1/4 left scaled 3cm;
+se = (superellipse(right, up, left, down, 0.81))
+shifted 1/2 right scaled 30 rotated 30;
+
+alpha = 5/8; % alpha: 0=invisible, 1=opaque
+color filler; filler = .95[red,white];
+picture fg, bg;
+bg = currentpicture;
+fg = image(
+ for e within bg:
+ draw e withcolor alpha[colorpart e, filler];
+ endfor
+ draw se withpen pencircle scaled 2 withcolor 3/4;
+ draw subpath (2.718, 3.1415) of se
+ shifted - center se scaled 7/8 shifted + center se
+ withpen pencircle scaled 2 withcolor white;
+
+);
+clip fg to se;
+
+fill se withcolor filler;
+draw fg;
+draw se withcolor 3/4 blue;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/fake-transparency.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,58 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef pi_sixths(expr n) =
+ save s, f, q; string s, f; numeric q;
+ s = if n < 0: "-" else: "" fi; q = abs(n);
+ if q mod 6 = 0:
+ f = if q > 6: decimal 1/6 q else: "" fi;
+ elseif q mod 3 = 0:
+ f = "\frac{" & decimal 1/3 q & "}{2}";
+ elseif q mod 2 = 0:
+ f = "\frac{" & decimal 1/2 q & "}{3}";
+ else:
+ f = "\frac{" & decimal q & "}{6}";
+ fi
+ "$\scriptstyle" & s & f & "\pi$"
+enddef;
+
+beginfig(1);
+ numeric u, pi; u = 50; pi = 3.141592653589793;
+
+ path xx, yy;
+ xx = (3.5 left -- 4 right) scaled u;
+ yy = (1.2 down -- 1.3 up) scaled u;
+
+ path ss, tt, uu;
+ ss = origin for x=1 upto 360: -- (x, sind(x)) endfor;
+ tt = origin for x=1 upto 360: -- (x, 1/2 sind(3x)) endfor;
+ uu = origin for x=1 upto 360: -- (x, ypart point x of ss + ypart point x of tt) endfor;
+
+ forsuffixes $=ss, tt, uu:
+ $ := $ shifted 360 left & $;
+ $ := $ xscaled (pi/180) scaled u;
+ $ := $ cutbefore yy shifted point 0 of xx
+ cutafter yy shifted point 1 of xx;
+ endfor
+
+ draw ss withcolor 1/2[blue, white];
+ draw tt withcolor 1/2[red, white];
+ draw uu withcolor 1/4 green;
+
+ label.top("$f(x)=sin(x)$", point 290 of ss) withcolor 1/2[blue, white];
+ label.bot("$g(x)=\frac12 sin(3x)$", point 295 of tt) withcolor 1/2[red, white];
+ label.urt("$f(x) + g(x)$", point 350 of uu) withcolor 1/4 green;
+
+ drawarrow xx; label.rt("$x$", point 1 of xx);
+ drawarrow yy; label.top("$y$", point 1 of yy);
+
+ for i=-6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7:
+ draw (down--up) scaled 2 shifted (pi * i/6 * u, 0);
+ label.bot(pi_sixths(i), (pi * i/6 * u, -2));
+ endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-addition-of-sines.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,34 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path xx, yy;
+xx = (left -- right) scaled 150;
+yy = (down -- up) scaled 50;
+
+numeric n; n = 6;
+
+path ff; ff = origin {right} for x = 1 upto n: ... {1, 3x*x} (x, x*x*x) endfor;
+ff := ff reflectedabout(origin, dir 45);
+ff := reverse ff rotated 180 & ff;
+ff := ff xscaled (150/n/n/n) yscaled (50/n);
+
+for i = 1-n upto n-1:
+ draw yy shifted (i * xpart directionpoint (1, 1/3) of ff, 0) withcolor 7/8;
+endfor
+for i = -1, 1:
+ draw xx shifted (0, i * ypart directionpoint (1, 1/3) of ff) withcolor 7/8;
+endfor
+
+draw ff withcolor 2/3 blue;
+
+label("$y = \sqrt[3]x$", (-84, 14));
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-cuberoot.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,64 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+numeric minx, maxx, s, u, v;
+minx = 13/8; s = 1/16; maxx = 19/4;
+u = 89; v = 3072;
+
+def f(expr x) = 1/256 mlog(x) / x enddef;
+
+path ff, xx, yy;
+ff = for x=minx step s until maxx-s: (x, f(x)) .. endfor (maxx, f(maxx));
+ff := ff xscaled u yscaled v;
+xx = origin -- right scaled (maxx-minx) scaled u;
+yy = origin -- up scaled 0.09v;
+xx := xx shifted point 0 of ff shifted 20 down;
+yy := yy shifted point 0 of ff shifted 20 left;
+
+numeric pi, e, fpi, fe;
+pi = 3.141592653589793 u; fpi = f(3.141592653589793) * v;
+e = 2.718281828459045 u; fe = f(2.718281828459045) * v;
+
+path ee, pp;
+ee = (e, ypart point 0 of xx) -- (e, fe) -- (xpart point 0 of yy, fe);
+pp = (pi, ypart point 0 of xx) -- (pi, fpi) -- (xpart point 0 of yy, fpi);
+
+draw ee dashed withdots scaled 1/4 withcolor 2/3 red;
+draw pp dashed withdots scaled 1/2 withcolor 2/3 red;
+draw ff withcolor 3/4 blue;
+drawarrow xx;
+drawarrow yy;
+
+for x=2 upto 4:
+ draw (down--up) scaled 2 shifted (x * u, ypart point 0 of xx);
+ label.bot("$" & decimal x & "$", (x * u, ypart point 0 of xx - 2));
+endfor
+for y=31 upto 38:
+ draw (left--right) scaled 2 shifted (xpart point 0 of yy, y/100*v);
+endfor
+for y=32, 35, 38:
+ label.lft("$" & decimal (y/100) & "$", (xpart point 0 of yy-2, y/100*v));
+endfor
+
+drawoptions(withcolor 1/2 red);
+label.bot("$e$", point 0 of ee shifted 4 down);
+label.lft("$1/e$", point 2 of ee shifted 2 left);
+
+label.bot("$\pi$", point 0 of pp shifted 4 down);
+label.lft("$\ln\pi/\pi$", point 2 of pp shifted 2 left);
+
+drawoptions(withcolor 2/3 blue);
+label.urt("$\displaystyle y={\ln x\over x}$", point 42 of ff);
+
+drawoptions();
+label.rt("$x$", point 1 of xx);
+label.top("$y$", point 1 of yy);
+label("\dots\ hence\enspace $e^\pi > \pi^e$.", (4u, 0.38v));
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-epi-v-pie.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,49 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+numeric u; u = 42;
+
+path xx, yy;
+xx = (-3u, 0) -- (5u, 0);
+yy = xx rotated 90;
+
+path ee, ll, nn;
+numeric minx, maxx, s;
+minx = -3; maxx = 1/256 mlog(4.5); s = 1/4;
+ee = (for x = minx step s until maxx - s:
+ (x, mexp(256x)){1, mexp(256x)} ...
+endfor (maxx, mexp(256 maxx)){1, mexp(256 maxx)}) scaled u;
+ll = ee reflectedabout(origin, dir 45);
+nn = (for x=1 step s until 4-s: (x, 1/x) ... endfor (4, 1/4)) scaled u;
+nn := reverse nn reflectedabout(origin, dir 45) & nn;
+
+draw unitsquare xscaled mexp(256) scaled u withcolor 7/8;
+draw unitsquare yscaled mexp(256) scaled u withcolor 7/8;
+
+path T[];
+numeric p; p = directiontime dir 45 of ee;
+T1 = (precontrol p of ee -- postcontrol p of ee) shifted - point p of ee scaled 1/2 u shifted point p of ee;
+T2 = (precontrol p of ll -- postcontrol p of ll) shifted - point p of ll scaled 1/2 u shifted point p of ll;
+drawoptions(withpen pencircle scaled 1/4 withcolor 1/2);
+draw T1; draw T2; draw interpath(1/2, T1, T2) dashed evenly;
+drawoptions();
+
+draw nn; label.urt("$1/x$", point 0 of nn);
+draw ee withcolor 2/3 blue; label.top("$e^x$", point infinity of ee) withcolor 2/3 blue;
+draw ll withcolor 3/4 red; label.top("$\ln(x)$", point infinity of ll) withcolor 3/4 red;
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+
+dotlabel.lft("$e$", (0, mexp(256) * u));
+dotlabel.bot("$e$", (mexp(256) * u, 0));
+dotlabel.ulft("$1$", (0, u));
+dotlabel.lrt("$1$", (u, 0));
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-exponential.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,25 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+numeric a, c; c = 100; a = sqrt(2) * c;
+vardef f(expr x) = a * cosd(x) / (1 + sind(x) ** 2) enddef;
+vardef g(expr x) = f(x) * sind(x) enddef;
+numeric mint, maxt, s; mint = 0; s = 30; maxt = 360;
+path p;
+p = for t = mint step s until maxt - s:
+ (f(t), g(t)) ...
+endfor cycle;
+draw p withcolor 3/4 blue;
+path xx, yy;
+xx = (left -- right) scaled 150;
+yy = (down -- up) scaled 55;
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+dotlabel.bot("$F_1$", c * left);
+dotlabel.bot("$F_2$", c * right);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-lemniscate.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,31 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+
+ numeric n; n = 2;
+ path r; r = (for t=0 upto 360:
+ cosd(n * t) * dir t ...
+ endfor cycle) scaled 150;
+
+ numeric d; d = 29;
+ path k; k = for t = 0 upto 360:
+ point d * t mod 360 of r --
+ endfor cycle;
+
+ draw k dashed withdots scaled 1/8
+ withpen pencircle scaled 1/4
+ withcolor 1/2[blue, white];
+ draw r withcolor 2/3 red;
+
+ path xx, yy;
+ xx = (left -- right) scaled 160;
+ yy = (down -- up) scaled 160;
+ drawarrow xx; label.rt("$x$", point 1 of xx);
+ drawarrow yy; label.top("$y$", point 1 of yy);
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-maurer-rose.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,24 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path p;
+numeric a, b, j, k; a = 144; b = 89; j = 3; k = 2;
+p = for t = 0 upto 360:
+ (a * cosd(j * t), b * sind(k * t)) ...
+endfor cycle;
+
+draw p withcolor 2/3 red;
+
+path xx, yy;
+xx = (left -- right) scaled 150;
+yy = (down -- up) scaled 100;
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-parametric.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,42 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+input colorbrewer-rgb
+numeric t, s, u, v;
+t = 3; s = 1;
+u = 50; v = 10;
+
+path xx, yy;
+xx = (left -- right) scaled t scaled u;
+yy = 50 down -- 100 up;
+
+picture P[];
+for k = 1 upto 3:
+ s := s * 1/2;
+ P[k] = image(
+ for n=2 upto 7:
+ path c; c = (for x = -t step s until t-s: (x, x**n) ... endfor (t, t**n)) xscaled u yscaled v
+ cutbefore xx shifted point if odd n: 0 else: 1 fi of yy
+ cutafter xx shifted point 1 of yy if n > 5: shifted (0, v*n - 5v) fi;
+ draw c withcolor Spectral[6][n-1];
+ for i=0 upto length(c):
+ draw point i of c withpen pencircle scaled 1;
+ endfor
+ label("$\scriptstyle x^" & decimal n & "$", point infinity of c shifted 3 right shifted 6 unitvector(direction infinity of c));
+ label("Step: $\frac1{" & decimal (1/s) & "}$", (30, 80));
+ endfor
+ for i=1,2:
+ draw (i*u, 0) -- (i*u, -2);
+ label.bot(decimal i, (i*u, -2));
+ endfor
+ drawarrow xx;
+ drawarrow yy;
+ );
+ draw P[k] shifted (0, -160k);
+endfor
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-powers.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,35 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef pulse(expr w, h, d) =
+for i=0 upto 4: x[i] = w/4 * i; endfor
+ y0 = y1 = 0;
+ y3 = y4 = d;
+ y2 = h;
+ z0 .. 1/2[z0, z1] .. controls z1
+ .. 1/2[z1, z2] .. controls z2
+ .. 1/2[z2, z3] .. controls z3
+ .. 1/2[z3, z4] .. z4
+enddef;
+
+beginfig(1);
+ path p; p = pulse(300, 100, -40);
+
+ draw point 0 of p -- postcontrol 1 of p -- postcontrol 2 of p -- postcontrol 3 of p -- point 5 of p
+ dashed withdots scaled 1/2 withcolor 2/3 red;
+ for i=1 upto 3: draw postcontrol i of p withpen pencircle scaled 2 withcolor 2/3 red; endfor
+ label.lrt("$z_1$", postcontrol 1 of p) withcolor 2/3 red;
+ label.top("$z_2$", postcontrol 2 of p) withcolor 2/3 red;
+ label.llft("$z_3$", postcontrol 3 of p) withcolor 2/3 red;
+
+ draw p withcolor 1/2 blue;
+ draw p shifted 120 up withcolor 1/2 blue;
+ for i=0 upto length p: draw point i of p withpen pencircle scaled 2; endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-pulse.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,35 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path xx, yy;
+xx = (left -- right) scaled 150;
+yy = (down -- up) scaled 150;
+
+path ff, negative_ff;
+ff = (1,1) for x = 3/2 step 1/2 until 6: ... (x, 1/x) endfor;
+ff := reverse ff reflectedabout(origin, dir 45) & ff;
+ff := ff scaled 24;
+negative_ff = ff reflectedabout(origin, dir -45);
+
+for i=-6 upto 6:
+ draw xx shifted (0, 24i) withpen pencircle scaled 1/4 withcolor 7/8;
+ draw yy shifted (24i, 0) withpen pencircle scaled 1/4 withcolor 7/8;
+endfor
+
+forsuffixes @ = ff, negative_ff:
+ draw @ withcolor 2/3 red;
+ for i=0 upto length @:
+ draw point i of @ withpen pencircle scaled 1;
+ endfor
+endfor
+
+label("$y = 1/x$", (-84, 84));
+drawarrow xx; label.rt("$x$", point 1 of xx);
+drawarrow yy; label.top("$y$", point 1 of yy);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-reflection.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,57 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef pi_quarters(expr n) =
+ save s, f, q; string s, f; numeric q;
+ s = if n < 0: "-" else: "" fi; q = abs(n);
+ if q mod 4 = 0:
+ f = if q > 4: decimal 1/4 q else: "" fi;
+ elseif q mod 2 = 0:
+ f = "\frac{" & decimal 1/2 q & "}{2}";
+ else:
+ f = "\frac{" & decimal q & "}{4}";
+ fi
+ "$\scriptstyle" & s & f & "\pi$"
+enddef;
+
+beginfig(1);
+ numeric u, pi; u = 50; pi = 3.141592653589793;
+
+ path xx, yy;
+ xx = (3.5 left -- 3.6 right) scaled u;
+ yy = (1.1 down -- 1.2 up) scaled u;
+
+ path ss;
+ ss = origin for t=1 upto 360: -- (t, sind(t)) endfor;
+ ss := ss shifted 360 left & ss;
+ ss := ss xscaled (pi/180) scaled u;
+
+ drawoptions(dashed withdots scaled 1/4);
+ draw ((1/4 pi, 0) .. (1/4 pi, sind(45))) scaled u;
+ draw ((1/2 pi, 0) .. (1/2 pi, sind(90))) scaled u;
+ draw ((3/4 pi, 0) .. (3/4 pi, sind(135))) scaled u;
+ drawoptions();
+
+ draw ss cutbefore yy shifted point 0 of xx
+ cutafter yy shifted point 1 of xx
+ withcolor 3/4 blue;
+ draw ss shifted (-1/2 pi * u ,0)
+ cutbefore yy shifted point 0 of xx
+ cutafter yy shifted point 1 of xx
+ withcolor 2/3 red;
+
+ drawarrow xx; label.rt("$t$", point 1 of xx);
+ drawarrow yy; label.top("$u(t)$", point 1 of yy);
+
+ for i=-4, -3, -2, -1, 1, 2, 3, 4:
+ draw (down--up) scaled 2 shifted (pi * i/4 * u, 0);
+ label.bot(pi_quarters(i), (pi * i/4 * u, -2));
+ endfor
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-sines.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,44 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ z1 = 377 right; z2 = 233 up;
+
+ path ff;
+ ff = origin .. (72, 144){1,2} .. (84, 144) .. (96, 144){1,1} .. (220, 220){right} .. (370, 160){2,-1.3};
+
+ for t=2, 4, 4.9:
+ draw point t of ff -- (xpart point t of ff, y2 + 6) dashed evenly scaled 1/2;
+ endfor
+ label.top("Strain hardening", (1/2 (xpart point 2 of ff + xpart point 4 of ff), y2));
+ label.top("Necking", (1/2 (xpart point 4 of ff + xpart point 4.9 of ff), y2));
+
+ path rr;
+ rr = point 0.4 of ff -- (xpart point 0.8 of ff, ypart point 0.4 of ff) -- point 0.8 of ff;
+ draw rr; label.bot("Run", point 1/2 of rr); label.rt("Rise", point 3/2 of rr);
+
+ vardef pin_label@#(expr p, a, b)=
+ draw a -- b cutbefore fullcircle scaled 8 shifted a withpen pencircle scaled 1/4 withcolor 1/2 white;
+ label@#(p, b);
+ enddef;
+
+ pin_label.lrt("Yield strength", point 1.2 of ff, point 2 of ff + (8, -18));
+ pin_label.bot("Ultimate strength", point 4 of ff, point 4 of ff + (4, -24));
+ pin_label.bot("Fracture", point 5 of ff, point 5 of ff + (-8, -18));
+
+ draw ff withpen pencircle scaled 1 withcolor 2/3 blue;
+ clip currentpicture to unitsquare scaled 400; % clip thick pen at origin
+
+ drawdblarrow z1 -- origin -- z2;
+ label.ulft("Strain, $\epsilon$", z1);
+ label.urt("Stress, $\sigma$", z2);
+
+ label("$\displaystyle\hbox{Young's modulus} = \hbox{Slope} = {\hbox{Rise}\over\hbox{Run}}$",
+ 1/2 z1 shifted 36 up) withcolor 2/3 blue;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/func-stress.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,69 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+numeric _sqrtpp;
+_sqrtpp = 2.50662827463;
+
+vardef gauss(expr mu, sigma, x) =
+ if abs(x - mu) < 4 sigma:
+ mexp(-128 * (((x - mu) / sigma) ** 2)) / _sqrtpp / sigma
+ else:
+ 0
+ fi
+ enddef;
+
+vardef gauss_curve(expr mu, sigma, a, b, s) =
+ (a, gauss(mu, sigma, a)) for x = a + s step s until b: .. (x, gauss(mu, sigma, x)) endfor
+ enddef;
+
+vardef percent(expr n, N) =
+ save p, s;
+ numeric p;
+ string s;
+ p = 1 - n / N / N;
+ s = decimal floor(1000 p);
+ substring (0, length(s) - 1) of s & "." & substring (length(s)-1, infinity) of s & "\thinspace\%"
+enddef;
+
+path Z; Z = gauss_curve(0, 1, -4, 4, 1/8) xscaled 50 yscaled 220;
+path A, B;
+A = subpath (16,48) of Z -- (xpart point 48 of Z, 0) -- (xpart point 16 of Z, 0) -- cycle;
+B = subpath (24,40) of Z -- (xpart point 40 of Z, 0) -- (xpart point 24 of Z, 0) -- cycle;
+beginfig(1);
+ draw Z withcolor Reds 8 5;
+ numeric N, stack_height[]; N = 100;
+ numeric plump, fat, gross; gross = plump = fat = 0;
+ for i=1 upto N: for j = 1 upto N:
+ numeric r, k;
+ r = 50 normaldeviate;
+ k = round(r);
+ if known stack_height[k]:
+ stack_height[k] := stack_height[k] + 1;
+ else:
+ stack_height[k] := 1;
+ fi
+ pair z; z = (r, uniformdeviate 1/4 + stack_height[k]);
+ color shade; shade = Greens 8 8;
+ if abs(r) > 50: plump := plump + 1; shade := Blues 8 8; fi
+ if abs(r) > 100: fat := fat + 1; shade := Oranges 8 6 ; fi
+ if abs(r) > 150: gross := gross + 1; shade := Reds 8 8; fi
+ draw z withpen pencircle scaled 1/2 withcolor shade;
+ undraw z withpen pencircle scaled 1/4;
+ endfor endfor
+ label("\textsc{Observed values}", (-180, 96));
+ label("$abs(r) \le 1$: " & percent(plump, N), (-180, 80));
+ label("$abs(r) \le 2$: " & percent(fat, N), (-180, 68));
+ label("$abs(r) \le 3$: " & percent(gross, N), (-180, 56));
+ draw (left--right) scaled 220;
+ for i = -4 upto 4:
+ draw (50i, 0) -- (50i, -5);
+ label.bot("\hbox to 5pt{\hss$" & decimal i & "$}", (50i, -5));
+ endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gaussian.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,23 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+vardef equilateral_triangle_point(expr a, b) =
+ b shifted -a rotated 60 shifted a
+enddef;
+beginfig(1);
+path c; c = fullcircle scaled 144;
+numeric n; n = 8;
+for i=0 upto n-1:
+ pair a,b,p,q;
+ a = point 8/n * i of c;
+ b = point 8/n * (i + 1) of c;
+ p = equilateral_triangle_point(a,b);
+ q = equilateral_triangle_point(b,a);
+ draw a -- p -- b withcolor .67 green;
+ draw a -- q -- b withcolor .67 red;
+endfor
+draw c withcolor .53 blue;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/geometry-triangles-on-circle.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/glenshiel.jpg
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/glenshiel.jpg
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/glenshiel.jpg 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/glenshiel.jpg 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/glenshiel.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,28 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+vardef gcd(expr a, b) =
+ if b = 0: a else: gcd(b, a mod b) fi
+enddef;
+beginfig(1);
+for n=2 upto 24:
+ for s=1 upto floor n/2:
+ pair p; p = (12n - 24s, -24n);
+ path gon; gon = (
+ for t=0 upto n/gcd(s,n) - 1:
+ 10 up rotated (360/n * s * t) --
+ endfor cycle);
+ if (n mod s = 0):
+ fill gon shifted p withcolor PuBuGn[9][1+floor (n/s/6)];
+ label("$" & decimal (n/s) & "$", p);
+ fi
+ draw gon shifted p withpen pencircle scaled 1/8;
+ endfor
+endfor
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/gons.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,34 @@
+\documentclass[border=1mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef grid(expr ll, ur, grid_unit) =
+ save llx, lly, urx, ury, G; numeric llx, lly, urx, ury;
+ (llx, lly) = ll; (urx, ury) = ur;
+ picture G; G = image(
+ for x = floor(llx / grid_unit) + 1 upto floor(urx / grid_unit):
+ draw (x * grid_unit, lly) -- (x * grid_unit, ury);
+ endfor
+ for y = floor(lly / grid_unit) + 1 upto floor(ury / grid_unit):
+ draw (llx, y * grid_unit) -- (urx, y * grid_unit);
+ endfor
+ fill fullcircle; % <-- you might not want this
+ ); G enddef;
+
+input colorbrewer-rgb
+beginfig(1);
+ path C;
+ C = fullcircle scaled 120 shifted 12 up rotated 6;
+ for t=0, 1.23, 4: draw center C -- point t of C withcolor Blues 8 8; endfor
+ draw C withcolor Reds 8 8;
+ dotlabel.urt("Start", point 0 of C);
+
+ picture P; P = currentpicture; currentpicture := nullpicture;
+ draw grid(llcorner P, urcorner P, 1mm) withpen pencircle scaled 1/4 withcolor Blues 8 1;
+ draw grid(llcorner P, urcorner P, 1cm) withpen pencircle scaled 1/4 withcolor Blues 8 2;
+ draw P;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/graph-paper.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,29 @@
+%\documentclass[border=5mm]{standalone}
+%\usepackage{luamplib}
+%\begin{document}
+%\begin{mplibcode}
+prologues := 3;
+outputtemplate := "%j.%{outputformat}";
+beginfig(1);
+string ab, AB;
+
+ab = ("" for i=11 upto 23: & char i endfor
+ & "o" for i=24 upto 33: & char i endfor);
+
+AB = ("AB" & char 0 & char 1 & "EZH" & char 2 & "IK"
+ & char 3 & "MNO" & char 4 & char 5 & "P"
+ & char 6 & "T" & char 7 & char 8 & "X"
+ & char 9 & char 10);
+
+draw ab infont "cmmi10";
+draw AB infont "cmmi10" shifted 12 down;
+draw ab infont "eurm10" shifted 32 down;
+draw AB infont "eurm10" shifted 44 down;
+
+undraw (6 left -- 180 right) shifted 12 up;
+undraw (6 left -- 180 right) shifted 50 down;
+
+endfig;
+%\end{mplibcode}
+%\end{document}
+end
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-default-encoding.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,21 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(2);
+string ab, AB;
+ab = "abgdezhjiklmnoxprstufqyw";
+AB = "ABGDEZHJIKLMNOXPRSTUFQYW";
+y := 0;
+for $="grmn1000", "gporsonrg6r", "gneohellenicrg6r":
+ draw $ infont "cmss10" scaled 0.8 shifted (0,y) withcolor .67 red;
+ draw ab infont $ shifted (0,y-10);
+ draw AB infont $ shifted (0,y-22);
+ y := y - 40;
+endfor
+undraw (6 left -- 180 right) shifted 12 up;
+undraw (6 left -- 180 right) shifted 108 down;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-gfs-encoding.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,25 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+vardef setg(text t) =
+ save G; picture G;
+ save x; numeric x; x = 0;
+ G = image(
+ for w = t:
+ picture g;
+ g = w infont "gporsonrg6r";
+ draw g shifted (x, 0);
+ x := x + xpart (urcorner g - llcorner g) + 3;
+ endfor
+ ); G enddef;
+beginfig(1);
+picture homer;
+homer = setg("m" & char 168 & "nin", char 138 & "eide", "je" & char 128,
+ "Phlh" & char 240 & char 136 & "deiw", ">Aqil" & char 168 & "oc");
+undraw 10 left -- 272 right;
+draw homer scaled 1.732 withcolor .54 red;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/greek-homer.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,53 @@
+\documentclass[border=2mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef thatch(expr a, b, c, penw, gap) =
+ picture H;
+ pair v;
+ v = gap * unitvector(c - 1/2[a, b]);
+ H = image(
+ for i=1 upto 120:
+ draw (a--b)
+ shifted (i * v)
+ withpen pencircle scaled penw;
+ endfor
+ );
+ clip H to a--b--c--cycle; draw H;
+enddef;
+
+beginfig(1);
+
+ path h, t;
+
+ h = for i=0 upto 5: 84 right rotated 60i -- endfor cycle;
+ t = (origin -- subpath (0, 1) of h -- cycle)
+ shifted -1/3(point 0 of h + point 1 of h)
+ scaled 1.08
+ rotated 90;
+
+ thatch(point 2 of t, point 0 of t, point 1 of t, 1/4, 3/2);
+ thatch(point 4 of h, point 0 of t, point 2 of t, 1/4, 5/4);
+ thatch(point 0 of t, point 0 of h, point 1 of t, 1/4, 3/4);
+ thatch(point 1 of h, point 1 of t, point 0 of h, 1/4, 1);
+ thatch(point 4 of h, point 2 of t, point 3 of h, 1/4, 2);
+ thatch(point 4 of h, point 0 of t, point 5 of h, 1/4, 1);
+ thatch(point 5 of h, point 0 of t, point 6 of h, 1/4, 3/4);
+
+ draw h;
+ draw t;
+
+ for i=0 upto 2:
+ draw point 2i of h -- point i of t;
+ draw point 2i of h -- point i+1 of t;
+ draw point 2i+1 of h -- point i+1 of t;
+ endfor
+
+ input ruler-cm
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/icosahedron.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,17 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+path p; p = origin -- dir 30;
+numeric n, r; r = 3;
+for i=1 upto 12:
+ n := length p;
+ p := p rotated (45 - r);
+ p := p & reverse p rotatedabout(point n of p, 90 + 2r);
+endfor
+draw p scaled (384 / xpart (urcorner p - llcorner p)) withcolor .54 red;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh-open.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,18 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+path p; p = origin -- right rotated 30;
+numeric n;
+for i=1 upto 12:
+ n := length p;
+ p := p rotated 45;
+ p := p & reverse p rotatedabout(point n of p, 90);
+endfor
+draw p scaled (384 / xpart (urcorner p - llcorner p))
+ withcolor (.2, .2, .7);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heigh.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,36 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+def width(expr P) = xpart (urcorner P - llcorner P) enddef;
+picture s[];
+path p; p = origin -- 16 right;
+s1 = image(undraw (origin -- up) scaled 21; draw p;
+ for t=0, 1:
+ draw point t of p withpen pencircle scaled 3/2 withcolor 0.74 red;
+ endfor
+);
+for i=2 upto 5:
+ s[i] = image(
+ p := p rotated 45;
+ p := p & reverse p rotatedabout(point length p of p, 90);
+ draw p;
+ for t=0, 1/2 length p, length p:
+ draw point t of p withpen pencircle scaled 3/2 withcolor 0.74 red;
+ endfor
+ ) shifted (0 for j=i-1 downto 1: + width(s[j]) + 30 endfor, 0);
+endfor
+
+beginfig(1);
+draw s1; draw s2; draw s3; draw s4; draw s5;
+ahangle := 30;
+drawoptions(withcolor (.2,.2,.7));
+for i=1 upto 4:
+ drawarrow (origin -- 14 right) shifted (xpart lrcorner s[i] + 6, 4);
+endfor
+drawoptions();
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/ifs-heighway-stages.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cafe-wall.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cafe-wall.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cafe-wall.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,24 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+ numeric u; u = 21;
+picture strip;
+strip = image(
+ for i=-10 upto 10:
+ fill unitsquare shifted (2i,0) scaled u;
+ draw unitsquare shifted (2i,0) scaled u withcolor 1/2;
+ endfor
+ for i=0, 1:
+ draw ((-20, i) -- (20, i)) scaled u withcolor 1/2;
+ endfor
+);
+for i=0 upto 9:
+ draw strip shifted (4 normaldeviate, i*u);
+endfor
+clip currentpicture to unitsquare shifted 1/2 left xscaled 29.2 yscaled 10 scaled u;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cafe-wall.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cubes.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cubes.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cubes.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,46 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+beginfig(2);
+ numeric u, v;
+ u = 60;
+ v = 21 * sqrt(3);
+ path face[];
+ for i=0 upto 2:
+ face[i] = unitsquare scaled u rotated 45 yscaled (1/sqrt(3)) rotated (120-120i);
+ endfor
+ picture cube, sides;
+ cube = image(
+ for i=0 upto 2:
+ fill face[i] withcolor Oranges[8][i+1];
+ endfor
+ for i=0 upto 2:
+ draw subpath (1, 4) of face[i];
+ endfor
+ );
+ sides = image(
+ for i=0, 2:
+ fill face[i] withcolor Oranges[8][i+1];
+ endfor
+ for i=0, 2:
+ draw face[i];
+ endfor
+ );
+ draw cube shifted (0u, 2v);
+ draw cube shifted (0u, 4v);
+ draw cube shifted (0u, 6v);
+ draw cube shifted (1u, 5v);
+ draw cube shifted (2u, 4v);
+ draw cube shifted (3u, 3v);
+ draw cube shifted (2u, 2v);
+ draw cube shifted (u, v);
+ draw cube;
+ draw sides shifted (0u, 2v);
+endfig;
+
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-cubes.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-fraser-spiral.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-fraser-spiral.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-fraser-spiral.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,26 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\mplibsetformat{metafun}
+\begin{mplibcode}
+beginfig(1);
+ path s;
+ s = origin for i=1 upto 90: .. (30i, 0) rotated 4i endfor;
+
+ path e[], f[];
+ for i = 0 upto 17:
+ e[i] = s rotated 20i;
+ f[i] = s reflectedabout(left, right) rotated 20i;
+ endfor
+
+ for i=0 upto 8:
+ fill e[2i] -- reverse e[2i+1] .. cycle withcolor 1/2;
+ endfor
+ for i=0 upto 8:
+ fill f[2i] -- reverse f[2i+1] .. cycle withcolor transparent(2, 1/2, 0);
+ endfor
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-fraser-spiral.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-ring.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-ring.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-ring.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,42 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\usepackage{graphicx}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+%label("$\includegraphics{ring-11.png}$", origin);
+path S;
+S = (-117, 4) {dir 30} .. {right} 30 up .. {dir -36} (117, -4) .. {left} 88 down
+ .. (-200, -50) .. {up} (-266, 30) {down} -- (-266, -50)
+ .. (-200, -108) {dir -28} .. 148 down {right}
+ .. (200, -108) .. {up} (266, -30);
+S := S & subpath (5, 2) of S rotated 180 & cycle;
+input colorbrewer-rgb
+
+fill S withcolor Greens 8 3;
+fill S rotated 180 withcolor Reds 8 3;
+
+picture rules; rules = image(
+ for t=0 step 1/32 until directiontime down of subpath(12, 13) of S:
+ draw point 12+t of S -- point 12+t of S shifted 100 down
+ cutafter S;
+ endfor
+ for t=3 step 1/16 until 5:
+ draw point t of S -- point t of S shifted 100 down cutafter subpath (6, 8) of S;
+ endfor
+ for t=8+1/16 step 1/16 until 12:
+ draw point t of S -- 1/2[point 1 of S, point 3 of S] cutafter subpath (1, 3) of S;
+ endfor
+);
+
+for r = 0, 180:
+ draw rules rotated r;
+ draw S rotated r;
+endfor
+
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-ring.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-triangle.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-triangle.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-triangle.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,41 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+beginfig(1);
+
+ numeric u;
+
+ u = 42;
+
+ z0 = (0, 3u);
+ z1 = z0 rotated 120;
+ z2 = z1 rotated 120;
+
+ z3 = z0 shifted (1/2u, 3/2u * sqrt(3));
+ z4 = z3 shifted (-u,0);
+
+ z5-z4 = whatever * (z0-z1);
+ z6 = whatever [z0, z2];
+ y5 = y6 = y2 - sqrt(3) * 1/2 u;
+
+ z7-z3 = whatever * (z0-z1);
+ z7 = whatever [z1, z2];
+
+ %dotlabels.top(0, 1, 2, 3, 4, 5, 6, 7);
+
+ path vii;
+ vii = z3--z4--z5--z6--z2--z7--cycle;
+
+ for i=0 upto 2:
+ fill vii rotated 120i withcolor Blues[9][i+2];
+ endfor
+ for i=0 upto 2:
+ draw vii rotated 120i;
+ endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-impossible-triangle.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-pinna.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-pinna.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-pinna.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,23 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ path s; s = unitsquare shifted -(1/2, 1/2) scaled 23;
+ for n = 1 upto 4:
+ numeric N; N = 10n + 8;
+ numeric a; a = 30 normaldeviate;
+ for t=0 upto N-1:
+ draw s rotated if odd n: - fi 13 shifted (5N * right) rotated (360 / N * t + a)
+ withcolor t mod 2;
+ endfor
+ endfor
+ picture P;
+ P = currentpicture; currentpicture := nullpicture;
+ fill bbox P withcolor 0.42;
+ draw P;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-pinna.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-shaded-diamonds.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-shaded-diamonds.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-shaded-diamonds.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,33 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+input colorbrewer-rgb
+path diamond; picture shaded;
+diamond = (left -- 3 down -- right -- 3 up -- cycle) scaled 13;
+shaded = image(
+for i=0 upto 256:
+ draw (left--right) scaled 15 shifted (0, 78/256 i - 39)
+ withpen pencircle scaled 0.32
+ withcolor (i/256)[white, Greens 8 8];
+endfor); clip shaded to diamond;
+
+ pair u, v;
+ u = point 2 of diamond - point 0 of diamond;
+ v = point 3 of diamond - point 0 of diamond;
+
+beginfig(1);
+ for i=0 upto 8:
+ for j=0 upto min(8-i, 4):
+ draw shaded shifted (i * u + j * v);
+ endfor
+ endfor
+ clip currentpicture to -1/2u -- 9u -- 5u + 4v -- 4v - 1/2u -- cycle;
+
+ draw currentpicture rotated 180;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-shaded-diamonds.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-wonky-grid.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-wonky-grid.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-wonky-grid.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,27 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+input colorbrewer-rgb
+beginfig(1);
+ path o; numeric r; r = 1/4;
+ o = (for i=0 upto 3: subpath (i+r, i+1-r) of unitsquare shifted -(1/2, 1/2) -- endfor cycle) scaled 42;
+ picture unit; path s; s = unitsquare scaled arclength subpath (1, 3/2) of o
+ rotated -45 shifted point 3/2 of o;
+ unit = image(
+ fill o withcolor Blues 8 5;
+ for i=0 upto 3: fill s rotated 90i; endfor
+ );
+
+ pair u, v; u = 42 right; v = u rotated 90; numeric n; n = 3;
+ for i=-n upto n:
+ for j=-2n upto 2n:
+ draw unit if (i+j) mod 4 < 2: reflectedabout (dir 135, dir -45) fi
+ shifted ((2i + j mod 2)*u + j*v);
+ endfor
+ endfor
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/illusions-wonky-grid.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,38 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+vardef through(expr a, b, o) =
+ save t; numeric t; t = 1+o/abs(a-b);
+ t[b,a] -- t[a,b]
+enddef;
+
+beginfig(1);
+ pair A, B, C;
+ A = origin; B = 377 dir 10; C = 233 dir 70;
+ pair a, b, m, t;
+ a = A + 22 unitvector (C-A) + 22 unitvector (B-A);
+ b = B + 22 unitvector (A-B) + 22 unitvector (C-B);
+ m = whatever[A,a] = whatever [B,b]; t = whatever[A,B];
+ t-m = whatever * (B-A) rotated 90;
+
+ drawoptions(dashed evenly scaled 1/4 withcolor 1/2 white);
+ draw t -- m;
+ draw unitsquare scaled 5 rotated angle (B-A) shifted t;
+ draw through(A, m, 10);
+ draw through(B, m, 10);
+ drawoptions();
+ draw fullcircle scaled 2 abs (t-m) shifted m withcolor 2/3 red;
+ draw A--B--C--cycle;
+ dotlabel.top(btex $m$\thinspace\strut etex, m);
+ dotlabel.bot(btex $t$ etex, t);
+ dotlabel.bot(btex $A$ etex, A);
+ dotlabel.urt(btex $B$ etex, B);
+ dotlabel.top(btex $C$ etex, C);
+ dotlabel.top(btex $a$ etex, a);
+ dotlabel.top(btex $b$ etex, b);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/incircle.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,48 @@
+\documentclass[border=2mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+picture p, pp;
+p = "proof" infont "pplri8r" scaled 4;
+pp = "proof" infont "pplri8r" scaled 8;
+(wd, ht) = urcorner pp;
+(xx, dp) = llcorner pp;
+xheight = ypart urcorner ("x" infont "pplri8r" scaled 8);
+
+beginfig(3);
+drawoptions( withpen pencircle scaled .5 withcolor .7[.74 red, white]);
+draw origin -- (0,ht) -- (wd, ht) -- (wd, dp) -- (0,dp) -- cycle;
+for y=0,xheight:
+ draw (0,y) -- (wd,y);
+endfor
+draw bbox pp dashed withdots scaled 1/4;
+drawoptions();
+draw pp withcolor .5 white;
+fill fullcircle scaled 4 shifted center pp withcolor .7[3/4 red,white];
+
+vardef east primary p = 1/2[urcorner p, lrcorner p] enddef;
+vardef west primary p = 1/2[ulcorner p, llcorner p] enddef;
+vardef eastx primary p = lrcorner p shifted (+1,3) enddef;
+vardef westx primary p = llcorner p shifted (-1,3) enddef;
+
+picture c[]; ahangle := 30; string s[];
+c0 = "center" infont "pplr8r" shifted center pp shifted (21,27);
+c1 = "urcorner" infont "pplr8r" shifted urcorner pp shifted (13,8);
+c2 = "ulcorner" infont "pplr8r" shifted ulcorner pp; c2 := c2 shifted (-13-xpart urcorner c2,8);
+c3 = "llcorner" infont "pplr8r" shifted llcorner pp; c3 := c3 shifted (-13-xpart urcorner c3,-13);
+c4 = "lrcorner" infont "pplr8r" shifted lrcorner pp shifted (13,-13);
+c5 = "bboxmargin" infont "pplr8r" scaled 0.8;
+draw c0 withcolor .67 red; drawarrow center c0 .. {dir -120} center pp shifted ( 1, 3) cutbefore bbox c0;
+draw c1 withcolor .67 red; drawarrow westx c1 .. {dir -120} urcorner pp shifted ( 1, 1);
+draw c2 withcolor .67 red; drawarrow eastx c2 .. {dir -60} ulcorner pp shifted (-1, 1);
+draw c3 withcolor .67 red; drawarrow eastx c3 .. {dir +60} llcorner pp shifted (-2,-2);
+draw c4 withcolor .67 red; drawarrow westx c4 .. {dir +120} lrcorner pp shifted ( 1,-1);
+label.bot(c5, point 1/2 of bbox pp) withcolor 1/4[.67 red, white];
+
+c6 = ("x-height" infont "pplr8r"); c6 := c6 shifted (-13-xpart urcorner c6,xheight-2.2);
+c7 = ("origin" infont "pplr8r"); c7 := c7 shifted (-13-xpart urcorner c7,-2.2);
+draw c6 withcolor .67 blue; drawarrow (-12,xheight) -- (-1,xheight);
+draw c7 withcolor .67 blue; drawarrow (-12,0) -- (-1,0);
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-annotated.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,19 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+interim bboxmargin := 2;
+picture p, pp;
+p = "proof" infont "pplri8r" scaled 4;
+pp = image(
+draw (left -- 7 right) scaled 14 withcolor .7 white;
+draw p;
+draw bbox currentpicture withcolor 3/4[red, white]);
+beginfig(1);
+draw bbox p withcolor 3/4[red, white];
+draw p;
+draw pp shifted 120 right;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/infont-example.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,44 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+label(btex \vbox{\halign{\hfil\itshape # \hfil\cr
+The paths are drawn with\cr
+arrows to show where\cr
+they start \& stop.\cr}} etex, origin);
+
+ahangle := 30;
+path A, B;
+A = fullcircle scaled 200 shifted 40 left;
+B = fullcircle scaled 200 rotated 144 shifted 40 right;
+
+forsuffixes $=A, B:
+ drawarrow $ cutafter fullcircle scaled 6 shifted point 0 of $;
+ for t=0 upto 7:
+ drawdot point t of $ withpen pencircle scaled 2;
+ endfor
+endfor
+
+label.ulft("$A$", point 3.14 of A);
+label.urt("$B$", point 6.28 of B);
+
+drawoptions(withcolor 0.54 red);
+numeric t, u; (t,u) = A intersectiontimes B;
+draw fullcircle scaled 6 shifted point t of A;
+z0 = point t of A shifted (-3, 16);
+draw z0 -- point t of A cutafter fullcircle scaled 8 shifted point t of A;
+label.top("\texttt{A intersectiontimes B}", z0);
+drawoptions(withcolor (.2, .2, .7));
+numeric t, u; (t,u) = B intersectiontimes A;
+draw fullcircle scaled 6 shifted point t of B;
+z1 = point t of B shifted (-3, -16);
+draw z1 -- point t of B cutafter fullcircle scaled 8 shifted point t of B;
+label.bot("\texttt{B intersectiontimes A}", z1);
+drawoptions();
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-AB-or-BA.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,93 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+color tr, tb; tr = 0.54 red; tb = (0.2, 0.2, 0.7);
+ahangle := 30;
+path A, B;
+A = subpath (1, 2) of fullcircle scaled 240 shifted 48 left;
+B = subpath (7, 8) of fullcircle scaled 240 rotated 144 shifted 48 right;
+
+picture P[];
+P1 = image(
+ drawarrow A; label.rt("$A$", point 0 of A);
+ drawarrow B; label.rt("$B$", point 0 of B);
+);
+vardef boxed(expr p) =
+ save d; pair d; d = point infinity of p - point 0 of p;
+ unitsquare xscaled xpart d yscaled ypart d shifted point 0 of p
+enddef;
+
+P2 = image(
+ draw A withcolor 3/4;
+ draw B withcolor 3/4;
+ draw boxed(A) withcolor tr;
+ draw boxed(B) withcolor tb;
+);
+
+P3 = image(
+ draw A withcolor 3/4;
+ draw B withcolor 3/4;
+ path s[];
+ numeric m; m = arctime 1/2 arclength A of A;
+ s1 = boxed(subpath (0, m) of A);
+ s3 = boxed(subpath (m, infinity) of A);
+ numeric m; m = arctime 1/2 arclength B of B;
+ s2 = boxed(subpath (0, m) of B);
+ s4 = boxed(subpath (m, infinity) of B);
+ draw s3 withcolor 7/8;
+ draw s4 withcolor 7/8;
+ draw s2 withcolor tb;
+ draw s1 withcolor tr;
+ label.urt("$\scriptstyle 1$", point 1 of s1);
+ label.ulft("$\scriptstyle 2$", point 0 of s2);
+ label.urt("$\scriptstyle 3$", point 1 of s3);
+ label.ulft("$\scriptstyle 4$", point 3 of s4);
+);
+
+draw P1;
+draw P2 shifted 120 right;
+draw P3 shifted 240 right;
+
+P4 = image(
+ draw A withcolor 3/4;
+ draw B withcolor 3/4;
+ numeric m[];
+ m1 = arctime 1/4 arclength A of A;
+ m2 = arctime 1/2 arclength A of A;
+ draw boxed(subpath (0, m1) of A) withcolor 7/8;
+ draw boxed(subpath (m1, m2) of A) withcolor tr;
+ numeric m[];
+ m1 = arctime 1/4 arclength B of B;
+ m2 = arctime 1/2 arclength B of B;
+ draw boxed(subpath (0, m1) of B) withcolor 7/8;
+ draw boxed(subpath (m1, m2) of B) withcolor tb;
+);
+P5 = image(
+ draw A withcolor 3/4;
+ draw B withcolor 3/4;
+ numeric m[];
+ m1 = arctime 1/4 arclength A of A;
+ m2 = arctime 3/8 arclength A of A;
+ m3 = arctime 1/2 arclength A of A;
+ draw boxed(subpath (m1, m2) of A) withcolor 7/8;
+ draw boxed(subpath (m2, m3) of A) withcolor tr;
+ numeric m[];
+ m1 = arctime 1/4 arclength B of B;
+ m2 = arctime 3/8 arclength B of B;
+ m3 = arctime 1/2 arclength B of B;
+ draw boxed(subpath (m2, m3) of B) withcolor 7/8;
+ draw boxed(subpath (m1, m2) of B) withcolor tb;
+);
+
+draw P4 shifted 89 down;
+draw P5 shifted 89 down shifted 120 right;
+interim bboxmargin := 0;
+label.top("and so on\dots", center bbox P5 shifted 89 down shifted 240 right);
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-algorithm.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,28 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path A, B;
+A = (origin {dir 42} .. 120 right {dir 42}) rotated 6;
+B = A reflectedabout (left, right) shifted 10 up;
+drawarrow A; label.llft("$A$", point 0 of A);
+drawarrow B; label.ulft("$B$", point 0 of B);
+
+pair P[]; numeric n; n=0;
+path R; R := A; %take a copy of A
+forever:
+ R := R cutbefore B; % snip where we cross B
+ exitif length cuttings = 0; % stop if nothing was cut
+ P[incr n] = point 0 of R; % capture the point
+ R := subpath (epsilon, infinity) of R; % nudge along
+endfor
+
+draw fullcircle scaled 4 shifted P1 withcolor .54 red;
+draw fullcircle scaled 4 shifted P2 withcolor .54 red;
+draw fullcircle scaled 4 shifted P3 withcolor .54 red;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-all-three.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,21 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+path A, B;
+A = (origin {dir 42} .. 120 right {dir 42}) rotated 6;
+B = A reflectedabout (left, right) shifted 10 up;
+drawarrow A; label.llft("$A$", point 0 of A);
+drawarrow B; label.ulft("$B$", point 0 of B);
+draw fullcircle scaled 4
+ shifted (A intersectionpoint B)
+ withcolor .54 red;
+draw fullcircle scaled 4
+ shifted (reverse A intersectionpoint B)
+ withcolor (.2, .2, .7);
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/intersection-only-two.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,26 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+vardef f(expr x) = sqrt(-1/2 - x * x + sqrt(1/4 + 2 * x * x)) enddef;
+numeric s; s = 1/8;
+path limb;
+
+limb = origin for x = s step s until 1: .. (x, f(x)) endfor {down};
+limb := limb scaled 128;
+
+path lemniscate;
+lemniscate = limb
+ & reverse limb reflectedabout(left, right)
+ & limb reflectedabout(up, down)
+ & reverse limb rotated 180
+ & cycle;
+
+draw limb withpen pencircle scaled 2 withcolor 7/8[red, white];
+drawarrow lemniscate withcolor 2/3 blue;
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/lemniscate-as-function.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,56 @@
+\documentclass[border=2mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+numeric u; u = 32;
+z1 = right scaled u;
+z2 = z1 rotated 90;
+z3 = z2 rotated 90;
+z4 = z3 rotated 90;
+z5 = 1/2[z1,z2];
+z6 = 1/2[z2,z3];
+z7 = 1/2[z3,z4];
+z8 = 1/2[z4,z1];
+
+color tb, tr;
+tb = (.2,.2,.7);
+tr = 0.54 red;
+
+drawoptions (withpen pencircle scaled 2);
+picture p;
+for i=0 upto 2:
+ for j=0 upto 2:
+ linecap := i;
+ linejoin := j;
+ p := image(
+ draw unitsquare shifted -(1/2,1/2) scaled 2u withcolor 7/8;
+ label(decimal linecap, z7) withcolor tb;
+ label(decimal linejoin, z8) withcolor tr;
+ drawarrow z1--z3;
+ draw z2--z4;
+ drawdot(z5);
+ drawdot(z6);
+ drawarrow halfcircle scaled u rotated 180 shifted z4;
+ ) shifted (5/2u*i, -11/4u*j);
+ draw p;
+ if (i=1) and (j=1): draw bbox p dashed withdots scaled 3/4
+ withpen pencircle scaled 1/2
+ ; fi
+ endfor
+ endfor
+
+ label("linecap" infont "cmtt10" scaled 1.2, (5/2u, 7/4u));
+ label("butt" infont "cmtt10" , ( 0, 5/4u)) withcolor tb;
+ label("rounded" infont "cmtt10" , (5/2u, 5/4u)) withcolor tb;
+ label("squared" infont "cmtt10" , (5/1u, 5/4u)) withcolor tb;
+
+ label("linejoin" infont "cmtt10" scaled 1.2 rotated 90, (-7/4u, -11/4u));
+ label("mitered" infont "cmtt10" rotated 90, (-5/4u,0)) withcolor tr;
+ label("rounded" infont "cmtt10" rotated 90, (-5/4u,-11/4u)) withcolor tr;
+ label("beveled" infont "cmtt10" rotated 90, (-5/4u,-11/2u)) withcolor tr;
+
+endfig;
+\end{mplibcode}
+\end{document}
+
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/line-caps-and-joins.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,52 @@
+\documentclass[border=5mm]{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+beginfig(1);
+ numeric u, m, m', b, b';
+ u = 1.44cm;
+ b = 3.6u; b' = b + 1/2 u;
+ m = -1; m' = 3/4 m;
+
+ path xx, yy;
+ xx = (left -- 5 right) scaled u;
+ yy = xx rotated 90;
+
+ numeric minx, maxx; path ff, gg;
+ minx = xpart point 1/16 of xx;
+ maxx = xpart point 15/16 of xx;
+ ff = (minx, minx * m + b) -- (maxx, maxx * m + b);
+ gg = (minx, minx * m' + b') -- (maxx, maxx * m' + b');
+
+ z0 = point 0.4 of ff;
+ z1 = point 0.54 of ff;
+ z1 0 = whatever [point 0 of gg, point 1 of gg]; x1 0 = x0;
+ z1 1 = whatever [point 0 of gg, point 1 of gg]; x1 1 = x1;
+
+ forsuffixes @=0, 1:
+ draw (x@, 0) -- z@ -- (0, y@) dashed evenly scaled 3/4;
+ draw z@ -- z1 @ -- (0, y1 @) dashed withdots scaled 1/2;
+ label.bot("$x_{" & decimal @ & "}$", (x@, 0));
+ label.lft("$y_{" & decimal @ & "}$", (0, y@));
+ label.lft("$y'_{" & decimal @ & "}$", (0, y1 @));
+ endfor
+
+ draw ff withcolor 2/3 red;
+ draw gg withcolor 3/4 blue;
+ drawarrow xx; drawarrow yy;
+
+ label.rt("$x$", point 1 of xx);
+ label.top("$y$", point 1 of yy);
+
+ dotlabel.urt("$b$", (0, b));
+ dotlabel.urt("$b'$", (0, b'));
+
+ draw thelabel("slope: $m=" & decimal m & "$", 7 up)
+ rotated angle (1, m) shifted point 2/3 of ff;
+ draw thelabel("slope: $m'=" & decimal m' & "$", 7 up)
+ rotated angle (1, m') shifted point 2/3 of gg;
+
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/linear-graph.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,9 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\begin{mplibcode}
+beginfig(1);
+ draw for i=0 upto 5: 20 dir 60i -- endfor cycle;
+endfig;
+\end{mplibcode}
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.pdf 2023-04-14 20:25:52 UTC (rev 66845)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.pdf 2023-04-14 20:29:42 UTC (rev 66846)
Property changes on: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/little-hexagon.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/london-boroughs.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/london-boroughs.mp (rev 0)
+++ trunk/Master/texmf-dist/doc/metapost/drawing-with-metapost/src/london-boroughs.mp 2023-04-14 20:29:42 UTC (rev 66846)
@@ -0,0 +1,34 @@
+path Kingston_upon_Thames, Croydon, Bromley, Hounslow, Ealing, Havering, Hillingdon, Harrow, Brent, Barnet, Lambeth, Southwark, Lewisham, Greenwich, Bexley, Enfield, Waltham_Forest, Redbridge, Sutton, Richmond_upon_Thames, Merton, Wandsworth, Hammersmith_and_Fulham, Kensington_and_Chelsea, Westminster, Camden, Tower_Hamlets, Islington, Hackney, Haringey, Newham, Barking_and_Dagenham, City_of_London;
+Barking_and_Dagenham = (436.2, 348.3)--(435.8, 347.9)--(435.7, 347.8)--(435.7, 347.6)--(435.7, 347.4)--(435.7, 347.2)--(435.8, 347.0)--(435.8, 346.9)--(435.8, 346.7)--(435.7, 346.6)--(435.6, 346.4)--(435.6, 346.3)--(435.5, 346.1)--(435.5, 345.8)--(435.9, 345.3)--(435.7, 345.1)--(435.5, 344.9)--(435.5, 344.7)--(435.5, 344.5)--(435.7, 344.4)--(435.9, 344.4)--(436.0, 344.3)--(436.1, 344.1)--(436.1, 343.9)--(436.0, 343.4)--(435.9, 343.0)--(435.9, 342.8)--(435.9, 342.7)--(435.9, 342.6)--(435.9, 342.5)--(436.0, 342.4)--(436.1, 342.2)--(436.4, 342.2)--(436.5, 342.3)--(436.6, 342.3)--(436.7, 342.3)--(436.7, 342.2)--(436.8, 342.2)--(436.9, 342.1)--(437.1, 341.7)--(437.1, 341.6)--(437.1, 341.4)--(437.1, 341.2)--(437.2, 340.9)--(437.3, 340.6)--(437.4, 340.5)--(437.6, 340.1)--(437.8, 339.5)--(438.0, 339.1)--(438.2, 338.7)--(438.3, 338.4)--(438.6, 338.0)--(438.7, 337.7)--(438.7, 337.4)--(438.6, 337.2)--(438.8, 336.8)--(438.7, 336.6)--(439.2, 336.1)--(439.3, 336.0)--(439.5, 335.8)--(439.7, 335.5)--(439.8, 335.4)--(440.3, 334.5)--(440.4, 334.5)--(440.5, 334.2)--(440.5, 334.0)--(440.7, 333.1)--(440.6, 332.8)--(440.7, 332.7)--(440.8, 332.5)--(440.8, 332.4)--(440.7, 332.4)--(440.7, 332.5)--(440.6, 332.5)--(440.7, 332.6)--(440.6, 332.6)--(440.5, 332.7)--(440.1, 332.4)--(440.0, 332.5)--(439.8, 332.4)--(439.1, 332.0)--(439.0, 332.0)--(439.1, 332.0)--(438.7, 332.2)--(438.7, 332.7)--(438.6, 333.2)--(438.6, 333.6)--(438.5, 334.0)--(438.4, 334.6)--(438.3, 335.2)--(438.1, 335.8)--(438.1, 335.9)--(437.9, 335.9)--(437.9, 336.0)--(437.7, 336.4)--(437.7, 336.5)--(437.6, 336.8)--(437.0, 338.1)--(436.8, 338.4)--(436.8, 338.5)--(436.5, 339.1)--(436.4, 339.3)--(436.3, 339.4)--(436.3, 339.6)--(436.2, 339.7)--(436.1, 339.7)--(435.9, 339.5)--(435.8, 339.5)--(435.7, 339.5)--(435.6, 339.5)--(435.5, 339.5)--(435.4, 339.5)--(435.3, 339.5)--(435.3, 339.4)--(435.2, 339.5)--(435.3, 339.5)--(435.3, 339.6)--(435.4, 339.8)--(435.4, 340.0)--(435.4, 340.2)--(435.4, 340.4)--(435.8, 340.6)--(435.8, 340.7)--(435.6, 341.0)--(435.5, 341.1)--(435.4, 341.4)-!
-(435.1, 341.9)--(434.9, 342.3)--(434.8, 342.6)--(434.7, 342.7)--(434.6, 342.9)--(434.4, 343.3)--(434.3, 343.5)--(434.3, 343.8)--(434.3, 343.9)--(434.2, 344.0)--(434.2, 344.3)--(434.2, 344.6)--(434.2, 344.8)--(434.2, 345.0)--(434.2, 345.1)--(434.2, 345.2)--(434.2, 345.3)--(434.2, 345.4)--(434.3, 345.5)--(434.3, 345.6)--(434.4, 346.1)--(434.5, 346.5)--(434.6, 346.7)--(434.8, 347.3)--(435.0, 347.7)--(435.1, 348.1)--(435.2, 348.4)--(435.2, 348.5)--(435.2, 348.6)--(435.8, 348.5)--(435.8, 348.4)--(436.0, 348.3)--(435.9, 348.2)--(435.8, 348.0)--(436.6, 348.1)--(437.0, 348.0)--(437.1, 348.0)--(437.2, 348.0)--(437.5, 347.8)--(437.7, 347.8)--(437.7, 348.0)--(437.8, 348.0)--(438.0, 348.0)--(438.3, 348.0)--(438.4, 348.0)--(438.5, 348.0)--(438.6, 348.0)--(438.6, 348.1)--(438.7, 348.1)--(438.8, 348.1)--(439.0, 348.1)--(439.3, 348.1)--(439.5, 348.1)--(439.8, 348.2)--(440.2, 348.3)--(440.4, 348.5)--(440.7, 348.6)--(441.0, 348.9)--(441.1, 349.0)--(441.3, 348.8)--(441.5, 348.9)--(441.6, 349.0)--(441.7, 348.8)--(441.8, 348.6)--(441.9, 348.4)--(442.0, 348.5)--(442.0, 348.6)--(442.1, 348.7)--(442.2, 348.7)--(442.3, 348.8)--(442.5, 348.8)--(443.0, 349.1)--(443.4, 349.3)--(443.8, 349.5)--(444.1, 349.6)--(444.3, 349.7)--(444.4, 349.8)--(444.5, 349.9)--(444.4, 350.0)--(444.4, 350.1)--(444.4, 350.2)--(444.5, 350.2)--(444.6, 350.2)--(444.8, 350.3)--(444.9, 350.4)--(445.0, 350.5)--(445.2, 350.6)--(445.2, 350.7)--(445.3, 350.8)--(445.4, 350.9)--(445.5, 350.9)--(445.6, 351.0)--(446.0, 351.2)--(446.1, 351.3)--(446.2, 351.4)--(446.6, 351.6)--(446.8, 351.8)--(447.2, 352.2)--(447.4, 352.3)--(447.6, 352.4)--(447.8, 352.4)--(448.5, 352.6)--(448.8, 352.7)--(448.9, 352.7)--(449.1, 352.7)--(449.4, 352.8)--(449.8, 352.9)--(450.0, 352.9)--(450.1, 352.9)--(450.2, 353.0)--(450.3, 353.0)--(450.4, 353.0)--(450.5, 353.0)--(450.5, 353.1)--(450.6, 353.2)--(450.7, 353.3)--(451.1, 353.4)--(451.2, 353.4)--(451.2, 353.5)--(451.2, 353.6)--(451.1, 353.8)--(451.2, 354.0)--(451.2, 354.1)--(451.2, 354.2)--(451.3, 354.3)--(451.4, 354.5)--(451.5, 354.7)--(451.9, 354.9)!
--(451.8, 354.8)--(451.8, 354.5)--(451.7, 354.1)--(451.7, 354.0)--(451.7, 353.8)--(451.7, 353.6)--(451.7, 353.5)--(451.9, 352.8)--(452.1, 352.1)--(452.2, 352.0)--(452.3, 351.6)--(452.4, 351.2)--(452.4, 351.0)--(452.5, 351.0)--(452.5, 350.9)--(452.6, 350.7)--(452.9, 350.9)--(453.1, 351.0)--(453.2, 351.1)--(453.7, 351.4)--(454.1, 351.6)--(454.6, 351.9)--(454.7, 352.1)--(455.1, 352.3)--(455.4, 352.4)--(455.6, 352.6)--(455.7, 352.7)--(455.8, 352.8)--(456.0, 352.9)--(456.3, 353.2)--(456.7, 353.5)--(456.8, 353.6)--(456.9, 353.7)--(457.1, 353.8)--(457.2, 353.9)--(457.5, 354.1)--(458.0, 354.3)--(458.6, 354.6)--(458.8, 354.8)--(458.9, 354.9)--(459.2, 355.0)--(459.5, 355.1)--(459.8, 355.3)--(459.9, 355.3)--(460.1, 355.5)--(460.2, 355.5)--(460.3, 355.6)--(460.5, 355.8)--(460.6, 355.9)--(460.8, 356.1)--(461.0, 356.3)--(461.1, 356.5)--(461.3, 356.7)--(461.5, 357.0)--(461.9, 357.6)--(462.0, 357.7)--(462.1, 357.8)--(462.2, 357.9)--(462.3, 357.9)--(462.5, 357.9)--(462.6, 357.9)--(462.7, 357.9)--(462.7, 358.6)--(463.7, 358.5)--(464.6, 358.4)--(465.2, 358.7)--(465.5, 359.0)--(465.4, 359.6)--(465.5, 359.6)--(465.7, 359.9)--(467.0, 361.7)--(466.7, 362.0)--(466.6, 362.0)--(466.6, 362.2)--(465.6, 363.0)--(465.9, 363.3)--(466.0, 363.9)--(468.7, 363.5)--(468.6, 364.0)--(469.2, 364.0)--(469.3, 364.0)--(469.9, 364.0)--(470.9, 365.4)--(469.8, 365.6)--(469.4, 365.8)--(469.1, 365.9)--(468.8, 366.0)--(469.6, 368.0)--(470.3, 369.7)--(469.7, 370.0)--(469.8, 370.4)--(470.0, 370.5)--(470.1, 370.5)--(470.2, 370.6)--(470.4, 370.6)--(473.7, 371.7)--(473.9, 371.9)--(474.1, 372.1)--(474.2, 372.2)--(474.3, 372.4)--(474.5, 372.6)--(474.8, 372.8)--(475.0, 373.0)--(475.1, 373.2)--(475.3, 373.4)--(475.4, 373.7)--(475.5, 373.8)--(475.6, 374.0)--(475.9, 374.1)--(476.0, 374.2)--(476.2, 374.3)--(476.3, 374.3)--(476.4, 374.3)--(476.8, 374.4)--(476.8, 374.5)--(476.8, 374.6)--(476.9, 374.8)--(477.0, 375.4)--(477.0, 375.8)--(477.0, 375.9)--(477.0, 376.2)--(477.0, 376.3)--(476.9, 376.5)--(476.9, 376.8)--(477.0, 377.0)--(477.1, 377.2)--(477.2, 377.6)--(477.3, 377.9!
)--(477.4, 378.3)--(477.5, 378.6)--(477.5, 378.7)--(477.4, 378.9)--(477.4, 379.0)--(477.4, 379.1)--(477.3, 379.1)--(477.2, 379.1)--(477.1, 379.2)--(477.1, 379.3)--(477.1, 379.6)--(477.1, 379.7)--(477.1, 379.8)--(477.0, 379.9)--(477.0, 380.0)--(477.6, 380.2)--(478.2, 380.4)--(477.9, 381.2)--(477.8, 381.6)--(477.7, 381.9)--(477.6, 382.0)--(477.7, 382.1)--(477.6, 382.1)--(477.5, 381.9)--(477.1, 381.7)--(477.1, 381.8)--(476.9, 382.2)--(476.8, 382.4)--(476.6, 382.7)--(476.6, 382.9)--(476.6, 383.1)--(476.6, 383.3)--(476.5, 383.3)--(476.5, 383.6)--(476.5, 384.0)--(476.5, 384.5)--(476.4, 384.7)--(476.4, 385.0)--(476.4, 385.3)--(476.8, 385.5)--(478.0, 386.2)--(477.9, 386.5)--(477.9, 386.6)--(477.9, 386.8)--(477.8, 387.0)--(477.7, 387.3)--(477.6, 387.6)--(477.6, 387.9)--(477.6, 388.0)--(477.5, 388.4)--(477.4, 388.4)--(477.3, 388.4)--(477.4, 388.7)--(479.3, 389.5)--(479.2, 389.7)--(479.1, 390.0)--(479.0, 390.2)--(478.9, 390.2)--(478.8, 390.4)--(478.8, 390.5)--(478.7, 390.7)--(478.6, 390.9)--(478.5, 390.9)--(478.3, 390.9)--(478.0, 391.0)--(476.2, 391.1)--(475.2, 391.2)--(475.2, 391.5)--(475.2, 391.8)--(475.3, 391.9)--(475.4, 392.0)--(475.4, 392.6)--(475.4, 392.7)--(475.1, 393.7)--(474.8, 393.7)--(474.9, 394.3)--(474.1, 396.8)--(474.2, 396.9)--(475.6, 397.3)--(476.2, 397.5)--(476.4, 397.5)--(476.5, 397.6)--(476.7, 397.6)--(477.3, 397.8)--(477.0, 398.4)--(476.9, 398.7)--(476.7, 399.1)--(476.6, 399.4)--(476.4, 399.8)--(476.3, 400.1)--(476.2, 400.6)--(476.9, 401.1)--(477.9, 402.0)--(478.7, 402.6)--(480.4, 404.0)--(481.1, 404.6)--(481.5, 404.9)--(481.5, 405.0)--(481.6, 405.0)--(481.7, 405.1)--(482.5, 405.9)--(483.6, 407.1)--(484.1, 407.6)--(484.5, 408.1)--(484.6, 408.1)--(485.2, 408.7)--(487.0, 410.7)--(487.7, 411.4)--(488.4, 411.1)--(488.7, 410.9)--(488.8, 410.9)--(488.8, 410.6)--(488.8, 410.5)--(488.7, 410.0)--(488.7, 409.5)--(488.6, 408.9)--(488.5, 408.5)--(488.8, 408.4)--(488.9, 408.4)--(488.8, 408.0)--(490.0, 408.8)--(490.2, 408.4)--(490.5, 407.9)--(490.8, 407.4)--(491.0, 407.0)--(490.9, 406.2)--(490.8, 405.2)--(490.8, 404.!
7)--(490..8, 403.8)--(490.7, 402.4)--(490.8, 402.1)--(491.0, 401.5)--(491.1, 401.1)--(491.2, 400.7)--(491.2, 400.4)--(491.2, 400.0)--(491.2, 399.2)--(491.2, 398.4)--(491.2, 397.2)--(491.2, 395.7)--(491.2, 394.5)--(491.2, 394.0)--(491.1, 393.7)--(491.0, 393.2)--(490.9, 393.0)--(490.6, 392.7)--(490.4, 392.4)--(490.0, 391.6)--(489.6, 390.9)--(489.5, 390.6)--(488.9, 390.7)--(488.8, 389.2)--(488.8, 387.5)--(488.8, 387.0)--(488.8, 386.7)--(488.8, 385.7)--(488.7, 385.0)--(489.5, 385.1)--(489.5, 384.9)--(489.6, 384.6)--(489.6, 384.5)--(489.6, 384.3)--(489.5, 383.8)--(489.5, 383.5)--(489.5, 383.0)--(489.5, 382.8)--(489.5, 382.4)--(489.5, 382.2)--(489.5, 382.1)--(490.2, 382.3)--(490.4, 380.9)--(490.5, 380.3)--(490.4, 380.3)--(490.5, 379.2)--(490.5, 379.0)--(490.6, 378.9)--(490.8, 378.8)--(490.8, 378.6)--(490.9, 378.4)--(489.8, 378.2)--(488.7, 378.0)--(488.8, 377.8)--(488.8, 377.5)--(488.8, 377.4)--(488.8, 377.3)--(488.9, 377.3)--(489.1, 377.3)--(489.1, 377.2)--(489.2, 377.2)--(489.2, 377.1)--(490.2, 377.2)--(490.3, 377.0)--(490.6, 376.6)--(490.7, 376.6)--(490.8, 376.6)--(490.9, 376.6)--(491.0, 376.6)--(491.0, 376.5)--(491.1, 376.5)--(491.1, 376.4)--(491.3, 376.3)--(491.5, 376.3)--(491.6, 376.3)--(491.7, 376.3)--(491.8, 376.4)--(491.9, 376.5)--(492.0, 376.6)--(492.1, 376.5)--(492.3, 376.3)--(492.7, 376.0)--(492.9, 375.8)--(493.3, 375.4)--(493.6, 375.0)--(493.9, 374.7)--(494.1, 374.5)--(494.4, 374.2)--(494.5, 374.1)--(494.7, 373.9)--(494.8, 373.8)--(495.0, 373.6)--(495.2, 373.5)--(495.3, 373.5)--(495.5, 373.4)--(495.6, 373.3)--(495.7, 373.2)--(495.8, 373.0)--(496.1, 372.8)--(496.5, 372.4)--(496.7, 372.2)--(496.9, 372.2)--(497.1, 372.0)--(497.3, 371.8)--(497.4, 371.7)--(497.6, 371.6)--(497.8, 371.4)--(498.0, 371.2)--(498.1, 371.0)--(498.2, 370.9)--(498.2, 370.7)--(498.3, 370.6)--(498.5, 370.5)--(498.6, 370.4)--(498.6, 370.3)--(498.7, 370.1)--(498.9, 370.0)--(499.1, 369.9)--(499.2, 369.9)--(499.4, 369.8)--(499.5, 369.7)--(499.5, 369.6)--(499.9, 369.8)--(500.1, 370.0)--(500.3, 370.1)--(500.6, 370.2)--(500.8, 370.4)--(501.2, 370!
.7)--(501.6, 370.9)--(501.9, 371.1)--(502.1, 371.2)--(502.2, 371.3)--(502.4, 371.4)--(502.6, 371.6)--(502.7, 371.6)--(502.8, 371.7)--(503.1, 371.8)--(503.4, 371.8)--(503.6, 371.8)--(503.7, 371.8)--(503.9, 371.9)--(504.0, 371.9)--(504.1, 372.0)--(504.3, 372.1)--(504.4, 372.1)--(504.5, 372.3)--(504.7, 372.4)--(504.8, 372.5)--(505.0, 372.6)--(505.1, 372.6)--(505.2, 372.7)--(505.3, 372.8)--(505.5, 372.9)--(505.9, 373.2)--(506.0, 373.2)--(506.3, 373.3)--(506.5, 373.4)--(506.8, 373.4)--(507.0, 373.5)--(507.2, 373.6)--(507.4, 373.7)--(507.7, 373.7)--(508.2, 373.6)--(508.8, 373.5)--(508.9, 373.4)--(509.2, 373.4)--(509.4, 373.4)--(509.7, 373.5)--(509.9, 373.5)--(510.2, 373.5)--(510.6, 373.6)--(511.0, 373.7)--(511.3, 373.7)--(511.6, 373.6)--(512.1, 373.6)--(512.2, 373.6)--(512.3, 373.6)--(512.7, 373.5)--(512.9, 373.5)--(513.0, 373.5)--(513.1, 373.6)--(513.2, 373.6)--(513.3, 373.5)--(513.8, 373.5)--(514.1, 373.5)--(514.3, 373.4)--(514.4, 373.4)--(514.5, 373.5)--(514.6, 373.6)--(514.9, 373.9)--(515.5, 374.4)--(515.5, 374.1)--(515.5, 373.9)--(515.5, 373.7)--(515.5, 373.6)--(515.5, 373.5)--(515.3, 373.3)--(515.2, 373.1)--(515.1, 373.0)--(514.9, 372.8)--(514.8, 372.7)--(514.8, 372.6)--(514.7, 372.5)--(514.7, 372.2)--(514.6, 371.7)--(514.5, 371.5)--(514.5, 371.4)--(514.4, 371.3)--(514.4, 371.2)--(514.3, 370.8)--(514.0, 370.1)--(513.9, 369.7)--(514.0, 369.7)--(514.0, 369.6)--(514.1, 369.5)--(514.1, 369.4)--(514.3, 369.3)--(514.5, 369.1)--(514.6, 368.9)--(515.0, 368.7)--(515.3, 368.5)--(515.3, 368.4)--(515.4, 368.3)--(515.4, 368.1)--(515.4, 367.9)--(515.4, 367.8)--(515.4, 367.7)--(515.4, 367.6)--(515.5, 367.5)--(515.5, 367.4)--(515.5, 367.2)--(515.5, 367.0)--(515.4, 366.9)--(515.3, 366.8)--(515.4, 366.7)--(515.4, 366.6)--(515.3, 366.5)--(515.4, 366.4)--(515.3, 366.3)--(515.3, 366.2)--(515.3, 366.0)--(515.3, 365.9)--(515.3, 365.8)--(515.3, 365.7)--(515.3, 365.5)--(515.5, 365.4)--(515.5, 365.3)--(515.6, 365.2)--(515.5, 365.1)--(515.5, 365.0)--(515.6, 364.8)--(515.7, 364.8)--(515.7, 364.7)--(515.7, 364.6)--(515.6, 364.6)--(515.5, 36!
4.6)--(515.5, 364.4)--(515.5, 364.3)--(515.7, 364.3)--(516.0, 364.3)--(516.2, 364.3)--(516.3, 364.3)--(516.4, 364.2)--(516.6, 364.0)--(516.7, 363.8)--(517.0, 363.7)--(517.1, 363.7)--(517.1, 363.6)--(517.1, 363.5)--(517.1, 363.4)--(517.3, 363.3)--(517.4, 363.2)--(517.5, 363.0)--(517.6, 362.9)--(517.6, 362.8)--(517.7, 362.6)--(517.6, 362.6)--(517.6, 362.5)--(517.5, 362.4)--(517.5, 362.3)--(517.6, 362.2)--(517.7, 362.2)--(517.8, 362.2)--(517.9, 362.1)--(517.9, 362.0)--(517.8, 361.9)--(517.8, 361.8)--(517.9, 361.7)--(518.0, 361.7)--(518.2, 361.5)--(518.3, 361.4)--(518.3, 361.3)--(518.4, 361.2)--(518.5, 361.1)--(518.6, 361.1)--(518.7, 361.0)--(518.8, 360.9)--(519.0, 360.8)--(519.1, 360.8)--(519.3, 360.4)--(519.4, 360.4)--(519.4, 360.3)--(519.4, 360.2)--(519.3, 360.1)--(519.3, 360.0)--(519.3, 359.8)--(519.2, 359.6)--(519.1, 359.5)--(519.1, 359.3)--(519.1, 359.1)--(519.1, 359.0)--(519.1, 358.9)--(518.9, 358.9)--(518.8, 358.8)--(518.8, 358.7)--(518.6, 358.5)--(518.3, 358.2)--(518.1, 358.0)--(517.6, 357.5)--(517.6, 357.3)--(517.6, 357.2)--(517.5, 356.9)--(517.5, 356.8)--(517.5, 356.7)--(517.5, 356.6)--(517.4, 356.5)--(517.3, 356.3)--(517.2, 356.0)--(517.2, 355.9)--(517.2, 355.8)--(517.1, 355.7)--(517.1, 355.4)--(517.0, 355.2)--(516.9, 354.9)--(516.8, 354.7)--(516.7, 354.5)--(516.6, 354.2)--(516.6, 354.1)--(516.4, 354.0)--(516.3, 354.0)--(516.1, 353.9)--(516.0, 353.8)--(515.7, 353.6)--(515.5, 353.4)--(515.3, 353.2)--(515.1, 353.1)--(514.8, 352.9)--(514.6, 352.7)--(514.5, 352.6)--(514.4, 352.5)--(514.3, 352.4)--(513.9, 351.9)--(513.8, 351.8)--(513.7, 351.6)--(513.6, 351.4)--(513.5, 351.2)--(513.4, 351.1)--(513.2, 350.9)--(513.0, 350.7)--(512.9, 350.5)--(512.8, 350.3)--(512.7, 350.1)--(512.7, 349.8)--(512.7, 349.7)--(512.6, 349.5)--(512.6, 349.3)--(512.6, 349.2)--(512.5, 349.1)--(512.5, 348.9)--(512.5, 348.8)--(512.4, 348.6)--(512.5, 348.2)--(512.5, 348.1)--(512.5, 348.0)--(512.6, 348.0)--(512.5, 347.9)--(512.5, 347.8)--(512.5, 347.7)--(512.5, 347.6)--(512.5, 347.5)--(512.5, 347.3)--(512.4, 347.2)--(512.4, 346.9)--(512.4, 3!
46.7)--(512.3, 346.6)--(512.3, 346.5)--(512.3, 346.4)--(512.3, 346.3)--(512.2, 346.3)--(512.1, 346.2)--(512.0, 346.1)--(512.0, 346.0)--(511.9, 346.0)--(511.9, 345.9)--(511.7, 345.7)--(511.6, 345.5)--(511.5, 345.4)--(511.4, 345.4)--(511.3, 345.4)--(511.2, 345.4)--(511.0, 345.4)--(510.9, 345.3)--(510.7, 345.2)--(510.6, 345.1)--(510.4, 345.0)--(510.3, 344.9)--(510.2, 344.8)--(509.9, 344.6)--(509.7, 344.4)--(509.4, 344.2)--(509.3, 344.1)--(509.2, 343.9)--(509.1, 343.8)--(508.7, 343.2)--(508.6, 343.0)--(508.3, 342.3)--(508.1, 341.9)--(507.8, 341.3)--(507.7, 341.0)--(507.6, 340.9)--(507.6, 340.8)--(507.6, 340.7)--(507.6, 340.6)--(507.5, 340.4)--(507.5, 340.3)--(507.4, 340.3)--(507.4, 340.1)--(507.4, 340.0)--(507.3, 339.9)--(507.3, 339.7)--(507.4, 339.6)--(507.4, 339.5)--(507.4, 339.4)--(507.3, 339.3)--(507.3, 339.2)--(507.3, 339.0)--(507.2, 338.9)--(507.1, 338.8)--(507.1, 338.7)--(507.0, 338.6)--(507.0, 338.4)--(506.9, 338.3)--(506.9, 338.1)--(506.8, 338.0)--(506.7, 337.6)--(506.6, 337.6)--(506.5, 337.5)--(506.5, 337.4)--(506.4, 337.4)--(506.4, 337.3)--(506.3, 337.2)--(506.2, 337.1)--(506.0, 336.8)--(505.9, 336.7)--(505.8, 336.6)--(505.7, 336.5)--(505.6, 336.3)--(505.4, 336.1)--(505.3, 336.0)--(505.2, 335.9)--(505.2, 335.8)--(505.1, 335.7)--(505.0, 335.6)--(504.9, 335.5)--(504.8, 335.5)--(504.8, 335.4)--(504.7, 335.3)--(504.7, 335.2)--(504.7, 335.0)--(504.6, 334.9)--(504.5, 334.8)--(504.5, 334.7)--(504.5, 334.6)--(504.4, 334.6)--(504.4, 334.5)--(504.3, 334.5)--(504.3, 334.4)--(504.2, 334.4)--(504.1, 334.3)--(504.0, 334.2)--(503.9, 334.1)--(503.9, 334.0)--(503.8, 333.9)--(503.8, 333.8)--(503.8, 333.5)--(503.7, 333.5)--(503.6, 333.4)--(503.6, 333.3)--(503.5, 333.3)--(503.5, 333.2)--(503.4, 333.0)--(503.3, 333.0)--(503.2, 333.0)--(503.1, 332.9)--(503.1, 332.8)--(503.1, 332.6)--(503.0, 332.4)--(502.9, 332.2)--(502.9, 332.0)--(502.8, 331.9)--(502.8, 331.8)--(502.7, 331.7)--(502.6, 331.5)--(502.4, 331.3)--(502.4, 331.2)--(502.4, 331.1)--(502.5, 330.9)--(502.4, 330.7)--(502.2, 330.3)--(502.2, 330.2)--(502.2, 330.1)--(502.2, !
330.0)--(502.2, 329.9)--(502.2, 329.8)--(502.2, 329.7)--(502.2, 329.6)--(502.2, 329.5)--(502.1, 329.4)--(502.0, 329.4)--(502.0, 329.3)--(502.0, 329.2)--(502.0, 329.1)--(502.0, 329.0)--(501.9, 328.7)--(501.8, 328.4)--(501.6, 328.0)--(501.5, 327.7)--(501.4, 327.3)--(501.4, 326.8)--(501.3, 326.8)--(501.3, 326.6)--(501.1, 326.0)--(501.1, 325.9)--(501.1, 325.8)--(501.1, 325.7)--(501.1, 325.4)--(501.2, 325.3)--(501.2, 325.2)--(501.1, 325.0)--(501.1, 324.8)--(500.8, 323.8)--(500.8, 323.5)--(500.6, 323.0)--(500.5, 322.6)--(500.5, 322.5)--(500.4, 322.1)--(500.4, 321.9)--(500.3, 321.8)--(500.3, 321.7)--(500.3, 321.6)--(500.2, 321.3)--(500.1, 321.0)--(500.0, 320.7)--(500.0, 320.5)--(499.9, 320.3)--(499.9, 320.1)--(499.8, 320.0)--(499.8, 319.9)--(499.6, 319.4)--(499.6, 319.1)--(499.6, 319.0)--(499.5, 318.9)--(499.5, 318.8)--(499.4, 318.3)--(499.2, 317.2)--(499.2, 317.1)--(499.2, 317.0)--(499.1, 316.7)--(499.1, 316.4)--(499.1, 316.2)--(499.0, 316.1)--(499.1, 316.0)--(499.1, 315.9)--(499.1, 315.7)--(499.1, 315.6)--(499.0, 315.3)--(499.0, 315.0)--(498.9, 314.7)--(498.9, 314.6)--(498.9, 314.5)--(498.9, 314.4)--(498.7, 314.4)--(498.6, 314.3)--(497.9, 314.5)--(497.2, 314.6)--(497.0, 314.6)--(497.0, 314.7)--(496.8, 314.7)--(496.8, 314.6)--(496.6, 314.7)--(496.3, 314.6)--(496.1, 314.7)--(495.8, 314.8)--(495.5, 314.8)--(495.4, 314.8)--(495.2, 314.8)--(494.9, 314.9)--(494.8, 314.9)--(494.6, 314.9)--(494.5, 315.0)--(494.3, 315.0)--(493.8, 315.1)--(493.2, 315.4)--(492.4, 315.7)--(492.3, 315.7)--(492.0, 315.9)--(491.5, 316.0)--(491.1, 316.2)--(490.7, 316.4)--(490.5, 316.5)--(490.4, 316.6)--(490.4, 316.7)--(490.0, 316.7)--(489.5, 317.0)--(489.5, 317.2)--(489.9, 317.0)--(489.9, 317.2)--(489.9, 317.4)--(489.7, 317.6)--(489.5, 317.7)--(489.3, 317.7)--(488.9, 317.9)--(488.7, 317.7)--(488.6, 317.5)--(488.7, 317.4)--(488.6, 317.2)--(488.3, 317.6)--(488.1, 317.8)--(487.7, 318.0)--(487.3, 318.4)--(485.9, 319.4)--(486.0, 319.5)--(485.4, 320.0)--(485.2, 320.2)--(485.0, 320.3)--(484.1, 320.7)--(484.0, 320.8)--(483.5, 321.0)--(483.2, 321.1)--(483.0,!
321.2)--(482.0, 321.4)--(481.5, 321.4)--(481.4, 321.5)--(481.3, 321.6)--(481.1, 321.7)--(481.0, 321.7)--(480.9, 321.7)--(480.8, 321.7)--(480.8, 321.6)--(480.7, 321.6)--(480.7, 321.5)--(480.6, 321.4)--(480.5, 321.4)--(480.4, 321.4)--(480.3, 321.4)--(480.2, 321.4)--(480.1, 321.5)--(479.5, 321.7)--(478.9, 321.8)--(478.6, 321.8)--(478.2, 321.9)--(477.8, 321.9)--(476.8, 322.0)--(476.4, 322.0)--(476.2, 322.0)--(476.1, 321.9)--(475.9, 321.9)--(475.6, 321.8)--(474.7, 321.6)--(474.3, 321.5)--(474.2, 321.5)--(474.1, 321.5)--(473.8, 321.5)--(473.6, 321.4)--(473.3, 321.3)--(472.7, 321.0)--(472.3, 320.8)--(472.1, 320.7)--(471.6, 320.5)--(471.3, 320.4)--(471.2, 320.3)--(471.0, 320.2)--(470.9, 320.0)--(470.6, 319.8)--(470.6, 319.7)--(470.5, 319.6)--(470.4, 319.6)--(470.2, 319.4)--(469.9, 319.1)--(469.7, 319.2)--(469.5, 319.0)--(469.3, 318.9)--(469.2, 318.8)--(468.9, 318.6)--(468.7, 318.5)--(468.7, 318.4)--(468.5, 318.3)--(468.0, 318.0)--(468.0, 317.8)--(468.1, 317.7)--(468.1, 317.6)--(467.5, 317.3)--(467.4, 317.4)--(464.4, 315.9)--(464.3, 315.9)--(464.0, 315.8)--(463.9, 315.8)--(463.6, 315.7)--(463.5, 315.7)--(463.2, 315.6)--(462.8, 315.5)--(462.4, 315.5)--(462.1, 315.6)--(461.9, 315.6)--(461.3, 315.6)--(461.2, 315.7)--(460.1, 315.9)--(460.1, 316.0)--(459.6, 316.0)--(459.5, 316.1)--(459.3, 316.1)--(459.2, 316.0)--(459.1, 315.9)--(458.5, 316.1)--(457.7, 316.3)--(457.6, 316.5)--(457.3, 316.7)--(457.1, 316.8)--(456.5, 317.4)--(456.2, 317.6)--(455.9, 317.8)--(455.8, 317.9)--(455.7, 318.0)--(455.6, 318.0)--(455.6, 318.1)--(455.5, 318.1)--(455.5, 318.2)--(455.4, 318.3)--(455.3, 318.3)--(455.3, 318.4)--(455.2, 318.5)--(455.1, 318.5)--(455.0, 318.6)--(455.0, 318.7)--(454.9, 318.9)--(454.8, 319.2)--(454.8, 319.3)--(454.9, 319.4)--(454.8, 319.5)--(454.8, 319.6)--(454.8, 319.7)--(454.8, 319.8)--(454.8, 320.2)--(454.7, 320.4)--(454.7, 320.8)--(454.8, 320.8)--(454.9, 321.0)--(454.8, 321.2)--(454.8, 321.5)--(454.8, 321.6)--(454.9, 321.9)--(455.0, 322.1)--(454.9, 322.4)--(455.0, 322.4)--(454.9, 322.6)--(454.8, 322.6)--(454.7, 322.7)--(454.4!
, 323.1)--(454.1, 323.5)--(453.6, 324.0)--(453.3, 324.3)--(452.9, 324.9)--(452.8, 325.1)--(452.8, 325.2)--(452.9, 325.4)--(452.9, 325.7)--(452.9, 326.0)--(453.0, 326.3)--(453.0, 326.6)--(453.1, 327.1)--(453.1, 327.2)--(453.0, 327.4)--(453.0, 327.6)--(452.9, 327.9)--(452.8, 328.4)--(452.8, 328.5)--(452.7, 328.6)--(452.7, 328.8)--(452.6, 328.9)--(452.3, 329.2)--(452.2, 329.4)--(452.0, 329.4)--(452.0, 329.3)--(451.9, 328.9)--(451.8, 328.9)--(451.7, 328.8)--(451.4, 328.7)--(451.2, 328.7)--(451.1, 328.8)--(450.8, 329.1)--(450.6, 329.3)--(450.3, 329.4)--(450.0, 329.5)--(449.6, 329.3)--(448.9, 329.0)--(448.8, 329.0)--(448.7, 328.9)--(448.6, 328.9)--(448.5, 328.8)--(448.4, 328.7)--(448.3, 328.7)--(448.2, 328.7)--(448.1, 328.7)--(448.1, 328.6)--(447.9, 328.5)--(447.8, 328.6)--(447.7, 328.7)--(447.6, 328.7)--(447.5, 328.7)--(447.5, 328.8)--(447.4, 328.8)--(447.2, 328.9)--(447.1, 328.9)--(447.0, 329.0)--(447.0, 329.1)--(446.6, 329.4)--(446.4, 329.6)--(446.0, 329.8)--(445.8, 329.9)--(444.7, 330.3)--(444.5, 330.4)--(444.3, 330.5)--(444.1, 330.6)--(443.6, 331.2)--(443.4, 331.3)--(443.3, 331.5)--(443.0, 331.9)--(442.7, 332.2)--(442.5, 332.5)--(442.0, 332.5)--(441.9, 332.5)--(441.8, 332.6)--(441.6, 332.5)--(441.4, 332.5)--(441.3, 332.6)--(441.2, 332.7)--(441.1, 332.9)--(441.0, 333.4)--(440.9, 334.3)--(440.7, 334.6)--(440.6, 334.9)--(440.3, 335.4)--(440.2, 335.4)--(440.0, 335.7)--(439.5, 336.3)--(439.6, 336.7)--(439.8, 337.0)--(439.7, 337.1)--(439.5, 337.4)--(439.2, 337.2)--(439.2, 337.3)--(439.1, 337.4)--(439.0, 337.5)--(439.0, 337.7)--(438.9, 337.8)--(439.0, 337.9)--(438.9, 338.1)--(438.7, 338.3)--(438.5, 338.7)--(438.1, 339.4)--(438.0, 339.7)--(437.9, 340.1)--(437.6, 340.6)--(437.5, 340.7)--(437.5, 340.8)--(437.4, 341.0)--(437.4, 341.5)--(437.3, 341.7)--(437.2, 342.0)--(437.0, 342.3)--(436.9, 342.5)--(436.9, 342.7)--(436.8, 342.8)--(436.8, 342.7)--(436.8, 342.5)--(436.7, 342.5)--(436.5, 342.5)--(436.3, 342.4)--(436.2, 342.5)--(436.2, 342.7)--(436.2, 342.8)--(436.2, 343.1)--(436.2, 343.2)--(436.2, 343.4)--(436.3, 343.9)--(436.!
3, 344.1)--(436.4, 344.2)--(436.4, 344.4)--(436.4, 344.8)--(435.9, 345.6)--(435.8, 345.8)--(435.8, 345.9)--(435.7, 346.0)--(435.8, 346.2)--(435.9, 346.4)--(436.0, 346.6)--(436.1, 347.1)--(436.0, 347.3)--(436.0, 347.7)--(436.0, 347.9)--(436.2, 348.2)--cycle;
+Barnet = (245.8, 483.6)--(245.9, 483.2)--(246.1, 482.7)--(246.2, 482.3)--(246.3, 482.0)--(246.4, 481.7)--(246.5, 481.4)--(246.6, 481.4)--(246.7, 481.4)--(247.6, 481.4)--(247.9, 481.4)--(248.1, 481.4)--(248.4, 481.8)--(248.8, 481.7)--(249.3, 481.6)--(249.0, 480.8)--(249.0, 480.7)--(248.8, 480.2)--(248.5, 479.4)--(248.2, 478.4)--(248.1, 478.4)--(248.8, 478.2)--(249.2, 478.1)--(250.1, 477.9)--(251.0, 477.6)--(251.2, 477.6)--(251.5, 477.4)--(251.7, 477.2)--(251.9, 477.0)--(252.1, 476.7)--(252.1, 476.8)--(252.5, 477.7)--(253.2, 478.9)--(253.1, 478.9)--(253.4, 479.6)--(254.2, 481.2)--(255.6, 481.9)--(256.2, 482.0)--(256.2, 481.9)--(258.1, 482.1)--(257.4, 480.2)--(256.9, 478.9)--(256.1, 476.8)--(255.8, 476.0)--(255.7, 475.6)--(257.1, 475.2)--(257.2, 475.2)--(258.0, 474.9)--(258.2, 474.8)--(259.4, 474.4)--(260.5, 474.1)--(262.2, 473.5)--(262.9, 473.3)--(265.0, 472.6)--(270.2, 470.9)--(271.3, 470.8)--(271.5, 470.7)--(271.8, 470.6)--(272.8, 469.8)--(273.1, 469.6)--(273.4, 469.3)--(275.0, 468.8)--(275.2, 468.9)--(275.3, 468.7)--(276.9, 468.2)--(277.3, 468.1)--(277.4, 468.1)--(277.5, 467.7)--(277.5, 467.5)--(277.7, 467.4)--(277.8, 467.3)--(278.1, 467.1)--(278.2, 466.9)--(278.3, 466.4)--(278.3, 466.0)--(278.3, 465.7)--(278.4, 465.6)--(278.1, 465.5)--(278.0, 465.5)--(277.9, 465.2)--(278.0, 464.8)--(278.2, 464.9)--(278.4, 464.9)--(278.4, 464.8)--(278.5, 464.7)--(278.7, 464.2)--(278.8, 464.0)--(279.1, 463.6)--(279.1, 463.5)--(279.1, 463.4)--(279.2, 462.8)--(279.2, 462.3)--(279.2, 462.1)--(279.3, 462.0)--(279.3, 461.8)--(279.6, 461.9)--(280.2, 462.1)--(281.0, 460.6)--(279.7, 459.9)--(279.4, 459.7)--(279.3, 459.3)--(280.0, 459.0)--(280.2, 458.9)--(280.1, 458.6)--(280.0, 458.5)--(280.1, 458.4)--(279.5, 457.3)--(279.9, 457.1)--(279.8, 456.8)--(280.1, 456.7)--(280.2, 456.7)--(280.4, 456.7)--(280.8, 456.7)--(281.5, 456.8)--(281.6, 456.7)--(281.6, 456.5)--(281.6, 456.3)--(281.6, 456.1)--(281.6, 456.0)--(281.7, 455.5)--(281.8, 455.2)--(282.0, 454.3)--(282.1, 454.2)--(282.4, 453.6)--(282.5, 453.2)--(284.5, 453.9)--(285.3, 452.1!
)--(286.0, 451.2)--(286.3, 450.8)--(286.6, 450.3)--(286.5, 450.2)--(286.6, 450.0)--(286.7, 449.9)--(286.9, 449.7)--(287.2, 449.3)--(287.4, 449.0)--(287.6, 448.8)--(287.8, 448.5)--(288.2, 448.1)--(289.2, 447.2)--(289.3, 447.1)--(289.5, 447.0)--(289.8, 446.8)--(290.8, 446.1)--(291.3, 445.8)--(291.5, 445.7)--(291.9, 445.4)--(292.0, 445.2)--(292.1, 445.1)--(292.2, 445.0)--(292.2, 444.9)--(292.0, 444.7)--(292.2, 444.6)--(292.1, 444.4)--(292.2, 444.3)--(292.4, 444.5)--(292.4, 444.4)--(292.5, 444.4)--(292.6, 444.2)--(292.5, 444.1)--(292.7, 443.9)--(292.9, 443.7)--(293.1, 443.5)--(293.4, 443.4)--(293.8, 443.2)--(294.3, 442.9)--(294.6, 442.9)--(295.0, 442.8)--(295.5, 442.7)--(295.8, 442.6)--(295.7, 442.1)--(295.5, 441.7)--(295.4, 441.2)--(295.1, 441.2)--(294.9, 440.9)--(294.8, 440.5)--(294.7, 440.2)--(294.5, 439.7)--(294.8, 439.5)--(295.0, 439.4)--(294.9, 439.3)--(294.7, 439.3)--(294.5, 439.0)--(294.5, 438.9)--(294.5, 438.8)--(294.5, 438.7)--(294.4, 438.5)--(294.4, 438.4)--(294.3, 438.2)--(294.1, 437.9)--(294.0, 437.7)--(293.9, 437.6)--(293.8, 437.4)--(293.8, 437.2)--(293.7, 437.0)--(293.6, 436.8)--(293.5, 436.7)--(293.4, 436.5)--(293.2, 436.4)--(293.2, 436.3)--(293.1, 436.3)--(293.1, 436.2)--(293.0, 436.2)--(293.0, 436.1)--(293.0, 436.0)--(292.9, 436.0)--(292.9, 435.9)--(292.9, 435.6)--(292.8, 435.1)--(292.6, 434.4)--(292.6, 434.2)--(292.6, 434.0)--(292.5, 434.0)--(292.5, 433.9)--(292.4, 433.9)--(292.4, 433.8)--(292.4, 433.7)--(292.5, 433.6)--(292.5, 433.5)--(292.5, 433.3)--(292.5, 433.2)--(292.3, 432.8)--(292.3, 432.7)--(292.2, 432.3)--(292.1, 432.0)--(292.0, 431.8)--(292.0, 431.5)--(291.8, 431.4)--(291.7, 431.5)--(291.6, 431.5)--(291.7, 430.8)--(291.3, 430.2)--(290.9, 429.8)--(290.5, 429.4)--(290.3, 429.1)--(289.8, 428.4)--(289.7, 428.3)--(289.1, 427.5)--(289.0, 427.4)--(288.8, 427.2)--(288.9, 427.1)--(288.7, 427.0)--(288.3, 426.3)--(288.2, 426.2)--(288.1, 426.2)--(288.0, 426.2)--(287.8, 426.0)--(287.8, 425.9)--(287.8, 425.8)--(287.7, 425.7)--(287.6, 425.6)--(287.6, 425.5)--(287.5, 425.4)--(287.5, 425.2)--(287.4, 425.!
0)--(287..4, 424.8)--(287.3, 424.8)--(287.3, 424.7)--(287.3, 424.6)--(287.3, 424.5)--(286.9, 424.3)--(286.8, 424.3)--(286.6, 424.1)--(286.2, 423.9)--(286.0, 423.9)--(285.9, 423.8)--(285.6, 423.7)--(286.1, 422.9)--(286.8, 422.0)--(286.8, 421.9)--(287.4, 421.0)--(287.9, 420.3)--(288.3, 419.7)--(288.7, 419.2)--(289.2, 418.6)--(289.8, 417.9)--(288.1, 417.1)--(287.0, 416.6)--(286.6, 416.3)--(286.6, 415.7)--(286.6, 415.3)--(286.6, 415.2)--(286.6, 415.1)--(286.7, 414.7)--(286.8, 413.8)--(286.9, 413.6)--(287.0, 413.1)--(287.0, 413.0)--(287.1, 412.9)--(287.2, 412.6)--(287.4, 412.2)--(287.5, 412.1)--(287.5, 412.0)--(287.6, 411.6)--(287.7, 411.3)--(287.7, 410.7)--(287.7, 410.6)--(287.6, 410.4)--(287.6, 410.2)--(287.6, 410.1)--(287.4, 409.8)--(287.0, 409.3)--(286.9, 409.2)--(286.9, 409.0)--(286.8, 408.7)--(286.7, 408.5)--(286.5, 408.2)--(286.5, 408.0)--(286.4, 407.9)--(286.3, 407.7)--(286.1, 407.1)--(286.1, 406.9)--(286.1, 406.7)--(286.1, 406.6)--(285.7, 406.4)--(284.6, 405.7)--(284.4, 405.5)--(284.0, 405.3)--(284.1, 405.2)--(283.9, 405.0)--(283.2, 404.6)--(281.4, 403.5)--(281.3, 403.7)--(281.2, 403.8)--(280.9, 404.4)--(280.3, 405.3)--(280.2, 405.5)--(280.1, 405.8)--(280.1, 406.1)--(279.9, 407.1)--(279.9, 407.3)--(279.8, 407.4)--(279.9, 407.8)--(279.9, 408.2)--(279.9, 408.6)--(279.9, 409.3)--(279.7, 409.7)--(279.4, 410.1)--(279.1, 410.7)--(279.0, 410.8)--(278.9, 410.9)--(278.8, 411.0)--(278.6, 411.4)--(278.5, 411.4)--(278.4, 411.5)--(277.9, 411.9)--(277.9, 412.0)--(277.9, 412.1)--(277.9, 412.2)--(278.0, 412.3)--(277.7, 412.2)--(277.6, 412.0)--(277.4, 411.7)--(277.1, 410.9)--(276.2, 408.6)--(276.2, 408.5)--(275.4, 406.5)--(274.2, 403.6)--(274.2, 403.5)--(274.2, 403.4)--(274.2, 403.3)--(274.2, 403.0)--(274.2, 402.9)--(274.3, 402.7)--(274.4, 402.1)--(274.7, 401.0)--(274.8, 400.8)--(274.8, 400.4)--(275.0, 400.0)--(275.2, 399.8)--(275.2, 399.6)--(275.3, 399.4)--(275.4, 399.2)--(275.4, 399.1)--(275.4, 398.9)--(275.7, 398.2)--(275.7, 398.0)--(275.7, 397.9)--(275.8, 397.6)--(276.4, 397.8)--(276.4, 397.6)--(276.5, 397.4)--(276.5, 397!
.3)--(276.4, 397.2)--(276.2, 397.0)--(276.0, 396.9)--(275.9, 396.9)--(275.9, 396.2)--(275.8, 395.7)--(275.8, 395.5)--(275.7, 395.3)--(275.7, 395.2)--(275.8, 394.8)--(275.5, 394.7)--(275.5, 394.4)--(275.6, 394.2)--(275.6, 394.1)--(275.6, 394.0)--(275.6, 393.6)--(275.6, 393.4)--(275.6, 393.1)--(275.6, 393.0)--(275.5, 392.8)--(276.6, 392.9)--(276.6, 392.7)--(276.7, 392.4)--(276.6, 392.4)--(276.6, 392.2)--(276.6, 392.0)--(276.6, 391.4)--(277.3, 391.3)--(277.5, 391.3)--(277.6, 391.1)--(277.7, 390.9)--(277.6, 390.9)--(277.2, 390.9)--(277.2, 390.4)--(276.3, 389.3)--(276.1, 389.0)--(276.0, 388.9)--(275.9, 389.1)--(275.7, 389.2)--(275.6, 389.3)--(275.4, 389.5)--(275.2, 389.7)--(275.0, 389.9)--(274.9, 389.9)--(274.8, 389.8)--(274.4, 389.3)--(274.4, 389.2)--(274.2, 389.1)--(274.0, 388.9)--(273.9, 388.9)--(273.6, 388.8)--(273.3, 388.6)--(273.3, 388.7)--(273.2, 388.7)--(272.8, 388.3)--(272.7, 388.3)--(272.6, 388.3)--(272.4, 388.1)--(272.3, 387.9)--(272.4, 387.8)--(272.2, 387.7)--(271.8, 387.5)--(271.8, 387.1)--(271.6, 386.6)--(271.4, 386.3)--(271.5, 386.1)--(271.1, 386.0)--(271.0, 386.0)--(271.0, 385.9)--(271.0, 385.8)--(270.9, 385.6)--(270.9, 385.3)--(270.9, 385.1)--(270.9, 384.6)--(270.9, 384.5)--(271.0, 384.5)--(271.0, 383.5)--(271.1, 383.5)--(271.2, 382.5)--(271.2, 382.4)--(271.1, 382.2)--(271.0, 382.1)--(270.9, 381.9)--(271.0, 381.9)--(271.1, 381.9)--(270.9, 381.5)--(270.8, 381.4)--(270.7, 381.0)--(270.6, 380.9)--(270.4, 380.4)--(270.3, 380.5)--(269.5, 380.9)--(269.4, 380.6)--(269.4, 380.4)--(269.3, 380.2)--(269.3, 380.0)--(269.3, 379.8)--(269.4, 379.7)--(269.4, 379.1)--(269.4, 378.7)--(269.5, 378.1)--(269.5, 377.9)--(269.5, 377.7)--(269.5, 377.4)--(269.5, 377.1)--(269.2, 376.9)--(268.8, 376.8)--(268.5, 376.7)--(268.3, 376.7)--(268.3, 376.0)--(268.3, 375.4)--(268.3, 375.3)--(268.0, 375.1)--(267.9, 375.0)--(267.9, 374.9)--(267.8, 374.8)--(267.6, 374.8)--(267.3, 374.5)--(267.1, 374.3)--(267.0, 374.2)--(267.0, 374.1)--(266.9, 374.0)--(266.9, 373.9)--(266.8, 373.9)--(266.8, 373.8)--(266.8, 373.7)--(266.7, 373.5)--(266.7, 37!
3.1)--(266.7, 372.9)--(266.7, 372.5)--(266.6, 372.5)--(266.6, 372.3)--(266.5, 372.2)--(266.4, 372.1)--(266.3, 371.9)--(266.3, 371.8)--(266.2, 371.8)--(265.9, 371.9)--(265.7, 372.0)--(265.7, 372.1)--(265.2, 372.3)--(265.2, 372.4)--(265.1, 372.5)--(264.7, 372.6)--(264.4, 372.8)--(264.1, 372.8)--(263.9, 372.8)--(263.7, 373.0)--(263.6, 372.8)--(263.6, 372.7)--(263.6, 372.6)--(263.5, 372.6)--(263.5, 372.5)--(263.4, 372.5)--(263.3, 372.5)--(263.2, 372.5)--(263.1, 372.4)--(263.0, 372.4)--(262.5, 372.3)--(262.2, 372.2)--(262.0, 372.1)--(261.8, 372.1)--(261.7, 372.1)--(261.8, 371.9)--(261.7, 371.8)--(261.2, 371.4)--(261.1, 371.3)--(261.0, 371.2)--(260.9, 371.0)--(260.8, 371.0)--(260.0, 370.2)--(259.9, 370.2)--(259.8, 370.2)--(260.0, 370.0)--(259.8, 369.7)--(259.6, 369.6)--(259.5, 369.5)--(259.1, 369.4)--(258.8, 369.3)--(258.5, 369.1)--(258.2, 369.0)--(258.1, 369.0)--(258.1, 368.9)--(258.0, 368.9)--(258.0, 368.8)--(257.9, 368.8)--(257.8, 368.7)--(257.7, 368.6)--(257.6, 368.5)--(257.5, 368.2)--(257.4, 368.1)--(257.3, 368.1)--(257.3, 368.0)--(257.2, 368.0)--(257.1, 368.0)--(257.0, 368.0)--(257.0, 367.9)--(256.8, 367.8)--(256.6, 367.7)--(256.4, 367.4)--(256.1, 367.4)--(256.0, 367.4)--(256.0, 367.3)--(255.9, 367.2)--(255.9, 367.1)--(255.8, 367.1)--(255.6, 366.8)--(255.6, 366.7)--(255.6, 366.6)--(255.5, 366.4)--(255.5, 366.2)--(255.5, 365.6)--(255.5, 365.4)--(255.5, 365.1)--(255.3, 364.3)--(255.3, 364.1)--(255.3, 363.8)--(255.2, 363.5)--(255.2, 363.3)--(255.1, 363.2)--(255.0, 363.1)--(254.8, 363.0)--(254.7, 362.9)--(254.4, 362.9)--(254.0, 362.9)--(253.6, 362.5)--(253.1, 362.2)--(253.0, 362.1)--(252.9, 362.2)--(252.8, 362.1)--(252.7, 362.1)--(252.6, 362.0)--(252.5, 362.0)--(252.5, 361.9)--(252.5, 361.8)--(252.3, 361.7)--(252.1, 361.6)--(252.0, 361.7)--(251.8, 361.7)--(251.5, 361.8)--(251.4, 361.8)--(251.3, 361.8)--(251.1, 361.9)--(251.0, 361.8)--(251.0, 361.9)--(250.9, 361.8)--(250.9, 361.5)--(250.9, 361.1)--(250.9, 361.0)--(250.9, 360.9)--(251.0, 360.6)--(251.0, 360.4)--(251.1, 360.2)--(251.0, 360.2)--(250.8, 360.1)--(250.6, 3!
60.0)--(250.5, 359.9)--(250.4, 359.8)--(250.2, 360.1)--(250.0, 359.9)--(249.8, 359.7)--(249.8, 359.3)--(249.8, 359.1)--(249.8, 359.0)--(249.8, 358.9)--(249.7, 358.9)--(249.6, 358.7)--(249.6, 358.6)--(249.5, 358.6)--(249.4, 358.5)--(249.2, 358.0)--(249.1, 357.8)--(249.1, 357.7)--(249.1, 357.6)--(249.1, 357.5)--(249.1, 357.3)--(249.2, 357.2)--(249.2, 357.1)--(249.2, 357.0)--(249.2, 356.9)--(249.3, 356.8)--(248.9, 356.8)--(248.7, 356.8)--(248.5, 356.7)--(248.2, 356.6)--(247.9, 356.5)--(247.7, 356.5)--(247.6, 356.5)--(246.9, 356.3)--(246.5, 356.2)--(246.3, 356.1)--(246.1, 356.1)--(246.0, 356.1)--(245.9, 356.0)--(245.6, 355.9)--(245.4, 355.8)--(245.3, 355.8)--(245.2, 355.8)--(244.9, 355.7)--(244.8, 355.7)--(244.8, 355.9)--(244.8, 356.0)--(244.8, 356.4)--(244.8, 356.6)--(244.8, 356.7)--(244.7, 357.0)--(244.6, 356.9)--(244.5, 356.9)--(244.3, 356.9)--(244.0, 356.7)--(243.6, 356.6)--(243.3, 356.4)--(243.1, 356.3)--(242.7, 356.1)--(242.4, 356.5)--(242.2, 356.8)--(241.9, 357.3)--(241.3, 356.9)--(241.0, 356.8)--(240.7, 356.6)--(240.4, 356.3)--(240.2, 356.0)--(239.9, 355.7)--(239.7, 355.6)--(239.5, 355.5)--(239.3, 355.7)--(239.0, 356.2)--(238.5, 356.7)--(238.2, 357.2)--(238.1, 357.3)--(237.6, 357.9)--(237.4, 358.1)--(237.2, 358.3)--(237.1, 358.5)--(236.9, 358.7)--(236.5, 359.3)--(236.1, 359.8)--(235.8, 360.1)--(235.6, 360.5)--(235.3, 360.8)--(234.6, 362.1)--(234.4, 362.5)--(234.0, 363.2)--(233.7, 363.5)--(233.4, 363.9)--(233.1, 364.3)--(232.9, 364.6)--(232.4, 365.2)--(231.9, 365.9)--(231.5, 366.4)--(231.2, 366.7)--(231.1, 366.8)--(230.9, 367.1)--(230.8, 367.3)--(230.6, 367.5)--(230.2, 367.9)--(230.0, 368.1)--(229.9, 368.3)--(229.7, 368.4)--(229.3, 368.8)--(229.1, 368.9)--(228.9, 369.1)--(228.7, 369.3)--(228.6, 369.4)--(228.5, 369.5)--(228.1, 370.0)--(227.8, 370.5)--(227.6, 370.8)--(227.3, 371.1)--(227.0, 371.4)--(226.8, 371.8)--(226.4, 372.3)--(226.1, 372.7)--(225.2, 373.8)--(225.0, 373.7)--(224.9, 373.6)--(224.8, 373.5)--(224.7, 373.6)--(224.6, 373.6)--(224.5, 373.6)--(224.5, 373.5)--(224.4, 373.6)--(224.4, 373.8)--(224.2, !
373.9)--(224.1, 374.0)--(224.0, 374.1)--(223.9, 374.1)--(223.8, 374.1)--(223.7, 374.1)--(223.7, 374.2)--(223.9, 374.2)--(223.9, 374.3)--(223.9, 374.4)--(223.7, 374.4)--(223.6, 374.4)--(223.5, 374.3)--(223.6, 374.2)--(223.6, 374.1)--(223.5, 374.1)--(223.4, 374.2)--(223.2, 374.2)--(223.1, 374.3)--(223.0, 374.3)--(222.7, 374.2)--(222.6, 374.2)--(222.5, 374.2)--(222.4, 374.3)--(222.3, 374.3)--(222.3, 374.2)--(222.2, 374.2)--(222.2, 374.1)--(222.3, 374.1)--(222.3, 374.0)--(222.3, 373.9)--(222.2, 373.8)--(222.1, 373.9)--(222.0, 373.9)--(222.0, 373.8)--(222.0, 373.7)--(222.2, 373.6)--(222.2, 373.5)--(222.1, 373.5)--(222.0, 373.5)--(221.8, 373.6)--(221.8, 373.7)--(221.7, 373.7)--(221.6, 373.9)--(221.5, 374.0)--(221.3, 374.0)--(221.2, 373.8)--(221.1, 373.8)--(220.9, 373.8)--(220.8, 373.8)--(220.7, 373.8)--(220.6, 373.8)--(220.6, 373.9)--(220.7, 374.0)--(220.8, 374.1)--(220.7, 374.1)--(220.6, 374.1)--(220.5, 374.1)--(220.4, 374.0)--(220.3, 373.9)--(220.2, 373.9)--(220.3, 374.0)--(220.2, 374.1)--(220.1, 374.1)--(220.1, 374.0)--(220.0, 373.8)--(219.9, 373.8)--(219.9, 373.9)--(219.8, 373.9)--(219.8, 374.0)--(219.7, 374.1)--(219.7, 374.2)--(219.7, 374.3)--(219.7, 374.4)--(219.6, 374.5)--(219.5, 374.5)--(219.3, 374.6)--(219.2, 374.6)--(219.1, 374.5)--(219.0, 374.6)--(218.9, 374.6)--(218.9, 374.5)--(218.9, 374.4)--(219.0, 374.4)--(219.0, 374.3)--(219.0, 374.2)--(218.9, 374.2)--(218.7, 374.2)--(218.6, 374.2)--(218.5, 374.1)--(218.3, 374.1)--(218.2, 374.0)--(218.0, 374.0)--(217.9, 374.0)--(217.8, 374.0)--(217.8, 374.1)--(217.8, 374.2)--(217.8, 374.3)--(217.7, 374.3)--(217.7, 374.2)--(217.6, 374.2)--(217.6, 374.1)--(217.6, 374.0)--(217.5, 373.9)--(217.4, 373.8)--(217.3, 373.7)--(217.2, 373.6)--(217.1, 373.5)--(216.9, 373.5)--(216.8, 373.6)--(216.7, 373.8)--(216.6, 373.8)--(216.5, 373.8)--(216.5, 373.7)--(216.3, 373.3)--(216.1, 373.2)--(216.1, 373.1)--(216.0, 373.1)--(216.0, 373.0)--(216.1, 373.0)--(216.2, 372.8)--(216.4, 372.7)--(216.5, 372.6)--(216.6, 372.5)--(216.6, 372.4)--(216.3, 372.1)--(216.3, 371.9)--(216.2, 371.8)--(216.2,!
371.6)--(216.2, 371.4)--(216.2, 371.2)--(216.3, 371.2)--(216.3, 371.3)--(216.4, 371.3)--(216.5, 371.3)--(216.6, 371.3)--(216.6, 371.2)--(216.6, 371.1)--(216.5, 371.1)--(216.5, 370.9)--(216.3, 370.7)--(216.2, 370.6)--(216.2, 370.5)--(216.3, 370.3)--(216.2, 370.3)--(216.2, 370.2)--(216.0, 370.2)--(215.9, 370.3)--(215.8, 370.3)--(215.7, 370.2)--(215.7, 370.1)--(215.7, 370.0)--(215.8, 370.0)--(215.9, 369.9)--(215.9, 369.8)--(215.8, 369.7)--(215.7, 369.7)--(215.5, 369.7)--(215.3, 369.7)--(215.2, 369.8)--(215.1, 369.9)--(214.9, 369.7)--(214.8, 369.7)--(214.7, 369.8)--(214.7, 369.9)--(214.5, 370.0)--(214.4, 370.1)--(214.3, 370.1)--(214.2, 370.1)--(214.2, 370.2)--(214.1, 370.2)--(214.1, 370.3)--(214.0, 370.4)--(213.8, 370.6)--(213.7, 370.8)--(213.5, 371.1)--(213.3, 371.4)--(213.0, 371.6)--(213.0, 371.7)--(212.9, 371.7)--(212.9, 371.8)--(212.9, 372.0)--(212.8, 372.1)--(212.7, 372.3)--(212.6, 372.5)--(212.5, 372.6)--(212.3, 372.7)--(212.0, 373.0)--(211.9, 373.2)--(211.8, 373.5)--(211.7, 373.8)--(211.6, 373.9)--(211.6, 374.0)--(211.6, 374.1)--(211.6, 374.2)--(211.7, 374.2)--(211.7, 374.3)--(211.9, 374.3)--(212.0, 374.3)--(212.1, 374.3)--(212.3, 374.4)--(212.5, 374.4)--(212.6, 374.5)--(212.7, 374.6)--(212.8, 374.6)--(212.8, 374.7)--(212.8, 374.8)--(212.7, 374.9)--(212.5, 375.4)--(212.4, 375.6)--(212.2, 375.9)--(212.1, 376.2)--(211.9, 376.7)--(211.8, 377.0)--(211.7, 377.3)--(211.7, 377.4)--(211.6, 377.6)--(211.4, 378.5)--(211.3, 378.9)--(211.3, 379.1)--(211.2, 379.3)--(211.1, 379.4)--(211.1, 379.5)--(210.9, 379.9)--(210.8, 380.2)--(210.7, 380.7)--(210.5, 381.1)--(210.5, 381.2)--(210.4, 381.8)--(210.4, 381.9)--(210.4, 382.0)--(210.4, 382.1)--(210.4, 382.3)--(210.5, 382.4)--(210.5, 382.6)--(210.5, 382.8)--(210.5, 383.0)--(210.5, 383.3)--(210.5, 383.4)--(210.5, 383.6)--(210.5, 383.7)--(210.5, 383.9)--(210.5, 384.0)--(210.5, 384.1)--(210.6, 384.4)--(210.7, 384.5)--(210.8, 384.6)--(210.9, 384.7)--(211.0, 384.8)--(211.1, 384.9)--(211.3, 384.9)--(211.5, 385.1)--(211.7, 385.3)--(211.8, 385.4)--(211.9, 385.5)--(212.1, 385.8)--(212.3!
, 386.3)--(212.5, 386.4)--(212.9, 386.5)--(213.2, 386.7)--(213.5, 386.8)--(214.5, 387.2)--(214.6, 387.2)--(214.6, 387.3)--(214.4, 387.5)--(213.4, 389.2)--(213.1, 389.5)--(212.0, 391.2)--(211.6, 391.9)--(211.1, 392.4)--(211.0, 392.6)--(210.6, 393.0)--(210.3, 393.3)--(210.0, 393.5)--(209.4, 394.2)--(208.4, 395.4)--(208.1, 395.7)--(207.9, 395.9)--(207.7, 396.3)--(207.5, 396.5)--(206.4, 398.0)--(205.8, 398.8)--(204.9, 400.0)--(204.5, 400.4)--(204.3, 400.7)--(203.8, 401.3)--(203.5, 401.6)--(203.2, 402.0)--(202.8, 402.4)--(202.5, 402.8)--(202.2, 403.3)--(201.9, 403.8)--(201.2, 404.7)--(201.1, 404.8)--(200.8, 405.2)--(200.2, 406.0)--(200.0, 406.3)--(199.0, 407.4)--(198.9, 407.6)--(197.0, 409.9)--(196.4, 410.6)--(195.6, 412.0)--(195.3, 412.4)--(195.1, 412.7)--(194.8, 413.2)--(194.5, 413.5)--(194.3, 413.6)--(194.0, 413.9)--(193.9, 414.1)--(193.4, 414.7)--(192.8, 415.5)--(192.4, 416.1)--(191.8, 416.9)--(190.9, 418.3)--(190.4, 419.0)--(189.5, 420.0)--(189.1, 420.4)--(189.0, 420.6)--(188.8, 420.7)--(188.2, 421.2)--(187.7, 421.8)--(187.1, 422.5)--(186.6, 423.1)--(186.5, 423.3)--(186.2, 423.8)--(186.0, 424.1)--(185.1, 425.3)--(183.6, 427.2)--(182.9, 428.2)--(182.6, 428.7)--(182.0, 429.3)--(181.7, 429.9)--(181.3, 430.4)--(181.1, 430.7)--(180.6, 431.4)--(179.6, 432.7)--(179.3, 433.1)--(179.1, 433.4)--(178.6, 433.9)--(178.2, 434.4)--(177.6, 435.2)--(177.3, 435.7)--(176.8, 436.4)--(176.4, 437.0)--(176.1, 437.3)--(175.9, 437.7)--(174.8, 438.8)--(174.5, 439.4)--(174.1, 440.2)--(173.8, 440.9)--(173.6, 441.7)--(173.6, 441.9)--(173.6, 442.0)--(174.0, 443.1)--(174.4, 444.2)--(174.5, 444.2)--(174.6, 444.3)--(174.7, 444.4)--(174.8, 444.4)--(175.0, 444.3)--(175.1, 444.3)--(175.2, 444.3)--(175.3, 444.2)--(175.4, 444.2)--(175.4, 444.1)--(175.6, 444.0)--(175.8, 444.2)--(176.2, 444.2)--(176.6, 444.0)--(176.7, 444.0)--(176.8, 444.0)--(177.0, 443.8)--(177.1, 443.8)--(177.2, 443.7)--(177.3, 443.7)--(177.4, 443.7)--(177.6, 443.6)--(177.7, 443.6)--(177.9, 443.6)--(178.3, 443.6)--(178.4, 443.7)--(178.5, 443.7)--(178.7, 443.7)--(179.0, 443.7)--(179.!
4, 443.6)--(180.1, 443.3)--(181.3, 443.6)--(181.5, 443.7)--(181.9, 443.9)--(182.1, 444.0)--(182.9, 444.4)--(183.0, 444.5)--(183.1, 444.6)--(183.2, 444.6)--(183.4, 444.6)--(184.0, 444.7)--(184.4, 444.8)--(184.8, 444.8)--(184.9, 444.7)--(185.0, 444.7)--(185.5, 444.6)--(185.7, 444.6)--(185.9, 444.7)--(186.3, 444.8)--(186.5, 444.9)--(186.8, 445.0)--(187.1, 445.1)--(187.5, 445.2)--(187.7, 445.3)--(187.8, 445.4)--(188.0, 445.7)--(188.3, 445.9)--(188.6, 446.2)--(189.2, 446.4)--(190.3, 446.8)--(190.9, 446.8)--(191.2, 446.8)--(191.6, 446.8)--(191.9, 446.8)--(192.2, 446.8)--(192.5, 446.9)--(192.6, 447.0)--(192.8, 447.0)--(193.1, 447.1)--(193.3, 447.2)--(193.5, 447.4)--(193.7, 447.5)--(194.1, 447.4)--(194.3, 447.4)--(194.6, 447.4)--(194.9, 447.4)--(195.4, 447.3)--(195.6, 447.3)--(195.6, 447.4)--(195.4, 447.5)--(195.3, 447.6)--(195.3, 447.7)--(195.2, 447.8)--(195.2, 448.0)--(195.4, 448.6)--(195.5, 449.1)--(195.6, 449.3)--(195.8, 449.7)--(195.9, 450.0)--(195.9, 450.1)--(195.9, 450.2)--(195.9, 450.4)--(196.1, 450.7)--(196.1, 451.0)--(196.1, 451.1)--(196.7, 451.1)--(197.0, 451.1)--(197.3, 451.1)--(197.6, 451.1)--(198.0, 451.1)--(198.2, 451.2)--(198.4, 451.4)--(198.4, 451.3)--(198.9, 451.4)--(199.3, 451.5)--(199.2, 451.9)--(199.1, 452.3)--(199.1, 452.5)--(199.1, 452.7)--(199.1, 452.8)--(199.1, 452.9)--(199.1, 453.1)--(200.2, 453.5)--(201.1, 453.4)--(201.3, 453.4)--(201.6, 453.3)--(201.7, 453.2)--(201.8, 453.1)--(201.8, 453.0)--(201.9, 453.0)--(202.0, 453.2)--(202.1, 453.1)--(202.6, 454.3)--(202.7, 454.3)--(202.9, 454.2)--(203.0, 454.1)--(203.1, 454.0)--(203.2, 453.9)--(203.4, 453.7)--(203.5, 453.6)--(203.7, 453.5)--(203.8, 453.4)--(203.9, 453.3)--(204.0, 453.2)--(204.0, 453.1)--(204.1, 453.0)--(204.1, 452.8)--(204.1, 452.7)--(204.1, 452.6)--(204.2, 452.4)--(204.3, 452.2)--(204.3, 452.1)--(204.4, 452.1)--(204.5, 452.0)--(204.6, 451.8)--(204.8, 451.7)--(204.9, 451.7)--(205.1, 451.6)--(205.5, 451.5)--(205.7, 451.4)--(205.8, 451.4)--(206.1, 451.3)--(206.1, 451.2)--(206.4, 451.2)--(206.6, 451.2)--(206.7, 451.1)--(206.8, 451.1)--(206!
.9, 451.2)--(207.1, 451.9)--(207.4, 452.5)--(207.6, 452.9)--(208.1, 452.7)--(208.1, 452.8)--(208.1, 452.9)--(208.6, 453.1)--(208.7, 453.2)--(209.0, 453.7)--(209.3, 454.3)--(209.7, 455.4)--(210.0, 455.9)--(210.2, 456.4)--(210.3, 456.8)--(210.4, 457.1)--(210.5, 457.5)--(210.7, 458.0)--(210.8, 458.4)--(210.8, 458.5)--(210.8, 458.8)--(210.9, 459.1)--(211.0, 459.7)--(211.3, 462.6)--(211.6, 465.4)--(211.3, 465.5)--(211.2, 465.5)--(211.0, 465.6)--(210.9, 465.7)--(210.8, 465.8)--(210.7, 465.9)--(210.6, 466.1)--(210.7, 466.1)--(210.7, 466.2)--(210.7, 466.4)--(210.7, 466.6)--(210.8, 466.7)--(211.0, 466.9)--(211.1, 467.0)--(211.2, 467.0)--(211.2, 467.1)--(211.3, 467.1)--(211.5, 467.0)--(211.6, 467.0)--(211.7, 467.1)--(212.0, 467.0)--(212.2, 466.9)--(212.3, 466.8)--(212.6, 466.6)--(212.7, 466.5)--(212.9, 466.3)--(213.0, 466.2)--(213.8, 466.5)--(214.0, 466.7)--(214.3, 466.9)--(214.4, 466.9)--(214.9, 467.2)--(215.2, 467.4)--(215.4, 467.6)--(215.7, 467.7)--(215.9, 467.8)--(216.1, 467.9)--(216.2, 467.9)--(216.3, 467.9)--(216.4, 467.9)--(216.6, 468.0)--(216.8, 468.1)--(216.9, 468.2)--(217.1, 468.3)--(217.5, 468.4)--(217.7, 468.0)--(218.4, 468.4)--(218.7, 468.5)--(218.9, 468.7)--(219.4, 469.0)--(219.8, 469.1)--(219.6, 469.6)--(220.0, 469.8)--(220.3, 470.0)--(220.4, 470.1)--(220.7, 470.3)--(220.8, 470.3)--(221.0, 470.4)--(221.3, 470.5)--(221.7, 470.6)--(221.9, 470.5)--(222.0, 470.5)--(222.2, 470.1)--(222.4, 469.7)--(222.5, 469.8)--(222.6, 469.9)--(222.8, 469.9)--(223.0, 470.0)--(223.6, 470.4)--(224.4, 470.8)--(224.5, 470.9)--(224.6, 471.0)--(224.8, 471.1)--(224.9, 471.1)--(225.2, 471.4)--(225.3, 471.4)--(225.4, 471.4)--(225.6, 471.6)--(226.0, 471.7)--(226.1, 471.7)--(226.3, 471.7)--(226.3, 471.3)--(226.4, 471.1)--(226.5, 470.9)--(226.3, 470.9)--(226.5, 470.5)--(226.6, 470.2)--(226.7, 470.1)--(227.2, 469.4)--(227.4, 469.1)--(227.7, 468.8)--(227.8, 468.6)--(228.2, 469.0)--(228.0, 469.2)--(228.4, 469.4)--(228.8, 469.7)--(229.5, 470.3)--(230.2, 470.9)--(231.1, 471.6)--(231.3, 471.9)--(232.0, 472.4)--(232.3, 472.6)--(232.5, 472.8)--(23!
2.7, 472.8)--(232.9, 472.0)--(234.1, 472.6)--(235.7, 473.9)--(235.9, 474.0)--(236.6, 474.6)--(236.7, 474.7)--(237.1, 474.2)--(237.4, 473.8)--(237.6, 473.5)--(237.7, 473.7)--(238.0, 473.8)--(238.3, 474.1)--(239.0, 474.5)--(240.3, 475.2)--(240.5, 475.3)--(239.1, 478.0)--(238.6, 478.9)--(238.1, 479.8)--(239.0, 480.5)--(240.3, 479.4)--(240.7, 480.0)--(240.9, 480.4)--(241.8, 481.6)--(241.9, 481.7)--(242.5, 481.6)--(243.1, 481.4)--(243.3, 481.3)--(243.5, 481.3)--(243.6, 481.2)--(243.8, 481.1)--(243.9, 481.0)--(244.2, 480.9)--(244.1, 481.6)--(244.0, 482.2)--(243.9, 482.3)--(243.9, 482.6)--(243.4, 483.4)--(244.1, 483.4)--(244.5, 483.4)--(245.0, 483.4)--(245.6, 483.5)--cycle;
+Bexley = (472.3, 313.0)--(473.2, 313.4)--(474.1, 313.9)--(475.2, 314.6)--(475.4, 314.8)--(475.5, 314.8)--(475.6, 314.8)--(475.6, 314.9)--(475.8, 314.9)--(476.0, 315.0)--(476.2, 315.0)--(476.4, 315.1)--(476.6, 315.1)--(476.8, 315.1)--(477.3, 315.0)--(477.6, 315.0)--(477.8, 315.1)--(477.8, 315.2)--(477.9, 315.2)--(478.0, 315.2)--(479.3, 314.9)--(479.5, 314.8)--(479.6, 314.7)--(479.7, 314.6)--(480.6, 314.2)--(480.8, 314.0)--(481.1, 313.8)--(481.2, 313.7)--(481.4, 313.6)--(482.1, 313.2)--(482.2, 313.1)--(484.2, 311.8)--(484.3, 312.0)--(485.3, 311.4)--(486.1, 310.9)--(488.6, 309.5)--(488.8, 309.3)--(489.4, 309.1)--(489.6, 309.0)--(490.0, 308.9)--(490.3, 308.7)--(490.6, 308.6)--(490.8, 308.5)--(491.1, 308.3)--(491.3, 308.2)--(491.4, 308.2)--(491.6, 308.4)--(491.7, 308.4)--(491.7, 308.2)--(491.7, 308.1)--(491.7, 308.0)--(491.8, 307.9)--(491.9, 307.9)--(492.1, 308.0)--(492.2, 307.9)--(492.2, 307.8)--(492.4, 307.6)--(492.7, 307.5)--(492.8, 307.4)--(493.0, 307.4)--(493.0, 307.5)--(493.0, 307.9)--(493.1, 308.0)--(493.2, 307.9)--(493.6, 307.9)--(493.7, 307.9)--(493.8, 307.8)--(493.9, 307.9)--(494.0, 307.9)--(494.2, 308.0)--(494.3, 308.1)--(494.9, 308.0)--(495.2, 308.0)--(495.3, 308.0)--(495.6, 307.8)--(495.8, 307.8)--(496.7, 307.7)--(497.5, 307.6)--(497.5, 307.5)--(499.3, 307.4)--(499.9, 307.3)--(500.0, 307.3)--(500.2, 307.3)--(500.5, 307.1)--(500.9, 307.0)--(501.4, 306.8)--(501.5, 306.7)--(501.7, 306.6)--(501.8, 306.6)--(501.9, 306.6)--(502.0, 306.6)--(502.4, 306.5)--(502.8, 306.3)--(503.0, 306.3)--(503.2, 306.2)--(503.6, 305.9)--(504.4, 305.3)--(504.7, 305.1)--(504.8, 304.9)--(504.9, 304.8)--(505.2, 304.3)--(505.4, 304.0)--(506.2, 302.5)--(506.4, 302.3)--(506.4, 302.2)--(506.5, 302.2)--(506.6, 302.1)--(506.7, 302.0)--(506.8, 302.0)--(506.8, 301.9)--(507.2, 301.3)--(507.3, 301.1)--(507.3, 301.0)--(507.3, 300.9)--(507.3, 300.8)--(507.4, 300.7)--(507.5, 300.4)--(507.6, 300.1)--(507.7, 300.0)--(507.9, 299.7)--(508.0, 299.7)--(508.4, 298.7)--(508.3, 298.7)--(508.4, 298.5)--(508.5, 298.3)--(508.6, 298.1)--(508.6, 298.0!
)--(508.7, 297.8)--(508.7, 297.6)--(508.7, 297.4)--(508.7, 297.0)--(508.8, 296.3)--(508.8, 295.5)--(508.8, 295.1)--(508.8, 294.9)--(508.8, 294.1)--(508.8, 293.9)--(508.9, 292.7)--(508.9, 292.6)--(508.9, 292.5)--(508.9, 292.4)--(509.0, 292.3)--(509.1, 292.1)--(509.1, 292.0)--(509.0, 291.7)--(509.0, 291.6)--(509.2, 290.7)--(509.2, 290.5)--(509.3, 290.2)--(509.3, 290.0)--(509.2, 289.9)--(509.2, 289.8)--(509.3, 289.5)--(509.3, 289.2)--(509.4, 288.8)--(509.4, 288.7)--(509.5, 288.6)--(509.7, 288.3)--(509.8, 288.2)--(509.8, 288.1)--(509.8, 288.0)--(509.9, 287.9)--(510.0, 287.6)--(510.0, 287.4)--(510.0, 287.3)--(510.1, 287.3)--(510.1, 287.2)--(510.2, 287.2)--(510.2, 287.1)--(510.3, 287.0)--(510.5, 286.7)--(510.7, 286.8)--(511.3, 285.9)--(511.0, 285.7)--(511.1, 285.6)--(511.0, 285.5)--(511.1, 285.4)--(511.2, 285.2)--(511.3, 285.0)--(511.4, 285.1)--(511.6, 284.9)--(511.8, 285.0)--(513.3, 283.1)--(513.0, 282.7)--(513.1, 282.7)--(513.1, 282.6)--(513.2, 282.6)--(513.5, 282.9)--(514.5, 282.2)--(515.7, 281.4)--(516.1, 281.1)--(517.0, 280.6)--(517.1, 280.6)--(517.2, 280.5)--(517.3, 280.5)--(517.5, 280.4)--(517.7, 280.3)--(518.1, 280.2)--(519.3, 279.9)--(520.0, 279.7)--(520.8, 279.5)--(521.2, 279.4)--(521.6, 279.3)--(521.8, 279.3)--(521.9, 279.2)--(522.0, 279.2)--(522.0, 279.1)--(521.9, 278.5)--(522.1, 278.4)--(522.2, 279.1)--(522.3, 279.2)--(523.6, 279.2)--(523.6, 279.0)--(523.8, 279.0)--(523.8, 278.9)--(523.9, 278.9)--(524.0, 278.9)--(524.0, 278.8)--(524.1, 278.8)--(524.3, 278.8)--(524.4, 278.8)--(524.5, 278.8)--(524.6, 278.8)--(524.6, 278.7)--(524.7, 278.7)--(524.7, 278.8)--(524.8, 278.9)--(524.9, 279.0)--(525.1, 279.1)--(525.2, 279.1)--(525.3, 279.1)--(525.4, 279.1)--(525.5, 279.2)--(525.6, 279.2)--(525.7, 279.1)--(525.8, 279.1)--(525.8, 279.0)--(525.9, 279.0)--(526.0, 279.0)--(526.1, 279.1)--(526.2, 279.1)--(526.2, 279.0)--(526.3, 279.0)--(526.3, 279.1)--(526.3, 279.0)--(526.4, 279.1)--(526.5, 279.1)--(526.6, 279.1)--(526.7, 279.1)--(526.8, 279.1)--(526.8, 279.2)--(526.8, 279.1)--(526.9, 279.1)--(526.9, 279.0)--(527.0, 279.!
1)--(527..0, 279.0)--(527.1, 279.1)--(527.2, 279.1)--(527.3, 279.2)--(527.4, 279.2)--(527.4, 279.1)--(527.5, 279.2)--(527.6, 279.2)--(527.7, 279.2)--(527.8, 279.1)--(527.8, 279.0)--(527.7, 278.9)--(527.8, 278.9)--(527.9, 278.9)--(528.0, 279.0)--(528.1, 279.1)--(528.1, 279.2)--(528.2, 279.2)--(528.2, 279.3)--(528.2, 279.5)--(528.4, 279.6)--(528.5, 279.6)--(528.6, 279.6)--(528.6, 279.5)--(528.6, 279.4)--(528.8, 279.3)--(528.8, 279.2)--(528.9, 279.1)--(529.0, 279.2)--(529.1, 279.4)--(529.2, 279.5)--(529.2, 279.6)--(529.2, 279.7)--(529.2, 279.9)--(529.4, 279.9)--(529.5, 279.9)--(529.6, 279.9)--(529.7, 279.9)--(529.8, 279.9)--(529.7, 279.8)--(529.8, 279.8)--(529.8, 279.7)--(529.8, 279.6)--(529.9, 279.4)--(529.9, 279.3)--(530.0, 279.2)--(530.1, 279.2)--(530.1, 279.1)--(530.1, 279.0)--(530.1, 278.9)--(530.1, 278.7)--(530.1, 278.6)--(530.0, 278.6)--(529.9, 278.6)--(529.8, 278.6)--(529.7, 278.4)--(529.6, 278.4)--(529.4, 278.4)--(529.3, 278.3)--(529.2, 278.3)--(529.2, 278.2)--(529.3, 278.2)--(529.5, 278.3)--(529.6, 278.3)--(529.7, 278.3)--(529.7, 278.4)--(529.8, 278.4)--(529.9, 278.5)--(530.0, 278.5)--(530.1, 278.5)--(530.2, 278.6)--(530.2, 278.7)--(530.2, 279.1)--(530.2, 279.2)--(530.1, 279.3)--(530.0, 279.4)--(529.9, 279.5)--(530.0, 279.6)--(530.0, 279.7)--(529.9, 280.0)--(530.0, 280.0)--(530.1, 280.0)--(530.1, 280.1)--(530.2, 280.2)--(530.2, 280.3)--(530.2, 280.4)--(530.3, 280.4)--(530.4, 280.4)--(530.5, 280.4)--(530.6, 280.4)--(530.8, 280.5)--(530.9, 280.5)--(531.0, 280.5)--(531.2, 280.5)--(531.3, 280.5)--(531.3, 280.4)--(531.4, 280.4)--(531.4, 280.5)--(531.5, 280.5)--(531.5, 280.6)--(531.6, 280.6)--(531.8, 280.7)--(531.9, 280.7)--(532.0, 280.7)--(532.0, 280.6)--(531.9, 280.5)--(532.1, 280.7)--(532.2, 280.7)--(532.3, 280.5)--(532.3, 280.4)--(532.4, 280.3)--(532.5, 280.3)--(532.7, 280.5)--(532.9, 280.5)--(533.0, 280.6)--(533.0, 280.7)--(533.0, 280.8)--(532.9, 281.0)--(533.0, 281.1)--(533.0, 281.2)--(533.1, 281.2)--(533.1, 281.3)--(533.2, 281.3)--(533.3, 281.3)--(533.4, 281.3)--(533.6, 281.3)--(533.6, 281.4)--(533.8, 281!
.4)--(533.9, 281.4)--(534.0, 281.4)--(534.1, 281.5)--(534.1, 281.4)--(534.2, 281.5)--(534.2, 281.6)--(534.3, 281.6)--(534.4, 281.6)--(534.5, 281.6)--(534.6, 281.7)--(534.7, 281.7)--(534.8, 281.8)--(535.0, 281.8)--(535.0, 281.9)--(535.1, 281.9)--(535.2, 281.8)--(535.2, 281.7)--(535.3, 281.7)--(535.4, 281.9)--(535.6, 282.1)--(535.6, 282.3)--(535.8, 282.6)--(535.8, 282.7)--(536.3, 282.9)--(536.5, 282.9)--(536.7, 282.9)--(536.8, 282.9)--(537.0, 282.8)--(537.1, 282.7)--(537.2, 282.6)--(537.3, 282.6)--(537.4, 282.6)--(537.5, 282.6)--(537.7, 282.4)--(538.6, 281.9)--(538.7, 281.9)--(538.8, 281.8)--(538.9, 281.8)--(539.0, 281.7)--(539.3, 281.5)--(539.7, 281.3)--(539.8, 281.2)--(539.9, 281.2)--(540.1, 281.0)--(540.9, 280.6)--(540.9, 280.5)--(540.6, 280.4)--(540.5, 280.4)--(540.4, 280.3)--(540.3, 280.3)--(540.3, 280.2)--(540.2, 280.2)--(540.1, 280.1)--(540.1, 280.0)--(540.1, 279.9)--(540.0, 279.8)--(539.9, 279.7)--(539.9, 279.6)--(539.8, 279.5)--(539.8, 279.4)--(539.7, 279.3)--(539.7, 279.2)--(539.8, 278.8)--(539.8, 278.7)--(539.7, 278.6)--(539.8, 278.2)--(539.9, 278.2)--(540.0, 278.1)--(540.0, 277.8)--(539.9, 277.8)--(539.9, 277.7)--(540.0, 277.6)--(540.0, 277.3)--(540.0, 277.2)--(540.0, 277.1)--(539.9, 277.0)--(539.9, 276.9)--(539.9, 276.8)--(539.8, 276.7)--(539.7, 276.5)--(539.5, 276.4)--(539.4, 276.4)--(539.4, 276.3)--(539.3, 276.3)--(539.2, 276.3)--(539.1, 276.3)--(538.7, 276.1)--(538.6, 276.1)--(538.5, 276.1)--(538.3, 276.0)--(538.2, 275.9)--(538.0, 275.9)--(537.8, 275.8)--(537.5, 275.7)--(537.5, 275.6)--(537.4, 275.6)--(537.1, 275.3)--(537.0, 275.2)--(536.9, 275.0)--(536.8, 274.8)--(536.6, 274.7)--(536.6, 274.5)--(536.6, 274.4)--(536.6, 274.2)--(536.6, 273.9)--(536.6, 273.7)--(536.6, 273.6)--(536.6, 273.5)--(536.7, 273.3)--(536.7, 273.2)--(536.6, 273.1)--(536.7, 273.0)--(536.7, 272.8)--(536.8, 272.7)--(536.8, 272.5)--(536.8, 272.4)--(536.8, 272.3)--(536.3, 271.8)--(536.2, 271.6)--(536.1, 271.5)--(535.5, 270.8)--(535.4, 270.8)--(535.2, 270.7)--(535.1, 270.7)--(535.1, 270.6)--(535.0, 270.4)--(534.8, 269.9)--(534.7, 26!
9.8)--(534.6, 269.7)--(534.6, 269.6)--(534.6, 269.5)--(534.7, 269.4)--(534.8, 269.3)--(534.8, 269.2)--(534.9, 269.1)--(534.9, 269.0)--(535.0, 268.9)--(535.1, 268.9)--(535.1, 268.8)--(535.1, 268.7)--(535.2, 268.7)--(535.2, 268.6)--(535.5, 268.3)--(535.9, 267.9)--(536.0, 267.9)--(536.3, 267.7)--(536.4, 267.6)--(536.5, 267.4)--(536.6, 267.2)--(536.7, 267.1)--(536.7, 266.9)--(536.7, 266.7)--(536.7, 266.6)--(536.7, 266.5)--(536.7, 266.4)--(536.7, 266.2)--(536.6, 265.6)--(536.4, 265.1)--(536.2, 264.4)--(536.1, 264.1)--(536.1, 264.0)--(536.1, 263.6)--(536.1, 263.5)--(536.1, 263.0)--(536.2, 262.8)--(536.2, 262.7)--(536.3, 262.0)--(536.4, 261.2)--(536.4, 260.7)--(536.4, 260.6)--(536.4, 260.5)--(536.3, 260.3)--(536.2, 260.3)--(536.2, 260.2)--(536.1, 260.2)--(535.2, 259.7)--(534.8, 259.5)--(534.5, 259.4)--(534.5, 259.3)--(534.4, 259.3)--(534.3, 259.0)--(534.1, 258.8)--(534.0, 258.7)--(533.9, 258.6)--(533.8, 258.5)--(533.4, 258.3)--(533.4, 258.2)--(533.4, 258.1)--(533.3, 258.0)--(533.2, 258.0)--(533.1, 257.8)--(533.0, 257.8)--(532.9, 257.8)--(532.6, 257.6)--(532.4, 257.5)--(532.4, 257.4)--(532.3, 257.4)--(532.2, 257.1)--(532.2, 257.0)--(532.1, 256.9)--(531.8, 256.6)--(531.7, 256.3)--(531.3, 255.7)--(531.2, 255.6)--(531.1, 255.6)--(530.0, 255.7)--(529.9, 255.7)--(528.7, 255.8)--(528.6, 255.8)--(528.4, 255.7)--(528.3, 255.7)--(527.6, 254.9)--(527.5, 254.6)--(527.7, 254.6)--(528.3, 255.4)--(528.6, 255.2)--(528.6, 255.1)--(528.2, 254.4)--(528.3, 254.4)--(528.4, 254.4)--(528.4, 254.5)--(528.5, 254.6)--(528.5, 254.7)--(528.7, 255.0)--(528.8, 255.1)--(529.1, 255.6)--(531.0, 255.4)--(531.4, 255.3)--(531.5, 255.2)--(531.6, 255.2)--(531.6, 255.1)--(531.7, 255.0)--(531.7, 254.8)--(531.6, 254.6)--(531.4, 254.0)--(531.3, 253.3)--(531.2, 253.2)--(531.3, 253.2)--(531.6, 253.2)--(531.8, 253.1)--(532.1, 253.1)--(532.1, 253.0)--(532.2, 252.7)--(532.2, 252.6)--(532.1, 252.5)--(531.8, 252.0)--(531.8, 251.9)--(531.8, 251.8)--(531.8, 251.7)--(531.9, 251.4)--(531.9, 251.2)--(531.8, 251.2)--(531.6, 251.1)--(531.6, 251.0)--(531.5, 250.8)--(531.4, 2!
50.7)--(531.3, 250.7)--(531.2, 250.7)--(530.9, 250.9)--(530.8, 250.8)--(530.8, 250.7)--(530.5, 250.6)--(530.3, 250.4)--(530.2, 250.3)--(530.2, 250.2)--(530.3, 250.2)--(530.4, 250.1)--(530.4, 250.0)--(530.3, 250.0)--(530.3, 249.9)--(530.2, 249.9)--(530.1, 249.9)--(530.0, 249.9)--(530.0, 249.8)--(530.0, 249.7)--(530.1, 249.5)--(530.0, 249.5)--(529.9, 249.5)--(529.8, 249.5)--(529.8, 249.4)--(529.8, 249.3)--(529.7, 249.2)--(529.5, 249.3)--(529.4, 249.3)--(529.3, 249.3)--(529.3, 249.2)--(529.3, 249.1)--(529.2, 249.0)--(529.1, 249.0)--(529.0, 249.0)--(529.0, 248.9)--(528.9, 248.9)--(528.9, 248.8)--(529.0, 248.7)--(528.8, 248.6)--(528.6, 248.6)--(528.5, 248.6)--(528.4, 248.5)--(528.3, 248.5)--(528.3, 248.4)--(528.2, 248.3)--(528.1, 248.3)--(528.0, 248.4)--(528.0, 248.5)--(527.9, 248.4)--(527.9, 248.3)--(527.8, 248.2)--(527.7, 248.2)--(527.6, 248.2)--(527.5, 248.2)--(527.4, 248.2)--(527.3, 248.2)--(527.2, 248.2)--(527.1, 248.1)--(527.0, 248.2)--(526.9, 248.2)--(526.8, 248.2)--(526.8, 248.3)--(526.7, 248.4)--(526.8, 248.4)--(526.8, 248.5)--(526.9, 248.6)--(526.9, 248.7)--(526.8, 248.8)--(526.7, 248.8)--(526.7, 248.9)--(526.7, 248.8)--(526.6, 248.8)--(526.6, 248.7)--(526.6, 248.6)--(526.6, 248.5)--(526.5, 248.5)--(526.5, 248.4)--(526.4, 248.4)--(526.3, 248.5)--(526.3, 248.6)--(526.2, 248.6)--(526.1, 248.6)--(526.1, 248.5)--(526.1, 248.3)--(526.1, 248.2)--(526.0, 248.2)--(526.0, 248.3)--(525.9, 248.3)--(525.8, 248.3)--(525.8, 248.2)--(525.7, 248.2)--(525.7, 248.1)--(525.6, 248.1)--(525.6, 248.0)--(525.5, 248.0)--(525.5, 248.1)--(525.5, 248.2)--(525.5, 248.3)--(525.4, 248.3)--(525.3, 248.3)--(525.2, 248.3)--(525.2, 248.2)--(525.1, 248.2)--(525.1, 248.1)--(524.8, 248.0)--(524.7, 248.0)--(524.7, 247.9)--(524.7, 247.8)--(524.6, 247.8)--(524.6, 247.7)--(524.5, 247.7)--(524.4, 247.5)--(524.3, 247.5)--(524.2, 247.1)--(524.1, 247.0)--(524.0, 246.9)--(523.9, 246.9)--(523.5, 244.8)--(521.9, 245.1)--(521.7, 244.5)--(521.6, 244.5)--(521.1, 244.6)--(521.0, 244.2)--(520.9, 244.0)--(520.9, 243.0)--(521.0, 242.8)--(521.0, 242.6)--(521.1, !
242.6)--(520.8, 242.3)--(520.4, 241.8)--(519.9, 241.2)--(519.5, 240.7)--(518.9, 240.0)--(518.8, 240.1)--(518.5, 240.2)--(518.2, 239.9)--(518.1, 239.9)--(517.9, 239.7)--(517.8, 239.7)--(517.7, 239.7)--(517.5, 239.6)--(517.0, 239.5)--(516.7, 239.4)--(516.7, 238.9)--(516.6, 238.7)--(516.4, 238.6)--(516.3, 238.6)--(516.1, 238.5)--(515.9, 238.4)--(515.7, 238.2)--(515.4, 238.6)--(515.2, 238.5)--(515.1, 238.6)--(514.7, 238.3)--(513.4, 237.1)--(513.3, 236.9)--(513.2, 236.9)--(512.7, 237.3)--(512.3, 237.5)--(512.1, 237.6)--(512.0, 237.8)--(511.9, 237.8)--(511.8, 237.9)--(511.7, 238.0)--(511.6, 238.0)--(511.5, 238.0)--(511.4, 238.0)--(511.2, 238.0)--(511.0, 238.0)--(511.0, 238.2)--(510.8, 237.9)--(510.8, 237.8)--(510.9, 237.7)--(510.8, 237.7)--(510.8, 237.6)--(510.7, 237.5)--(510.7, 237.4)--(510.6, 237.3)--(510.5, 237.2)--(510.4, 237.1)--(510.3, 237.0)--(510.0, 236.6)--(509.9, 236.3)--(509.8, 236.1)--(509.7, 235.9)--(509.7, 235.8)--(509.5, 235.5)--(509.0, 234.1)--(509.1, 234.0)--(509.1, 233.9)--(509.1, 233.8)--(509.0, 233.8)--(509.0, 233.7)--(509.0, 233.6)--(508.9, 233.6)--(508.8, 233.5)--(508.6, 233.1)--(508.5, 232.9)--(508.4, 232.3)--(508.3, 232.0)--(508.3, 231.7)--(508.2, 231.6)--(508.1, 231.5)--(508.0, 231.4)--(508.0, 231.3)--(507.9, 231.1)--(507.8, 230.9)--(507.7, 230.7)--(507.6, 230.5)--(507.6, 230.4)--(507.5, 230.2)--(507.4, 230.0)--(507.3, 229.8)--(507.3, 229.7)--(507.2, 229.6)--(507.2, 229.4)--(507.0, 229.0)--(507.0, 228.9)--(507.0, 228.7)--(506.9, 228.6)--(506.9, 228.4)--(506.9, 227.9)--(507.1, 227.5)--(507.1, 226.2)--(507.2, 226.1)--(507.2, 226.0)--(507.2, 225.5)--(506.9, 225.2)--(506.8, 225.1)--(506.7, 225.0)--(507.1, 224.8)--(506.9, 224.0)--(506.8, 223.7)--(506.4, 223.7)--(506.2, 223.3)--(505.7, 222.3)--(505.7, 221.9)--(505.6, 221.9)--(505.6, 221.8)--(505.5, 221.7)--(505.4, 221.7)--(505.2, 221.8)--(505.3, 221.8)--(505.3, 222.1)--(505.0, 222.1)--(504.9, 222.3)--(504.6, 222.3)--(504.4, 222.4)--(504.2, 222.5)--(504.0, 222.6)--(503.4, 222.8)--(503.3, 222.8)--(503.0, 222.9)--(502.8, 222.6)--(502.5, 222.4)--(502.4,!
222.3)--(502.4, 222.4)--(502.4, 222.8)--(502.3, 222.9)--(502.2, 223.0)--(502.1, 223.1)--(502.0, 223.3)--(501.9, 223.5)--(501.7, 223.4)--(501.6, 223.3)--(501.5, 223.4)--(501.4, 223.5)--(501.4, 223.6)--(501.3, 223.6)--(501.2, 223.7)--(501.1, 223.7)--(501.0, 223.7)--(500.8, 223.8)--(500.6, 223.9)--(500.4, 223.9)--(500.2, 224.0)--(500.0, 224.0)--(499.6, 224.1)--(499.5, 223.6)--(499.4, 223.2)--(499.4, 223.1)--(499.3, 222.8)--(499.3, 222.7)--(499.4, 222.4)--(499.4, 222.3)--(499.3, 222.1)--(499.3, 222.0)--(499.2, 221.9)--(499.0, 221.4)--(498.8, 221.1)--(498.5, 220.7)--(498.3, 220.4)--(498.2, 219.6)--(498.1, 219.0)--(498.1, 218.3)--(498.0, 218.0)--(498.0, 217.9)--(498.0, 217.7)--(498.0, 217.5)--(498.1, 217.2)--(498.2, 216.7)--(498.2, 216.5)--(498.2, 216.3)--(498.2, 216.2)--(498.2, 216.0)--(498.2, 215.8)--(498.2, 215.6)--(498.1, 215.2)--(498.0, 214.6)--(497.9, 214.2)--(497.8, 213.9)--(497.3, 213.1)--(496.9, 212.7)--(496.8, 212.6)--(496.7, 212.4)--(496.9, 212.3)--(497.0, 212.2)--(497.5, 212.0)--(498.1, 211.5)--(498.1, 211.4)--(498.6, 211.0)--(498.7, 210.9)--(498.8, 210.7)--(499.2, 210.3)--(499.0, 210.0)--(498.8, 209.5)--(498.4, 209.4)--(498.2, 209.4)--(497.7, 209.4)--(497.6, 209.4)--(497.5, 209.4)--(497.3, 209.4)--(497.2, 209.4)--(496.9, 209.3)--(496.7, 209.3)--(496.7, 209.1)--(496.8, 208.3)--(496.8, 207.2)--(496.9, 206.9)--(496.9, 206.7)--(496.9, 206.5)--(496.9, 206.4)--(496.8, 206.3)--(496.6, 205.7)--(496.5, 205.5)--(496.5, 205.4)--(496.4, 205.4)--(496.3, 205.4)--(496.2, 205.3)--(496.1, 205.1)--(496.0, 204.9)--(496.0, 204.6)--(495.9, 204.1)--(495.9, 204.0)--(495.9, 203.9)--(495.8, 203.8)--(495.6, 203.6)--(495.6, 203.5)--(495.8, 203.0)--(496.0, 202.6)--(497.3, 202.4)--(497.9, 202.3)--(498.8, 202.3)--(498.7, 202.1)--(498.7, 202.0)--(498.6, 201.8)--(498.6, 201.7)--(498.6, 201.5)--(498.5, 201.4)--(498.5, 201.1)--(498.4, 200.0)--(498.3, 199.4)--(497.7, 199.4)--(497.4, 199.4)--(497.1, 199.4)--(496.8, 199.5)--(496.3, 199.6)--(495.8, 199.8)--(495.6, 199.2)--(495.5, 199.1)--(495.3, 199.2)--(494.9, 199.4)--(494.4, 199.6)--(493.9!
, 199.8)--(493.4, 200.0)--(493.3, 200.0)--(493.2, 200.0)--(493.2, 200.1)--(492.9, 200.2)--(492.6, 200.4)--(492.4, 200.5)--(492.2, 200.6)--(491.9, 200.8)--(491.1, 201.2)--(490.8, 201.4)--(490.6, 201.4)--(490.3, 201.6)--(489.7, 201.9)--(489.5, 202.0)--(489.2, 202.1)--(489.0, 202.2)--(488.7, 202.3)--(488.6, 202.4)--(488.4, 202.5)--(488.3, 202.7)--(488.1, 202.8)--(488.0, 202.9)--(487.8, 203.0)--(487.6, 203.1)--(487.5, 203.2)--(487.2, 203.4)--(487.0, 203.4)--(486.7, 203.7)--(486.4, 203.9)--(485.9, 204.2)--(485.2, 204.7)--(485.1, 204.8)--(484.9, 204.8)--(484.8, 204.9)--(484.4, 205.1)--(484.2, 205.2)--(483.9, 205.3)--(483.7, 205.3)--(483.5, 205.4)--(483.3, 205.4)--(482.4, 205.6)--(482.0, 205.7)--(481.5, 205.8)--(480.9, 205.9)--(480.8, 205.9)--(480.6, 205.9)--(480.5, 205.9)--(480.3, 205.8)--(480.2, 205.8)--(480.1, 205.7)--(480.0, 205.7)--(480.0, 205.6)--(479.9, 205.5)--(479.8, 205.5)--(479.6, 205.6)--(479.5, 205.7)--(479.3, 205.7)--(479.2, 205.6)--(479.1, 205.6)--(479.0, 205.6)--(478.9, 205.6)--(478.8, 205.5)--(478.6, 205.4)--(478.4, 205.4)--(478.1, 205.2)--(477.4, 204.8)--(477.0, 204.6)--(476.7, 204.5)--(476.5, 204.4)--(475.8, 204.2)--(475.4, 204.0)--(475.2, 204.0)--(474.9, 203.9)--(474.6, 203.8)--(474.5, 203.8)--(474.3, 203.8)--(474.0, 203.7)--(473.9, 203.7)--(473.4, 203.7)--(473.1, 203.7)--(472.8, 203.7)--(472.5, 203.6)--(471.8, 203.5)--(471.4, 203.5)--(470.8, 203.5)--(470.7, 203.5)--(470.5, 203.3)--(470.1, 203.4)--(470.1, 203.5)--(470.1, 203.6)--(469.9, 203.6)--(469.8, 203.7)--(469.5, 203.7)--(469.2, 203.8)--(468.6, 203.9)--(468.0, 204.0)--(467.5, 204.2)--(467.1, 204.3)--(466.6, 204.5)--(466.4, 204.6)--(466.2, 204.7)--(466.2, 204.8)--(465.8, 205.0)--(465.3, 205.2)--(464.6, 205.6)--(464.4, 205.7)--(464.2, 205.8)--(464.0, 206.0)--(463.9, 206.0)--(463.7, 206.1)--(463.6, 206.2)--(463.5, 206.2)--(463.5, 206.3)--(463.4, 206.4)--(463.3, 206.5)--(463.2, 206.6)--(463.1, 206.7)--(463.0, 206.7)--(462.9, 206.7)--(463.0, 206.8)--(462.9, 206.9)--(462.0, 207.5)--(461.6, 207.8)--(460.9, 208.3)--(460.3, 208.8)--(460.1, 208.9)--(459.!
8, 209.2)--(459.4, 209.6)--(458.9, 210.0)--(458.8, 210.0)--(458.1, 210.6)--(457.6, 211.1)--(457.5, 211.1)--(457.1, 211.4)--(457.1, 211.5)--(457.0, 211.6)--(456.9, 211.7)--(456.7, 211.9)--(456.5, 212.1)--(456.2, 212.3)--(456.2, 212.4)--(455.8, 212.7)--(455.6, 213.0)--(455.4, 213.2)--(455.1, 213.5)--(455.0, 213.6)--(454.8, 213.7)--(454.8, 213.8)--(454.6, 214.0)--(454.5, 214.1)--(454.3, 214.2)--(454.1, 214.4)--(454.0, 214.6)--(453.7, 215.0)--(453.5, 215.2)--(453.3, 215.4)--(453.2, 215.6)--(453.1, 215.7)--(452.6, 216.4)--(452.4, 216.6)--(452.2, 216.8)--(452.1, 216.9)--(451.9, 217.2)--(451.5, 217.7)--(451.2, 218.3)--(450.9, 218.7)--(450.6, 219.3)--(450.0, 220.2)--(449.7, 220.8)--(449.5, 221.1)--(449.4, 221.3)--(449.1, 221.6)--(449.0, 221.7)--(448.7, 221.9)--(448.4, 222.1)--(447.9, 222.3)--(447.6, 222.4)--(447.4, 222.5)--(447.3, 222.5)--(447.2, 222.5)--(447.2, 222.6)--(446.5, 222.8)--(444.8, 223.3)--(443.8, 223.7)--(443.6, 223.7)--(443.6, 223.8)--(443.1, 223.9)--(443.2, 223.9)--(443.2, 224.0)--(443.3, 224.1)--(443.4, 224.2)--(443.7, 224.5)--(443.8, 224.7)--(444.0, 224.9)--(444.1, 225.2)--(443.8, 225.6)--(444.0, 225.7)--(444.3, 226.0)--(444.2, 226.1)--(443.9, 226.5)--(444.4, 227.0)--(444.3, 227.0)--(444.0, 227.2)--(443.7, 227.5)--(443.6, 227.7)--(443.2, 228.0)--(443.3, 228.1)--(443.9, 228.7)--(444.3, 229.2)--(444.6, 229.1)--(444.7, 229.0)--(444.9, 228.9)--(445.2, 228.8)--(445.3, 228.9)--(445.4, 229.1)--(445.5, 229.4)--(445.6, 229.5)--(445.7, 229.6)--(445.8, 229.8)--(445.9, 230.1)--(445.9, 230.3)--(446.0, 230.5)--(445.9, 230.6)--(445.8, 230.6)--(445.9, 230.7)--(446.0, 230.9)--(446.1, 231.0)--(446.3, 231.2)--(446.4, 231.3)--(446.3, 231.5)--(446.4, 231.5)--(446.4, 231.6)--(446.5, 231.6)--(446.5, 231.7)--(446.7, 231.9)--(446.6, 231.9)--(446.6, 232.0)--(446.7, 232.1)--(446.8, 232.2)--(446.7, 232.3)--(446.8, 232.6)--(447.0, 232.7)--(446.9, 232.8)--(447.2, 233.2)--(447.5, 233.0)--(447.8, 232.8)--(447.9, 232.7)--(447.9, 232.8)--(448.4, 233.4)--(448.5, 233.6)--(448.6, 233.8)--(448.8, 234.0)--(449.5, 234.8)--(449.6, 235.1)--(448!
.8, 235.8)--(448.6, 235.9)--(448.5, 236.0)--(448.6, 236.1)--(448.7, 236.2)--(448.6, 236.3)--(448.5, 236.5)--(448.6, 236.6)--(448.7, 236.7)--(449.1, 236.4)--(449.5, 236.0)--(449.8, 235.7)--(450.0, 235.9)--(450.2, 236.0)--(450.4, 236.1)--(450.5, 236.2)--(450.9, 236.5)--(451.0, 236.5)--(451.3, 236.5)--(451.6, 236.5)--(451.5, 236.9)--(451.3, 237.2)--(451.2, 237.5)--(451.1, 237.8)--(451.0, 238.1)--(450.9, 238.4)--(450.8, 238.8)--(450.9, 238.8)--(451.0, 238.9)--(451.1, 238.9)--(451.2, 238.9)--(451.2, 239.0)--(451.4, 239.1)--(451.5, 239.3)--(451.5, 239.4)--(451.5, 239.5)--(451.5, 239.7)--(451.7, 239.8)--(451.8, 240.0)--(451.9, 240.2)--(452.0, 240.5)--(452.0, 240.8)--(452.0, 241.3)--(451.9, 242.0)--(451.8, 242.3)--(451.8, 242.5)--(451.5, 243.5)--(451.2, 244.0)--(451.0, 244.5)--(451.0, 244.8)--(451.0, 245.1)--(450.9, 245.7)--(450.9, 246.0)--(450.9, 246.1)--(450.8, 246.4)--(450.8, 246.7)--(450.7, 247.3)--(450.7, 247.8)--(450.6, 248.2)--(450.5, 248.8)--(450.5, 249.1)--(450.5, 249.2)--(450.4, 249.4)--(450.4, 249.6)--(450.3, 249.8)--(450.3, 250.0)--(450.3, 250.1)--(450.3, 250.2)--(450.3, 250.4)--(450.2, 250.9)--(450.0, 251.3)--(450.0, 251.4)--(449.6, 251.5)--(448.8, 251.8)--(448.2, 252.0)--(447.6, 252.3)--(447.0, 252.5)--(446.7, 252.8)--(446.6, 252.8)--(446.3, 253.0)--(445.9, 253.5)--(445.8, 253.4)--(445.7, 253.5)--(445.2, 254.0)--(445.1, 254.1)--(445.1, 254.2)--(445.6, 254.3)--(446.6, 254.5)--(448.0, 254.9)--(447.8, 255.1)--(447.7, 255.4)--(447.6, 255.6)--(447.6, 255.8)--(447.5, 255.9)--(447.5, 256.0)--(447.5, 256.1)--(447.5, 256.2)--(447.5, 256.3)--(447.5, 256.7)--(447.5, 256.8)--(447.5, 257.2)--(447.5, 257.5)--(447.6, 257.9)--(447.6, 258.0)--(447.6, 258.4)--(447.7, 258.7)--(447.7, 259.1)--(447.7, 259.4)--(447.6, 259.6)--(447.4, 260.2)--(447.3, 260.3)--(447.3, 260.7)--(447.3, 261.4)--(447.3, 261.8)--(447.3, 262.2)--(447.3, 262.3)--(447.4, 262.4)--(448.0, 262.3)--(448.2, 262.8)--(448.5, 263.5)--(448.7, 264.0)--(448.9, 264.3)--(449.0, 264.8)--(449.3, 264.8)--(449.3, 264.9)--(449.5, 265.2)--(449.7, 265.6)--(449.9, 265.7)--(45!
0.1, 265..9)--(450.3, 266.0)--(450.5, 266.2)--(450.7, 266.3)--(450.9, 266.3)--(451.3, 266.5)--(451.6, 266.6)--(451.8, 266.7)--(451.9, 266.8)--(452.3, 267.1)--(452.5, 267.3)--(452.7, 267.5)--(452.9, 267.8)--(453.2, 268.0)--(453.4, 268.3)--(453.3, 268.3)--(453.3, 268.4)--(453.4, 268.4)--(453.4, 268.5)--(453.5, 268.6)--(453.4, 268.6)--(453.5, 268.7)--(453.6, 268.8)--(453.8, 268.9)--(453.9, 268.9)--(453.9, 269.0)--(454.0, 269.1)--(454.3, 269.2)--(454.4, 269.3)--(454.5, 269.4)--(454.7, 269.6)--(455.0, 269.8)--(455.2, 269.9)--(455.3, 269.9)--(455.4, 270.0)--(455.6, 270.0)--(455.7, 270.0)--(456.0, 270.1)--(456.2, 270.1)--(456.4, 270.0)--(457.1, 270.0)--(457.1, 270.1)--(457.2, 270.8)--(457.3, 271.0)--(457.4, 271.1)--(457.6, 271.5)--(457.7, 271.6)--(458.0, 272.2)--(458.1, 272.3)--(458.1, 272.4)--(458.2, 272.5)--(458.5, 272.5)--(458.9, 272.5)--(459.2, 272.4)--(459.5, 272.3)--(460.1, 272.1)--(460.4, 271.9)--(460.4, 271.8)--(460.6, 271.5)--(460.7, 271.5)--(460.8, 271.5)--(461.1, 272.0)--(461.2, 272.0)--(461.3, 271.9)--(461.6, 271.7)--(461.6, 271.6)--(461.7, 271.7)--(461.8, 271.7)--(462.0, 271.9)--(462.1, 272.0)--(462.3, 272.2)--(462.5, 272.4)--(462.6, 272.6)--(462.7, 272.7)--(462.8, 272.7)--(463.0, 272.4)--(463.3, 272.7)--(463.7, 272.2)--(463.8, 272.3)--(464.2, 272.6)--(464.3, 272.6)--(464.4, 272.7)--(464.4, 272.8)--(464.4, 273.0)--(464.5, 273.0)--(464.5, 273.1)--(464.6, 273.1)--(464.7, 273.2)--(464.7, 273.3)--(465.0, 273.5)--(465.1, 273.5)--(465.1, 273.3)--(465.3, 273.1)--(465.4, 272.8)--(465.6, 272.5)--(465.9, 272.3)--(466.2, 272.0)--(466.4, 271.7)--(466.6, 271.4)--(466.8, 271.2)--(466.9, 271.1)--(466.9, 271.0)--(467.0, 270.9)--(467.2, 270.7)--(467.6, 270.4)--(467.6, 270.3)--(467.8, 270.2)--(468.0, 270.4)--(468.1, 270.6)--(468.2, 270.6)--(468.4, 270.9)--(468.5, 271.1)--(468.5, 271.2)--(468.6, 271.4)--(468.8, 271.8)--(469.0, 272.2)--(469.1, 272.6)--(469.4, 272.8)--(469.5, 273.0)--(469.8, 273.2)--(470.0, 273.5)--(470.1, 273.7)--(470.2, 273.8)--(470.5, 274.4)--(470.8, 274.8)--(471.0, 275.2)--(471.2, 275.5)--(471.9, 276.5)--(4!
72.1, 276.8)--(472.4, 276.7)--(472.5, 276.6)--(472.6, 276.6)--(472.7, 276.5)--(473.0, 276.5)--(473.1, 276.5)--(473.3, 276.5)--(473.6, 276.4)--(473.7, 276.4)--(473.9, 276.3)--(474.1, 276.1)--(474.4, 276.0)--(474.5, 275.9)--(474.7, 275.7)--(475.0, 275.6)--(475.2, 275.4)--(475.6, 275.1)--(475.8, 274.9)--(475.9, 274.8)--(475.9, 274.7)--(476.0, 274.6)--(476.1, 274.6)--(476.0, 274.9)--(476.0, 275.1)--(475.9, 275.3)--(475.8, 275.9)--(475.6, 276.6)--(475.5, 277.1)--(475.2, 278.0)--(474.9, 279.0)--(474.8, 279.5)--(474.6, 280.1)--(474.5, 280.5)--(474.5, 280.8)--(474.5, 281.1)--(474.5, 282.1)--(474.4, 283.0)--(474.4, 284.3)--(474.3, 284.6)--(474.3, 284.8)--(474.3, 284.9)--(473.9, 286.2)--(473.9, 286.4)--(473.9, 286.5)--(473.9, 286.7)--(473.9, 286.8)--(473.9, 287.0)--(473.9, 287.6)--(473.9, 287.7)--(473.9, 287.8)--(473.8, 288.1)--(473.7, 288.9)--(473.7, 289.8)--(473.7, 290.4)--(473.6, 290.7)--(473.6, 292.0)--(473.5, 292.8)--(473.5, 293.3)--(473.4, 295.0)--(473.4, 296.1)--(473.4, 296.2)--(473.3, 297.3)--(473.2, 299.0)--(473.2, 300.0)--(473.1, 301.1)--(473.1, 301.8)--(473.1, 302.1)--(473.1, 302.5)--(473.1, 303.0)--(473.0, 303.7)--(473.0, 304.5)--(472.9, 305.8)--(472.9, 307.0)--(472.8, 307.7)--(472.8, 308.1)--(472.7, 309.0)--(472.7, 309.7)--(472.7, 310.0)--(472.7, 310.2)--(472.6, 310.8)--(472.6, 311.1)--(472.6, 311.5)--(472.5, 312.6)--cycle;
+Brent = (252.0, 325.1)--(251.8, 325.2)--(251.8, 325.3)--(251.8, 325.4)--(251.7, 325.4)--(251.6, 325.4)--(251.5, 325.4)--(251.4, 325.3)--(251.1, 325.4)--(251.0, 325.9)--(250.9, 326.2)--(251.0, 326.3)--(251.0, 326.4)--(251.0, 326.6)--(251.0, 326.7)--(251.0, 326.8)--(251.0, 327.3)--(251.0, 327.6)--(251.0, 327.8)--(250.8, 328.1)--(250.7, 328.2)--(250.5, 328.4)--(250.5, 328.5)--(250.4, 328.6)--(250.3, 328.6)--(250.2, 328.7)--(250.1, 328.8)--(250.0, 328.9)--(249.9, 329.0)--(249.8, 329.1)--(249.6, 329.2)--(249.2, 329.5)--(249.1, 329.6)--(248.9, 329.7)--(248.8, 329.7)--(248.7, 329.8)--(248.6, 329.9)--(248.5, 330.0)--(248.5, 330.1)--(248.5, 330.2)--(248.4, 330.3)--(248.3, 330.5)--(248.2, 330.5)--(248.1, 330.5)--(247.9, 330.6)--(247.7, 330.7)--(247.5, 330.8)--(247.4, 330.9)--(247.4, 330.8)--(247.2, 330.8)--(247.0, 330.8)--(246.7, 330.8)--(246.3, 330.9)--(245.8, 330.9)--(245.6, 330.9)--(245.4, 330.8)--(245.1, 330.8)--(244.9, 330.7)--(244.8, 330.7)--(244.6, 330.7)--(244.4, 330.7)--(244.2, 330.7)--(244.0, 330.6)--(243.5, 330.5)--(243.3, 330.4)--(243.0, 330.3)--(242.8, 330.2)--(242.5, 330.0)--(242.4, 330.0)--(242.0, 329.7)--(241.8, 329.7)--(241.6, 329.6)--(241.4, 329.5)--(241.0, 329.5)--(240.7, 329.5)--(240.6, 329.4)--(240.5, 329.4)--(240.3, 329.4)--(240.1, 329.3)--(239.9, 329.3)--(239.8, 329.2)--(239.7, 329.2)--(239.3, 329.1)--(239.0, 329.0)--(238.9, 328.9)--(238.9, 328.8)--(238.9, 328.7)--(238.9, 328.6)--(238.9, 328.5)--(239.0, 328.0)--(239.1, 327.9)--(239.1, 327.8)--(239.1, 327.7)--(239.1, 327.6)--(239.0, 327.5)--(239.0, 327.4)--(238.9, 327.3)--(238.8, 327.2)--(238.7, 327.2)--(238.6, 327.1)--(238.5, 326.9)--(238.5, 326.6)--(238.4, 326.4)--(238.4, 326.2)--(238.5, 325.1)--(238.2, 325.3)--(238.1, 325.4)--(237.8, 325.6)--(237.6, 325.7)--(237.1, 325.9)--(236.9, 325.9)--(236.6, 326.0)--(236.4, 326.1)--(236.1, 326.2)--(235.2, 326.4)--(235.0, 326.4)--(234.7, 326.5)--(234.4, 326.6)--(234.1, 326.7)--(233.9, 326.9)--(233.7, 326.9)--(233.6, 327.0)--(233.3, 327.1)--(233.2, 327.2)--(233.1, 327.2)--(232.7, 327.3)--(232.5, 327.4)!
--(232.2, 327.4)--(231.9, 327.4)--(231.9, 327.3)--(231.4, 327.2)--(231.0, 327.2)--(230.4, 327.1)--(230.4, 327.4)--(230.3, 327.4)--(230.2, 327.4)--(230.1, 327.4)--(230.0, 327.5)--(229.9, 327.5)--(229.8, 327.6)--(229.6, 327.7)--(229.3, 327.7)--(229.1, 327.8)--(228.8, 327.9)--(228.7, 328.0)--(228.4, 328.1)--(228.2, 328.1)--(228.0, 328.2)--(227.8, 328.4)--(227.6, 328.5)--(227.1, 328.8)--(226.7, 329.1)--(226.4, 329.3)--(226.0, 329.7)--(225.8, 329.9)--(225.6, 330.0)--(225.5, 330.0)--(225.2, 329.9)--(225.1, 329.9)--(225.0, 329.8)--(224.9, 329.8)--(224.2, 329.5)--(224.0, 329.5)--(223.6, 329.3)--(222.8, 329.2)--(222.3, 329.2)--(222.1, 329.2)--(221.7, 329.2)--(221.4, 329.1)--(221.1, 329.1)--(221.0, 329.1)--(220.3, 329.0)--(219.5, 328.9)--(219.4, 328.9)--(219.3, 328.9)--(219.2, 329.0)--(219.0, 329.1)--(218.6, 329.2)--(218.5, 329.3)--(217.6, 329.8)--(217.4, 329.9)--(217.4, 330.0)--(217.3, 330.0)--(217.2, 330.1)--(217.0, 330.4)--(216.8, 330.7)--(216.7, 330.7)--(216.6, 330.8)--(216.4, 330.9)--(216.2, 330.9)--(215.5, 331.1)--(214.2, 331.5)--(214.1, 331.2)--(214.0, 331.1)--(213.9, 331.1)--(213.8, 331.2)--(213.7, 331.2)--(213.5, 331.3)--(213.4, 331.4)--(213.3, 331.4)--(213.2, 331.4)--(212.8, 331.4)--(212.0, 331.3)--(211.1, 331.2)--(210.8, 331.2)--(210.6, 331.1)--(210.5, 331.6)--(210.5, 331.7)--(210.5, 331.8)--(210.4, 331.8)--(210.4, 331.9)--(210.4, 332.0)--(210.4, 332.1)--(210.3, 332.1)--(210.3, 332.2)--(210.2, 332.2)--(209.7, 332.4)--(209.6, 332.5)--(209.3, 332.6)--(209.2, 332.5)--(209.1, 332.5)--(208.9, 332.3)--(208.1, 331.9)--(207.7, 331.8)--(207.6, 331.7)--(207.5, 331.7)--(207.5, 331.5)--(207.4, 331.4)--(207.0, 331.0)--(206.4, 330.4)--(205.9, 329.9)--(205.5, 329.6)--(205.2, 329.4)--(204.8, 329.2)--(204.8, 329.1)--(204.5, 329.0)--(204.6, 328.8)--(204.6, 328.7)--(204.5, 328.5)--(204.5, 328.4)--(204.4, 328.2)--(204.3, 328.2)--(204.3, 328.1)--(204.2, 328.0)--(203.7, 327.5)--(203.4, 327.1)--(203.1, 327.0)--(202.7, 326.7)--(202.5, 326.6)--(202.3, 326.5)--(201.8, 326.5)--(201.9, 326.4)--(201.9, 326.3)--(201.7, 326.2)--(201.6, 326.2!
)--(201.5, 326.2)--(201.4, 326.3)--(201.2, 326.5)--(200.7, 326.2)--(200.6, 326.5)--(200.0, 326.4)--(199.4, 326.3)--(198.6, 326.1)--(197.3, 325.8)--(196.0, 325.5)--(194.9, 325.0)--(194.8, 324.9)--(194.7, 324.9)--(194.6, 324.9)--(194.4, 324.8)--(194.3, 324.7)--(194.0, 324.6)--(193.9, 324.6)--(193.8, 324.6)--(193.7, 324.6)--(192.6, 324.9)--(192.4, 324.9)--(192.0, 325.0)--(191.8, 325.1)--(191.2, 325.2)--(191.1, 325.2)--(191.2, 325.1)--(190.1, 325.3)--(189.8, 325.7)--(189.7, 325.9)--(189.2, 326.3)--(188.8, 326.7)--(188.4, 327.1)--(188.0, 327.5)--(187.7, 327.8)--(187.5, 328.0)--(188.2, 328.5)--(188.9, 328.8)--(189.5, 329.2)--(189.9, 329.4)--(190.0, 329.4)--(190.0, 329.5)--(190.1, 329.7)--(190.3, 329.7)--(191.1, 330.1)--(191.2, 330.2)--(191.5, 329.4)--(192.4, 329.7)--(192.9, 329.9)--(193.3, 329.3)--(193.3, 329.2)--(193.8, 329.4)--(194.2, 329.6)--(194.5, 329.8)--(194.7, 329.9)--(194.8, 330.1)--(194.8, 330.3)--(194.9, 330.5)--(194.9, 330.9)--(195.0, 331.4)--(195.2, 331.4)--(195.2, 331.5)--(195.3, 331.9)--(195.4, 331.9)--(195.5, 332.0)--(195.3, 332.1)--(195.2, 332.2)--(195.0, 332.3)--(194.9, 332.5)--(194.7, 332.6)--(194.5, 332.9)--(194.1, 333.4)--(193.5, 334.2)--(192.8, 335.1)--(192.2, 335.8)--(192.1, 335.9)--(191.9, 335.8)--(191.0, 335.0)--(190.3, 334.5)--(189.9, 334.2)--(189.2, 333.7)--(187.9, 333.0)--(186.9, 332.6)--(186.7, 332.6)--(185.6, 332.0)--(185.5, 332.0)--(185.0, 331.8)--(184.7, 331.7)--(184.6, 331.6)--(184.0, 331.7)--(183.5, 331.5)--(183.4, 331.5)--(183.4, 331.6)--(183.3, 331.6)--(183.1, 331.9)--(183.0, 332.0)--(182.9, 332.0)--(182.8, 332.0)--(182.7, 332.0)--(182.6, 332.0)--(182.4, 331.9)--(182.3, 331.8)--(182.2, 331.8)--(182.2, 331.7)--(182.1, 331.6)--(182.0, 331.6)--(181.9, 331.5)--(181.7, 331.0)--(181.4, 330.7)--(181.1, 330.4)--(180.4, 329.6)--(179.8, 329.2)--(179.1, 328.7)--(178.4, 328.4)--(178.3, 328.2)--(176.8, 328.7)--(175.9, 329.0)--(175.0, 329.3)--(174.9, 329.3)--(175.0, 329.4)--(175.1, 329.5)--(175.2, 329.7)--(175.2, 329.8)--(175.3, 329.9)--(175.4, 330.0)--(175.6, 330.1)--(175.7, 330.2)--(175.7, 330.!
3)--(175..8, 330.6)--(175.8, 331.0)--(175.8, 331.5)--(175.9, 332.0)--(175.9, 332.6)--(175.9, 332.7)--(175.9, 333.4)--(175.9, 334.1)--(175.9, 334.4)--(175.8, 336.1)--(175.8, 336.4)--(176.6, 336.9)--(176.7, 336.9)--(176.5, 337.2)--(176.1, 337.6)--(175.8, 337.9)--(175.5, 338.2)--(175.1, 338.9)--(175.0, 339.0)--(174.6, 339.7)--(173.9, 340.6)--(174.0, 340.6)--(174.0, 340.7)--(174.1, 340.9)--(174.2, 341.1)--(174.3, 341.5)--(174.3, 341.9)--(174.2, 342.0)--(173.9, 342.4)--(173.6, 342.5)--(173.6, 342.8)--(174.2, 342.8)--(174.8, 342.9)--(174.9, 342.9)--(174.8, 343.0)--(174.8, 343.1)--(174.5, 343.5)--(174.1, 343.9)--(173.8, 344.2)--(173.2, 344.6)--(173.1, 344.7)--(173.0, 344.7)--(172.0, 345.2)--(171.9, 345.2)--(171.9, 345.3)--(171.8, 345.4)--(171.6, 345.6)--(171.5, 345.8)--(171.3, 346.0)--(171.2, 346.2)--(171.1, 346.5)--(171.0, 346.8)--(171.0, 347.1)--(170.8, 347.3)--(170.1, 347.8)--(169.7, 348.2)--(169.6, 348.1)--(168.7, 348.7)--(168.1, 349.1)--(168.2, 349.2)--(167.6, 349.6)--(167.4, 349.7)--(167.3, 349.8)--(167.2, 349.8)--(166.9, 350.0)--(166.4, 350.2)--(166.0, 350.5)--(165.4, 350.8)--(164.9, 351.1)--(164.4, 351.4)--(164.2, 351.5)--(163.8, 351.7)--(163.0, 352.2)--(162.4, 352.5)--(161.8, 352.8)--(161.5, 353.1)--(160.8, 353.4)--(160.2, 353.7)--(159.7, 353.8)--(159.2, 353.9)--(158.5, 354.1)--(157.8, 354.2)--(157.2, 354.4)--(156.5, 354.5)--(155.9, 354.7)--(155.8, 354.7)--(155.8, 354.6)--(155.4, 354.8)--(154.8, 355.0)--(154.9, 355.1)--(155.3, 356.4)--(155.9, 356.3)--(155.9, 356.6)--(155.9, 357.0)--(155.9, 357.6)--(156.3, 358.2)--(156.8, 359.0)--(157.3, 359.8)--(157.2, 359.9)--(157.8, 360.5)--(157.6, 360.6)--(157.7, 360.6)--(158.6, 361.4)--(158.7, 361.5)--(158.8, 361.6)--(158.9, 361.6)--(159.1, 361.6)--(159.2, 361.7)--(159.4, 361.7)--(159.8, 361.7)--(159.7, 362.0)--(159.5, 362.3)--(159.7, 362.6)--(159.5, 363.5)--(159.5, 364.4)--(159.4, 365.5)--(159.1, 365.6)--(158.7, 365.8)--(158.7, 366.3)--(158.6, 366.8)--(158.9, 366.9)--(159.3, 367.0)--(160.2, 367.3)--(160.1, 367.6)--(160.7, 367.7)--(161.1, 367.8)--(161.3, 367.9)--(161.8, 368!
.2)--(161.8, 368.4)--(162.2, 368.6)--(162.7, 368.9)--(163.3, 369.4)--(163.8, 369.8)--(163.6, 370.3)--(163.3, 370.9)--(162.8, 371.8)--(162.4, 372.7)--(161.9, 373.6)--(161.9, 373.9)--(161.8, 374.0)--(161.8, 374.2)--(161.8, 374.4)--(161.7, 374.7)--(161.4, 376.6)--(161.4, 376.8)--(161.3, 377.1)--(161.0, 377.8)--(160.7, 378.6)--(160.6, 379.0)--(160.5, 379.2)--(160.5, 379.3)--(160.5, 379.5)--(160.4, 379.7)--(160.5, 379.8)--(161.4, 380.1)--(162.7, 380.6)--(164.3, 381.4)--(164.6, 381.6)--(164.9, 381.8)--(165.2, 382.0)--(165.5, 382.3)--(165.9, 382.5)--(167.0, 383.7)--(168.9, 385.5)--(169.4, 385.9)--(169.5, 386.0)--(169.7, 386.2)--(170.6, 386.8)--(171.4, 387.3)--(173.0, 388.2)--(174.0, 388.8)--(174.3, 388.9)--(174.5, 389.1)--(174.7, 389.1)--(174.7, 389.2)--(175.0, 389.3)--(175.4, 389.4)--(175.9, 389.5)--(176.2, 389.6)--(176.6, 389.6)--(176.9, 389.7)--(177.2, 389.7)--(177.3, 389.7)--(177.9, 389.7)--(178.2, 389.7)--(178.4, 389.6)--(178.6, 389.6)--(178.7, 389.5)--(179.2, 389.3)--(179.7, 389.2)--(179.9, 389.2)--(180.0, 389.2)--(180.2, 389.2)--(181.7, 389.1)--(182.7, 389.0)--(184.2, 388.8)--(186.4, 388.4)--(189.8, 387.8)--(190.9, 387.5)--(190.9, 387.6)--(191.0, 387.6)--(191.0, 387.7)--(191.0, 388.3)--(191.0, 388.4)--(191.0, 388.5)--(191.0, 388.6)--(190.9, 388.7)--(190.8, 388.9)--(190.6, 389.4)--(190.5, 390.2)--(190.4, 390.6)--(190.4, 390.8)--(190.3, 391.2)--(190.2, 391.8)--(189.8, 392.9)--(189.7, 393.3)--(189.5, 393.6)--(189.4, 393.8)--(189.3, 394.0)--(189.3, 394.1)--(189.1, 394.4)--(188.9, 394.6)--(188.8, 394.7)--(188.7, 394.8)--(188.5, 395.0)--(188.4, 395.1)--(188.2, 395.2)--(188.0, 395.4)--(187.9, 395.5)--(187.7, 395.6)--(187.6, 395.6)--(187.4, 395.7)--(187.2, 395.8)--(186.6, 396.0)--(186.4, 396.0)--(186.1, 396.2)--(186.0, 396.2)--(185.9, 396.3)--(185.7, 396.4)--(185.6, 396.5)--(185.2, 396.9)--(185.4, 397.1)--(185.7, 397.2)--(185.9, 397.3)--(186.1, 397.4)--(186.6, 397.6)--(186.9, 397.7)--(187.1, 397.7)--(187.5, 398.0)--(187.7, 398.2)--(188.0, 398.5)--(188.1, 398.4)--(188.4, 398.3)--(188.5, 398.8)--(188.6, 398.8)--(188.9, 39!
9.0)--(189.2, 399.1)--(189.5, 399.2)--(190.0, 399.4)--(190.5, 399.5)--(191.1, 399.7)--(191.4, 399.7)--(192.8, 400.0)--(194.8, 400.4)--(194.4, 400.8)--(195.3, 401.4)--(196.4, 402.0)--(196.4, 402.1)--(196.5, 402.1)--(196.6, 402.2)--(196.7, 402.3)--(196.8, 402.3)--(196.9, 402.4)--(197.0, 402.4)--(197.1, 402.5)--(197.2, 402.5)--(197.3, 402.5)--(197.4, 402.5)--(197.5, 402.5)--(197.6, 402.5)--(197.7, 402.5)--(197.8, 402.5)--(198.1, 402.5)--(198.1, 402.4)--(198.2, 402.4)--(198.3, 402.4)--(198.4, 402.4)--(198.4, 402.5)--(198.5, 402.5)--(198.6, 402.6)--(198.8, 402.8)--(199.0, 403.0)--(199.3, 403.3)--(199.6, 403.5)--(199.8, 403.7)--(200.0, 403.9)--(200.1, 404.0)--(200.3, 404.1)--(200.6, 404.3)--(201.1, 404.8)--(201.2, 404.7)--(201.9, 403.8)--(202.2, 403.3)--(202.5, 402.8)--(202.8, 402.4)--(203.2, 402.0)--(203.5, 401.6)--(203.8, 401.3)--(204.3, 400.7)--(204.5, 400.4)--(204.9, 400.0)--(205.8, 398.8)--(206.4, 398.0)--(207.5, 396.5)--(207.7, 396.3)--(207.9, 395.9)--(208.1, 395.7)--(208.4, 395.4)--(209.4, 394.2)--(210.0, 393.5)--(210.3, 393.3)--(210.6, 393.0)--(211.0, 392.6)--(211.1, 392.4)--(211.6, 391.9)--(212.0, 391.2)--(213.1, 389.5)--(213.4, 389.2)--(214.4, 387.5)--(214.6, 387.3)--(214.6, 387.2)--(214.5, 387.2)--(213.5, 386.8)--(213.2, 386.7)--(212.9, 386.5)--(212.5, 386.4)--(212.3, 386.3)--(212.1, 385.8)--(211.9, 385.5)--(211.8, 385.4)--(211.7, 385.3)--(211.5, 385.1)--(211.3, 384.9)--(211.1, 384.9)--(211.0, 384.8)--(210.9, 384.7)--(210.8, 384.6)--(210.7, 384.5)--(210.6, 384.4)--(210.5, 384.1)--(210.5, 384.0)--(210.5, 383.9)--(210.5, 383.7)--(210.5, 383.6)--(210.5, 383.4)--(210.5, 383.3)--(210.5, 383.0)--(210.5, 382.8)--(210.5, 382.6)--(210.5, 382.4)--(210.4, 382.3)--(210.4, 382.1)--(210.4, 382.0)--(210.4, 381.9)--(210.4, 381.8)--(210.5, 381.2)--(210.5, 381.1)--(210.7, 380.7)--(210.8, 380.2)--(210.9, 379.9)--(211.1, 379.5)--(211.1, 379.4)--(211.2, 379.3)--(211.3, 379.1)--(211.3, 378.9)--(211.4, 378.5)--(211.6, 377.6)--(211.7, 377.4)--(211.7, 377.3)--(211.8, 377.0)--(211.9, 376.7)--(212.1, 376.2)--(212.2, 375.9)--(212.4, 3!
75.6)--(212.5, 375.4)--(212.7, 374.9)--(212.8, 374.8)--(212.8, 374.7)--(212.8, 374.6)--(212.7, 374.6)--(212.6, 374.5)--(212.5, 374.4)--(212.3, 374.4)--(212.1, 374.3)--(212.0, 374.3)--(211.9, 374.3)--(211.7, 374.3)--(211.7, 374.2)--(211.6, 374.2)--(211.6, 374.1)--(211.6, 374.0)--(211.6, 373.9)--(211.7, 373.8)--(211.8, 373.5)--(211.9, 373.2)--(212.0, 373.0)--(212.3, 372.7)--(212.5, 372.6)--(212.6, 372.5)--(212.7, 372.3)--(212.8, 372.1)--(212.9, 372.0)--(212.9, 371.8)--(212.9, 371.7)--(213.0, 371.7)--(213.0, 371.6)--(213.3, 371.4)--(213.5, 371.1)--(213.7, 370.8)--(213.8, 370.6)--(214.0, 370.4)--(214.1, 370.3)--(214.1, 370.2)--(214.2, 370.2)--(214.2, 370.1)--(214.3, 370.1)--(214.4, 370.1)--(214.5, 370.0)--(214.7, 369.9)--(214.7, 369.8)--(214.8, 369.7)--(214.9, 369.7)--(215.1, 369.9)--(215.2, 369.8)--(215.3, 369.7)--(215.5, 369.7)--(215.7, 369.7)--(215.8, 369.7)--(215.9, 369.8)--(215.9, 369.9)--(215.8, 370.0)--(215.7, 370.0)--(215.7, 370.1)--(215.7, 370.2)--(215.8, 370.3)--(215.9, 370.3)--(216.0, 370.2)--(216.2, 370.2)--(216.2, 370.3)--(216.3, 370.3)--(216.2, 370.5)--(216.2, 370.6)--(216.3, 370.7)--(216.5, 370.9)--(216.5, 371.1)--(216.6, 371.1)--(216.6, 371.2)--(216.6, 371.3)--(216.5, 371.3)--(216.4, 371.3)--(216.3, 371.3)--(216.3, 371.2)--(216.2, 371.2)--(216.2, 371.4)--(216.2, 371.6)--(216.2, 371.8)--(216.3, 371.9)--(216.3, 372.1)--(216.6, 372.4)--(216.6, 372.5)--(216.5, 372.6)--(216.4, 372.7)--(216.2, 372.8)--(216.1, 373.0)--(216.0, 373.0)--(216.0, 373.1)--(216.1, 373.1)--(216.1, 373.2)--(216.3, 373.3)--(216.5, 373.7)--(216.5, 373.8)--(216.6, 373.8)--(216.7, 373.8)--(216.8, 373.6)--(216.9, 373.5)--(217.1, 373.5)--(217.2, 373.6)--(217.3, 373.7)--(217.4, 373.8)--(217.5, 373.9)--(217.6, 374.0)--(217.6, 374.1)--(217.6, 374.2)--(217.7, 374.2)--(217.7, 374.3)--(217.8, 374.3)--(217.8, 374.2)--(217.8, 374.1)--(217.8, 374.0)--(217.9, 374.0)--(218.0, 374.0)--(218.2, 374.0)--(218.3, 374.1)--(218.5, 374.1)--(218.6, 374.2)--(218.7, 374.2)--(218.9, 374.2)--(219.0, 374.2)--(219.0, 374.3)--(219.0, 374.4)--(218.9, 374.4)--(218.9, !
374.5)--(218.9, 374.6)--(219.0, 374.6)--(219.1, 374.5)--(219.2, 374.6)--(219.3, 374.6)--(219.5, 374.5)--(219.6, 374.5)--(219.7, 374.4)--(219.7, 374.3)--(219.7, 374.2)--(219.7, 374.1)--(219.8, 374.0)--(219.8, 373.9)--(219.9, 373.9)--(219.9, 373.8)--(220.0, 373.8)--(220.1, 374.0)--(220.1, 374.1)--(220.2, 374.1)--(220.3, 374.0)--(220.2, 373.9)--(220.3, 373.9)--(220.4, 374.0)--(220.5, 374.1)--(220.6, 374.1)--(220.7, 374.1)--(220.8, 374.1)--(220.7, 374.0)--(220.6, 373.9)--(220.6, 373.8)--(220.7, 373.8)--(220.8, 373.8)--(220.9, 373.8)--(221.1, 373.8)--(221.2, 373.8)--(221.3, 374.0)--(221.5, 374.0)--(221.6, 373.9)--(221.7, 373.7)--(221.8, 373.7)--(221.8, 373.6)--(222.0, 373.5)--(222.1, 373.5)--(222.2, 373.5)--(222.2, 373.6)--(222.0, 373.7)--(222.0, 373.8)--(222.0, 373.9)--(222.1, 373.9)--(222.2, 373.8)--(222.3, 373.9)--(222.3, 374.0)--(222.3, 374.1)--(222.2, 374.1)--(222.2, 374.2)--(222.3, 374.2)--(222.3, 374.3)--(222.4, 374.3)--(222.5, 374.2)--(222.6, 374.2)--(222.7, 374.2)--(223.0, 374.3)--(223.1, 374.3)--(223.2, 374.2)--(223.4, 374.2)--(223.5, 374.1)--(223.6, 374.1)--(223.6, 374.2)--(223.5, 374.3)--(223.6, 374.4)--(223.7, 374.4)--(223.9, 374.4)--(223.9, 374.3)--(223.9, 374.2)--(223.7, 374.2)--(223.7, 374.1)--(223.8, 374.1)--(223.9, 374.1)--(224.0, 374.1)--(224.1, 374.0)--(224.2, 373.9)--(224.4, 373.8)--(224.4, 373.6)--(224.5, 373.5)--(224.5, 373.6)--(224.6, 373.6)--(224.7, 373.6)--(224.8, 373.5)--(224.9, 373.6)--(225.0, 373.7)--(225.2, 373.8)--(226.1, 372.7)--(226.4, 372.3)--(226.8, 371.8)--(227.0, 371.4)--(227.3, 371.1)--(227.6, 370.8)--(227.8, 370.5)--(228.1, 370.0)--(228.5, 369.5)--(228.6, 369.4)--(228.7, 369.3)--(228.9, 369.1)--(229.1, 368.9)--(229.3, 368.8)--(229.7, 368.4)--(229.9, 368.3)--(230.0, 368.1)--(230.2, 367.9)--(230.6, 367.5)--(230.8, 367.3)--(230.9, 367.1)--(231.1, 366.8)--(231.2, 366.7)--(231.5, 366.4)--(231.9, 365.9)--(232.4, 365.2)--(232.9, 364.6)--(233.1, 364.3)--(233.4, 363.9)--(233.7, 363.5)--(234.0, 363.2)--(234.4, 362.5)--(234.6, 362.1)--(235.3, 360.8)--(235.6, 360.5)--(235.8, 360.1)--(236.1,!
359.8)--(236.5, 359.3)--(236.9, 358.7)--(237.1, 358.5)--(237.2, 358.3)--(237.4, 358.1)--(237.6, 357.9)--(238.1, 357.3)--(238.2, 357.2)--(238.5, 356.7)--(239.0, 356.2)--(239.3, 355.7)--(239.5, 355.5)--(239.5, 355.4)--(239.7, 355.2)--(239.9, 354.9)--(240.0, 354.8)--(240.2, 354.4)--(240.3, 354.3)--(240.6, 353.8)--(240.8, 353.6)--(241.0, 353.4)--(241.1, 353.3)--(241.5, 352.8)--(241.8, 352.5)--(242.2, 352.0)--(242.6, 351.6)--(243.0, 351.1)--(243.5, 350.6)--(243.8, 350.3)--(243.9, 350.1)--(244.0, 350.0)--(244.3, 349.6)--(244.6, 349.2)--(245.1, 348.6)--(245.5, 347.9)--(246.1, 347.1)--(246.5, 346.5)--(246.6, 346.3)--(246.9, 346.0)--(247.2, 345.4)--(247.8, 344.7)--(247.8, 344.6)--(248.3, 343.9)--(249.6, 342.2)--(250.0, 341.7)--(250.8, 340.8)--(251.4, 339.9)--(251.6, 339.8)--(251.7, 339.7)--(251.8, 339.5)--(252.5, 338.6)--(253.7, 337.0)--(254.5, 335.9)--(254.6, 335.7)--(255.3, 334.8)--(254.3, 332.3)--(254.3, 332.2)--(254.5, 331.9)--(254.7, 331.5)--(254.8, 331.4)--(254.8, 331.2)--(254.8, 331.0)--(254.7, 330.7)--(254.6, 330.5)--(254.4, 330.2)--(254.3, 329.8)--(254.0, 329.3)--(253.5, 328.3)--(252.6, 326.4)--(252.1, 325.4)--(252.0, 325.2)--cycle;
+Bromley = (403.7, 75.3)--(403.6, 75.5)--(403.6, 75.7)--(403.5, 75.9)--(403.4, 76.0)--(403.4, 76.2)--(403.4, 76.3)--(403.3, 76.5)--(403.2, 76.7)--(403.2, 76.9)--(403.1, 77.2)--(403.1, 77.5)--(403.0, 77.7)--(402.9, 77.9)--(402.9, 78.4)--(402.9, 78.5)--(402.9, 78.6)--(402.9, 79.0)--(402.8, 79.1)--(402.8, 79.2)--(402.8, 79.3)--(402.7, 79.9)--(402.7, 80.0)--(402.7, 80.1)--(402.7, 80.2)--(402.5, 80.6)--(402.4, 80.8)--(402.4, 80.9)--(402.4, 81.0)--(402.4, 81.1)--(402.4, 81.2)--(402.4, 81.4)--(402.3, 81.9)--(402.2, 82.0)--(402.2, 82.2)--(402.1, 82.3)--(402.1, 82.5)--(402.0, 82.6)--(402.0, 82.7)--(401.9, 82.8)--(401.8, 82.9)--(401.8, 83.0)--(401.7, 83.1)--(401.7, 83.2)--(401.7, 83.3)--(401.6, 83.4)--(401.6, 83.5)--(401.6, 83.6)--(401.6, 83.7)--(401.6, 84.0)--(401.4, 84.4)--(401.3, 84.9)--(401.3, 85.1)--(401.3, 85.4)--(400.9, 86.9)--(400.8, 87.0)--(400.8, 87.2)--(400.8, 87.4)--(400.8, 87.5)--(400.8, 87.7)--(400.9, 87.9)--(401.0, 88.2)--(401.1, 88.6)--(401.2, 88.9)--(401.3, 89.2)--(401.3, 89.6)--(401.3, 90.0)--(401.4, 90.8)--(401.5, 91.1)--(401.5, 91.2)--(401.5, 91.3)--(401.6, 91.6)--(401.7, 92.2)--(401.8, 92.8)--(402.0, 93.7)--(401.8, 93.6)--(401.4, 93.6)--(401.3, 93.5)--(401.2, 93.5)--(401.1, 93.5)--(400.6, 93.4)--(400.5, 93.3)--(400.4, 93.3)--(400.3, 93.2)--(400.0, 93.1)--(399.8, 93.1)--(399.7, 93.0)--(399.4, 93.0)--(399.4, 93.1)--(399.3, 93.7)--(399.0, 94.7)--(398.9, 95.1)--(398.6, 95.8)--(398.6, 96.1)--(398.5, 96.5)--(398.5, 96.6)--(398.5, 96.8)--(398.4, 97.4)--(398.4, 97.7)--(398.3, 98.0)--(398.2, 98.3)--(398.2, 98.5)--(398.2, 98.7)--(398.0, 100.0)--(398.0, 100.2)--(397.7, 101.0)--(397.4, 102.1)--(397.2, 102.5)--(397.1, 102.8)--(397.1, 103.2)--(397.0, 103.6)--(396.9, 104.1)--(396.8, 104.7)--(396.7, 105.1)--(396.6, 105.6)--(396.5, 106.2)--(396.3, 106.8)--(396.1, 107.4)--(396.0, 107.7)--(396.0, 108.0)--(395.9, 108.2)--(395.9, 108.3)--(395.9, 108.7)--(396.0, 108.8)--(396.3, 109.2)--(396.3, 109.3)--(396.4, 109.3)--(396.4, 109.5)--(396.3, 110.0)--(396.3, 110.1)--(396.3, 110.2)--(396.3, 110.3)--(396.5, 110.5)--(39!
6.5, 110..7)--(396.6, 111.3)--(396.3, 111.4)--(396.1, 111.5)--(395.9, 111.7)--(395.6, 111.9)--(395.4, 112.3)--(395.2, 112.6)--(394.9, 112.8)--(394.8, 112.9)--(394.9, 113.0)--(394.8, 113.3)--(394.6, 113.9)--(394.6, 114.3)--(394.5, 115.0)--(394.3, 115.7)--(394.2, 116.1)--(394.1, 116.4)--(393.8, 117.6)--(393.7, 117.9)--(393.6, 118.4)--(393.5, 118.9)--(393.4, 119.3)--(393.3, 119.7)--(393.1, 120.2)--(393.1, 120.4)--(393.0, 120.5)--(393.1, 120.5)--(393.0, 120.8)--(392.9, 120.8)--(392.8, 121.5)--(392.9, 121.6)--(392.8, 121.9)--(392.7, 122.3)--(392.6, 122.6)--(392.6, 122.7)--(392.5, 123.1)--(392.3, 123.8)--(392.1, 124.3)--(392.1, 124.4)--(392.1, 124.6)--(392.1, 124.7)--(392.1, 125.0)--(392.0, 125.3)--(391.9, 125.5)--(391.8, 126.1)--(391.9, 126.1)--(391.8, 126.3)--(391.6, 126.7)--(391.6, 127.0)--(391.4, 127.5)--(391.2, 128.4)--(391.1, 128.5)--(391.0, 129.1)--(390.9, 129.6)--(390.8, 129.7)--(390.8, 129.9)--(390.7, 130.1)--(390.6, 130.4)--(390.5, 130.5)--(390.5, 130.8)--(390.4, 131.3)--(390.4, 131.9)--(390.4, 132.0)--(390.3, 132.4)--(390.3, 132.6)--(390.2, 132.9)--(390.1, 133.3)--(390.1, 133.4)--(390.1, 133.6)--(390.0, 133.7)--(390.0, 133.8)--(389.9, 133.9)--(390.0, 133.9)--(390.0, 134.0)--(389.9, 134.1)--(389.8, 134.2)--(389.8, 134.3)--(389.5, 134.7)--(389.4, 134.9)--(389.3, 135.1)--(389.1, 135.2)--(389.0, 135.3)--(389.0, 135.4)--(388.7, 135.7)--(388.5, 136.0)--(388.3, 136.3)--(388.2, 136.5)--(388.0, 136.8)--(387.8, 136.9)--(387.7, 137.2)--(387.5, 137.4)--(387.3, 137.6)--(387.1, 137.7)--(387.0, 137.9)--(386.8, 138.0)--(386.5, 138.2)--(385.8, 138.7)--(385.5, 138.9)--(385.3, 139.0)--(385.2, 139.0)--(385.1, 139.0)--(385.1, 138.9)--(385.0, 138.8)--(384.9, 138.8)--(384.6, 138.8)--(384.4, 138.9)--(384.2, 139.1)--(384.0, 139.3)--(383.8, 139.6)--(383.6, 139.8)--(383.4, 139.9)--(383.0, 140.3)--(382.6, 140.7)--(382.2, 141.2)--(381.9, 141.7)--(381.4, 142.6)--(381.1, 142.8)--(381.0, 143.0)--(380.8, 143.2)--(380.7, 143.3)--(380.6, 143.4)--(380.8, 143.5)--(380.7, 143.5)--(380.7, 143.7)--(380.6, 143.8)--(380.5, 144.0)--(380.4, 144.2)--(3!
80.3, 144.5)--(380.3, 144.7)--(380.2, 144.9)--(380.2, 145.0)--(380.1, 145.1)--(380.0, 145.3)--(379.9, 145.5)--(379.8, 145.6)--(379.7, 145.7)--(379.6, 145.8)--(379.5, 145.9)--(379.5, 146.0)--(379.4, 146.0)--(379.4, 146.2)--(379.3, 146.3)--(379.1, 146.4)--(378.9, 146.6)--(378.8, 146.7)--(378.7, 147.0)--(378.6, 147.1)--(378.5, 147.3)--(378.4, 147.5)--(378.3, 147.7)--(378.1, 147.8)--(378.0, 147.9)--(377.9, 148.2)--(377.8, 148.4)--(377.3, 148.0)--(377.1, 147.8)--(376.9, 147.7)--(376.7, 147.8)--(376.8, 148.1)--(376.2, 148.9)--(376.2, 149.3)--(376.5, 149.3)--(376.5, 149.6)--(377.0, 149.6)--(377.1, 149.6)--(377.1, 150.0)--(377.1, 150.2)--(377.0, 150.5)--(377.0, 150.8)--(377.0, 151.1)--(376.9, 151.1)--(376.8, 151.4)--(376.8, 151.7)--(376.8, 151.9)--(376.8, 152.2)--(376.8, 152.4)--(376.8, 152.5)--(376.8, 152.6)--(376.7, 152.7)--(376.7, 152.9)--(376.7, 153.1)--(376.7, 153.5)--(376.7, 154.0)--(376.7, 154.3)--(376.6, 154.3)--(376.6, 154.4)--(376.5, 154.4)--(376.6, 154.5)--(376.6, 154.7)--(376.7, 154.9)--(376.7, 155.4)--(376.4, 155.8)--(376.2, 156.2)--(376.2, 156.5)--(376.0, 157.0)--(375.6, 157.9)--(375.6, 158.0)--(375.5, 158.2)--(375.5, 158.3)--(375.5, 158.5)--(375.3, 158.7)--(375.3, 158.9)--(375.1, 159.2)--(375.0, 159.5)--(375.0, 159.6)--(374.9, 159.6)--(374.7, 160.0)--(374.9, 160.1)--(374.9, 160.5)--(374.8, 160.6)--(374.8, 160.9)--(374.8, 161.0)--(374.7, 161.1)--(374.5, 161.6)--(374.4, 162.1)--(374.3, 162.4)--(374.3, 162.7)--(374.2, 163.0)--(374.2, 163.3)--(373.3, 163.2)--(373.4, 162.9)--(373.4, 162.8)--(373.4, 162.7)--(373.4, 162.6)--(373.4, 162.5)--(373.4, 162.4)--(373.4, 162.3)--(373.3, 162.2)--(373.3, 162.1)--(373.3, 162.0)--(373.2, 162.0)--(373.2, 161.9)--(373.2, 161.8)--(373.1, 161.8)--(373.1, 161.7)--(373.0, 161.7)--(373.0, 161.6)--(372.9, 161.5)--(372.9, 161.4)--(372.8, 161.4)--(372.8, 161.3)--(372.7, 161.3)--(372.7, 161.2)--(372.6, 161.2)--(372.5, 161.1)--(372.4, 161.1)--(372.4, 161.0)--(372.3, 161.0)--(372.2, 161.0)--(372.2, 160.9)--(372.1, 160.9)--(372.0, 160.9)--(371.9, 160.9)--(371.9, 160.8)--(371.8, 160.8)--(!
371.7, 160.8)--(371.6, 160.8)--(371.5, 160.8)--(371.4, 160.7)--(371.3, 160.7)--(371.2, 160.7)--(371.1, 160.7)--(370.2, 160.6)--(369.7, 160.6)--(368.8, 160.4)--(368.1, 160.3)--(367.7, 160.3)--(367.5, 160.4)--(367.4, 160.4)--(367.4, 160.5)--(367.3, 160.5)--(367.3, 160.4)--(367.2, 160.5)--(367.6, 162.7)--(367.2, 162.6)--(367.0, 163.6)--(366.6, 165.5)--(366.4, 166.6)--(366.4, 167.4)--(366.6, 169.2)--(366.8, 170.3)--(366.8, 170.5)--(367.1, 172.2)--(367.2, 173.1)--(367.2, 173.2)--(366.8, 173.3)--(366.3, 173.4)--(366.0, 173.5)--(365.7, 173.6)--(365.3, 173.6)--(365.2, 173.6)--(365.0, 173.6)--(364.8, 173.7)--(364.4, 173.8)--(364.0, 173.9)--(363.8, 174.0)--(363.6, 174.1)--(363.5, 174.0)--(363.1, 174.1)--(362.8, 174.2)--(362.5, 174.4)--(362.1, 174.6)--(361.4, 175.3)--(361.0, 175.8)--(360.7, 176.2)--(360.5, 176.5)--(360.4, 176.8)--(360.3, 177.0)--(360.1, 176.9)--(359.9, 176.8)--(359.8, 177.0)--(359.6, 177.2)--(359.6, 177.3)--(359.3, 177.9)--(359.2, 178.1)--(359.0, 178.2)--(358.7, 178.3)--(358.5, 178.3)--(358.3, 178.3)--(357.9, 178.3)--(357.4, 178.3)--(357.3, 178.3)--(356.7, 178.5)--(356.6, 178.7)--(356.5, 178.6)--(356.4, 178.7)--(356.4, 179.1)--(356.2, 179.2)--(355.9, 179.2)--(355.9, 179.5)--(355.8, 179.7)--(355.8, 179.8)--(355.4, 180.0)--(355.4, 179.9)--(355.2, 180.1)--(355.3, 180.3)--(355.2, 180.3)--(356.3, 181.8)--(356.9, 182.6)--(357.0, 183.1)--(357.3, 183.5)--(357.2, 183.6)--(356.9, 183.2)--(356.6, 183.4)--(356.0, 183.8)--(357.0, 185.3)--(356.7, 185.6)--(356.4, 185.7)--(356.1, 186.3)--(355.7, 186.8)--(355.3, 187.4)--(355.2, 187.2)--(354.9, 187.1)--(354.7, 187.0)--(354.2, 186.9)--(353.8, 186.7)--(353.4, 186.6)--(353.2, 186.4)--(352.7, 186.2)--(352.3, 185.9)--(351.7, 185.5)--(351.3, 185.2)--(351.0, 184.9)--(350.9, 184.8)--(350.3, 184.8)--(350.1, 184.6)--(350.0, 184.8)--(350.4, 185.1)--(350.0, 185.7)--(348.9, 187.3)--(348.4, 187.2)--(348.1, 187.3)--(347.8, 187.3)--(347.7, 187.3)--(347.2, 187.4)--(347.3, 187.6)--(347.3, 187.8)--(347.0, 187.9)--(346.9, 187.9)--(346.5, 188.0)--(346.4, 188.1)--(346.2, 188.2)--(346.1, 188.3)--!
(346.0, 188.3)--(345.8, 188.5)--(345.7, 188.6)--(345.6, 188.6)--(345.5, 188.7)--(345.4, 188.8)--(345.3, 188.9)--(345.1, 189.0)--(345.0, 189.1)--(344.8, 189.3)--(344.7, 189.3)--(344.7, 189.4)--(344.6, 189.4)--(344.6, 189.5)--(344.5, 189.7)--(344.4, 189.7)--(344.3, 189.8)--(344.3, 189.9)--(344.2, 190.1)--(344.2, 190.2)--(344.1, 190.3)--(344.1, 190.5)--(344.1, 190.6)--(343.9, 190.9)--(343.9, 191.0)--(343.9, 191.1)--(343.8, 191.3)--(343.7, 191.5)--(343.6, 191.6)--(343.6, 191.7)--(343.5, 191.8)--(343.2, 192.4)--(342.9, 192.8)--(342.6, 193.2)--(342.3, 193.5)--(342.0, 193.8)--(341.7, 194.2)--(341.5, 194.5)--(341.3, 194.8)--(341.2, 195.1)--(341.0, 195.5)--(341.0, 195.6)--(340.9, 196.0)--(340.8, 196.6)--(340.8, 197.0)--(340.8, 197.4)--(340.8, 197.6)--(340.8, 197.7)--(340.9, 198.1)--(341.0, 198.4)--(341.1, 198.8)--(341.2, 199.1)--(341.3, 199.5)--(340.8, 199.6)--(340.6, 199.7)--(340.5, 199.7)--(340.4, 199.8)--(340.3, 199.9)--(340.1, 200.0)--(339.5, 200.4)--(339.6, 200.5)--(339.5, 200.6)--(339.4, 200.6)--(339.3, 200.7)--(339.3, 200.8)--(339.2, 200.9)--(339.1, 200.9)--(339.0, 201.0)--(338.9, 201.0)--(338.7, 201.3)--(338.6, 201.3)--(338.5, 201.3)--(338.4, 201.3)--(338.3, 201.3)--(338.0, 201.5)--(337.8, 201.6)--(337.6, 201.8)--(337.5, 201.9)--(336.8, 202.1)--(336.6, 202.2)--(336.3, 202.3)--(336.1, 202.4)--(335.8, 202.5)--(335.8, 202.6)--(335.8, 202.7)--(335.6, 203.0)--(335.5, 203.3)--(335.5, 203.7)--(335.4, 204.1)--(335.4, 204.2)--(335.3, 204.3)--(335.3, 204.5)--(335.4, 204.6)--(335.4, 204.7)--(335.5, 204.8)--(335.8, 205.1)--(335.9, 205.3)--(336.0, 205.6)--(336.2, 205.9)--(336.3, 206.2)--(336.4, 206.3)--(336.5, 206.5)--(336.8, 206.9)--(336.9, 207.1)--(337.0, 207.2)--(337.1, 207.3)--(337.0, 207.3)--(337.0, 207.5)--(337.1, 207.6)--(337.1, 207.8)--(337.1, 208.0)--(337.1, 208.1)--(337.2, 208.1)--(337.2, 208.2)--(337.2, 208.3)--(337.3, 208.6)--(337.6, 209.4)--(338.3, 211.1)--(338.9, 212.8)--(339.0, 213.1)--(339.3, 213.8)--(339.3, 213.9)--(339.4, 213.9)--(339.4, 214.0)--(339.5, 214.1)--(339.5, 214.2)--(339.6, 214.2)--(339.7, 214.2)-!
-(339.7, 214.3)--(339.8, 214.3)--(339.9, 214.4)--(340.0, 214.4)--(340.1, 214.4)--(340.2, 214.5)--(340.4, 214.5)--(340.6, 214.5)--(340.8, 214.6)--(341.1, 214.6)--(341.2, 214.6)--(341.4, 214.6)--(341.7, 214.6)--(341.8, 214.6)--(341.9, 214.6)--(342.0, 214.6)--(342.1, 214.6)--(342.2, 214.6)--(342.3, 214.5)--(342.4, 214.5)--(342.5, 214.5)--(342.5, 214.4)--(342.6, 214.4)--(343.1, 214.2)--(343.3, 214.1)--(343.6, 213.9)--(343.6, 214.2)--(343.7, 214.3)--(344.0, 214.3)--(344.2, 214.3)--(344.2, 214.2)--(344.6, 213.9)--(344.9, 213.7)--(345.1, 213.7)--(345.5, 213.4)--(345.7, 213.7)--(345.9, 213.6)--(346.1, 213.6)--(346.2, 213.6)--(346.4, 213.6)--(346.4, 213.5)--(346.5, 213.4)--(346.6, 213.4)--(346.7, 213.7)--(347.3, 213.7)--(347.4, 213.7)--(347.4, 213.6)--(347.7, 213.6)--(347.8, 213.6)--(347.9, 213.5)--(347.9, 213.6)--(348.1, 213.5)--(348.3, 213.4)--(348.4, 213.4)--(348.6, 213.2)--(348.8, 213.1)--(348.7, 213.0)--(348.7, 212.9)--(348.7, 212.8)--(348.8, 212.8)--(349.8, 212.2)--(349.9, 212.2)--(350.1, 212.1)--(350.3, 212.0)--(350.9, 211.7)--(351.1, 211.5)--(351.1, 211.4)--(351.4, 211.3)--(351.9, 211.2)--(352.1, 211.2)--(352.2, 211.2)--(352.3, 211.2)--(352.4, 211.2)--(352.7, 211.2)--(352.7, 211.3)--(353.2, 211.2)--(353.4, 211.8)--(353.4, 212.1)--(355.0, 212.0)--(355.5, 212.0)--(355.6, 211.3)--(355.6, 211.0)--(355.6, 210.8)--(355.9, 210.8)--(356.3, 210.9)--(356.4, 210.9)--(356.5, 211.0)--(356.8, 211.0)--(356.9, 211.1)--(357.2, 211.1)--(357.4, 211.1)--(357.7, 211.2)--(357.8, 211.2)--(358.7, 211.3)--(358.7, 211.2)--(358.9, 211.2)--(359.6, 211.2)--(359.6, 211.0)--(359.4, 211.0)--(359.4, 210.7)--(360.7, 211.2)--(361.2, 211.4)--(361.1, 211.6)--(361.1, 211.7)--(361.3, 211.7)--(361.4, 211.8)--(361.6, 211.9)--(361.7, 211.9)--(361.7, 211.7)--(361.7, 211.8)--(362.6, 212.2)--(362.5, 212.4)--(362.5, 212.5)--(362.8, 212.7)--(362.9, 212.8)--(362.9, 212.9)--(363.2, 213.0)--(363.5, 213.0)--(363.7, 212.9)--(363.8, 212.9)--(364.0, 212.9)--(364.4, 212.8)--(364.7, 212.7)--(364.8, 212.6)--(364.9, 212.8)--(365.0, 213.1)--(365.2, 213.5)--(365.4, 213.8)!
--(366.1, 213.8)--(366.3, 213.8)--(366.5, 213.8)--(366.7, 213.9)--(367.2, 213.9)--(367.5, 213.9)--(367.7, 214.0)--(367.7, 213.6)--(368.1, 213.6)--(368.1, 213.5)--(368.3, 213.5)--(368.5, 213.5)--(369.0, 213.6)--(369.4, 213.6)--(369.3, 214.2)--(369.2, 214.5)--(369.9, 214.7)--(370.2, 214.7)--(370.3, 214.7)--(370.4, 214.7)--(370.5, 214.7)--(370.7, 214.5)--(370.9, 214.5)--(371.0, 214.4)--(371.7, 213.9)--(372.1, 213.7)--(372.1, 213.6)--(372.2, 213.5)--(372.2, 213.4)--(372.4, 213.2)--(372.6, 213.1)--(372.7, 213.0)--(372.9, 212.9)--(373.3, 212.6)--(373.4, 212.5)--(373.6, 212.6)--(373.6, 212.5)--(373.7, 212.5)--(373.7, 212.4)--(373.8, 212.3)--(374.1, 212.2)--(374.3, 212.1)--(374.6, 212.0)--(374.7, 211.9)--(374.9, 211.7)--(375.1, 211.5)--(375.2, 211.3)--(375.5, 211.0)--(375.5, 210.9)--(375.6, 210.7)--(375.8, 210.4)--(375.9, 210.3)--(376.0, 210.4)--(376.1, 210.5)--(376.2, 210.4)--(376.8, 209.9)--(377.0, 209.6)--(376.6, 209.1)--(376.5, 209.0)--(376.6, 209.0)--(376.8, 208.8)--(377.0, 208.7)--(377.2, 208.5)--(377.1, 208.4)--(377.0, 208.3)--(377.0, 208.2)--(377.0, 208.1)--(376.9, 208.0)--(376.9, 207.9)--(376.9, 207.8)--(376.9, 207.3)--(376.9, 207.0)--(376.8, 206.8)--(376.7, 206.6)--(376.6, 206.4)--(376.4, 206.2)--(376.0, 205.8)--(376.6, 205.5)--(376.3, 204.9)--(376.5, 204.8)--(376.6, 204.6)--(376.8, 204.5)--(377.1, 204.3)--(377.1, 204.2)--(377.1, 204.1)--(377.4, 204.1)--(377.5, 204.2)--(377.6, 204.2)--(377.6, 204.1)--(377.7, 204.1)--(379.3, 203.9)--(379.3, 203.1)--(379.7, 203.1)--(380.0, 203.1)--(380.3, 203.1)--(380.8, 203.1)--(381.2, 203.2)--(381.7, 203.2)--(381.9, 203.2)--(381.9, 203.1)--(381.8, 203.1)--(381.8, 203.0)--(381.7, 201.9)--(381.8, 201.9)--(381.8, 201.8)--(381.9, 201.8)--(381.9, 201.6)--(382.4, 201.6)--(382.9, 201.6)--(383.6, 201.6)--(384.5, 201.6)--(385.4, 202.0)--(385.4, 202.1)--(385.5, 202.2)--(385.6, 202.3)--(385.7, 202.4)--(385.9, 202.5)--(386.1, 202.6)--(386.3, 202.6)--(386.4, 202.7)--(386.5, 202.7)--(387.2, 202.9)--(387.1, 203.2)--(387.1, 203.5)--(387.1, 203.8)--(387.2, 204.4)--(387.4, 204.4)--(387.5, 204.4!
)--(387.6, 204.4)--(387.9, 204.2)--(387.9, 203.8)--(388.0, 203.6)--(388.1, 203.3)--(388.2, 203.2)--(388.2, 203.1)--(388.2, 203.0)--(388.3, 203.0)--(388.3, 202.9)--(388.3, 202.8)--(389.5, 203.4)--(389.3, 203.7)--(389.3, 204.0)--(389.4, 204.0)--(389.4, 204.1)--(391.2, 204.4)--(391.2, 204.6)--(391.1, 204.6)--(391.4, 204.8)--(391.5, 204.9)--(391.5, 205.0)--(391.5, 205.1)--(391.5, 205.7)--(391.6, 206.0)--(391.6, 206.1)--(391.6, 206.2)--(391.6, 206.3)--(391.8, 206.5)--(392.1, 206.7)--(392.1, 206.8)--(392.3, 206.9)--(392.4, 207.1)--(392.9, 207.4)--(393.9, 206.3)--(394.1, 206.1)--(395.3, 207.1)--(395.5, 207.3)--(395.6, 207.4)--(395.5, 207.6)--(395.4, 207.9)--(395.4, 208.0)--(395.5, 208.1)--(395.3, 208.3)--(395.5, 208.7)--(395.5, 208.9)--(395.6, 209.0)--(395.7, 209.2)--(395.7, 209.3)--(395.8, 209.4)--(395.8, 209.6)--(395.8, 209.7)--(395.8, 209.8)--(395.9, 209.9)--(396.0, 210.2)--(396.3, 210.1)--(396.4, 210.4)--(396.3, 210.4)--(396.3, 210.6)--(396.3, 210.8)--(396.4, 210.7)--(396.7, 210.6)--(396.8, 211.1)--(397.0, 211.9)--(397.2, 212.5)--(397.6, 212.4)--(397.7, 212.3)--(398.5, 211.9)--(398.6, 212.1)--(399.0, 212.8)--(399.2, 213.0)--(399.3, 213.2)--(399.6, 213.3)--(399.7, 213.7)--(400.0, 213.8)--(400.8, 214.4)--(400.9, 214.9)--(401.5, 215.0)--(401.4, 215.5)--(401.2, 216.1)--(401.5, 216.1)--(401.6, 216.1)--(401.9, 216.1)--(402.3, 216.1)--(402.6, 216.2)--(403.2, 216.6)--(403.4, 216.8)--(403.5, 216.9)--(403.7, 217.0)--(403.9, 217.0)--(404.0, 217.0)--(404.2, 217.0)--(404.3, 217.1)--(404.5, 217.2)--(405.0, 217.1)--(405.1, 217.2)--(405.3, 217.1)--(405.5, 217.0)--(406.0, 216.9)--(406.1, 217.0)--(406.3, 217.2)--(406.4, 217.2)--(406.4, 217.3)--(406.5, 217.4)--(406.6, 217.5)--(406.9, 217.7)--(407.1, 217.8)--(407.3, 218.0)--(407.5, 218.2)--(407.7, 218.4)--(407.9, 218.5)--(407.9, 218.6)--(408.1, 218.7)--(408.2, 218.8)--(408.4, 218.9)--(408.8, 219.2)--(409.0, 219.4)--(409.5, 219.2)--(410.1, 218.6)--(410.3, 218.5)--(411.2, 217.5)--(411.7, 217.0)--(412.0, 216.7)--(412.3, 216.3)--(412.4, 216.2)--(412.5, 216.1)--(412.9, 215.9)--(413.2, 215.!
7)--(413..3, 215.5)--(413.8, 215.1)--(414.0, 215.0)--(414.1, 214.9)--(414.4, 214.7)--(414.6, 214.5)--(414.8, 214.3)--(415.0, 214.2)--(415.1, 213.9)--(415.4, 213.6)--(415.6, 213.4)--(415.8, 213.1)--(416.7, 212.3)--(417.6, 213.6)--(418.4, 214.9)--(418.5, 214.9)--(418.6, 214.9)--(418.6, 215.0)--(418.6, 215.4)--(418.6, 215.7)--(418.6, 215.8)--(418.6, 215.9)--(418.6, 216.0)--(418.5, 216.5)--(418.4, 216.5)--(418.4, 216.6)--(418.4, 216.9)--(418.3, 216.9)--(418.2, 217.1)--(418.1, 217.7)--(418.1, 218.1)--(417.7, 218.1)--(417.7, 218.3)--(417.9, 218.5)--(418.0, 218.6)--(418.0, 219.5)--(418.0, 219.7)--(417.9, 219.9)--(417.8, 220.2)--(417.9, 220.3)--(417.7, 220.8)--(417.7, 221.1)--(417.6, 221.3)--(417.6, 221.4)--(417.6, 221.5)--(417.5, 221.9)--(417.5, 222.0)--(417.4, 222.1)--(417.4, 222.3)--(417.4, 222.4)--(417.3, 222.6)--(417.3, 222.8)--(417.3, 223.1)--(417.3, 223.3)--(417.3, 223.4)--(417.4, 223.5)--(417.4, 223.9)--(417.4, 224.0)--(417.4, 224.5)--(417.1, 224.3)--(415.3, 223.1)--(414.7, 222.6)--(414.4, 223.2)--(413.8, 222.8)--(413.7, 223.0)--(413.6, 223.3)--(413.2, 223.5)--(413.1, 223.3)--(413.0, 223.2)--(412.9, 223.0)--(412.8, 223.1)--(413.1, 223.5)--(413.0, 223.6)--(412.9, 223.7)--(412.4, 224.0)--(412.3, 224.1)--(412.2, 224.1)--(412.1, 224.2)--(412.0, 224.4)--(411.8, 224.6)--(411.4, 224.8)--(411.1, 225.1)--(411.3, 225.3)--(411.4, 225.5)--(411.4, 225.8)--(411.3, 226.3)--(411.3, 226.7)--(411.2, 227.2)--(411.1, 227.7)--(411.1, 227.8)--(411.0, 227.8)--(410.6, 227.8)--(410.4, 227.8)--(410.4, 227.9)--(410.3, 227.9)--(410.1, 227.9)--(409.4, 227.5)--(409.0, 227.2)--(408.9, 226.9)--(408.8, 226.9)--(408.7, 227.2)--(408.7, 227.3)--(408.6, 228.1)--(408.5, 228.1)--(408.4, 228.4)--(408.4, 228.6)--(408.4, 229.0)--(408.3, 229.4)--(408.3, 229.6)--(408.3, 229.7)--(409.1, 230.0)--(409.1, 229.9)--(411.0, 230.4)--(411.1, 230.4)--(411.1, 230.7)--(411.1, 230.9)--(411.1, 231.1)--(411.0, 231.5)--(410.9, 232.0)--(410.9, 232.2)--(410.9, 232.5)--(411.0, 232.8)--(411.1, 233.0)--(411.1, 233.2)--(411.2, 233.3)--(411.2, 233.4)--(411.4, 233.6)--(411.4, 233!
.7)--(411.5, 233.7)--(411.5, 233.9)--(411.5, 234.0)--(411.5, 234.1)--(411.8, 235.4)--(412.0, 236.6)--(412.1, 236.6)--(412.3, 236.5)--(412.4, 236.5)--(412.6, 236.4)--(412.7, 236.4)--(412.9, 236.3)--(413.2, 236.2)--(413.3, 236.1)--(413.5, 236.1)--(413.6, 236.0)--(413.8, 235.9)--(413.9, 235.9)--(414.0, 235.9)--(414.1, 235.8)--(414.2, 235.8)--(414.3, 235.8)--(414.3, 235.7)--(414.4, 235.7)--(414.5, 235.5)--(414.5, 235.4)--(414.6, 235.4)--(414.6, 235.3)--(414.8, 235.3)--(415.0, 235.2)--(415.0, 235.1)--(415.1, 235.0)--(415.4, 234.8)--(415.6, 234.6)--(415.8, 234.6)--(415.9, 234.5)--(416.0, 234.5)--(416.1, 234.5)--(416.4, 234.3)--(416.5, 234.2)--(416.5, 234.1)--(416.6, 234.1)--(416.7, 234.0)--(417.1, 233.9)--(417.3, 233.8)--(417.6, 233.5)--(417.7, 233.5)--(418.0, 233.4)--(418.1, 233.4)--(418.3, 233.2)--(418.5, 233.1)--(418.6, 233.1)--(418.7, 233.1)--(418.8, 232.9)--(418.9, 232.9)--(418.9, 232.8)--(419.5, 232.2)--(419.8, 231.9)--(420.2, 231.6)--(420.4, 231.4)--(420.4, 231.2)--(420.6, 230.9)--(420.7, 230.5)--(420.9, 230.2)--(420.9, 230.1)--(421.1, 229.7)--(421.2, 229.5)--(421.4, 229.4)--(421.9, 228.9)--(422.3, 228.5)--(422.5, 228.3)--(422.5, 228.1)--(422.5, 227.9)--(423.0, 227.2)--(423.3, 226.8)--(423.4, 226.6)--(423.6, 226.4)--(423.9, 225.9)--(424.4, 225.2)--(424.8, 224.7)--(425.5, 224.0)--(425.7, 223.8)--(426.1, 223.4)--(426.8, 222.8)--(427.0, 222.5)--(427.6, 221.6)--(427.8, 221.3)--(428.1, 220.7)--(428.5, 220.0)--(428.8, 219.4)--(429.2, 218.8)--(429.4, 218.5)--(429.5, 218.4)--(430.4, 217.3)--(430.6, 216.9)--(430.7, 216.9)--(431.6, 215.8)--(431.9, 215.5)--(432.2, 215.2)--(432.3, 215.3)--(432.4, 215.3)--(432.5, 215.3)--(432.6, 215.3)--(432.7, 215.3)--(433.1, 215.5)--(433.6, 215.8)--(433.8, 215.8)--(434.1, 214.7)--(434.4, 214.3)--(435.3, 214.7)--(435.4, 214.8)--(435.5, 214.9)--(435.6, 215.0)--(435.6, 215.1)--(435.7, 215.1)--(436.0, 215.5)--(436.3, 215.8)--(436.1, 216.2)--(436.5, 216.3)--(436.4, 216.5)--(437.7, 216.9)--(437.6, 217.3)--(438.0, 217.7)--(439.0, 218.7)--(440.0, 219.7)--(440.1, 219.9)--(440.2, 220.0)--(440.9, 22!
0.6)--(441.1, 220.8)--(441.3, 221.1)--(441.5, 221.4)--(442.4, 222.9)--(442.0, 223.0)--(442.2, 223.5)--(442.7, 223.3)--(442.9, 223.2)--(443.3, 222.4)--(443.5, 223.3)--(443.6, 223.7)--(443.8, 223.7)--(444.8, 223.3)--(446.5, 222.8)--(447.2, 222.6)--(447.2, 222.5)--(447.3, 222.5)--(447.4, 222.5)--(447.6, 222.4)--(447.9, 222.3)--(448.4, 222.1)--(448.7, 221.9)--(449.0, 221.7)--(449.1, 221.6)--(449.4, 221.3)--(449.5, 221.1)--(449.7, 220.8)--(450.0, 220.2)--(450.6, 219.3)--(450.9, 218.7)--(451.2, 218.3)--(451.5, 217.7)--(451.9, 217.2)--(452.1, 216.9)--(452.2, 216.8)--(452.4, 216.6)--(452.6, 216.4)--(453.1, 215.7)--(453.2, 215.6)--(453.3, 215.4)--(453.5, 215.2)--(453.7, 215.0)--(454.0, 214.6)--(454.1, 214.4)--(454.3, 214.2)--(454.5, 214.1)--(454.6, 214.0)--(454.8, 213.8)--(454.8, 213.7)--(455.0, 213.6)--(455.1, 213.5)--(455.4, 213.2)--(455.6, 213.0)--(455.8, 212.7)--(456.2, 212.4)--(456.2, 212.3)--(456.5, 212.1)--(456.7, 211.9)--(456.9, 211.7)--(457.0, 211.6)--(457.1, 211.5)--(457.1, 211.4)--(457.5, 211.1)--(457.6, 211.1)--(458.1, 210.6)--(458.8, 210.0)--(458.9, 210.0)--(459.4, 209.6)--(459.8, 209.2)--(460.1, 208.9)--(460.3, 208.8)--(460.9, 208.3)--(461.6, 207.8)--(462.0, 207.5)--(462.9, 206.9)--(463.0, 206.8)--(462.9, 206.7)--(463.0, 206.7)--(463.1, 206.7)--(463.2, 206.6)--(463.3, 206.5)--(463.4, 206.4)--(463.5, 206.3)--(463.5, 206.2)--(463.6, 206.2)--(463.7, 206.1)--(463.9, 206.0)--(464.0, 206.0)--(464.2, 205.8)--(464.4, 205.7)--(464.6, 205.6)--(465.3, 205.2)--(465.8, 205.0)--(466.2, 204.8)--(466.2, 204.7)--(466.4, 204.6)--(466.6, 204.5)--(467.1, 204.3)--(467.5, 204.2)--(468.0, 204.0)--(468.6, 203.9)--(469.2, 203.8)--(469.5, 203.7)--(469.8, 203.7)--(469.9, 203.6)--(470.1, 203.6)--(470.1, 203.5)--(470.1, 203.4)--(470.5, 203.3)--(470.7, 203.5)--(470.8, 203.5)--(471.4, 203.5)--(471.8, 203.5)--(472.5, 203.6)--(472.8, 203.7)--(473.1, 203.7)--(473.4, 203.7)--(473.9, 203.7)--(474.0, 203.7)--(474.3, 203.8)--(474.5, 203.8)--(474.6, 203.8)--(474.9, 203.9)--(475.2, 204.0)--(475.4, 204.0)--(475.8, 204.2)--(476.5, 204.4)--(476.7, 2!
04.5)--(477.0, 204.6)--(477.4, 204.8)--(478.1, 205.2)--(478.4, 205.4)--(478.6, 205.4)--(478.8, 205.5)--(478.9, 205.6)--(479.0, 205.6)--(479.1, 205.6)--(479.2, 205.6)--(479.3, 205.7)--(479.5, 205.7)--(479.6, 205.6)--(479.8, 205.5)--(479.9, 205.5)--(480.0, 205.6)--(480.0, 205.7)--(480.1, 205.7)--(480.2, 205.8)--(480.3, 205.8)--(480.5, 205.9)--(480.6, 205.9)--(480.8, 205.9)--(480.9, 205.9)--(481.5, 205.8)--(482.0, 205.7)--(482.4, 205.6)--(483.3, 205.4)--(483.5, 205.4)--(483.7, 205.3)--(483.9, 205.3)--(484.2, 205.2)--(484.4, 205.1)--(484.8, 204.9)--(484.9, 204.8)--(485.1, 204.8)--(485.2, 204.7)--(485.9, 204.2)--(486.4, 203.9)--(486.7, 203.7)--(487.0, 203.4)--(487.2, 203.4)--(487.5, 203.2)--(487.6, 203.1)--(487.8, 203.0)--(488.0, 202.9)--(488.1, 202.8)--(488.3, 202.7)--(488.4, 202.5)--(488.6, 202.4)--(488.7, 202.3)--(489.0, 202.2)--(489.2, 202.1)--(489.5, 202.0)--(489.7, 201.9)--(490.3, 201.6)--(490.6, 201.4)--(490.8, 201.4)--(491.1, 201.2)--(491.9, 200.8)--(492.2, 200.6)--(492.4, 200.5)--(492.6, 200.4)--(492.9, 200.2)--(493.2, 200.1)--(493.2, 200.0)--(493.3, 200.0)--(493.4, 200.0)--(493.9, 199.8)--(494.4, 199.6)--(494.9, 199.4)--(495.3, 199.2)--(495.5, 199.1)--(495.4, 198.8)--(495.4, 198.7)--(495.8, 198.4)--(496.1, 198.2)--(496.4, 198.0)--(496.6, 197.7)--(496.6, 197.6)--(496.7, 197.6)--(496.7, 197.5)--(496.8, 197.5)--(496.8, 197.4)--(496.9, 197.3)--(496.9, 197.2)--(497.0, 197.2)--(497.0, 197.1)--(497.1, 197.1)--(497.2, 197.0)--(497.3, 197.0)--(497.3, 196.9)--(497.4, 196.9)--(497.5, 196.9)--(497.5, 196.8)--(497.6, 196.8)--(497.7, 196.8)--(497.8, 196.8)--(497.8, 196.7)--(497.9, 196.7)--(498.0, 196.7)--(498.1, 196.7)--(498.2, 196.8)--(498.3, 196.7)--(498.3, 196.6)--(498.3, 196.5)--(498.6, 196.0)--(498.7, 196.0)--(498.8, 196.0)--(498.8, 195.9)--(499.0, 195.7)--(499.2, 195.5)--(499.4, 195.2)--(499.6, 194.9)--(500.0, 194.3)--(500.1, 194.2)--(500.0, 194.1)--(499.9, 193.8)--(500.0, 193.8)--(500.1, 193.8)--(500.3, 193.8)--(500.5, 193.3)--(500.6, 193.1)--(500.8, 192.8)--(500.9, 192.6)--(501.0, 192.5)--(501.0, 192.4)--(501.1, !
192.1)--(501.2, 191.8)--(501.3, 191.6)--(501.4, 191.4)--(501.5, 191.1)--(501.6, 190.9)--(501.6, 190.7)--(501.7, 190.4)--(501.7, 190.2)--(501.8, 189.9)--(501.9, 189.4)--(502.0, 189.0)--(501.9, 188.7)--(502.0, 188.4)--(502.0, 188.1)--(502.0, 187.8)--(502.1, 187.5)--(502.2, 187.3)--(502.2, 187.1)--(502.3, 187.0)--(502.4, 186.7)--(502.5, 186.3)--(502.7, 185.9)--(502.8, 185.6)--(502.9, 185.4)--(502.9, 185.2)--(503.0, 185.1)--(503.2, 184.8)--(503.3, 184.6)--(503.4, 184.3)--(503.6, 183.9)--(503.9, 183.5)--(504.0, 183.3)--(504.2, 183.0)--(504.3, 182.9)--(504.4, 182.7)--(504.6, 182.5)--(504.9, 182.2)--(505.1, 181.9)--(505.3, 181.7)--(505.4, 181.6)--(504.9, 181.5)--(504.7, 181.4)--(504.6, 181.4)--(504.2, 181.4)--(503.9, 181.3)--(503.5, 181.3)--(503.1, 181.3)--(502.6, 181.2)--(502.0, 181.3)--(501.2, 181.3)--(500.6, 181.3)--(500.2, 181.4)--(500.0, 181.4)--(499.4, 181.4)--(499.0, 181.4)--(498.6, 181.4)--(498.3, 181.4)--(497.8, 181.5)--(497.3, 181.5)--(496.8, 181.5)--(496.0, 181.5)--(495.4, 181.6)--(495.2, 181.6)--(495.2, 181.1)--(495.1, 180.9)--(495.4, 180.5)--(495.9, 180.0)--(496.4, 179.7)--(496.7, 179.6)--(496.7, 179.5)--(496.7, 179.4)--(496.6, 179.3)--(496.6, 179.1)--(496.5, 178.9)--(496.5, 178.7)--(496.5, 178.5)--(496.5, 178.4)--(496.4, 178.3)--(496.2, 177.9)--(496.1, 177.8)--(496.1, 177.6)--(496.0, 177.4)--(496.0, 177.2)--(496.0, 177.0)--(496.1, 176.9)--(496.3, 176.5)--(496.5, 176.2)--(496.2, 175.8)--(496.3, 175.7)--(496.5, 175.3)--(496.8, 174.9)--(496.9, 174.7)--(497.1, 174.6)--(497.2, 174.5)--(497.2, 174.4)--(497.3, 174.4)--(497.3, 174.3)--(497.3, 174.2)--(497.3, 174.1)--(497.3, 174.0)--(497.3, 173.9)--(497.0, 173.9)--(497.0, 173.7)--(497.0, 173.4)--(496.9, 172.8)--(496.9, 172.4)--(496.9, 172.2)--(496.9, 171.7)--(496.9, 171.5)--(497.0, 171.5)--(497.1, 171.4)--(497.4, 171.3)--(497.4, 170.5)--(497.5, 169.9)--(497.5, 169.3)--(497.4, 169.2)--(497.4, 169.1)--(497.4, 168.7)--(496.9, 168.6)--(496.9, 168.5)--(496.9, 168.3)--(497.0, 167.8)--(496.9, 167.5)--(497.2, 167.4)--(497.4, 167.4)--(498.0, 167.3)--(498.0, 167.1)--(497.9,!
166.4)--(498.4, 166.2)--(498.9, 166.0)--(498.8, 165.6)--(498.9, 165.6)--(499.0, 165.5)--(499.2, 165.4)--(499.4, 165.4)--(499.5, 165.3)--(499.5, 165.2)--(499.5, 164.9)--(499.4, 164.7)--(499.3, 164.3)--(499.2, 164.0)--(499.2, 163.9)--(499.2, 163.7)--(499.1, 163.4)--(499.1, 163.1)--(499.2, 162.8)--(499.2, 162.7)--(499.2, 162.4)--(499.1, 162.2)--(498.7, 162.3)--(498.6, 162.4)--(498.5, 162.3)--(498.3, 162.0)--(498.1, 161.8)--(497.9, 161.4)--(497.9, 161.3)--(497.3, 160.6)--(497.3, 160.5)--(497.1, 160.3)--(498.0, 159.6)--(498.0, 159.4)--(498.0, 159.2)--(498.0, 159.0)--(498.1, 158.8)--(498.3, 158.8)--(497.6, 156.5)--(498.1, 156.3)--(499.0, 156.0)--(498.8, 155.2)--(498.7, 154.6)--(498.7, 154.5)--(498.7, 154.4)--(498.6, 154.4)--(498.5, 154.4)--(498.4, 154.4)--(498.3, 154.4)--(498.3, 154.5)--(498.2, 154.5)--(498.1, 154.6)--(497.7, 154.9)--(497.2, 155.3)--(497.2, 155.4)--(496.9, 154.8)--(496.9, 154.6)--(496.8, 154.2)--(496.7, 154.0)--(495.8, 153.0)--(495.7, 152.9)--(496.1, 152.6)--(496.5, 152.2)--(496.2, 151.7)--(495.8, 151.0)--(495.3, 150.0)--(494.8, 149.1)--(494.4, 148.5)--(494.3, 148.3)--(494.5, 148.0)--(494.6, 147.9)--(494.5, 147.8)--(494.5, 147.7)--(494.4, 147.6)--(494.4, 147.5)--(494.3, 147.4)--(494.3, 147.3)--(494.2, 147.2)--(494.2, 147.1)--(494.2, 147.0)--(494.1, 146.9)--(494.1, 146.8)--(494.1, 146.7)--(494.0, 146.6)--(494.0, 146.5)--(494.0, 146.4)--(494.0, 146.3)--(494.0, 146.2)--(494.0, 146.1)--(494.0, 146.0)--(494.0, 145.9)--(494.0, 145.8)--(494.1, 145.8)--(494.2, 145.8)--(494.2, 145.7)--(494.3, 145.7)--(494.3, 145.6)--(494.4, 145.6)--(494.4, 145.5)--(494.5, 145.5)--(494.6, 145.5)--(494.6, 145.3)--(494.6, 145.2)--(494.6, 145.1)--(494.6, 145.0)--(494.5, 145.0)--(494.5, 144.9)--(494.5, 144.8)--(494.5, 144.7)--(494.5, 144.6)--(494.4, 144.5)--(494.4, 144.4)--(494.4, 144.3)--(494.4, 144.2)--(494.5, 144.2)--(494.5, 144.1)--(494.5, 144.0)--(494.5, 143.9)--(494.4, 143.9)--(494.4, 143.7)--(494.4, 143.6)--(494.3, 143.5)--(494.3, 143.4)--(494.3, 143.3)--(494.7, 143.2)--(495.1, 143.1)--(494.9, 142.0)--(494.7, 140.9)--(494.6!
, 140.4)--(494.4, 140.1)--(494.0, 139.4)--(493.9, 139.4)--(493.9, 139.2)--(493.8, 139.1)--(493.8, 138.4)--(493.7, 138.0)--(493.7, 137.9)--(493.7, 137.8)--(493.7, 137.7)--(493.7, 137.6)--(493.6, 137.3)--(493.3, 137.3)--(493.2, 137.1)--(493.2, 137.0)--(493.1, 136.9)--(493.1, 136.8)--(493.1, 136.7)--(493.1, 136.5)--(493.1, 136.3)--(493.1, 136.0)--(493.1, 135.8)--(493.1, 135.7)--(493.1, 135.4)--(493.1, 135.1)--(493.1, 135.0)--(493.0, 135.0)--(493.0, 134.9)--(493.0, 134.8)--(493.0, 134.7)--(491.9, 134.1)--(492.1, 133.6)--(492.1, 133.4)--(492.0, 133.3)--(491.8, 133.1)--(491.7, 133.1)--(491.6, 133.0)--(491.5, 133.0)--(491.5, 132.9)--(491.4, 132.8)--(491.2, 132.6)--(491.1, 132.5)--(491.0, 132.4)--(490.9, 132.2)--(490.8, 131.8)--(490.4, 131.1)--(490.4, 131.0)--(491.0, 130.9)--(490.9, 130.5)--(490.8, 130.5)--(490.7, 130.5)--(490.6, 130.6)--(490.5, 130.6)--(490.3, 130.6)--(490.2, 130.6)--(490.1, 130.6)--(490.1, 130.2)--(490.1, 130.1)--(490.0, 130.1)--(489.9, 130.1)--(489.8, 130.0)--(489.7, 129.9)--(489.7, 129.8)--(489.6, 129.8)--(489.6, 129.7)--(489.6, 129.6)--(489.6, 129.5)--(489.6, 129.4)--(489.4, 129.2)--(489.3, 129.3)--(489.2, 129.3)--(489.1, 129.3)--(489.0, 129.3)--(488.9, 129.3)--(488.7, 129.3)--(488.7, 129.2)--(488.7, 129.1)--(488.7, 129.0)--(488.7, 128.9)--(488.8, 128.9)--(488.8, 128.8)--(488.9, 128.8)--(488.9, 128.7)--(489.0, 128.7)--(489.0, 128.6)--(489.1, 128.6)--(489.1, 128.5)--(489.2, 128.4)--(489.2, 128.3)--(489.3, 128.3)--(489.3, 128.2)--(489.3, 128.1)--(489.4, 128.1)--(489.4, 128.0)--(489.4, 127.9)--(489.4, 127.8)--(489.4, 127.7)--(489.4, 127.6)--(489.3, 127.4)--(489.3, 127.3)--(489.1, 127.4)--(489.0, 127.5)--(488.8, 127.6)--(488.6, 127.7)--(488.4, 127.7)--(488.3, 127.8)--(488.1, 127.9)--(487.8, 128.0)--(487.7, 128.0)--(487.7, 128.1)--(487.6, 128.1)--(487.5, 128.1)--(487.4, 128.2)--(487.3, 128.2)--(487.2, 128.3)--(487.1, 128.3)--(487.0, 128.3)--(486.8, 128.4)--(486.7, 128.4)--(486.1, 128.6)--(485.9, 128.6)--(485.6, 128.7)--(485.6, 128.4)--(485.4, 128.4)--(485.2, 128.4)--(484.7, 128.5)--(484.2, 128.6)--(484.!
0, 128.6)--(483.6, 128.7)--(482.8, 128.7)--(482.5, 128.7)--(482.5, 128.8)--(482.4, 128.8)--(482.3, 128.8)--(482.1, 128.8)--(482.0, 128.9)--(481.8, 128.9)--(481.7, 128.9)--(481.4, 128.9)--(481.3, 128.9)--(481.2, 128.9)--(481.1, 128.9)--(481.1, 129.0)--(481.0, 129.0)--(480.7, 128.8)--(480.2, 128.6)--(480.1, 128.5)--(480.0, 128.4)--(479.9, 128.4)--(479.9, 128.1)--(479.6, 127.9)--(479.3, 127.7)--(479.0, 127.6)--(478.7, 127.4)--(478.4, 127.3)--(477.9, 127.2)--(477.5, 127.1)--(477.4, 127.2)--(477.4, 127.1)--(476.9, 127.1)--(476.5, 127.0)--(476.4, 126.9)--(476.2, 126.6)--(475.9, 126.2)--(475.8, 126.2)--(475.8, 125.9)--(475.8, 125.8)--(475.7, 125.8)--(475.6, 125.8)--(475.5, 125.3)--(475.4, 124.8)--(475.3, 123.9)--(475.3, 123.7)--(475.5, 122.9)--(475.7, 122.0)--(475.9, 122.1)--(476.5, 122.3)--(477.0, 120.9)--(476.5, 120.5)--(476.9, 119.5)--(477.1, 118.6)--(477.3, 117.9)--(477.5, 117.2)--(477.6, 117.0)--(477.8, 116.5)--(478.0, 116.2)--(478.4, 115.9)--(478.9, 115.4)--(479.0, 115.3)--(478.9, 115.2)--(478.6, 114.6)--(478.2, 113.9)--(478.0, 113.6)--(477.9, 113.5)--(477.7, 113.2)--(477.5, 113.0)--(477.2, 112.7)--(477.0, 112.6)--(477.0, 112.5)--(476.9, 112.4)--(476.8, 112.3)--(476.7, 112.3)--(476.7, 112.2)--(476.6, 112.1)--(476.6, 112.0)--(476.5, 112.0)--(476.5, 111.9)--(476.4, 111.9)--(476.4, 111.8)--(476.4, 111.7)--(476.4, 111.6)--(476.4, 111.5)--(476.4, 111.4)--(476.4, 111.2)--(476.4, 110.9)--(476.5, 110.8)--(476.1, 110.6)--(475.9, 110.8)--(475.6, 111.2)--(475.0, 110.6)--(474.6, 109.8)--(474.0, 108.2)--(473.9, 108.2)--(473.6, 108.3)--(473.1, 108.4)--(473.2, 108.4)--(472.2, 108.6)--(471.9, 108.6)--(471.5, 108.9)--(471.3, 108.9)--(471.1, 108.8)--(471.1, 108.3)--(471.0, 108.0)--(470.9, 107.8)--(470.9, 107.3)--(470.5, 107.4)--(470.1, 107.7)--(469.7, 107.9)--(469.2, 108.1)--(469.1, 108.2)--(469.0, 108.1)--(468.9, 108.1)--(468.7, 108.0)--(468.4, 108.0)--(468.1, 108.1)--(467.7, 108.1)--(467.6, 108.1)--(467.5, 108.0)--(467.4, 108.0)--(467.4, 107.9)--(467.2, 107.5)--(467.1, 107.4)--(467.0, 107.2)--(467.0, 107.1)--(466.9, 107.1)--(466!
.8, 107.0)--(466.6, 106.7)--(466.4, 106.4)--(466.3, 106.4)--(465.9, 106.4)--(465.6, 106.4)--(465.5, 106.4)--(465.5, 106.2)--(465.0, 106.1)--(464.7, 105.9)--(464.7, 105.8)--(464.7, 105.7)--(464.7, 105.6)--(464.5, 104.9)--(464.5, 104.8)--(464.5, 104.6)--(464.4, 104.5)--(464.4, 104.4)--(464.3, 104.2)--(463.9, 103.7)--(463.9, 103.6)--(463.8, 103.5)--(463.5, 103.3)--(463.2, 102.9)--(462.7, 102.2)--(462.3, 101.8)--(461.8, 101.3)--(461.6, 101.1)--(461.3, 100.8)--(460.5, 100.1)--(460.2, 99.9)--(460.0, 99.8)--(459.8, 99.7)--(459.7, 99.7)--(459.4, 99.4)--(459.3, 99.4)--(458.9, 99.2)--(458.6, 99.0)--(458.4, 98.9)--(458.1, 98.8)--(458.0, 98.7)--(457.8, 98.6)--(457.5, 98.5)--(457.3, 98.3)--(457.1, 98.2)--(457.0, 98.1)--(456.9, 98.1)--(456.8, 98.0)--(456.5, 97.9)--(456.3, 97.9)--(456.2, 97.8)--(455.9, 97.6)--(455.6, 97.1)--(455.5, 96.8)--(455.4, 96.7)--(455.2, 96.3)--(454.9, 95.9)--(454.6, 95.6)--(454.3, 95.2)--(454.0, 95.0)--(454.0, 94.7)--(454.1, 94.6)--(454.1, 94.5)--(454.1, 94.4)--(454.2, 94.2)--(454.3, 94.0)--(454.4, 93.8)--(454.5, 93.6)--(454.4, 93.6)--(454.4, 93.5)--(454.3, 92.5)--(454.1, 92.1)--(454.1, 91.8)--(454.1, 91.7)--(454.1, 91.4)--(454.1, 91.3)--(454.2, 91.3)--(454.2, 91.2)--(454.1, 90.9)--(454.1, 90.7)--(454.0, 90.6)--(453.9, 90.4)--(453.8, 90.4)--(453.8, 90.3)--(453.7, 90.2)--(453.7, 90.1)--(453.6, 89.5)--(453.5, 89.5)--(453.5, 89.4)--(453.2, 89.0)--(453.2, 88.8)--(453.3, 88.7)--(453.4, 88.3)--(453.4, 88.2)--(453.5, 88.1)--(453.5, 88.0)--(453.5, 87.9)--(453.6, 87.9)--(453.6, 87.8)--(453.7, 87.2)--(453.8, 87.0)--(453.8, 86.8)--(453.9, 86.7)--(453.9, 86.6)--(454.0, 86.6)--(454.0, 86.5)--(454.1, 86.5)--(454.1, 86.4)--(454.0, 86.3)--(453.6, 86.1)--(453.7, 85.9)--(453.9, 85.4)--(454.0, 85.1)--(454.1, 84.7)--(454.2, 83.9)--(453.8, 83.8)--(453.3, 83.6)--(453.0, 83.5)--(452.8, 83.4)--(453.1, 82.7)--(453.2, 82.5)--(453.7, 81.7)--(454.0, 81.3)--(454.2, 81.0)--(454.4, 80.7)--(454.5, 80.4)--(454.7, 80.0)--(455.1, 79.1)--(455.2, 78.9)--(455.2, 78.8)--(455.2, 78.7)--(455.2, 78.4)--(455.2, 78.1)--(455.3, 77.6)--(455.4, 77.!
5)--(455..4, 77.4)--(455.5, 77.4)--(455.7, 77.2)--(455.9, 76.9)--(456.0, 76.7)--(456.2, 76.6)--(456.3, 76.5)--(456.5, 76.2)--(457.1, 75.5)--(457.5, 75.0)--(457.6, 74.8)--(457.7, 74.8)--(457.7, 74.7)--(458.0, 74.5)--(458.9, 73.8)--(458.9, 73.7)--(458.8, 73.6)--(458.7, 73.5)--(458.6, 73.5)--(458.0, 73.2)--(457.9, 73.1)--(457.8, 73.1)--(457.8, 73.0)--(457.7, 73.0)--(457.6, 72.9)--(456.5, 71.5)--(456.3, 71.2)--(456.1, 71.1)--(456.1, 71.0)--(456.1, 70.6)--(456.0, 70.5)--(455.7, 70.1)--(455.7, 70.0)--(455.6, 70.0)--(455.6, 69.9)--(455.5, 69.8)--(455.4, 69.7)--(455.3, 69.6)--(455.2, 69.5)--(455.1, 69.4)--(455.0, 69.4)--(454.9, 69.3)--(454.7, 69.3)--(454.0, 69.0)--(453.6, 68.6)--(453.5, 68.5)--(453.3, 68.5)--(453.0, 68.4)--(452.8, 68.3)--(452.7, 68.3)--(452.6, 68.3)--(452.5, 68.2)--(452.4, 68.1)--(452.4, 68.0)--(452.3, 68.0)--(452.3, 68.1)--(452.2, 68.0)--(452.0, 68.0)--(451.8, 67.9)--(451.7, 67.9)--(451.6, 67.9)--(451.6, 67.8)--(451.5, 67.8)--(451.4, 67.8)--(451.3, 67.8)--(451.2, 67.8)--(451.1, 67.8)--(451.0, 67.8)--(450.9, 67.8)--(450.8, 67.8)--(450.5, 67.8)--(450.3, 67.9)--(450.2, 67.9)--(450.1, 67.9)--(450.0, 67.9)--(449.7, 67.8)--(449.5, 67.9)--(449.4, 67.9)--(449.2, 67.9)--(449.2, 67.8)--(449.1, 67.8)--(449.0, 67.8)--(448.9, 67.8)--(448.8, 67.8)--(448.7, 67.8)--(448.5, 67.8)--(448.4, 67.8)--(448.0, 67.8)--(447.9, 67.8)--(447.7, 67.8)--(447.4, 67.7)--(447.0, 67.7)--(446.9, 67.6)--(446.7, 67.6)--(446.6, 67.6)--(446.4, 67.5)--(446.3, 67.5)--(446.2, 67.5)--(446.1, 67.4)--(445.9, 67.4)--(445.8, 67.4)--(445.8, 67.3)--(445.7, 67.3)--(445.6, 67.3)--(445.4, 67.2)--(445.2, 67.1)--(445.1, 67.0)--(445.0, 67.0)--(444.9, 66.9)--(444.8, 66.9)--(444.7, 66.9)--(444.5, 66.9)--(443.3, 66.5)--(442.6, 66.3)--(442.6, 66.1)--(442.5, 66.2)--(442.4, 66.2)--(442.3, 66.2)--(442.2, 66.2)--(442.1, 66.2)--(442.0, 66.2)--(441.9, 66.1)--(441.6, 66.1)--(441.5, 66.1)--(441.5, 66.0)--(441.4, 66.0)--(441.3, 66.0)--(441.2, 65.9)--(441.1, 65.9)--(441.0, 65.8)--(440.9, 65.7)--(440.8, 65.7)--(440.7, 65.7)--(440.6, 65.6)--(440.5, 65.6)--(440.4, 65.6)--(44!
0.4, 65.5)--(440.3, 65.5)--(440.2, 65.5)--(440.0, 65.5)--(439.9, 65.5)--(439.8, 65.5)--(439.7, 65.5)--(439.6, 65.5)--(439.3, 65.5)--(439.2, 65.6)--(439.1, 65.5)--(438.9, 65.5)--(438.4, 65.3)--(438.1, 65.2)--(437.9, 65.2)--(437.6, 65.1)--(437.3, 65.1)--(436.9, 64.9)--(436.5, 64.8)--(436.4, 64.8)--(436.3, 64.9)--(436.1, 65.1)--(436.1, 65.2)--(436.0, 65.2)--(436.0, 65.3)--(435.9, 65.3)--(435.9, 65.4)--(435.9, 65.5)--(435.8, 65.7)--(435.8, 65.8)--(435.7, 65.9)--(435.7, 66.0)--(435.7, 66.1)--(435.7, 66.2)--(435.6, 66.2)--(435.6, 66.3)--(435.6, 66.4)--(435.5, 66.4)--(435.5, 66.5)--(435.4, 66.6)--(435.4, 66.7)--(435.4, 66.8)--(435.3, 66.8)--(435.3, 66.9)--(435.3, 67.0)--(435.2, 67.0)--(435.2, 67.1)--(435.2, 67.2)--(435.1, 67.2)--(435.1, 67.3)--(435.0, 67.4)--(434.9, 67.6)--(434.8, 67.6)--(434.8, 67.7)--(434.7, 67.8)--(434.7, 67.9)--(434.6, 67.9)--(434.6, 68.0)--(434.6, 68.1)--(434.5, 68.1)--(434.4, 68.1)--(434.3, 68.0)--(434.2, 68.0)--(434.1, 68.0)--(434.0, 67.9)--(433.9, 67.9)--(433.8, 67.9)--(433.7, 67.8)--(433.4, 67.8)--(433.1, 68.0)--(432.9, 68.2)--(432.8, 68.2)--(432.7, 68.3)--(432.6, 68.4)--(432.4, 68.5)--(432.2, 68.6)--(432.2, 68.7)--(432.0, 68.8)--(431.7, 69.0)--(431.6, 69.0)--(431.5, 69.1)--(431.4, 69.2)--(431.3, 69.2)--(431.3, 69.3)--(431.2, 69.4)--(431.0, 69.6)--(431.0, 69.7)--(430.9, 69.7)--(430.9, 69.8)--(430.8, 69.8)--(430.7, 69.8)--(430.6, 69.8)--(430.3, 69.7)--(430.2, 69.7)--(430.0, 69.6)--(429.9, 69.6)--(429.7, 69.6)--(429.6, 69.5)--(429.5, 69.5)--(429.4, 69.5)--(429.3, 69.5)--(429.2, 69.5)--(429.1, 69.5)--(429.0, 69.5)--(428.8, 69.5)--(428.6, 69.6)--(428.4, 69.6)--(428.3, 69.7)--(428.2, 69.7)--(428.1, 69.7)--(428.0, 69.7)--(427.9, 69.7)--(427.5, 69.8)--(427.3, 69.7)--(427.2, 69.6)--(427.1, 69.5)--(427.0, 69.2)--(426.9, 68.9)--(426.7, 68.7)--(426.3, 68.5)--(426.2, 68.5)--(426.2, 68.4)--(426.1, 68.4)--(426.0, 68.4)--(426.0, 68.3)--(425.9, 68.3)--(425.8, 68.3)--(425.7, 68.3)--(425.7, 68.2)--(425.6, 68.2)--(425.5, 68.2)--(425.4, 68.2)--(425.3, 68.2)--(425.2, 68.2)--(425.1, 68.2)--(425.0, 68.2)--(425.1, 68!
.5)--(425.2, 69.2)--(425.2, 69.3)--(425.2, 69.5)--(425.2, 69.6)--(425.2, 69.8)--(425.3, 70.4)--(425.4, 70.5)--(425.4, 70.6)--(425.4, 70.7)--(425.4, 71.1)--(425.4, 71.8)--(425.5, 72.1)--(425.5, 72.5)--(425.6, 72.6)--(425.6, 72.7)--(425.6, 72.8)--(425.7, 73.0)--(425.7, 73.1)--(425.8, 73.4)--(425.8, 73.5)--(425.9, 73.9)--(425.9, 74.0)--(426.0, 74.3)--(426.0, 74.4)--(426.0, 74.6)--(426.1, 74.6)--(426.2, 74.8)--(426.1, 74.8)--(425.9, 74.9)--(425.8, 75.0)--(425.6, 75.1)--(425.5, 75.2)--(425.4, 75.2)--(425.3, 75.3)--(425.3, 75.8)--(425.3, 76.0)--(425.3, 76.2)--(425.2, 76.4)--(425.2, 76.5)--(425.1, 77.1)--(425.1, 77.4)--(425.0, 77.6)--(424.9, 77.9)--(424.8, 78.2)--(424.7, 78.5)--(424.5, 78.8)--(424.4, 78.9)--(424.3, 79.1)--(424.1, 79.5)--(424.1, 79.6)--(424.0, 79.5)--(423.8, 79.3)--(423.8, 79.4)--(423.7, 79.3)--(423.6, 79.5)--(423.7, 79.5)--(423.3, 79.9)--(423.2, 80.0)--(423.2, 79.9)--(423.1, 79.9)--(422.6, 80.2)--(422.2, 80.6)--(421.8, 81.2)--(421.5, 81.5)--(421.4, 81.6)--(420.7, 82.3)--(420.7, 82.4)--(420.6, 82.4)--(420.6, 82.3)--(420.4, 82.5)--(420.5, 82.6)--(420.4, 82.7)--(420.3, 82.8)--(420.2, 82.9)--(419.9, 83.1)--(419.5, 83.4)--(418.8, 83.8)--(418.7, 83.8)--(418.7, 83.9)--(418.6, 84.0)--(418.4, 84.1)--(418.2, 84.3)--(418.0, 84.5)--(417.6, 83.9)--(417.4, 83.7)--(417.3, 83.7)--(417.2, 83.6)--(416.8, 83.3)--(416.7, 83.2)--(416.6, 82.9)--(416.4, 82.6)--(416.4, 82.5)--(416.3, 82.4)--(416.2, 82.3)--(415.7, 82.1)--(415.6, 82.1)--(415.6, 82.0)--(415.4, 81.9)--(415.1, 81.7)--(414.7, 81.3)--(414.6, 81.3)--(414.4, 81.0)--(414.1, 80.4)--(414.0, 80.4)--(413.9, 80.2)--(413.8, 80.2)--(413.5, 79.6)--(413.4, 79.5)--(413.2, 79.4)--(412.8, 78.8)--(412.5, 78.4)--(412.4, 78.1)--(412.3, 77.9)--(412.3, 77.8)--(412.2, 77.5)--(412.1, 77.2)--(412.0, 76.7)--(412.0, 76.5)--(412.0, 76.4)--(411.9, 76.3)--(411.9, 76.1)--(411.8, 75.9)--(411.8, 75.8)--(411.7, 75.6)--(411.5, 75.2)--(411.4, 75.0)--(411.3, 74.9)--(411.2, 74.7)--(410.8, 74.0)--(410.7, 73.7)--(410.2, 73.0)--(410.2, 72.9)--(410.1, 72.8)--(410.0, 72.3)--(409.9, 72.1)--(409.9, 71.8)--(4!
09.9, 71.7)--(409.9, 71.5)--(409.9, 71.4)--(409.9, 71.1)--(409.9, 71.0)--(409.9, 70.8)--(409.9, 70.7)--(409.8, 70.6)--(409.6, 70.2)--(409.6, 70.1)--(409.6, 70.0)--(409.5, 69.8)--(409.5, 69.3)--(409.4, 69.2)--(409.4, 69.1)--(409.4, 68.8)--(409.4, 68.6)--(409.3, 68.3)--(409.0, 67.4)--(408.9, 66.9)--(408.8, 66.6)--(408.6, 66.6)--(408.1, 66.7)--(407.6, 66.7)--(406.9, 66.7)--(406.4, 66.7)--(406.0, 66.7)--(405.7, 67.3)--(405.6, 67.5)--(405.5, 67.8)--(405.5, 68.1)--(405.4, 68.3)--(405.4, 68.8)--(405.4, 68.9)--(405.2, 69.5)--(405.1, 69.7)--(405.0, 70.4)--(404.9, 70.8)--(404.7, 71.6)--(404.5, 72.0)--(404.4, 72.4)--(404.3, 72.8)--(404.2, 73.3)--(404.1, 73.9)--(403.9, 74.5)--(403.9, 74.8)--cycle;
+Camden = (288.4, 372.2)--(288.3, 372.1)--(288.3, 372.0)--(288.5, 371.7)--(288.8, 371.3)--(289.0, 370.6)--(289.1, 370.1)--(289.3, 368.9)--(289.3, 368.4)--(289.4, 368.1)--(289.4, 368.0)--(289.5, 367.8)--(289.7, 367.2)--(289.7, 367.1)--(289.7, 367.0)--(289.7, 366.9)--(289.7, 366.8)--(289.7, 366.3)--(289.7, 366.1)--(289.7, 366.0)--(289.7, 365.8)--(289.7, 365.7)--(289.8, 365.5)--(289.8, 365.2)--(289.8, 364.9)--(289.8, 364.6)--(289.8, 364.5)--(289.8, 364.4)--(289.7, 364.2)--(289.6, 363.7)--(289.6, 363.6)--(289.6, 363.4)--(289.6, 363.2)--(289.6, 362.8)--(289.6, 362.6)--(289.6, 362.5)--(289.7, 362.3)--(289.7, 362.2)--(289.8, 362.1)--(289.8, 362.0)--(290.0, 361.8)--(290.6, 360.5)--(290.8, 360.1)--(290.9, 359.9)--(291.4, 358.8)--(291.5, 358.6)--(292.2, 357.3)--(292.3, 357.2)--(292.4, 357.1)--(292.4, 357.0)--(292.5, 356.9)--(292.9, 356.6)--(293.3, 356.4)--(293.6, 356.3)--(293.7, 356.2)--(293.8, 356.1)--(293.9, 356.0)--(294.0, 355.7)--(294.2, 355.4)--(294.2, 355.3)--(294.4, 355.1)--(294.7, 354.8)--(295.2, 354.2)--(296.0, 353.5)--(296.2, 353.3)--(296.6, 353.0)--(296.6, 352.9)--(296.8, 352.8)--(296.9, 352.7)--(296.9, 352.6)--(296.9, 352.5)--(297.0, 352.5)--(297.0, 352.1)--(297.0, 351.9)--(297.3, 351.0)--(297.4, 350.7)--(297.5, 350.6)--(297.7, 350.4)--(298.0, 350.0)--(298.2, 349.9)--(298.8, 349.4)--(299.0, 349.3)--(299.1, 349.1)--(299.2, 349.1)--(299.3, 349.0)--(299.5, 348.7)--(299.6, 348.6)--(299.6, 348.5)--(299.6, 348.4)--(299.8, 347.8)--(300.0, 346.9)--(300.1, 346.3)--(300.2, 345.8)--(300.2, 345.7)--(300.4, 344.7)--(300.5, 344.0)--(300.6, 343.6)--(300.6, 343.5)--(300.6, 343.3)--(300.6, 343.1)--(300.7, 342.8)--(300.8, 342.4)--(300.9, 342.0)--(301.1, 341.7)--(301.2, 341.4)--(301.2, 341.3)--(301.3, 341.1)--(301.4, 340.8)--(301.8, 339.9)--(302.0, 339.6)--(302.2, 339.3)--(302.5, 338.9)--(302.6, 338.6)--(302.7, 338.5)--(302.9, 337.8)--(303.0, 337.5)--(303.1, 337.2)--(303.2, 336.7)--(303.2, 336.0)--(303.3, 335.8)--(303.3, 335.5)--(303.3, 335.2)--(303.3, 334.1)--(303.3, 333.5)--(303.3, 332.1)--(303.2, 330.3)--(303.3, 329.9!
)--(303.3, 329.8)--(303.6, 329.9)--(304.2, 330.0)--(305.1, 330.1)--(305.7, 329.9)--(306.3, 329.7)--(306.7, 329.6)--(307.1, 329.4)--(307.5, 329.2)--(307.8, 329.0)--(307.9, 328.9)--(307.9, 328.8)--(307.9, 328.7)--(308.0, 328.6)--(308.0, 328.5)--(308.1, 327.7)--(308.1, 327.3)--(308.2, 326.9)--(308.2, 326.8)--(308.3, 326.7)--(308.3, 326.6)--(308.4, 326.5)--(308.8, 326.1)--(309.0, 325.9)--(309.4, 325.5)--(309.5, 325.4)--(309.6, 325.4)--(309.7, 325.3)--(310.0, 325.2)--(309.9, 325.0)--(309.5, 324.6)--(309.2, 324.2)--(309.2, 324.1)--(309.3, 323.9)--(309.4, 323.5)--(309.6, 323.2)--(309.6, 323.1)--(309.7, 323.0)--(309.9, 322.8)--(310.4, 322.3)--(310.5, 322.2)--(310.7, 322.1)--(310.9, 322.1)--(311.3, 321.9)--(311.8, 321.8)--(312.2, 321.6)--(312.3, 321.6)--(312.5, 321.6)--(312.6, 321.5)--(312.7, 321.4)--(312.9, 321.5)--(313.1, 321.1)--(313.2, 320.9)--(313.4, 320.5)--(314.3, 320.6)--(314.6, 320.1)--(314.7, 319.9)--(314.8, 319.6)--(314.9, 319.2)--(315.0, 319.0)--(315.1, 318.5)--(315.4, 317.3)--(315.5, 316.6)--(315.2, 316.4)--(315.0, 316.3)--(314.7, 316.2)--(314.4, 316.0)--(314.1, 315.8)--(314.0, 315.8)--(313.9, 315.7)--(313.6, 315.7)--(313.0, 315.8)--(312.7, 315.8)--(312.0, 316.0)--(311.2, 316.1)--(310.7, 316.2)--(310.2, 316.2)--(309.7, 316.1)--(309.7, 316.0)--(309.7, 315.8)--(309.8, 315.8)--(310.0, 315.4)--(310.4, 314.8)--(310.9, 313.9)--(311.1, 313.4)--(311.3, 312.9)--(311.2, 312.9)--(310.8, 312.8)--(310.8, 312.7)--(309.7, 312.3)--(309.1, 313.6)--(307.4, 312.9)--(307.1, 312.7)--(306.6, 312.4)--(306.4, 312.4)--(306.4, 312.2)--(306.4, 312.1)--(306.3, 312.0)--(306.0, 311.9)--(305.8, 311.8)--(305.3, 311.9)--(304.6, 312.1)--(304.2, 312.2)--(304.0, 311.9)--(303.5, 312.5)--(303.1, 312.1)--(303.0, 312.0)--(302.7, 311.7)--(302.4, 311.4)--(301.9, 310.9)--(301.2, 310.5)--(300.9, 310.2)--(300.8, 310.1)--(300.7, 310.0)--(300.7, 309.9)--(300.6, 309.7)--(300.5, 309.7)--(300.4, 309.7)--(300.3, 309.6)--(300.2, 309.7)--(300.0, 309.9)--(299.8, 310.1)--(299.7, 310.2)--(299.4, 310.4)--(299.3, 310.5)--(299.2, 310.5)--(299.0, 310.5)--(298.8, 311.!
2)--(298..7, 311.6)--(298.2, 313.2)--(298.2, 313.4)--(298.2, 313.5)--(298.2, 313.8)--(298.2, 313.9)--(298.2, 314.0)--(297.9, 314.5)--(297.7, 314.5)--(297.7, 314.4)--(297.4, 314.3)--(296.8, 314.1)--(296.7, 314.6)--(296.4, 314.8)--(296.0, 315.2)--(295.8, 315.0)--(295.7, 315.0)--(295.6, 315.0)--(295.4, 315.4)--(295.4, 315.5)--(294.8, 316.5)--(294.4, 316.2)--(294.0, 316.7)--(293.6, 316.4)--(292.8, 317.4)--(292.7, 317.6)--(292.7, 317.7)--(292.6, 317.8)--(292.3, 318.1)--(292.0, 318.5)--(291.6, 319.1)--(291.1, 319.7)--(290.4, 320.5)--(289.3, 321.9)--(289.2, 321.8)--(289.1, 321.9)--(288.9, 321.9)--(288.9, 322.0)--(289.0, 322.6)--(288.9, 322.7)--(288.6, 322.7)--(288.4, 322.7)--(288.5, 322.0)--(288.1, 322.0)--(288.0, 322.0)--(287.7, 321.9)--(287.3, 323.4)--(286.3, 323.1)--(284.3, 329.9)--(283.5, 332.2)--(283.1, 333.7)--(282.1, 336.9)--(281.7, 336.8)--(281.3, 336.7)--(281.1, 336.7)--(281.0, 336.7)--(280.7, 336.6)--(280.6, 336.6)--(280.4, 336.5)--(280.2, 336.5)--(280.0, 336.3)--(278.8, 335.9)--(278.1, 335.6)--(277.5, 335.5)--(276.8, 336.5)--(275.8, 336.0)--(274.8, 335.4)--(274.6, 335.3)--(274.5, 335.2)--(273.7, 334.7)--(272.6, 335.9)--(271.5, 337.0)--(271.4, 337.1)--(271.2, 337.2)--(270.8, 337.6)--(270.6, 337.7)--(270.5, 337.7)--(270.5, 337.8)--(269.5, 336.8)--(268.8, 337.5)--(267.7, 336.6)--(267.4, 337.1)--(267.3, 337.1)--(267.3, 337.2)--(267.3, 337.3)--(267.4, 338.7)--(266.1, 338.8)--(264.3, 338.9)--(264.2, 338.9)--(264.0, 338.9)--(263.8, 338.9)--(263.6, 338.8)--(263.3, 338.8)--(263.1, 338.7)--(263.0, 338.6)--(262.9, 338.6)--(262.1, 338.2)--(261.3, 337.7)--(260.5, 337.3)--(260.4, 337.1)--(260.3, 337.1)--(260.1, 336.9)--(260.0, 336.8)--(260.0, 336.7)--(259.5, 336.0)--(259.4, 335.9)--(257.9, 333.5)--(257.9, 333.4)--(257.8, 333.4)--(257.8, 333.3)--(257.4, 333.0)--(257.2, 332.9)--(257.0, 333.2)--(256.9, 333.3)--(256.8, 333.4)--(256.8, 333.5)--(256.7, 333.6)--(256.6, 333.6)--(256.5, 333.7)--(256.1, 334.0)--(255.8, 334.2)--(255.6, 334.4)--(255.4, 334.6)--(255.3, 334.8)--(254.6, 335.7)--(254.5, 335.9)--(253.7, 337.0)--(252.5, 338!
.6)--(251.8, 339.5)--(251.7, 339.7)--(251.6, 339.8)--(251.4, 339.9)--(250.8, 340.8)--(250.0, 341.7)--(249.6, 342.2)--(248.3, 343.9)--(247.8, 344.6)--(247.8, 344.7)--(247.2, 345.4)--(246.9, 346.0)--(246.6, 346.3)--(246.5, 346.5)--(246.1, 347.1)--(245.5, 347.9)--(245.1, 348.6)--(244.6, 349.2)--(244.3, 349.6)--(244.0, 350.0)--(243.9, 350.1)--(243.8, 350.3)--(243.5, 350.6)--(243.0, 351.1)--(242.6, 351.6)--(242.2, 352.0)--(241.8, 352.5)--(241.5, 352.8)--(241.1, 353.3)--(241.0, 353.4)--(240.8, 353.6)--(240.6, 353.8)--(240.3, 354.3)--(240.2, 354.4)--(240.0, 354.8)--(239.9, 354.9)--(239.7, 355.2)--(239.5, 355.4)--(239.5, 355.5)--(239.7, 355.6)--(239.9, 355.7)--(240.2, 356.0)--(240.4, 356.3)--(240.7, 356.6)--(241.0, 356.8)--(241.3, 356.9)--(241.9, 357.3)--(242.2, 356.8)--(242.4, 356.5)--(242.7, 356.1)--(243.1, 356.3)--(243.3, 356.4)--(243.6, 356.6)--(244.0, 356.7)--(244.3, 356.9)--(244.5, 356.9)--(244.6, 356.9)--(244.7, 357.0)--(244.8, 356.7)--(244.8, 356.6)--(244.8, 356.4)--(244.8, 356.0)--(244.8, 355.9)--(244.8, 355.7)--(244.9, 355.7)--(245.2, 355.8)--(245.3, 355.8)--(245.4, 355.8)--(245.6, 355.9)--(245.9, 356.0)--(246.0, 356.1)--(246.1, 356.1)--(246.3, 356.1)--(246.5, 356.2)--(246.9, 356.3)--(247.6, 356.5)--(247.7, 356.5)--(247.9, 356.5)--(248.2, 356.6)--(248.5, 356.7)--(248.7, 356.8)--(248.9, 356.8)--(249.3, 356.8)--(249.2, 356.9)--(249.2, 357.0)--(249.2, 357.1)--(249.2, 357.2)--(249.1, 357.3)--(249.1, 357.5)--(249.1, 357.6)--(249.1, 357.7)--(249.1, 357.8)--(249.2, 358.0)--(249.4, 358.5)--(249.5, 358.6)--(249.6, 358.6)--(249.6, 358.7)--(249.7, 358.9)--(249.8, 358.9)--(249.8, 359.0)--(249.8, 359.1)--(249.8, 359.3)--(249.8, 359.7)--(250.0, 359.9)--(250.2, 360.1)--(250.4, 359.8)--(250.5, 359.9)--(250.6, 360.0)--(250.8, 360.1)--(251.0, 360.2)--(251.1, 360.2)--(251.0, 360.4)--(251.0, 360.6)--(250.9, 360.9)--(250.9, 361.0)--(250.9, 361.1)--(250.9, 361.5)--(250.9, 361.8)--(251.0, 361.9)--(251.0, 361.8)--(251.1, 361.9)--(251.3, 361.8)--(251.4, 361.8)--(251.5, 361.8)--(251.8, 361.7)--(252.0, 361.7)--(252.1, 361.6)--(252.3, 36!
1.7)--(252.5, 361.8)--(252.5, 361.9)--(252.5, 362.0)--(252.6, 362.0)--(252.7, 362.1)--(252.8, 362.1)--(252.9, 362.2)--(253.0, 362.1)--(253.1, 362.2)--(253.6, 362.5)--(254.0, 362.9)--(254.4, 362.9)--(254.7, 362.9)--(254.8, 363.0)--(255.0, 363.1)--(255.1, 363.2)--(255.2, 363.3)--(255.2, 363.5)--(255.3, 363.8)--(255.3, 364.1)--(255.3, 364.3)--(255.5, 365.1)--(255.5, 365.4)--(255.5, 365.6)--(255.5, 366.2)--(255.5, 366.4)--(255.6, 366.6)--(255.6, 366.7)--(255.6, 366.8)--(255.8, 367.1)--(255.9, 367.1)--(255.9, 367.2)--(256.0, 367.3)--(256.0, 367.4)--(256.1, 367.4)--(256.4, 367.4)--(256.6, 367.7)--(256.8, 367.8)--(257.0, 367.9)--(257.0, 368.0)--(257.1, 368.0)--(257.2, 368.0)--(257.3, 368.0)--(257.3, 368.1)--(257.4, 368.1)--(257.5, 368.2)--(257.6, 368.5)--(257.7, 368.6)--(257.8, 368.7)--(257.9, 368.8)--(258.0, 368.8)--(258.0, 368.9)--(258.1, 368.9)--(258.1, 369.0)--(258.2, 369.0)--(258.5, 369.1)--(258.8, 369.3)--(259.1, 369.4)--(259.5, 369.5)--(259.6, 369.6)--(259.8, 369.7)--(260.0, 370.0)--(259.8, 370.2)--(259.9, 370.2)--(260.0, 370.2)--(260.8, 371.0)--(260.9, 371.0)--(261.0, 371.2)--(261.1, 371.3)--(261.2, 371.4)--(261.7, 371.8)--(261.8, 371.9)--(261.7, 372.1)--(261.8, 372.1)--(262.0, 372.1)--(262.2, 372.2)--(262.5, 372.3)--(263.0, 372.4)--(263.1, 372.4)--(263.2, 372.5)--(263.3, 372.5)--(263.4, 372.5)--(263.5, 372.5)--(263.5, 372.6)--(263.6, 372.6)--(263.6, 372.7)--(263.6, 372.8)--(263.7, 373.0)--(263.9, 372.8)--(264.1, 372.8)--(264.4, 372.8)--(264.7, 372.6)--(265.1, 372.5)--(265.2, 372.4)--(265.2, 372.3)--(265.7, 372.1)--(265.7, 372.0)--(265.9, 371.9)--(266.2, 371.8)--(266.3, 371.8)--(266.3, 371.9)--(266.4, 372.1)--(266.5, 372.2)--(266.6, 372.3)--(266.6, 372.5)--(266.7, 372.5)--(266.7, 372.9)--(266.7, 373.1)--(266.7, 373.5)--(266.8, 373.7)--(266.8, 373.8)--(266.8, 373.9)--(266.9, 373.9)--(266.9, 374.0)--(267.0, 374.1)--(267.0, 374.2)--(267.1, 374.3)--(267.3, 374.5)--(267.6, 374.8)--(267.8, 374.8)--(267.9, 374.9)--(267.9, 375.0)--(268.0, 375.1)--(268.3, 375.3)--(268.3, 375.4)--(268.5, 375.5)--(268.8, 375.6)--(269.2, 3!
75.8)--(269.8, 375.9)--(270.3, 375.9)--(271.0, 376.0)--(271.2, 376.0)--(271.4, 376.0)--(271.5, 376.0)--(271.7, 375.9)--(271.8, 375.8)--(272.0, 375.8)--(272.1, 375.8)--(272.2, 375.8)--(272.5, 375.7)--(272.7, 375.6)--(272.8, 375.6)--(272.9, 375.6)--(273.0, 375.6)--(273.1, 375.6)--(273.2, 375.6)--(273.3, 375.6)--(273.8, 375.6)--(274.3, 375.7)--(275.0, 375.8)--(275.1, 375.8)--(275.2, 375.9)--(275.3, 375.9)--(275.4, 375.9)--(275.5, 375.9)--(275.6, 375.9)--(275.7, 375.9)--(275.8, 375.9)--(275.9, 375.9)--(276.0, 375.9)--(276.2, 375.7)--(276.9, 375.3)--(278.2, 375.2)--(279.3, 375.1)--(280.3, 375.0)--(281.2, 374.9)--(282.3, 374.8)--(282.8, 374.8)--(283.0, 374.7)--(283.2, 374.5)--(283.4, 374.4)--(283.7, 374.2)--(284.4, 373.9)--(285.1, 373.8)--(285.8, 373.6)--(286.5, 373.3)--(286.9, 373.3)--(287.0, 373.2)--(287.2, 373.1)--(287.4, 373.0)--(288.4, 372.4)--cycle;
+City_of_London = (311.5, 307.8)--(311.4, 308.0)--(311.4, 308.4)--(311.4, 308.6)--(311.5, 308.8)--(311.4, 308.9)--(311.3, 309.2)--(311.2, 309.2)--(311.0, 309.5)--(311.1, 309.6)--(311.0, 309.8)--(310.8, 310.0)--(310.9, 310.1)--(310.8, 310.1)--(310.9, 310.2)--(310.9, 310.3)--(311.3, 310.5)--(311.2, 310.8)--(311.1, 311.1)--(311.5, 311.2)--(311.7, 311.2)--(311.7, 311.4)--(311.4, 312.3)--(311.3, 312.8)--(311.3, 312.9)--(311.1, 313.4)--(310.9, 313.9)--(310.4, 314.8)--(310.0, 315.4)--(309.8, 315.8)--(309.7, 315.8)--(309.7, 316.0)--(309.7, 316.1)--(310.2, 316.2)--(310.7, 316.2)--(311.2, 316.1)--(312.0, 316.0)--(312.7, 315.8)--(313.0, 315.8)--(313.6, 315.7)--(313.9, 315.7)--(314.0, 315.8)--(314.1, 315.8)--(314.4, 316.0)--(314.7, 316.2)--(315.0, 316.3)--(315.2, 316.4)--(315.5, 316.6)--(315.6, 316.6)--(316.0, 316.8)--(317.0, 317.4)--(317.8, 317.8)--(318.0, 317.9)--(318.1, 318.0)--(318.5, 318.2)--(318.7, 318.3)--(318.9, 318.4)--(319.0, 318.4)--(319.0, 318.5)--(319.1, 318.5)--(319.4, 318.6)--(319.7, 318.7)--(320.0, 318.9)--(320.3, 319.0)--(320.8, 319.2)--(320.8, 319.5)--(320.9, 319.8)--(320.9, 320.1)--(321.0, 320.1)--(321.0, 320.2)--(321.0, 320.3)--(321.0, 320.4)--(320.9, 320.8)--(320.8, 321.1)--(320.7, 321.2)--(320.7, 321.3)--(320.6, 321.5)--(320.5, 321.5)--(321.3, 322.1)--(321.4, 321.9)--(321.5, 321.9)--(321.6, 321.5)--(321.9, 321.7)--(321.9, 321.6)--(322.5, 321.9)--(322.9, 321.0)--(323.0, 320.4)--(323.1, 320.1)--(323.4, 320.1)--(323.6, 320.2)--(323.6, 320.1)--(323.7, 320.1)--(323.8, 319.9)--(324.4, 320.1)--(324.5, 319.6)--(324.6, 319.6)--(324.9, 319.5)--(325.2, 319.5)--(325.5, 319.5)--(325.9, 319.4)--(326.3, 319.3)--(326.2, 318.5)--(326.3, 318.4)--(326.6, 318.3)--(327.5, 317.9)--(327.9, 317.6)--(328.7, 317.3)--(328.8, 317.2)--(329.0, 317.8)--(329.1, 317.9)--(329.2, 318.4)--(329.4, 318.7)--(329.5, 318.9)--(330.8, 318.4)--(331.2, 318.7)--(331.5, 319.0)--(331.7, 319.3)--(331.8, 319.5)--(332.0, 319.8)--(332.2, 320.2)--(332.3, 320.8)--(332.5, 320.8)--(333.2, 320.5)--(334.1, 320.4)--(333.9, 319.9)--(333.9, 319.5)--(333.!
9, 319.4)--(333.8, 318.8)--(333.7, 318.1)--(333.5, 317.4)--(334.3, 317.5)--(334.5, 317.6)--(334.5, 317.0)--(334.4, 317.0)--(334.6, 316.8)--(334.7, 316.6)--(334.7, 316.5)--(334.8, 316.5)--(334.8, 316.3)--(335.0, 315.9)--(335.0, 315.8)--(335.3, 315.1)--(335.4, 315.0)--(335.4, 314.9)--(335.7, 314.6)--(336.6, 313.6)--(336.8, 313.3)--(337.1, 313.0)--(337.2, 312.9)--(337.4, 312.6)--(337.7, 312.3)--(337.8, 311.8)--(337.9, 311.4)--(338.0, 310.9)--(338.1, 310.3)--(338.1, 309.7)--(338.2, 309.5)--(338.2, 309.3)--(338.3, 309.1)--(338.3, 308.9)--(338.4, 308.7)--(338.4, 308.6)--(338.4, 308.4)--(338.4, 308.1)--(338.4, 308.0)--(338.3, 307.9)--(338.3, 307.8)--(338.2, 307.8)--(338.1, 307.8)--(337.9, 307.8)--(337.7, 307.8)--(337.5, 307.7)--(337.4, 307.7)--(337.3, 307.6)--(337.1, 307.6)--(337.0, 307.6)--(336.6, 307.4)--(336.5, 307.4)--(336.4, 307.4)--(336.4, 307.5)--(336.3, 307.5)--(336.3, 307.7)--(336.3, 307.8)--(336.1, 307.7)--(336.0, 308.1)--(335.9, 308.2)--(335.8, 308.2)--(335.5, 308.2)--(335.5, 308.1)--(335.5, 308.0)--(335.5, 307.9)--(335.5, 307.8)--(335.4, 307.8)--(335.1, 307.8)--(334.9, 307.7)--(334.8, 307.6)--(334.7, 307.5)--(334.5, 307.2)--(334.4, 307.0)--(334.2, 306.9)--(334.1, 306.6)--(334.0, 306.5)--(334.3, 306.4)--(334.3, 306.3)--(334.2, 306.1)--(334.1, 305.8)--(334.1, 305.7)--(334.1, 305.6)--(334.0, 305.2)--(333.9, 305.2)--(333.8, 305.1)--(333.3, 305.2)--(333.2, 305.3)--(333.1, 305.4)--(333.0, 305.4)--(332.6, 305.6)--(332.5, 305.6)--(332.5, 305.7)--(332.4, 305.7)--(332.3, 305.7)--(331.1, 305.9)--(331.0, 305.9)--(330.9, 305.9)--(330.9, 305.7)--(330.4, 305.8)--(329.7, 305.9)--(329.6, 305.9)--(329.2, 305.9)--(328.8, 306.0)--(328.6, 306.1)--(328.6, 306.2)--(328.1, 306.3)--(328.0, 306.3)--(327.9, 306.3)--(327.8, 306.3)--(327.8, 306.2)--(327.6, 306.2)--(327.4, 306.2)--(327.0, 306.2)--(326.8, 306.2)--(326.6, 306.2)--(326.4, 306.2)--(325.9, 306.4)--(325.6, 306.5)--(325.3, 306.6)--(325.1, 306.7)--(324.8, 306.7)--(324.7, 306.8)--(324.2, 307.0)--(323.9, 307.1)--(323.5, 307.2)--(323.2, 307.3)--(323.1, 307.3)--(322.8, 307.4)--(322!
.7, 307.4)--(322.8, 307.7)--(322.9, 307.9)--(322.8, 307.9)--(322.8, 307.8)--(322.5, 307.9)--(322.4, 307.5)--(322.2, 307.6)--(322.2, 307.5)--(321.7, 307.7)--(321.2, 307.8)--(321.0, 307.9)--(321.0, 307.8)--(320.9, 307.9)--(320.8, 307.9)--(320.7, 307.9)--(320.6, 307.9)--(320.4, 308.0)--(320.2, 308.0)--(320.1, 308.0)--(319.9, 308.0)--(319.7, 308.0)--(319.6, 308.0)--(317.5, 308.0)--(317.5, 307.9)--(317.3, 307.9)--(317.2, 307.9)--(317.1, 307.9)--(317.1, 308.0)--(316.7, 308.0)--(316.3, 308.0)--(315.7, 308.0)--(314.3, 308.0)--(314.2, 308.0)--(313.6, 307.9)--(311.8, 307.9)--(311.8, 307.8)--(311.7, 307.8)--cycle;
+Croydon = (350.1, 95.0)--(350.0, 95.0)--(347.5, 95.2)--(345.9, 95.2)--(345.1, 97.8)--(344.7, 97.6)--(344.0, 97.3)--(343.9, 97.2)--(343.8, 97.1)--(343.5, 97.0)--(343.1, 96.9)--(342.9, 96.8)--(342.5, 96.7)--(342.3, 96.6)--(342.1, 96.5)--(341.6, 96.5)--(341.6, 96.4)--(341.1, 96.2)--(340.8, 96.2)--(340.0, 96.1)--(339.7, 96.0)--(339.7, 95.6)--(339.7, 94.7)--(339.8, 94.2)--(339.5, 94.1)--(339.4, 94.1)--(339.3, 94.1)--(339.2, 94.1)--(339.1, 94.0)--(339.0, 94.0)--(338.8, 93.8)--(338.7, 93.7)--(338.6, 93.6)--(338.4, 93.4)--(338.2, 93.1)--(338.3, 93.0)--(338.2, 93.0)--(338.1, 92.7)--(338.0, 92.7)--(337.9, 92.6)--(337.8, 92.6)--(337.6, 92.9)--(337.5, 92.9)--(337.4, 92.9)--(337.2, 92.7)--(336.9, 92.6)--(336.5, 92.5)--(336.4, 92.5)--(336.5, 92.2)--(336.1, 92.0)--(335.7, 91.6)--(336.1, 91.1)--(336.3, 90.8)--(336.6, 90.3)--(336.8, 89.9)--(337.1, 89.5)--(337.5, 88.7)--(337.6, 88.5)--(337.8, 88.0)--(337.8, 87.7)--(337.9, 87.2)--(337.9, 86.9)--(337.8, 86.5)--(337.8, 85.8)--(337.6, 85.7)--(337.5, 85.6)--(337.4, 85.6)--(337.3, 85.5)--(336.8, 85.1)--(336.6, 85.0)--(336.4, 84.9)--(335.4, 84.2)--(334.6, 83.8)--(334.6, 83.7)--(334.5, 83.6)--(334.0, 83.0)--(333.4, 82.3)--(333.3, 82.1)--(333.1, 81.9)--(333.2, 81.5)--(333.2, 81.4)--(333.2, 81.2)--(333.2, 81.0)--(333.2, 80.6)--(333.2, 80.4)--(333.3, 79.7)--(333.2, 79.5)--(333.2, 79.3)--(333.2, 79.2)--(333.0, 78.9)--(332.7, 78.8)--(332.7, 78.7)--(332.7, 78.6)--(332.6, 78.5)--(332.6, 78.4)--(332.6, 78.3)--(331.9, 78.2)--(331.8, 78.1)--(331.6, 77.6)--(331.7, 77.5)--(331.8, 77.4)--(331.8, 76.9)--(331.8, 76.8)--(331.8, 76.6)--(331.8, 76.4)--(331.8, 76.0)--(331.7, 75.5)--(329.9, 74.7)--(329.4, 74.5)--(329.2, 74.5)--(328.8, 75.2)--(328.5, 75.3)--(328.5, 75.4)--(328.3, 75.4)--(328.0, 75.3)--(327.3, 75.0)--(327.4, 74.8)--(327.4, 74.7)--(327.3, 74.6)--(327.4, 74.5)--(327.5, 74.1)--(327.5, 74.0)--(327.7, 73.8)--(328.1, 73.5)--(328.3, 73.4)--(328.5, 73.3)--(328.7, 73.2)--(328.8, 73.2)--(329.0, 73.2)--(329.4, 73.2)--(329.5, 73.1)--(327.1, 71.2)--(326.1, 70.5)--(326.1, 70.4)--(325.9, 70.3)--(32!
5.5, 69.9)--(325.4, 69.8)--(325.3, 69.7)--(325.2, 69.6)--(325.1, 69.6)--(325.0, 69.6)--(324.9, 69.5)--(324.6, 69.4)--(324.2, 69.3)--(324.1, 69.3)--(323.9, 69.2)--(323.8, 69.2)--(323.6, 69.0)--(321.2, 67.3)--(320.0, 66.3)--(319.5, 66.0)--(319.2, 65.7)--(318.7, 65.3)--(318.1, 64.9)--(315.5, 65.0)--(315.4, 65.0)--(315.4, 64.9)--(315.4, 64.8)--(315.5, 64.3)--(315.6, 64.0)--(315.5, 63.9)--(315.4, 64.0)--(315.2, 63.9)--(315.3, 63.8)--(315.2, 63.8)--(315.1, 63.7)--(315.0, 63.5)--(315.0, 63.4)--(314.8, 63.1)--(314.8, 63.0)--(314.7, 62.8)--(314.5, 62.4)--(314.4, 62.2)--(314.4, 62.1)--(314.3, 62.0)--(314.2, 62.0)--(314.1, 61.7)--(314.0, 61.5)--(314.0, 61.3)--(313.9, 61.2)--(314.0, 61.1)--(314.0, 60.8)--(313.9, 60.6)--(313.7, 60.1)--(313.6, 59.7)--(313.5, 59.5)--(313.5, 59.2)--(313.5, 59.0)--(313.2, 59.0)--(312.9, 59.0)--(311.1, 58.8)--(309.0, 58.5)--(308.9, 58.6)--(308.9, 58.8)--(308.8, 58.8)--(308.7, 58.9)--(308.6, 59.0)--(308.1, 59.7)--(307.9, 60.1)--(307.8, 60.2)--(307.7, 60.3)--(307.7, 60.5)--(307.6, 61.0)--(307.6, 61.4)--(307.5, 61.5)--(307.5, 61.6)--(307.0, 62.4)--(306.8, 62.6)--(306.3, 63.2)--(306.2, 63.4)--(306.1, 63.4)--(305.8, 63.8)--(305.2, 64.5)--(304.8, 64.9)--(304.7, 64.9)--(304.7, 65.0)--(304.5, 65.5)--(304.4, 65.6)--(304.2, 66.2)--(304.0, 66.7)--(303.9, 66.9)--(303.8, 67.2)--(303.8, 67.3)--(303.8, 67.4)--(303.8, 67.5)--(303.8, 67.6)--(303.9, 67.7)--(304.0, 67.9)--(304.0, 68.0)--(304.0, 68.1)--(303.9, 68.2)--(303.8, 68.3)--(303.4, 68.6)--(303.3, 68.8)--(303.1, 69.0)--(302.8, 69.5)--(302.7, 69.6)--(302.7, 69.7)--(302.6, 69.7)--(302.5, 69.8)--(302.4, 69.9)--(302.0, 70.6)--(301.6, 71.2)--(301.6, 71.3)--(301.5, 71.3)--(300.8, 71.2)--(300.7, 71.2)--(300.5, 71.1)--(300.4, 71.0)--(300.3, 71.0)--(300.3, 71.1)--(300.1, 72.0)--(300.0, 72.5)--(300.0, 72.8)--(299.9, 73.0)--(299.5, 73.9)--(299.4, 73.9)--(299.2, 73.7)--(299.1, 73.7)--(299.0, 73.7)--(298.7, 73.5)--(298.6, 73.4)--(298.5, 73.4)--(298.4, 73.3)--(297.9, 72.9)--(297.7, 72.8)--(297.5, 72.7)--(297.3, 72.6)--(297.3, 72.5)--(297.2, 72.5)--(297.1, 72.4)--(297.0, 72!
.4)--(296.8, 72.5)--(296.7, 72.6)--(296.5, 72.7)--(296.2, 72.8)--(296.0, 72.8)--(295.9, 72.8)--(295.7, 72.9)--(295.1, 74.3)--(294.6, 73.5)--(294.3, 73.7)--(293.7, 72.7)--(293.1, 72.9)--(292.0, 73.5)--(291.7, 73.6)--(291.0, 73.6)--(290.8, 73.0)--(290.7, 73.1)--(290.6, 73.1)--(290.5, 73.2)--(290.0, 73.6)--(289.9, 73.6)--(289.7, 73.7)--(288.9, 74.3)--(288.8, 74.3)--(288.3, 74.6)--(286.9, 74.1)--(286.9, 74.2)--(285.9, 76.7)--(285.7, 76.7)--(285.7, 76.8)--(285.2, 77.6)--(285.2, 77.7)--(285.2, 77.8)--(287.0, 79.1)--(287.4, 79.9)--(286.9, 79.8)--(286.5, 79.8)--(286.0, 79.8)--(285.9, 79.9)--(285.8, 80.0)--(285.7, 80.1)--(285.6, 80.1)--(285.5, 80.1)--(286.0, 80.8)--(286.2, 81.2)--(286.6, 82.1)--(286.9, 83.0)--(287.4, 84.1)--(287.4, 84.2)--(286.7, 84.3)--(286.5, 84.2)--(286.4, 84.3)--(286.1, 84.3)--(285.9, 84.3)--(285.8, 84.4)--(285.5, 84.6)--(285.3, 84.7)--(285.1, 84.8)--(284.8, 84.9)--(284.6, 84.8)--(284.6, 84.9)--(284.6, 85.0)--(284.6, 85.2)--(284.9, 86.1)--(285.0, 86.7)--(285.2, 87.4)--(285.3, 87.5)--(285.1, 88.0)--(285.1, 88.1)--(285.0, 88.2)--(285.0, 88.3)--(284.9, 88.6)--(284.8, 88.8)--(284.5, 89.3)--(284.4, 89.4)--(284.3, 89.5)--(284.0, 90.0)--(283.9, 90.2)--(283.7, 90.4)--(283.6, 90.9)--(283.6, 91.2)--(283.5, 91.6)--(283.3, 91.6)--(283.1, 91.4)--(282.9, 91.4)--(282.6, 91.8)--(282.5, 92.0)--(282.4, 92.1)--(282.4, 92.2)--(282.5, 92.3)--(282.4, 92.6)--(282.2, 92.9)--(282.3, 92.9)--(282.2, 93.2)--(281.9, 94.1)--(281.9, 94.3)--(281.9, 94.4)--(284.1, 95.6)--(284.2, 95.7)--(285.6, 96.4)--(285.6, 96.5)--(285.5, 96.6)--(285.6, 96.6)--(285.8, 96.7)--(286.0, 96.8)--(286.0, 97.0)--(286.2, 97.1)--(286.2, 97.0)--(286.8, 97.3)--(287.6, 97.9)--(288.2, 98.3)--(288.6, 97.5)--(288.7, 97.5)--(288.9, 97.6)--(289.0, 97.7)--(289.1, 97.6)--(289.6, 97.4)--(289.7, 97.4)--(289.7, 97.5)--(289.9, 97.5)--(290.4, 97.8)--(290.5, 97.8)--(290.7, 98.1)--(290.9, 98.0)--(291.2, 98.0)--(291.5, 98.0)--(291.7, 98.2)--(292.0, 98.3)--(292.5, 98.6)--(292.9, 98.8)--(293.1, 99.0)--(293.4, 100.0)--(294.0, 101.7)--(293.8, 101.7)--(293.9, 102.1)--(293.8, 102.3!
)--(292.7, 103.1)--(292.4, 103.4)--(292.1, 103.6)--(290.9, 104.4)--(290.4, 104.8)--(290.5, 104.8)--(291.2, 105.4)--(292.5, 106.1)--(293.6, 106.7)--(294.0, 107.0)--(293.3, 107.8)--(293.2, 107.9)--(293.0, 108.6)--(292.8, 108.9)--(292.7, 109.5)--(292.7, 109.9)--(292.6, 110.5)--(292.6, 110.8)--(292.4, 111.2)--(292.2, 112.2)--(291.9, 113.5)--(291.7, 114.4)--(291.6, 115.2)--(291.5, 115.2)--(291.3, 115.9)--(291.4, 116.0)--(292.6, 116.4)--(293.0, 116.6)--(293.4, 116.8)--(293.6, 117.2)--(293.6, 117.3)--(293.5, 117.6)--(293.7, 117.7)--(293.9, 117.8)--(294.0, 117.9)--(294.1, 118.0)--(294.0, 118.2)--(293.8, 118.7)--(293.7, 118.9)--(293.6, 118.9)--(293.3, 119.6)--(293.3, 119.7)--(293.6, 119.8)--(293.6, 119.9)--(293.5, 119.9)--(293.8, 120.0)--(294.1, 120.3)--(294.4, 120.5)--(294.4, 120.4)--(295.0, 120.7)--(294.9, 120.9)--(295.0, 121.0)--(295.2, 121.1)--(295.4, 121.2)--(295.6, 121.3)--(297.1, 122.1)--(297.9, 122.4)--(298.4, 122.7)--(298.7, 122.8)--(298.8, 122.8)--(299.0, 122.8)--(299.0, 122.4)--(299.1, 122.4)--(299.3, 122.5)--(299.6, 122.5)--(299.9, 122.5)--(300.1, 122.5)--(300.5, 122.5)--(301.0, 122.5)--(301.2, 122.4)--(301.6, 122.4)--(301.6, 122.3)--(301.5, 122.9)--(301.4, 123.6)--(301.3, 123.6)--(302.4, 123.7)--(302.6, 123.7)--(302.4, 124.0)--(302.4, 124.3)--(302.3, 124.3)--(302.9, 124.4)--(303.2, 124.5)--(303.4, 124.6)--(303.6, 124.6)--(303.7, 124.7)--(303.8, 124.8)--(304.0, 124.9)--(304.0, 125.0)--(303.9, 125.2)--(304.1, 125.4)--(304.2, 125.5)--(304.1, 125.7)--(304.4, 125.9)--(304.5, 125.8)--(304.6, 125.8)--(305.0, 125.9)--(305.1, 125.8)--(305.2, 125.7)--(305.3, 125.3)--(305.3, 125.1)--(305.4, 124.3)--(305.4, 124.0)--(305.6, 123.7)--(305.5, 123.7)--(305.5, 123.5)--(305.4, 123.4)--(305.5, 123.1)--(305.6, 123.1)--(305.9, 123.3)--(306.1, 123.4)--(306.2, 123.5)--(306.4, 123.5)--(307.0, 123.6)--(309.8, 123.9)--(310.8, 124.0)--(311.1, 123.9)--(311.1, 124.0)--(311.2, 124.3)--(311.4, 124.1)--(312.2, 124.2)--(312.5, 124.2)--(312.4, 125.2)--(312.1, 125.2)--(312.1, 125.3)--(312.0, 126.3)--(311.7, 127.5)--(311.6, 128.0)--(311.5, 128.!
4)--(311..4, 129.0)--(311.3, 129.6)--(311.2, 130.3)--(311.0, 131.2)--(310.8, 132.0)--(310.7, 132.3)--(310.7, 132.4)--(310.0, 132.3)--(309.9, 132.8)--(309.7, 133.5)--(309.5, 134.7)--(309.3, 135.7)--(309.0, 137.5)--(307.1, 137.1)--(307.0, 137.3)--(306.8, 138.1)--(306.8, 138.2)--(306.7, 138.7)--(307.5, 139.0)--(307.6, 138.8)--(308.6, 138.9)--(308.6, 139.0)--(308.0, 139.6)--(307.9, 139.9)--(308.2, 140.0)--(308.3, 139.9)--(308.6, 140.0)--(308.5, 140.6)--(308.6, 140.6)--(308.4, 141.1)--(308.9, 141.2)--(308.8, 141.4)--(308.9, 141.7)--(308.7, 142.4)--(308.8, 142.4)--(308.9, 142.4)--(308.8, 142.6)--(309.1, 142.8)--(309.0, 143.1)--(309.0, 143.4)--(308.9, 143.5)--(309.2, 143.7)--(308.9, 145.3)--(308.7, 145.2)--(308.8, 145.2)--(308.8, 145.1)--(308.7, 145.1)--(308.1, 145.0)--(308.1, 145.1)--(308.0, 145.2)--(307.9, 145.4)--(307.6, 145.6)--(307.3, 145.7)--(306.9, 145.8)--(306.9, 145.9)--(306.9, 146.0)--(307.6, 146.2)--(308.3, 146.5)--(308.3, 146.6)--(308.3, 147.0)--(308.2, 147.3)--(308.2, 147.7)--(308.1, 148.1)--(308.0, 148.2)--(308.0, 148.5)--(307.9, 148.6)--(307.9, 148.8)--(307.8, 148.9)--(307.8, 149.1)--(307.6, 150.0)--(307.5, 150.6)--(307.5, 150.8)--(307.4, 151.0)--(307.3, 151.4)--(307.3, 151.5)--(307.3, 151.7)--(307.3, 151.8)--(307.3, 152.1)--(307.3, 152.2)--(307.3, 152.3)--(307.3, 152.4)--(307.1, 152.7)--(307.0, 152.8)--(306.6, 153.6)--(306.3, 154.3)--(306.2, 154.3)--(306.3, 154.4)--(306.4, 154.4)--(306.4, 154.6)--(306.3, 154.9)--(306.2, 155.1)--(306.0, 155.3)--(305.5, 155.5)--(304.9, 155.8)--(304.1, 156.3)--(304.0, 156.3)--(304.5, 156.4)--(304.8, 156.5)--(304.7, 157.1)--(305.1, 157.1)--(305.3, 157.2)--(305.4, 157.3)--(305.2, 157.8)--(305.1, 157.8)--(304.9, 158.4)--(304.8, 158.7)--(304.7, 159.0)--(304.6, 159.2)--(304.5, 159.5)--(304.3, 160.4)--(304.1, 161.2)--(303.9, 161.8)--(303.8, 162.2)--(303.8, 162.4)--(303.7, 162.7)--(303.6, 162.9)--(303.3, 163.2)--(302.6, 164.0)--(302.1, 164.5)--(302.1, 164.6)--(302.9, 164.8)--(303.2, 164.9)--(303.1, 165.1)--(303.1, 165.4)--(303.0, 165.9)--(302.9, 165.9)--(302.9, 166.3)--(302.7, 167!
.3)--(302.6, 167.6)--(302.6, 168.0)--(302.6, 168.1)--(302.7, 168.1)--(302.8, 168.2)--(303.0, 168.2)--(303.0, 168.3)--(303.1, 168.4)--(303.0, 168.4)--(302.4, 168.8)--(301.7, 169.0)--(301.8, 169.1)--(302.0, 169.4)--(302.2, 169.6)--(302.3, 169.8)--(302.5, 170.0)--(302.5, 170.1)--(302.4, 170.3)--(302.2, 170.4)--(302.1, 170.6)--(301.6, 171.0)--(301.3, 171.3)--(300.8, 171.8)--(300.7, 171.9)--(300.4, 172.2)--(300.1, 172.5)--(299.8, 172.7)--(300.0, 172.9)--(300.2, 173.3)--(300.3, 173.3)--(300.2, 173.3)--(300.1, 173.4)--(300.0, 173.5)--(299.7, 173.7)--(299.3, 173.9)--(299.2, 174.0)--(299.0, 174.1)--(299.1, 174.2)--(299.2, 174.4)--(299.3, 174.5)--(299.4, 174.6)--(299.6, 174.7)--(299.7, 174.8)--(300.6, 175.4)--(301.8, 176.3)--(302.3, 176.6)--(302.9, 177.1)--(302.8, 177.1)--(302.6, 177.1)--(302.3, 177.2)--(302.2, 177.3)--(302.4, 177.5)--(302.9, 178.0)--(303.4, 178.5)--(304.0, 179.2)--(304.4, 179.8)--(305.2, 180.9)--(305.7, 181.5)--(305.8, 181.6)--(305.9, 181.8)--(305.7, 182.0)--(305.8, 182.1)--(305.7, 182.2)--(305.6, 182.3)--(305.5, 182.4)--(305.3, 182.4)--(305.1, 182.5)--(304.8, 182.5)--(304.9, 182.6)--(305.0, 183.0)--(305.0, 183.1)--(305.1, 183.2)--(305.1, 183.3)--(305.0, 183.3)--(304.9, 183.6)--(304.7, 183.9)--(304.5, 184.2)--(304.4, 184.3)--(304.4, 184.4)--(304.2, 184.6)--(304.1, 184.7)--(304.1, 184.8)--(303.9, 185.1)--(303.7, 185.3)--(303.5, 185.7)--(303.4, 185.9)--(303.3, 186.0)--(303.2, 186.3)--(303.1, 186.3)--(303.0, 186.4)--(302.9, 186.5)--(302.8, 186.7)--(302.7, 186.8)--(302.5, 187.0)--(302.3, 187.2)--(302.1, 187.3)--(301.4, 187.9)--(301.4, 188.0)--(301.3, 188.2)--(301.3, 188.3)--(301.2, 188.3)--(301.1, 188.5)--(300.9, 188.8)--(300.8, 188.9)--(300.8, 189.0)--(300.6, 189.8)--(300.7, 189.9)--(300.7, 190.1)--(300.6, 190.1)--(300.6, 190.2)--(300.5, 190.3)--(300.0, 192.0)--(299.8, 193.6)--(300.0, 193.7)--(300.2, 193.7)--(300.2, 194.1)--(300.1, 194.2)--(300.1, 194.3)--(300.1, 194.5)--(300.6, 194.6)--(300.6, 194.9)--(300.9, 194.9)--(301.2, 194.9)--(301.9, 195.0)--(301.9, 195.3)--(302.0, 195.3)--(302.1, 195.5)--(302.3, 19!
5.9)--(302.4, 196.2)--(302.5, 196.3)--(302.4, 196.4)--(302.5, 196.5)--(302.6, 196.6)--(302.7, 196.6)--(302.7, 196.5)--(302.8, 196.5)--(302.9, 196.8)--(303.0, 197.5)--(303.1, 197.7)--(303.1, 197.9)--(303.2, 198.1)--(303.0, 198.1)--(303.2, 198.3)--(303.3, 198.3)--(303.8, 198.6)--(304.0, 198.8)--(304.1, 198.8)--(304.2, 198.6)--(304.4, 198.5)--(304.5, 198.6)--(304.5, 198.8)--(305.0, 199.2)--(305.3, 199.3)--(305.2, 199.4)--(305.2, 199.5)--(305.2, 199.6)--(305.2, 199.8)--(305.3, 200.0)--(305.4, 200.2)--(305.4, 200.4)--(305.5, 200.7)--(305.6, 200.7)--(305.8, 200.7)--(306.0, 200.8)--(306.2, 201.0)--(306.2, 201.2)--(306.3, 201.2)--(306.5, 201.2)--(306.6, 201.2)--(306.6, 201.4)--(306.6, 201.5)--(306.7, 201.7)--(306.8, 201.8)--(307.0, 202.0)--(307.1, 202.3)--(307.2, 202.5)--(307.3, 202.7)--(307.4, 202.9)--(307.4, 203.0)--(307.5, 203.1)--(307.6, 203.3)--(307.6, 203.4)--(307.7, 203.4)--(307.7, 203.5)--(307.7, 203.6)--(307.8, 203.7)--(307.9, 204.0)--(308.0, 204.3)--(308.1, 204.5)--(308.2, 204.7)--(308.2, 204.9)--(308.2, 205.2)--(308.3, 205.4)--(308.6, 205.6)--(308.8, 205.8)--(309.0, 206.0)--(309.3, 206.2)--(309.4, 206.3)--(309.5, 206.4)--(309.7, 206.6)--(309.8, 206.6)--(310.2, 206.9)--(310.3, 207.0)--(310.6, 207.1)--(310.9, 207.2)--(311.0, 207.3)--(311.2, 207.5)--(311.2, 207.6)--(311.3, 207.7)--(311.4, 207.8)--(311.4, 207.9)--(311.7, 208.2)--(311.9, 208.5)--(311.9, 208.6)--(312.0, 208.7)--(312.2, 209.0)--(312.2, 209.1)--(312.2, 209.2)--(312.3, 209.4)--(312.4, 209.6)--(312.8, 209.9)--(313.0, 210.1)--(313.1, 210.4)--(313.2, 210.5)--(313.6, 210.5)--(314.0, 210.4)--(314.4, 210.4)--(314.7, 210.4)--(315.0, 210.4)--(315.1, 210.4)--(315.2, 210.4)--(315.3, 210.5)--(315.5, 210.5)--(315.6, 210.4)--(316.0, 210.3)--(316.5, 210.2)--(317.1, 210.0)--(317.5, 209.9)--(317.7, 209.9)--(317.8, 209.9)--(317.9, 209.9)--(318.0, 209.9)--(318.5, 209.9)--(318.8, 210.0)--(319.1, 210.0)--(321.5, 210.0)--(321.9, 210.0)--(322.9, 210.0)--(323.1, 210.0)--(323.3, 210.0)--(323.5, 210.0)--(323.8, 210.0)--(323.9, 210.1)--(324.2, 210.1)--(324.7, 210.2)--(325.6, 2!
10.3)--(325.8, 210.3)--(325.9, 210.3)--(326.1, 210.3)--(326.2, 210.3)--(326.4, 210.3)--(326.6, 210.3)--(326.7, 210.2)--(326.9, 210.1)--(327.1, 210.1)--(327.4, 209.9)--(327.5, 209.7)--(327.8, 209.4)--(328.0, 209.2)--(328.2, 209.0)--(328.4, 208.9)--(328.9, 208.6)--(329.0, 208.6)--(329.1, 208.5)--(329.2, 208.5)--(329.2, 208.4)--(329.3, 208.4)--(329.5, 208.2)--(329.7, 207.9)--(330.1, 207.4)--(330.3, 207.2)--(330.4, 207.2)--(330.6, 207.1)--(331.2, 206.8)--(331.3, 206.7)--(331.4, 206.6)--(331.6, 206.6)--(331.7, 206.6)--(331.8, 206.5)--(332.0, 206.5)--(332.2, 206.6)--(332.5, 206.7)--(333.3, 206.9)--(333.7, 207.0)--(334.0, 207.1)--(334.4, 207.2)--(334.8, 207.2)--(335.6, 207.1)--(335.8, 207.1)--(336.0, 207.1)--(336.2, 207.1)--(336.5, 207.2)--(336.6, 207.2)--(336.9, 207.3)--(337.0, 207.3)--(337.1, 207.3)--(337.0, 207.2)--(336.9, 207.1)--(336.8, 206.9)--(336.5, 206.5)--(336.4, 206.3)--(336.3, 206.2)--(336.2, 205.9)--(336.0, 205.6)--(335.9, 205.3)--(335.8, 205.1)--(335.5, 204.8)--(335.4, 204.7)--(335.4, 204.6)--(335.3, 204.5)--(335.3, 204.3)--(335.4, 204.2)--(335.4, 204.1)--(335.5, 203.7)--(335.5, 203.3)--(335.6, 203.0)--(335.8, 202.7)--(335.8, 202.6)--(335.8, 202.5)--(336.1, 202.4)--(336.3, 202.3)--(336.6, 202.2)--(336.8, 202.1)--(337.5, 201.9)--(337.6, 201.8)--(337.8, 201.6)--(338.0, 201.5)--(338.3, 201.3)--(338.4, 201.3)--(338.5, 201.3)--(338.6, 201.3)--(338.7, 201.3)--(338.9, 201.0)--(339.0, 201.0)--(339.1, 200.9)--(339.2, 200.9)--(339.3, 200.8)--(339.3, 200.7)--(339.4, 200.6)--(339.5, 200.6)--(339.6, 200.5)--(339.5, 200.4)--(340.1, 200.0)--(340.3, 199.9)--(340.4, 199.8)--(340.5, 199.7)--(340.6, 199.7)--(340.8, 199.6)--(341.3, 199.5)--(341.2, 199.1)--(341.1, 198.8)--(341.0, 198.4)--(340.9, 198.1)--(340.8, 197.7)--(340.8, 197.6)--(340.8, 197.4)--(340.8, 197.0)--(340.8, 196.6)--(340.9, 196.0)--(341.0, 195.6)--(341.0, 195.5)--(341.2, 195.1)--(341.3, 194.8)--(341.5, 194.5)--(341.7, 194.2)--(342.0, 193.8)--(342.3, 193.5)--(342.6, 193.2)--(342.9, 192.8)--(343.2, 192.4)--(343.5, 191.8)--(343.6, 191.7)--(343.6, 191.6)--(343.7, !
191.5)--(343.8, 191.3)--(343.9, 191.1)--(343.9, 191.0)--(343.9, 190.9)--(344.1, 190.6)--(344.1, 190.5)--(344.1, 190.3)--(344.2, 190.2)--(344.2, 190.1)--(344.3, 189.9)--(344.3, 189.8)--(344.4, 189.7)--(344.5, 189.7)--(344.6, 189.5)--(344.6, 189.4)--(344.7, 189.4)--(344.7, 189.3)--(344.8, 189.3)--(345.0, 189.1)--(345.1, 189.0)--(345.3, 188.9)--(345.4, 188.8)--(345.5, 188.7)--(345.6, 188.6)--(345.7, 188.6)--(345.8, 188.5)--(346.0, 188.3)--(346.1, 188.3)--(346.2, 188.2)--(346.4, 188.1)--(346.5, 188.0)--(346.9, 187.9)--(347.0, 187.9)--(347.3, 187.8)--(347.3, 187.6)--(347.2, 187.4)--(347.7, 187.3)--(347.8, 187.3)--(348.1, 187.3)--(348.4, 187.2)--(348.9, 187.3)--(350.0, 185.7)--(350.4, 185.1)--(350.0, 184.8)--(350.1, 184.6)--(350.3, 184.8)--(350.9, 184.8)--(351.0, 184.9)--(351.3, 185.2)--(351.7, 185.5)--(352.3, 185.9)--(352.7, 186.2)--(353.2, 186.4)--(353.4, 186.6)--(353.8, 186.7)--(354.2, 186.9)--(354.7, 187.0)--(354.9, 187.1)--(355.2, 187.2)--(355.3, 187.4)--(355.7, 186.8)--(356.1, 186.3)--(356.4, 185.7)--(356.7, 185.6)--(357.0, 185.3)--(356.0, 183.8)--(356.6, 183.4)--(356.9, 183.2)--(357.2, 183.6)--(357.3, 183.5)--(357.0, 183.1)--(356.9, 182.6)--(356.3, 181.8)--(355.2, 180.3)--(355.3, 180.3)--(355.2, 180.1)--(355.4, 179.9)--(355.4, 180.0)--(355.8, 179.8)--(355.8, 179.7)--(355.9, 179.5)--(355.9, 179.2)--(356.2, 179.2)--(356.4, 179.1)--(356.4, 178.7)--(356.5, 178.6)--(356.6, 178.7)--(356.7, 178.5)--(357.3, 178.3)--(357.4, 178.3)--(357.9, 178.3)--(358.3, 178.3)--(358.5, 178.3)--(358.7, 178.3)--(359.0, 178.2)--(359.2, 178.1)--(359.3, 177.9)--(359.6, 177.3)--(359.6, 177.2)--(359.8, 177.0)--(359.9, 176.8)--(360.1, 176.9)--(360.3, 177.0)--(360.4, 176.8)--(360.5, 176.5)--(360.7, 176.2)--(361.0, 175.8)--(361.4, 175.3)--(362.1, 174.6)--(362.5, 174.4)--(362.8, 174.2)--(363.1, 174.1)--(363.5, 174.0)--(363.6, 174.1)--(363.8, 174.0)--(364.0, 173.9)--(364.4, 173.8)--(364.8, 173.7)--(365.0, 173.6)--(365.2, 173.6)--(365.3, 173.6)--(365.7, 173.6)--(366.0, 173.5)--(366.3, 173.4)--(366.8, 173.3)--(367.2, 173.2)--(367.2, 173.1)--(367.1,!
172.2)--(366.8, 170.5)--(366.8, 170.3)--(366.6, 169.2)--(366.4, 167.4)--(366.4, 166.6)--(366.6, 165.5)--(367.0, 163.6)--(367.2, 162.6)--(367.6, 162.7)--(367.2, 160.5)--(367.3, 160.4)--(367.3, 160.5)--(367.4, 160.5)--(367.4, 160.4)--(367.5, 160.4)--(367.7, 160.3)--(368.1, 160.3)--(368.8, 160.4)--(369.7, 160.6)--(370.2, 160.6)--(371.1, 160.7)--(371.2, 160.7)--(371.3, 160.7)--(371.4, 160.7)--(371.5, 160.8)--(371.6, 160.8)--(371.7, 160.8)--(371.8, 160.8)--(371.9, 160.8)--(371.9, 160.9)--(372.0, 160.9)--(372.1, 160.9)--(372.2, 160.9)--(372.2, 161.0)--(372.3, 161.0)--(372.4, 161.0)--(372.4, 161.1)--(372.5, 161.1)--(372.6, 161.2)--(372.7, 161.2)--(372.7, 161.3)--(372.8, 161.3)--(372.8, 161.4)--(372.9, 161.4)--(372.9, 161.5)--(373.0, 161.6)--(373.0, 161.7)--(373.1, 161.7)--(373.1, 161.8)--(373.2, 161.8)--(373.2, 161.9)--(373.2, 162.0)--(373.3, 162.0)--(373.3, 162.1)--(373.3, 162.2)--(373.4, 162.3)--(373.4, 162.4)--(373.4, 162.5)--(373.4, 162.6)--(373.4, 162.7)--(373.4, 162.8)--(373.4, 162.9)--(373.3, 163.2)--(374.2, 163.3)--(374.2, 163.0)--(374.3, 162.7)--(374.3, 162.4)--(374.4, 162.1)--(374.5, 161.6)--(374.7, 161.1)--(374.8, 161.0)--(374.8, 160.9)--(374.8, 160.6)--(374.9, 160.5)--(374.9, 160.1)--(374.7, 160.0)--(374.9, 159.6)--(375.0, 159.6)--(375.0, 159.5)--(375.1, 159.2)--(375.3, 158.9)--(375.3, 158.7)--(375.5, 158.5)--(375.5, 158.3)--(375.5, 158.2)--(375.6, 158.0)--(375.6, 157.9)--(376.0, 157.0)--(376.2, 156.5)--(376.2, 156.2)--(376.4, 155.8)--(376.7, 155.4)--(376.7, 154.9)--(376.6, 154.7)--(376.6, 154.5)--(376.5, 154.4)--(376.6, 154.4)--(376.6, 154.3)--(376.7, 154.3)--(376.7, 154.0)--(376.7, 153.5)--(376.7, 153.1)--(376.7, 152.9)--(376.7, 152.7)--(376.8, 152.6)--(376.8, 152.5)--(376.8, 152.4)--(376.8, 152.2)--(376.8, 151.9)--(376.8, 151.7)--(376.8, 151.4)--(376.9, 151.1)--(377.0, 151.1)--(377.0, 150.8)--(377.0, 150.5)--(377.1, 150.2)--(377.1, 150.0)--(377.1, 149.6)--(377.0, 149.6)--(376.5, 149.6)--(376.5, 149.3)--(376.2, 149.3)--(376.2, 148.9)--(376.8, 148.1)--(376.7, 147.8)--(376.9, 147.7)--(377.1, 147.8)--(377.3!
, 148.0)--(377.8, 148.4)--(377.9, 148.2)--(378.0, 147.9)--(378.1, 147.8)--(378.3, 147.7)--(378.4, 147.5)--(378.5, 147.3)--(378.6, 147.1)--(378.7, 147.0)--(378.8, 146.7)--(378.9, 146.6)--(379.1, 146.4)--(379.3, 146.3)--(379.4, 146.2)--(379.4, 146.0)--(379.5, 146.0)--(379.5, 145.9)--(379.6, 145.8)--(379.7, 145.7)--(379.8, 145.6)--(379.9, 145.5)--(380.0, 145.3)--(380.1, 145.1)--(380.2, 145.0)--(380.2, 144.9)--(380.3, 144.7)--(380.3, 144.5)--(380.4, 144.2)--(380.5, 144.0)--(380.6, 143.8)--(380.7, 143.7)--(380.7, 143.5)--(380.8, 143.5)--(380.6, 143.4)--(380.7, 143.3)--(380.8, 143.2)--(381.0, 143.0)--(381.1, 142.8)--(381.4, 142.6)--(381.9, 141.7)--(382.2, 141.2)--(382.6, 140.7)--(383.0, 140.3)--(383.4, 139.9)--(383.6, 139.8)--(383.8, 139.6)--(384.0, 139.3)--(384.2, 139.1)--(384.4, 138.9)--(384.6, 138.8)--(384.9, 138.8)--(385.0, 138.8)--(385.1, 138.9)--(385.1, 139.0)--(385.2, 139.0)--(385.3, 139.0)--(385.5, 138.9)--(385.8, 138.7)--(386.5, 138.2)--(386.8, 138.0)--(387.0, 137.9)--(387.1, 137.7)--(387.3, 137.6)--(387.5, 137.4)--(387.7, 137.2)--(387.8, 136.9)--(388.0, 136.8)--(388.2, 136.5)--(388.3, 136.3)--(388.5, 136.0)--(388.7, 135.7)--(389.0, 135.4)--(389.0, 135.3)--(389.1, 135.2)--(389.3, 135.1)--(389.4, 134.9)--(389.5, 134.7)--(389.8, 134.3)--(389.8, 134.2)--(389.9, 134.1)--(390.0, 134.0)--(390.0, 133.9)--(389.9, 133.9)--(390.0, 133.8)--(390.0, 133.7)--(390.1, 133.6)--(390.1, 133.4)--(390.1, 133.3)--(390.2, 132.9)--(390.3, 132.6)--(390.3, 132.4)--(390.4, 132.0)--(390.4, 131.9)--(390.4, 131.3)--(390.5, 130.8)--(390.5, 130.5)--(390.6, 130.4)--(390.7, 130.1)--(390.8, 129.9)--(390.8, 129.7)--(390.9, 129.6)--(391.0, 129.1)--(391.1, 128.5)--(391.2, 128.4)--(391.4, 127.5)--(391.6, 127.0)--(391.6, 126.7)--(391.8, 126.3)--(391.9, 126.1)--(391.8, 126.1)--(391.9, 125.5)--(392.0, 125.3)--(392.1, 125.0)--(392.1, 124.7)--(392.1, 124.6)--(392.1, 124.4)--(392.1, 124.3)--(392.3, 123.8)--(392.5, 123.1)--(392.6, 122.7)--(392.6, 122.6)--(392.7, 122.3)--(392.8, 121.9)--(392.9, 121.6)--(392.8, 121.5)--(392.9, 120.8)--(393.0, 120.8)--(393.!
1, 120.5)--(393.0, 120.5)--(393.1, 120.4)--(393.1, 120.2)--(393.3, 119.7)--(393.4, 119.3)--(393.5, 118.9)--(393.6, 118.4)--(393.7, 117.9)--(393.8, 117.6)--(394.1, 116.4)--(394.2, 116.1)--(394.3, 115.7)--(394.5, 115.0)--(394.6, 114.3)--(394.6, 113.9)--(394.8, 113.3)--(394.9, 113.0)--(394.8, 112.9)--(394.9, 112.8)--(395.2, 112.6)--(395.4, 112.3)--(395.6, 111.9)--(395.9, 111.7)--(396.1, 111.5)--(396.3, 111.4)--(396.6, 111.3)--(396.5, 110.7)--(396.5, 110.5)--(396.3, 110.3)--(396.3, 110.2)--(396.3, 110.1)--(396.3, 110.0)--(396.4, 109.5)--(396.4, 109.3)--(396.3, 109.3)--(396.3, 109.2)--(396.0, 108.8)--(395.9, 108.7)--(395.9, 108.3)--(395.9, 108.2)--(396.0, 108.0)--(395.1, 107.8)--(394.4, 107.7)--(394.0, 107.5)--(393.8, 108.1)--(393.5, 108.7)--(393.2, 109.2)--(392.7, 109.6)--(391.8, 110.4)--(391.0, 111.2)--(390.8, 111.4)--(390.3, 111.7)--(389.6, 112.2)--(389.2, 112.5)--(389.3, 112.9)--(388.6, 113.0)--(388.5, 113.0)--(388.4, 113.0)--(388.3, 113.0)--(388.2, 113.0)--(388.1, 113.0)--(388.0, 113.1)--(387.9, 113.0)--(387.8, 113.0)--(387.7, 113.0)--(387.6, 113.0)--(387.5, 113.0)--(387.4, 113.0)--(387.3, 113.0)--(387.2, 113.0)--(387.1, 112.9)--(387.0, 112.9)--(386.9, 112.9)--(386.8, 112.9)--(386.7, 112.7)--(386.6, 112.6)--(386.7, 112.5)--(386.8, 112.1)--(386.6, 111.9)--(386.0, 111.9)--(385.0, 110.3)--(384.8, 110.3)--(384.8, 110.1)--(384.8, 109.6)--(384.7, 109.4)--(384.6, 109.2)--(384.4, 109.0)--(384.4, 108.6)--(384.4, 108.4)--(384.2, 108.6)--(384.2, 108.8)--(384.0, 109.1)--(383.8, 109.3)--(383.8, 109.4)--(383.7, 109.7)--(383.6, 110.0)--(383.5, 110.3)--(383.2, 110.8)--(383.0, 111.0)--(382.7, 111.4)--(382.4, 111.8)--(382.3, 111.9)--(382.2, 111.9)--(381.9, 111.8)--(381.8, 111.9)--(381.7, 112.2)--(381.6, 112.8)--(381.5, 113.1)--(381.1, 113.6)--(381.0, 113.9)--(380.9, 114.2)--(380.8, 114.3)--(380.7, 114.9)--(380.6, 115.0)--(380.6, 115.1)--(380.4, 115.2)--(380.2, 115.4)--(379.9, 115.7)--(379.9, 115.8)--(379.9, 116.1)--(379.8, 116.4)--(379.3, 117.0)--(379.2, 117.2)--(378.7, 117.5)--(378.5, 117.6)--(378.2, 117.7)--(377.6, 117.7)--(377!
.4, 117.7)--(377.3, 117.7)--(377.2, 117.8)--(376.9, 117.8)--(376.6, 118.0)--(376.3, 117.9)--(376.0, 117.9)--(375.8, 117.9)--(375.7, 117.8)--(375.4, 117.7)--(375.0, 117.6)--(374.8, 117.5)--(374.6, 117.5)--(374.3, 117.3)--(374.0, 117.2)--(373.9, 117.1)--(373.8, 117.0)--(373.6, 116.9)--(373.1, 116.8)--(373.0, 116.7)--(372.9, 116.7)--(372.7, 116.7)--(372.6, 116.6)--(372.5, 116.6)--(372.0, 116.6)--(371.8, 116.6)--(371.6, 116.6)--(371.3, 116.5)--(370.9, 116.6)--(370.7, 116.7)--(370.2, 117.1)--(370.1, 117.2)--(370.0, 117.2)--(369.8, 117.2)--(369.5, 117.3)--(369.1, 117.4)--(368.8, 117.4)--(368.4, 117.6)--(368.3, 117.7)--(368.1, 117.7)--(367.9, 117.7)--(367.7, 117.8)--(367.6, 117.8)--(367.3, 117.4)--(366.7, 116.8)--(366.6, 116.6)--(366.4, 116.2)--(366.3, 115.9)--(366.2, 115.5)--(366.0, 115.2)--(365.9, 115.0)--(365.9, 114.8)--(365.8, 114.6)--(365.7, 114.0)--(365.6, 113.6)--(365.4, 113.2)--(365.0, 112.3)--(364.4, 112.1)--(364.0, 112.1)--(363.2, 112.2)--(362.9, 112.1)--(362.6, 112.1)--(362.3, 112.0)--(361.8, 111.9)--(361.6, 111.7)--(361.3, 111.5)--(361.0, 111.3)--(360.7, 111.2)--(360.5, 111.1)--(360.4, 111.0)--(360.1, 111.0)--(359.9, 111.0)--(359.7, 110.9)--(359.2, 110.9)--(359.4, 110.3)--(359.4, 110.2)--(359.0, 110.0)--(358.9, 109.9)--(358.7, 109.7)--(358.7, 109.4)--(358.7, 109.1)--(358.7, 108.9)--(359.0, 108.2)--(359.2, 107.9)--(359.4, 107.8)--(359.7, 107.5)--(359.9, 107.3)--(360.3, 106.8)--(360.4, 106.5)--(360.2, 106.4)--(360.6, 105.8)--(360.7, 105.6)--(360.9, 105.1)--(361.0, 104.9)--(361.0, 104.8)--(361.0, 104.7)--(361.0, 104.5)--(361.1, 104.1)--(361.1, 103.9)--(361.1, 103.0)--(361.1, 102.7)--(360.9, 102.6)--(360.9, 102.7)--(360.8, 102.7)--(360.5, 102.8)--(360.2, 102.8)--(360.0, 102.8)--(359.8, 102.7)--(359.7, 102.3)--(359.4, 101.9)--(359.2, 101.6)--(359.1, 101.4)--(359.1, 101.3)--(359.0, 100.9)--(359.0, 100.8)--(358.8, 100.6)--(358.8, 100.0)--(358.8, 99.7)--(358.8, 99.5)--(358.5, 99.5)--(358.2, 99.4)--(358.0, 99.4)--(357.9, 99.4)--(357.7, 99.2)--(357.6, 99.1)--(357.2, 98.8)--(356.8, 98.5)--(356.4, 98.1)--(356.3, 98.1)-!
-(355.8, 98.2)--(355.6, 98.3)--(355.4, 98.6)--(355.2, 98.5)--(355.1, 98.4)--(354.9, 98.2)--(354.4, 97.7)--(354.3, 97.6)--(354.1, 97.3)--(353.9, 97.1)--(353.7, 96.9)--(353.6, 96.9)--(353.5, 96.9)--(353.1, 96.7)--(353.0, 96.7)--(352.9, 96.7)--(352.8, 96.7)--(352.7, 96.7)--(352.5, 96.7)--(352.4, 96.7)--(352.2, 96.6)--(352.2, 96.5)--(351.9, 96.2)--(351.8, 96.0)--(351.6, 95.9)--(351.5, 95.8)--(351.4, 95.7)--(351.2, 95.6)--(350.6, 95.3)--(350.2, 95.1)--cycle;
+Ealing = (102.5, 328.8)--(102.5, 328.9)--(102.4, 329.0)--(102.4, 329.1)--(102.3, 329.2)--(102.2, 329.3)--(102.1, 329.3)--(102.0, 329.3)--(101.9, 329.3)--(101.7, 329.4)--(101.6, 329.4)--(101.5, 329.4)--(101.4, 329.4)--(101.4, 329.5)--(101.3, 329.5)--(101.3, 329.7)--(101.3, 329.8)--(101.2, 330.0)--(101.2, 330.4)--(101.1, 330.6)--(101.1, 330.7)--(101.0, 330.7)--(100.9, 330.8)--(100.6, 330.8)--(100.5, 330.8)--(100.4, 330.9)--(100.3, 331.0)--(100.3, 331.1)--(100.2, 331.2)--(100.2, 331.3)--(100.1, 331.5)--(100.0, 331.5)--(100.0, 331.6)--(99.8, 331.6)--(99.7, 331.6)--(99.6, 331.6)--(99.5, 331.5)--(99.2, 331.5)--(99.1, 331.4)--(99.0, 331.4)--(98.9, 331.4)--(98.8, 331.5)--(98.7, 331.5)--(98.6, 331.5)--(98.6, 331.6)--(98.5, 331.7)--(98.4, 331.7)--(98.4, 331.8)--(98.4, 332.0)--(98.5, 332.2)--(98.5, 332.4)--(98.5, 332.5)--(98.5, 332.6)--(98.6, 332.7)--(98.6, 332.8)--(98.5, 332.9)--(98.4, 332.9)--(98.4, 333.0)--(98.3, 333.0)--(98.1, 333.0)--(97.8, 333.1)--(97.6, 333.2)--(97.5, 333.2)--(97.4, 333.3)--(97.3, 333.3)--(97.2, 333.3)--(97.1, 333.5)--(97.0, 333.7)--(97.0, 333.8)--(97.1, 333.9)--(97.2, 334.0)--(97.4, 334.0)--(97.7, 334.1)--(97.9, 334.2)--(97.9, 334.3)--(98.0, 334.3)--(98.0, 334.4)--(97.9, 334.4)--(97.8, 334.5)--(97.7, 334.6)--(97.6, 334.6)--(97.6, 334.7)--(97.5, 334.8)--(97.5, 334.9)--(97.4, 334.9)--(97.3, 335.0)--(97.1, 335.2)--(97.1, 335.3)--(97.1, 335.4)--(97.1, 335.5)--(97.1, 335.6)--(97.1, 335.7)--(97.2, 335.8)--(97.3, 335.8)--(97.4, 335.7)--(97.5, 335.6)--(97.6, 335.6)--(97.7, 335.6)--(97.7, 335.5)--(97.8, 335.4)--(97.9, 335.4)--(98.1, 335.4)--(98.3, 335.4)--(98.4, 335.4)--(98.5, 335.4)--(98.6, 335.5)--(98.9, 335.5)--(99.0, 335.5)--(99.2, 335.5)--(99.4, 335.6)--(99.5, 335.6)--(99.6, 335.7)--(99.9, 335.8)--(99.9, 335.9)--(100.0, 335.9)--(100.3, 336.0)--(100.6, 336.1)--(100.9, 336.2)--(101.3, 336.3)--(101.8, 336.5)--(102.3, 336.6)--(103.1, 336.9)--(104.0, 337.1)--(104.5, 337.3)--(105.1, 337.5)--(105.0, 337.6)--(105.6, 337.8)--(106.8, 338.2)--(107.2, 338.3)--(107.5, 338.3)--(107.9, 338.3)--(108.3, 338.4)!
--(109.0, 338.4)--(109.0, 338.3)--(109.5, 338.4)--(109.6, 338.4)--(110.3, 338.3)--(110.5, 338.3)--(111.1, 338.2)--(112.2, 338.2)--(112.4, 338.2)--(113.8, 338.5)--(113.7, 339.0)--(113.6, 339.8)--(113.6, 340.1)--(113.6, 340.2)--(113.5, 340.2)--(113.4, 340.5)--(113.4, 340.8)--(113.3, 341.0)--(113.2, 341.4)--(113.1, 341.7)--(113.1, 341.8)--(113.0, 341.9)--(112.8, 342.3)--(112.5, 342.1)--(111.9, 341.9)--(111.9, 342.0)--(111.8, 342.4)--(111.5, 343.6)--(111.6, 343.6)--(111.6, 343.7)--(111.5, 344.0)--(111.4, 344.0)--(111.4, 344.1)--(111.3, 344.4)--(111.4, 344.4)--(111.5, 344.4)--(111.9, 344.3)--(112.1, 344.3)--(112.3, 344.3)--(112.5, 344.2)--(112.8, 344.2)--(113.4, 344.2)--(114.0, 344.1)--(113.9, 344.6)--(113.8, 345.1)--(113.9, 345.4)--(114.4, 345.3)--(114.6, 345.3)--(114.9, 345.5)--(115.4, 345.7)--(115.9, 346.0)--(117.2, 346.6)--(117.9, 347.0)--(118.0, 346.9)--(118.3, 347.0)--(118.6, 347.3)--(119.0, 347.5)--(119.4, 347.6)--(119.9, 347.9)--(120.5, 348.2)--(120.9, 348.5)--(121.5, 348.9)--(122.1, 349.4)--(122.8, 350.0)--(122.9, 350.1)--(123.1, 350.3)--(123.5, 350.7)--(123.7, 350.8)--(124.0, 351.1)--(125.2, 351.9)--(125.7, 352.2)--(125.6, 352.5)--(125.6, 352.6)--(125.7, 352.6)--(125.7, 352.4)--(125.8, 352.1)--(126.0, 351.7)--(126.3, 351.3)--(126.5, 351.0)--(126.6, 351.0)--(127.0, 350.5)--(127.6, 351.0)--(128.3, 351.4)--(128.5, 351.3)--(128.7, 351.6)--(129.1, 351.2)--(129.3, 351.5)--(129.6, 351.5)--(129.7, 351.5)--(129.8, 351.5)--(129.9, 351.6)--(130.0, 351.6)--(130.1, 351.6)--(130.4, 351.8)--(130.5, 351.9)--(130.6, 352.0)--(130.8, 352.1)--(131.0, 352.2)--(131.1, 352.3)--(131.3, 352.3)--(131.4, 352.3)--(131.6, 352.4)--(131.8, 352.5)--(132.0, 352.5)--(132.5, 352.7)--(132.6, 352.7)--(132.7, 352.7)--(132.9, 352.7)--(133.1, 352.8)--(133.3, 352.8)--(133.5, 352.9)--(133.4, 353.1)--(133.7, 353.2)--(133.8, 353.2)--(134.3, 353.3)--(134.3, 353.4)--(134.5, 353.4)--(134.7, 353.4)--(134.8, 353.4)--(134.9, 353.5)--(135.2, 353.6)--(135.5, 353.7)--(135.8, 353.8)--(135.9, 353.9)--(136.2, 354.0)--(136.1, 354.2)--(136.1, 354.3)--(136.2, 354.3!
)--(136.2, 354.4)--(136.1, 354.5)--(136.2, 354.5)--(136.3, 354.5)--(136.4, 354.6)--(136.4, 354.8)--(136.3, 355.1)--(136.2, 355.4)--(136.3, 355.4)--(136.9, 355.5)--(137.7, 355.7)--(137.8, 355.8)--(138.4, 355.9)--(139.9, 356.4)--(141.1, 356.8)--(142.3, 357.1)--(143.7, 357.4)--(144.3, 357.6)--(145.6, 358.0)--(146.5, 358.3)--(146.7, 358.0)--(146.7, 357.9)--(147.6, 357.1)--(147.8, 357.0)--(147.9, 356.9)--(148.0, 356.9)--(148.0, 356.8)--(148.5, 356.5)--(149.0, 356.2)--(149.7, 356.0)--(150.0, 355.9)--(150.3, 355.9)--(150.8, 355.9)--(151.1, 355.8)--(152.4, 355.8)--(152.6, 355.8)--(152.8, 355.7)--(152.9, 355.7)--(153.3, 355.6)--(153.4, 355.5)--(153.7, 355.4)--(154.3, 355.2)--(154.3, 355.1)--(154.4, 355.1)--(154.6, 355.1)--(154.7, 355.0)--(154.8, 355.0)--(155.4, 354.8)--(155.8, 354.6)--(155.8, 354.7)--(155.9, 354.7)--(156.5, 354.5)--(157.2, 354.4)--(157.8, 354.2)--(158.5, 354.1)--(159.2, 353.9)--(159.7, 353.8)--(160.2, 353.7)--(160.8, 353.4)--(161.5, 353.1)--(161.8, 352.8)--(162.4, 352.5)--(163.0, 352.2)--(163.8, 351.7)--(164.2, 351.5)--(164.4, 351.4)--(164.9, 351.1)--(165.4, 350.8)--(166.0, 350.5)--(166.4, 350.2)--(166.9, 350.0)--(167.2, 349.8)--(167.3, 349.8)--(167.4, 349.7)--(167.6, 349.6)--(168.2, 349.2)--(168.1, 349.1)--(168.7, 348.7)--(169.6, 348.1)--(169.7, 348.2)--(170.1, 347.8)--(170.8, 347.3)--(171.0, 347.1)--(171.0, 346.8)--(171.1, 346.5)--(171.2, 346.2)--(171.3, 346.0)--(171.5, 345.8)--(171.6, 345.6)--(171.8, 345.4)--(171.9, 345.3)--(171.9, 345.2)--(172.0, 345.2)--(173.0, 344.7)--(173.1, 344.7)--(173.2, 344.6)--(173.8, 344.2)--(174.1, 343.9)--(174.5, 343.5)--(174.8, 343.1)--(174.8, 343.0)--(174.9, 342.9)--(174.8, 342.9)--(174.2, 342.8)--(173.6, 342.8)--(173.6, 342.5)--(173.9, 342.4)--(174.2, 342.0)--(174.3, 341.9)--(174.3, 341.5)--(174.2, 341.1)--(174.1, 340.9)--(174.0, 340.7)--(174.0, 340.6)--(173.9, 340.6)--(174.6, 339.7)--(175.0, 339.0)--(175.1, 338.9)--(175.5, 338.2)--(175.8, 337.9)--(176.1, 337.6)--(176.5, 337.2)--(176.7, 336.9)--(176.6, 336.9)--(175.8, 336.4)--(175.8, 336.1)--(175.9, 334.4)--(175.9, 334.!
1)--(175..9, 333.4)--(175.9, 332.7)--(175.9, 332.6)--(175.9, 332.0)--(175.8, 331.5)--(175.8, 331.0)--(175.8, 330.6)--(175.7, 330.3)--(175.7, 330.2)--(175.6, 330.1)--(175.4, 330.0)--(175.3, 329.9)--(175.2, 329.8)--(175.2, 329.7)--(175.1, 329.5)--(175.0, 329.4)--(174.9, 329.3)--(175.0, 329.3)--(175.9, 329.0)--(176.8, 328.7)--(178.3, 328.2)--(178.4, 328.4)--(179.1, 328.7)--(179.8, 329.2)--(180.4, 329.6)--(181.1, 330.4)--(181.4, 330.7)--(181.7, 331.0)--(181.9, 331.5)--(182.0, 331.6)--(182.1, 331.6)--(182.2, 331.7)--(182.2, 331.8)--(182.3, 331.8)--(182.4, 331.9)--(182.6, 332.0)--(182.7, 332.0)--(182.8, 332.0)--(182.9, 332.0)--(183.0, 332.0)--(183.1, 331.9)--(183.3, 331.6)--(183.4, 331.6)--(183.4, 331.5)--(183.5, 331.5)--(184.0, 331.7)--(184.6, 331.6)--(184.7, 331.7)--(185.0, 331.8)--(185.5, 332.0)--(185.6, 332.0)--(186.7, 332.6)--(186.9, 332.6)--(187.9, 333.0)--(189.2, 333.7)--(189.9, 334.2)--(190.3, 334.5)--(191.0, 335.0)--(191.9, 335.8)--(192.1, 335.9)--(192.2, 335.8)--(192.8, 335.1)--(193.5, 334.2)--(194.1, 333.4)--(194.5, 332.9)--(194.7, 332.6)--(194.9, 332.5)--(195.0, 332.3)--(195.2, 332.2)--(195.3, 332.1)--(195.5, 332.0)--(195.4, 331.9)--(195.3, 331.9)--(195.2, 331.5)--(195.2, 331.4)--(195.0, 331.4)--(194.9, 330.9)--(194.9, 330.5)--(194.8, 330.3)--(194.8, 330.1)--(194.7, 329.9)--(194.5, 329.8)--(194.2, 329.6)--(193.8, 329.4)--(193.3, 329.2)--(193.3, 329.3)--(192.9, 329.9)--(192.4, 329.7)--(191.5, 329.4)--(191.2, 330.2)--(191.1, 330.1)--(190.3, 329.7)--(190.1, 329.7)--(190.0, 329.5)--(190.0, 329.4)--(189.9, 329.4)--(189.5, 329.2)--(188.9, 328.8)--(188.2, 328.5)--(187.5, 328.0)--(187.7, 327.8)--(188.0, 327.5)--(188.4, 327.1)--(188.8, 326.7)--(189.2, 326.3)--(189.7, 325.9)--(189.8, 325.7)--(190.1, 325.3)--(191.2, 325.1)--(191.1, 325.2)--(191.2, 325.2)--(191.8, 325.1)--(192.0, 325.0)--(192.4, 324.9)--(192.6, 324.9)--(193.7, 324.6)--(193.8, 324.6)--(193.9, 324.6)--(194.0, 324.6)--(194.3, 324.7)--(194.4, 324.8)--(194.6, 324.9)--(194.7, 324.9)--(194.8, 324.9)--(194.9, 325.0)--(196.0, 325.5)--(197.3, 325.8)--(198.6, 326!
.1)--(199.4, 326.3)--(200.0, 326.4)--(200.6, 326.5)--(200.7, 326.2)--(201.2, 326.5)--(201.4, 326.3)--(201.5, 326.2)--(201.6, 326.2)--(201.7, 326.2)--(201.9, 326.3)--(201.9, 326.4)--(201.8, 326.5)--(202.3, 326.5)--(202.5, 326.6)--(202.7, 326.7)--(203.1, 327.0)--(203.4, 327.1)--(203.7, 327.5)--(204.2, 328.0)--(204.3, 328.1)--(204.3, 328.2)--(204.4, 328.2)--(204.5, 328.4)--(204.5, 328.5)--(204.6, 328.7)--(204.6, 328.8)--(204.5, 329.0)--(204.8, 329.1)--(204.8, 329.2)--(205.2, 329.4)--(205.5, 329.6)--(205.9, 329.9)--(206.4, 330.4)--(207.0, 331.0)--(207.4, 331.4)--(207.5, 331.5)--(207.5, 331.7)--(207.6, 331.7)--(207.7, 331.8)--(208.1, 331.9)--(208.9, 332.3)--(209.1, 332.5)--(209.2, 332.5)--(209.3, 332.6)--(209.6, 332.5)--(209.7, 332.4)--(210.2, 332.2)--(210.3, 332.2)--(210.3, 332.1)--(210.4, 332.1)--(210.4, 332.0)--(210.4, 331.9)--(210.4, 331.8)--(210.5, 331.8)--(210.5, 331.7)--(210.5, 331.6)--(210.6, 331.1)--(210.8, 331.2)--(211.1, 331.2)--(212.0, 331.3)--(212.8, 331.4)--(213.2, 331.4)--(213.3, 331.4)--(213.4, 331.4)--(213.5, 331.3)--(213.7, 331.2)--(213.8, 331.2)--(213.9, 331.1)--(214.0, 331.1)--(214.1, 331.2)--(214.2, 331.5)--(215.5, 331.1)--(216.2, 330.9)--(216.4, 330.9)--(216.6, 330.8)--(216.7, 330.7)--(216.8, 330.7)--(217.0, 330.4)--(217.2, 330.1)--(217.3, 330.0)--(217.4, 330.0)--(217.3, 329.8)--(217.3, 329.6)--(217.2, 329.4)--(217.0, 328.9)--(216.9, 328.9)--(217.4, 328.6)--(218.1, 328.3)--(218.0, 328.1)--(217.9, 328.1)--(217.7, 328.1)--(217.6, 328.1)--(217.6, 328.0)--(217.4, 328.0)--(217.2, 327.8)--(217.0, 327.7)--(216.5, 327.2)--(215.9, 326.6)--(215.7, 326.3)--(215.4, 325.9)--(215.4, 326.0)--(215.3, 326.0)--(215.2, 325.9)--(215.2, 325.8)--(214.7, 325.1)--(214.6, 325.0)--(214.8, 324.9)--(214.9, 324.8)--(214.8, 324.6)--(214.6, 324.4)--(214.5, 324.4)--(214.8, 323.9)--(214.8, 323.8)--(214.8, 323.7)--(214.7, 323.6)--(214.5, 323.4)--(214.2, 323.0)--(213.4, 321.6)--(213.4, 321.5)--(213.3, 321.3)--(213.2, 321.0)--(213.2, 320.8)--(213.2, 320.5)--(213.3, 320.1)--(213.5, 319.7)--(213.6, 319.2)--(213.7, 318.8)--(213.8, 31!
8.2)--(214.7, 316.4)--(214.7, 316.2)--(214.9, 315.9)--(214.8, 315.6)--(214.8, 315.5)--(214.7, 315.4)--(214.7, 315.3)--(214.7, 315.2)--(214.7, 315.1)--(214.7, 315.0)--(214.7, 314.9)--(214.7, 314.8)--(214.7, 314.7)--(214.8, 314.1)--(215.1, 312.8)--(215.4, 311.1)--(215.7, 310.4)--(215.7, 310.1)--(215.8, 309.9)--(215.9, 309.3)--(215.9, 309.1)--(216.0, 309.1)--(216.0, 309.0)--(216.0, 308.9)--(216.1, 308.7)--(216.4, 308.2)--(216.9, 307.4)--(217.3, 306.8)--(217.7, 306.0)--(217.9, 305.6)--(217.9, 305.5)--(218.0, 305.0)--(218.2, 304.6)--(218.2, 304.0)--(218.3, 303.8)--(218.4, 303.5)--(218.4, 303.1)--(218.4, 303.0)--(218.6, 302.2)--(218.7, 302.0)--(218.9, 301.1)--(218.9, 301.0)--(217.9, 301.0)--(217.9, 300.8)--(218.0, 300.6)--(218.0, 300.5)--(218.0, 300.3)--(218.1, 300.1)--(218.1, 300.0)--(218.3, 299.5)--(218.5, 298.7)--(218.1, 298.6)--(217.9, 298.5)--(216.9, 298.4)--(216.9, 298.6)--(216.2, 298.5)--(216.1, 298.4)--(216.0, 298.7)--(215.9, 298.7)--(215.9, 298.6)--(215.8, 298.6)--(215.7, 298.6)--(215.6, 298.6)--(215.6, 298.5)--(215.6, 298.4)--(215.5, 298.4)--(215.3, 298.4)--(215.0, 298.5)--(214.8, 298.6)--(214.7, 298.6)--(213.8, 298.4)--(213.8, 298.5)--(213.8, 298.7)--(213.6, 298.6)--(213.0, 298.5)--(212.9, 298.5)--(213.0, 298.3)--(213.0, 298.2)--(212.6, 298.1)--(212.4, 298.0)--(212.4, 298.1)--(212.2, 298.3)--(212.0, 298.2)--(212.1, 298.2)--(212.0, 298.2)--(212.4, 297.8)--(212.5, 297.8)--(212.5, 297.7)--(212.5, 297.6)--(212.7, 297.4)--(212.9, 297.1)--(213.1, 296.9)--(213.2, 296.8)--(213.2, 296.7)--(213.3, 296.6)--(213.3, 296.4)--(213.4, 296.3)--(213.4, 296.2)--(213.4, 295.8)--(213.5, 295.4)--(213.5, 295.3)--(213.5, 295.2)--(213.5, 295.0)--(213.5, 294.9)--(213.6, 294.6)--(213.6, 294.3)--(213.6, 294.1)--(213.7, 294.0)--(213.7, 293.8)--(213.8, 293.7)--(213.8, 293.5)--(213.8, 293.3)--(213.7, 293.1)--(213.5, 292.8)--(213.4, 292.3)--(213.2, 292.1)--(213.0, 291.6)--(212.8, 291.1)--(212.5, 290.6)--(212.5, 290.5)--(212.3, 290.0)--(212.3, 289.9)--(212.3, 289.8)--(212.2, 289.6)--(212.2, 289.5)--(212.2, 289.3)--(212.1, 289.3)--(212.0, 2!
89.2)--(212.0, 289.0)--(211.9, 289.0)--(211.9, 288.9)--(212.0, 288.9)--(212.0, 288.7)--(212.1, 288.6)--(212.0, 288.4)--(212.0, 287.7)--(211.9, 287.7)--(211.7, 287.7)--(211.4, 287.7)--(210.6, 287.7)--(209.9, 287.6)--(209.0, 287.5)--(208.8, 287.4)--(208.6, 287.4)--(208.0, 287.3)--(207.9, 287.3)--(207.7, 287.3)--(207.6, 287.3)--(207.6, 287.2)--(207.3, 287.2)--(207.0, 287.1)--(206.3, 287.0)--(205.8, 286.9)--(205.0, 286.7)--(204.3, 286.6)--(203.6, 286.4)--(203.5, 286.5)--(203.3, 286.5)--(203.1, 286.5)--(202.7, 286.5)--(202.4, 286.6)--(201.9, 286.7)--(201.4, 287.0)--(201.2, 287.1)--(201.0, 287.3)--(200.9, 287.3)--(200.9, 287.4)--(200.7, 287.6)--(200.5, 287.8)--(200.4, 288.0)--(200.3, 288.3)--(200.2, 288.8)--(200.0, 289.0)--(199.8, 289.2)--(199.6, 289.5)--(199.3, 289.7)--(198.9, 290.1)--(197.9, 290.8)--(197.5, 291.1)--(197.2, 291.4)--(196.8, 291.9)--(196.3, 292.4)--(196.2, 292.6)--(196.1, 292.8)--(196.0, 293.0)--(195.9, 293.2)--(195.8, 293.5)--(195.7, 293.7)--(195.6, 293.9)--(195.4, 294.4)--(195.2, 294.8)--(195.1, 295.0)--(195.0, 295.1)--(194.9, 295.3)--(194.6, 295.7)--(194.3, 296.1)--(194.2, 296.1)--(194.1, 296.0)--(193.2, 295.3)--(193.1, 295.1)--(192.6, 294.8)--(192.1, 294.4)--(191.5, 294.1)--(191.3, 294.0)--(191.2, 294.0)--(190.9, 293.8)--(190.6, 293.7)--(190.1, 293.6)--(189.4, 293.7)--(189.2, 293.8)--(188.8, 293.8)--(188.4, 293.9)--(187.9, 294.0)--(187.4, 294.2)--(186.9, 294.3)--(186.5, 294.4)--(185.8, 294.5)--(185.5, 294.5)--(185.4, 294.5)--(185.2, 294.5)--(185.1, 294.5)--(185.0, 294.5)--(184.9, 294.4)--(184.4, 294.1)--(184.0, 293.9)--(183.6, 293.7)--(183.2, 293.4)--(182.0, 292.7)--(181.1, 292.3)--(180.9, 292.2)--(180.5, 291.9)--(180.5, 291.8)--(180.6, 291.3)--(180.7, 291.1)--(180.8, 291.1)--(180.8, 291.0)--(180.9, 290.9)--(181.0, 290.8)--(181.0, 290.6)--(181.0, 290.3)--(181.1, 290.2)--(181.2, 290.1)--(181.3, 289.9)--(181.4, 289.8)--(181.5, 289.5)--(181.7, 289.1)--(181.8, 288.9)--(181.9, 288.7)--(182.2, 288.2)--(182.3, 288.0)--(182.5, 287.7)--(182.4, 287.7)--(182.8, 287.0)--(182.3, 286.9)--(181.5, 286.7)--(180.4, !
286.4)--(180.2, 286.8)--(180.2, 287.0)--(180.2, 287.2)--(180.2, 287.3)--(179.5, 287.5)--(179.2, 287.6)--(178.8, 287.7)--(178.4, 287.8)--(177.9, 288.0)--(177.4, 288.1)--(177.3, 288.2)--(177.2, 288.3)--(177.0, 288.3)--(177.0, 288.2)--(177.0, 288.0)--(177.0, 287.7)--(177.1, 287.4)--(177.2, 287.0)--(177.3, 286.5)--(176.6, 286.1)--(175.9, 285.7)--(175.6, 285.5)--(175.3, 285.4)--(175.0, 285.2)--(174.4, 284.7)--(173.6, 284.1)--(172.9, 283.5)--(172.9, 283.6)--(172.5, 284.1)--(172.4, 284.2)--(172.3, 284.3)--(171.9, 284.8)--(171.7, 285.1)--(171.5, 285.3)--(171.4, 285.2)--(171.4, 285.3)--(171.3, 285.3)--(171.1, 285.1)--(170.9, 285.4)--(170.8, 285.5)--(170.6, 285.7)--(170.7, 285.7)--(170.8, 285.8)--(171.1, 286.2)--(171.0, 286.2)--(170.9, 286.4)--(170.2, 287.2)--(170.2, 287.3)--(170.5, 287.5)--(170.4, 287.5)--(170.4, 287.6)--(170.1, 287.8)--(169.1, 287.1)--(168.5, 286.5)--(168.2, 286.2)--(167.8, 285.9)--(167.3, 286.3)--(166.9, 286.6)--(166.6, 286.8)--(166.2, 287.0)--(165.5, 287.3)--(164.8, 287.7)--(164.4, 287.6)--(163.9, 287.8)--(163.8, 287.7)--(163.3, 287.1)--(162.9, 286.7)--(162.4, 287.4)--(162.0, 287.8)--(160.3, 286.7)--(159.9, 287.0)--(159.6, 287.1)--(159.5, 287.2)--(159.4, 287.2)--(159.0, 287.4)--(159.0, 287.3)--(158.8, 287.4)--(158.4, 287.5)--(158.0, 287.6)--(157.4, 287.8)--(157.0, 287.8)--(157.0, 287.9)--(156.6, 287.9)--(156.5, 287.9)--(156.1, 287.9)--(155.5, 287.9)--(155.0, 287.9)--(154.3, 287.9)--(153.8, 287.8)--(153.1, 287.7)--(152.4, 287.6)--(152.3, 287.7)--(151.8, 287.6)--(150.9, 288.1)--(150.0, 288.6)--(149.0, 289.2)--(148.2, 289.6)--(147.5, 290.0)--(146.7, 290.6)--(146.5, 290.7)--(146.4, 290.8)--(146.3, 290.8)--(146.3, 290.9)--(146.2, 290.9)--(146.0, 290.9)--(145.9, 290.9)--(145.8, 290.9)--(145.6, 290.8)--(144.7, 290.5)--(144.0, 290.2)--(143.2, 289.9)--(143.1, 289.9)--(143.1, 289.8)--(143.0, 289.9)--(142.9, 289.9)--(142.7, 289.8)--(142.5, 289.7)--(142.4, 289.7)--(142.3, 289.7)--(142.1, 289.7)--(142.1, 289.6)--(142.0, 289.6)--(141.9, 289.5)--(141.7, 289.5)--(141.5, 289.4)--(141.3, 289.3)--(141.1, 289.3)--(140.8,!
289.3)--(140.7, 289.2)--(140.5, 289.1)--(140.4, 289.1)--(140.3, 288.9)--(140.0, 288.6)--(139.7, 288.4)--(139.3, 288.1)--(139.0, 288.0)--(138.9, 287.9)--(138.8, 287.8)--(138.6, 287.8)--(138.4, 287.6)--(138.3, 287.6)--(138.3, 287.5)--(138.2, 287.5)--(138.2, 287.4)--(138.1, 287.3)--(137.9, 287.3)--(137.8, 287.2)--(137.7, 287.2)--(137.6, 287.2)--(137.5, 287.1)--(137.4, 287.2)--(137.4, 287.1)--(137.2, 287.0)--(137.2, 286.9)--(137.2, 286.8)--(137.0, 286.7)--(137.0, 286.6)--(136.9, 286.6)--(136.9, 286.1)--(136.9, 285.8)--(136.8, 285.6)--(136.6, 285.5)--(136.4, 285.3)--(136.3, 285.1)--(136.2, 284.9)--(136.0, 284.6)--(135.8, 284.2)--(135.5, 284.6)--(135.3, 284.4)--(135.0, 284.1)--(134.9, 283.9)--(134.8, 283.8)--(134.8, 283.7)--(134.7, 283.7)--(134.7, 283.6)--(134.6, 283.5)--(134.4, 283.4)--(134.1, 283.2)--(133.9, 283.1)--(133.8, 283.0)--(133.7, 283.0)--(133.8, 282.8)--(134.0, 282.5)--(133.5, 282.2)--(133.0, 281.9)--(132.7, 281.7)--(131.8, 281.2)--(131.3, 280.9)--(131.3, 281.0)--(131.4, 281.1)--(131.4, 281.3)--(131.3, 281.4)--(131.3, 281.5)--(131.1, 281.5)--(131.0, 281.5)--(130.9, 281.5)--(130.8, 281.6)--(130.7, 281.8)--(130.5, 282.0)--(130.4, 282.1)--(130.3, 282.2)--(130.2, 282.4)--(130.1, 282.4)--(130.0, 282.5)--(129.9, 282.5)--(129.8, 282.9)--(129.3, 284.0)--(129.2, 284.3)--(129.1, 284.7)--(129.0, 284.9)--(128.9, 285.1)--(128.7, 285.4)--(128.6, 285.8)--(128.5, 286.3)--(128.0, 286.3)--(127.8, 286.2)--(127.6, 286.2)--(127.5, 286.2)--(127.0, 286.4)--(127.1, 287.0)--(127.1, 287.2)--(127.1, 287.4)--(127.1, 287.5)--(127.2, 287.6)--(127.0, 287.6)--(127.0, 287.7)--(126.6, 287.4)--(126.3, 287.3)--(126.1, 287.2)--(126.1, 287.1)--(125.8, 286.9)--(125.5, 286.8)--(124.7, 286.3)--(124.3, 286.1)--(124.1, 286.0)--(123.9, 285.9)--(123.7, 285.8)--(123.5, 285.7)--(123.3, 285.6)--(123.1, 285.6)--(123.0, 285.5)--(122.9, 285.5)--(122.5, 285.4)--(122.3, 285.4)--(122.0, 285.4)--(121.8, 285.4)--(121.6, 285.3)--(121.4, 285.3)--(120.7, 285.4)--(120.3, 285.6)--(119.9, 285.6)--(119.1, 285.9)--(118.1, 286.2)--(117.0, 286.6)--(115.8, 287.1)--(114.6!
, 287.6)--(113.1, 288.2)--(112.6, 288.4)--(111.6, 288.8)--(111.5, 288.9)--(111.5, 288.8)--(110.5, 289.2)--(109.7, 289.5)--(109.2, 289.7)--(108.2, 290.1)--(107.0, 290.6)--(106.8, 290.6)--(107.2, 291.4)--(107.9, 292.8)--(108.0, 292.8)--(108.5, 293.9)--(108.8, 294.3)--(108.9, 294.5)--(109.0, 294.5)--(109.0, 294.6)--(109.1, 294.7)--(109.2, 294.8)--(109.3, 294.9)--(109.4, 295.0)--(109.5, 295.1)--(109.6, 295.1)--(109.7, 295.2)--(109.8, 295.2)--(109.9, 295.3)--(110.0, 295.3)--(110.1, 295.4)--(110.3, 295.4)--(110.4, 295.5)--(110.6, 295.5)--(110.6, 295.6)--(111.1, 295.8)--(111.6, 296.0)--(112.1, 296.4)--(113.0, 297.0)--(113.9, 297.6)--(114.4, 297.9)--(114.9, 298.2)--(115.3, 298.5)--(115.5, 298.6)--(115.5, 298.7)--(115.6, 298.7)--(115.6, 298.8)--(115.8, 298.8)--(115.9, 298.9)--(116.0, 299.1)--(116.0, 299.2)--(116.2, 299.4)--(116.2, 299.6)--(116.3, 299.7)--(116.3, 299.9)--(116.4, 300.1)--(116.5, 300.4)--(116.7, 301.4)--(117.2, 303.2)--(117.5, 304.4)--(117.6, 304.8)--(117.7, 305.2)--(117.8, 305.5)--(117.8, 305.7)--(117.9, 305.9)--(117.9, 306.1)--(118.1, 306.5)--(118.2, 306.7)--(118.5, 307.2)--(118.6, 307.4)--(118.8, 307.6)--(119.1, 307.9)--(120.4, 308.7)--(120.8, 309.0)--(121.4, 309.4)--(121.6, 309.5)--(121.7, 309.6)--(121.8, 309.7)--(121.9, 309.8)--(122.1, 310.0)--(122.3, 310.3)--(122.4, 310.5)--(122.6, 310.8)--(122.7, 310.8)--(123.0, 311.3)--(123.2, 311.3)--(123.2, 311.4)--(123.3, 311.5)--(123.5, 311.8)--(123.7, 312.0)--(123.8, 312.1)--(123.8, 312.2)--(124.0, 312.7)--(124.3, 313.3)--(124.4, 313.4)--(124.8, 314.0)--(125.0, 314.3)--(125.4, 315.1)--(125.5, 315.4)--(125.7, 315.7)--(125.9, 316.2)--(126.0, 316.4)--(126.5, 317.4)--(126.8, 318.1)--(126.9, 318.4)--(127.2, 318.6)--(127.2, 318.8)--(127.4, 318.9)--(127.5, 319.2)--(127.5, 319.3)--(127.6, 319.6)--(127.6, 319.9)--(127.6, 320.1)--(127.6, 320.3)--(127.5, 320.8)--(127.5, 321.1)--(127.4, 321.4)--(127.4, 321.9)--(127.4, 323.5)--(127.3, 323.5)--(127.3, 323.6)--(127.2, 323.6)--(126.8, 323.7)--(126.4, 323.7)--(125.4, 323.8)--(125.0, 323.9)--(124.0, 324.1)--(123.6, 324.2)--(123.!
0, 324.3)--(121.9, 324.6)--(121.6, 324.7)--(120.8, 325.0)--(120.6, 325.1)--(120.1, 325.1)--(120.0, 324.8)--(119.9, 324.6)--(119.8, 324.2)--(119.3, 324.6)--(118.9, 324.9)--(118.5, 325.1)--(118.3, 325.3)--(118.3, 325.5)--(118.0, 325.6)--(117.9, 325.6)--(117.4, 325.7)--(116.1, 326.1)--(115.3, 326.3)--(114.6, 326.5)--(114.0, 326.6)--(113.7, 326.7)--(113.4, 326.7)--(113.0, 326.8)--(112.9, 326.8)--(111.8, 327.0)--(110.7, 327.3)--(109.8, 327.5)--(109.0, 327.6)--(107.7, 327.8)--(107.6, 327.8)--(107.5, 327.9)--(107.4, 327.9)--(107.3, 327.9)--(107.1, 327.9)--(106.9, 328.0)--(106.8, 328.0)--(105.9, 328.3)--(105.6, 328.3)--(104.2, 328.8)--(104.1, 328.8)--(103.6, 328.9)--(103.3, 328.9)--(103.2, 328.9)--(103.1, 329.0)--(103.0, 329.1)--cycle;
+Enfield = (310.2, 509.3)--(310.4, 509.3)--(310.9, 509.3)--(311.4, 509.3)--(311.6, 509.3)--(311.9, 509.2)--(312.3, 509.0)--(312.6, 509.0)--(313.1, 508.8)--(313.6, 508.8)--(314.1, 508.7)--(314.6, 508.6)--(314.7, 508.5)--(315.1, 508.4)--(315.3, 508.4)--(315.5, 508.3)--(316.2, 508.1)--(316.4, 508.0)--(316.6, 507.9)--(316.7, 508.0)--(317.1, 507.8)--(317.5, 507.6)--(317.9, 507.6)--(318.2, 507.5)--(319.1, 507.5)--(319.8, 507.5)--(320.2, 507.4)--(320.4, 507.4)--(321.1, 507.4)--(321.5, 507.5)--(321.9, 507.5)--(322.2, 507.5)--(322.7, 507.6)--(323.2, 507.7)--(323.5, 507.7)--(323.8, 507.8)--(324.1, 507.8)--(324.4, 507.8)--(324.8, 507.7)--(325.4, 507.6)--(325.8, 507.4)--(326.3, 507.3)--(326.7, 507.1)--(326.8, 507.0)--(326.9, 507.0)--(326.9, 506.9)--(327.0, 506.9)--(327.1, 506.9)--(327.2, 506.9)--(327.3, 506.8)--(327.4, 506.8)--(327.5, 506.8)--(327.6, 506.8)--(327.7, 506.8)--(327.8, 506.8)--(328.2, 506.7)--(328.3, 506.7)--(328.4, 506.7)--(328.4, 506.6)--(328.5, 506.6)--(328.6, 506.6)--(328.8, 506.5)--(329.4, 506.2)--(329.6, 506.0)--(329.9, 505.8)--(330.4, 505.5)--(330.7, 505.4)--(331.0, 505.2)--(331.3, 505.0)--(331.6, 504.8)--(332.2, 504.5)--(332.4, 504.4)--(333.0, 504.1)--(333.4, 503.8)--(333.8, 503.6)--(334.0, 503.4)--(334.6, 503.0)--(335.1, 502.6)--(335.5, 502.4)--(335.9, 502.1)--(336.2, 502.0)--(336.6, 501.7)--(336.9, 501.6)--(337.1, 501.4)--(337.7, 501.1)--(338.1, 501.0)--(338.3, 500.9)--(338.6, 500.8)--(339.0, 500.7)--(339.3, 500.6)--(339.5, 500.6)--(339.7, 500.6)--(339.9, 500.5)--(340.7, 500.3)--(341.1, 500.2)--(341.4, 500.2)--(341.5, 500.2)--(341.7, 500.2)--(341.8, 500.2)--(342.3, 500.1)--(342.6, 500.1)--(342.8, 500.3)--(343.0, 500.3)--(343.0, 500.2)--(343.6, 500.3)--(344.0, 500.3)--(344.2, 500.3)--(344.5, 500.3)--(345.0, 500.5)--(345.3, 500.6)--(345.5, 500.7)--(345.7, 500.8)--(346.0, 500.8)--(346.2, 500.8)--(346.7, 500.8)--(347.1, 500.9)--(347.5, 501.0)--(347.9, 501.0)--(348.0, 501.1)--(348.3, 501.2)--(348.6, 501.4)--(348.7, 501.5)--(348.9, 501.6)--(349.2, 501.7)--(349.6, 501.9)--(349.7, 501.7)--(349.8, 501.!
7)--(349..9, 501.6)--(350.0, 501.6)--(350.2, 501.7)--(350.4, 501.5)--(350.5, 501.3)--(350.6, 501.3)--(350.6, 501.2)--(350.7, 501.2)--(350.7, 501.1)--(350.8, 501.1)--(350.9, 501.1)--(351.0, 501.1)--(351.0, 501.0)--(351.1, 501.0)--(351.2, 501.0)--(351.3, 501.0)--(351.4, 501.0)--(351.5, 501.0)--(351.6, 501.0)--(351.7, 501.0)--(351.8, 501.0)--(351.9, 501.0)--(352.3, 501.1)--(352.7, 501.1)--(353.0, 501.1)--(353.1, 501.0)--(353.4, 501.0)--(353.4, 500.8)--(353.4, 500.7)--(354.2, 500.7)--(354.3, 500.7)--(354.9, 500.7)--(355.2, 500.7)--(356.2, 500.6)--(357.9, 500.5)--(358.0, 500.5)--(358.0, 500.4)--(358.0, 500.3)--(358.1, 500.3)--(359.8, 500.2)--(360.0, 500.2)--(360.0, 500.3)--(360.5, 500.2)--(360.8, 500.2)--(360.9, 500.3)--(362.4, 500.2)--(362.4, 500.3)--(363.3, 500.2)--(364.0, 500.1)--(364.5, 500.1)--(364.6, 500.0)--(364.9, 499.9)--(365.3, 499.9)--(365.7, 499.8)--(366.2, 499.7)--(366.6, 499.6)--(366.7, 499.5)--(367.0, 499.5)--(367.5, 499.3)--(367.6, 499.4)--(367.8, 499.4)--(368.4, 499.3)--(369.2, 499.1)--(370.0, 499.0)--(370.1, 499.0)--(371.1, 498.9)--(371.4, 498.9)--(371.6, 498.9)--(372.6, 498.9)--(373.3, 498.9)--(374.0, 498.9)--(375.3, 498.8)--(375.4, 498.8)--(375.9, 498.8)--(376.0, 498.8)--(376.0, 498.7)--(376.0, 498.6)--(376.0, 497.9)--(376.1, 497.4)--(376.1, 497.3)--(376.3, 496.7)--(376.4, 496.1)--(376.5, 495.6)--(376.6, 494.9)--(376.6, 494.4)--(376.7, 494.2)--(376.7, 494.1)--(376.7, 493.9)--(376.6, 493.7)--(376.6, 493.4)--(376.5, 493.3)--(376.5, 492.9)--(376.4, 492.6)--(376.4, 492.3)--(376.4, 492.1)--(376.3, 491.7)--(376.2, 490.5)--(376.1, 488.9)--(376.1, 488.1)--(376.1, 488.0)--(376.1, 487.9)--(376.1, 487.8)--(376.1, 487.7)--(376.1, 487.6)--(376.1, 487.5)--(376.1, 487.4)--(376.2, 487.4)--(376.2, 487.3)--(376.2, 487.2)--(376.3, 487.1)--(376.5, 486.5)--(376.7, 486.2)--(376.7, 486.1)--(376.7, 486.0)--(376.7, 485.9)--(376.7, 485.8)--(376.7, 485.7)--(376.7, 485.6)--(376.7, 485.5)--(376.7, 485.4)--(376.6, 485.3)--(376.6, 485.2)--(376.5, 485.1)--(376.5, 485.0)--(376.5, 484.9)--(376.4, 484.9)--(376.4, 484.8)--(376.4, 484!
.7)--(376.4, 484.6)--(376.4, 484.4)--(376.3, 484.3)--(376.3, 484.1)--(376.3, 483.9)--(376.3, 483.8)--(376.3, 483.6)--(376.3, 483.4)--(376.3, 483.2)--(376.3, 481.6)--(376.2, 480.0)--(376.2, 479.9)--(376.3, 479.8)--(376.3, 479.7)--(376.3, 479.6)--(376.3, 479.5)--(376.3, 479.4)--(376.4, 479.3)--(376.4, 479.2)--(376.5, 479.1)--(376.5, 479.0)--(376.6, 478.9)--(376.8, 478.6)--(376.9, 478.4)--(377.2, 477.9)--(377.5, 477.6)--(377.6, 477.5)--(377.6, 477.4)--(377.7, 477.4)--(377.7, 477.3)--(377.8, 477.2)--(377.8, 477.1)--(377.9, 477.1)--(377.9, 477.0)--(378.0, 476.9)--(378.0, 476.8)--(378.0, 476.7)--(378.1, 476.6)--(378.1, 476.5)--(378.1, 476.4)--(378.1, 476.3)--(378.1, 476.2)--(378.1, 476.1)--(378.1, 476.0)--(378.1, 475.9)--(378.1, 475.8)--(378.1, 475.7)--(378.1, 475.6)--(378.1, 475.5)--(378.0, 475.4)--(378.0, 475.3)--(377.6, 473.4)--(377.3, 471.8)--(376.8, 469.8)--(376.6, 468.8)--(376.4, 468.1)--(376.4, 468.0)--(376.4, 467.9)--(376.4, 467.8)--(376.4, 467.7)--(376.4, 467.6)--(376.4, 467.5)--(376.4, 467.4)--(376.4, 467.2)--(376.4, 467.0)--(376.4, 466.8)--(376.4, 466.6)--(376.5, 466.4)--(376.5, 466.2)--(376.6, 465.4)--(376.6, 464.9)--(376.6, 464.2)--(376.5, 463.2)--(376.4, 463.0)--(376.3, 461.5)--(376.3, 460.3)--(376.0, 457.3)--(375.8, 454.0)--(375.8, 453.2)--(375.7, 452.9)--(375.6, 452.4)--(375.3, 451.2)--(374.9, 450.0)--(374.8, 449.7)--(374.8, 449.4)--(374.8, 449.2)--(374.7, 448.8)--(374.5, 448.3)--(374.4, 448.0)--(374.0, 447.3)--(373.6, 446.4)--(373.5, 446.1)--(373.3, 445.8)--(372.8, 444.7)--(372.3, 443.4)--(371.5, 441.8)--(369.8, 438.1)--(369.5, 437.4)--(369.3, 437.1)--(369.2, 436.8)--(369.1, 436.7)--(368.9, 436.3)--(368.8, 436.1)--(368.6, 435.8)--(368.5, 435.5)--(368.4, 435.2)--(368.3, 435.0)--(368.3, 434.8)--(368.2, 434.4)--(368.1, 434.0)--(368.0, 433.7)--(367.9, 433.5)--(367.8, 433.2)--(367.5, 432.8)--(367.4, 432.7)--(367.3, 432.6)--(366.8, 431.9)--(366.6, 431.6)--(366.5, 431.5)--(366.3, 431.1)--(366.2, 431.0)--(365.7, 430.3)--(365.2, 429.5)--(365.0, 429.2)--(364.6, 428.8)--(364.0, 428.1)--(363.8, 427.9)--(363.7, 42!
7.7)--(363.6, 427.5)--(363.4, 427.3)--(363.3, 427.1)--(363.2, 427.0)--(363.1, 426.9)--(363.1, 426.8)--(363.0, 426.6)--(363.0, 426.5)--(362.9, 426.4)--(362.6, 425.8)--(362.2, 425.0)--(361.8, 424.1)--(361.5, 423.6)--(361.4, 423.5)--(361.4, 423.4)--(361.4, 423.3)--(361.3, 423.2)--(361.3, 423.1)--(361.3, 423.0)--(361.3, 422.9)--(361.3, 422.8)--(361.2, 422.8)--(361.2, 422.7)--(361.2, 422.6)--(361.2, 422.5)--(361.2, 422.4)--(361.1, 422.3)--(361.1, 422.2)--(361.1, 422.1)--(361.1, 422.0)--(361.1, 421.9)--(361.2, 421.8)--(361.2, 421.7)--(361.2, 421.6)--(361.3, 421.6)--(361.3, 421.5)--(361.3, 421.4)--(361.4, 421.3)--(361.4, 421.2)--(361.5, 421.1)--(361.5, 421.0)--(361.6, 421.0)--(361.6, 420.9)--(361.7, 420.8)--(362.0, 420.2)--(362.1, 420.2)--(362.1, 420.1)--(362.1, 420.0)--(362.2, 420.0)--(362.2, 419.9)--(362.2, 419.8)--(362.2, 419.7)--(362.3, 419.7)--(362.3, 419.6)--(362.3, 419.5)--(362.3, 419.4)--(362.3, 419.3)--(362.3, 419.2)--(362.3, 419.1)--(362.3, 419.0)--(362.3, 418.9)--(362.3, 418.8)--(362.2, 418.7)--(362.2, 418.6)--(362.2, 418.5)--(362.1, 418.5)--(362.1, 418.4)--(362.0, 418.3)--(362.0, 418.2)--(361.9, 418.2)--(361.8, 418.0)--(361.8, 417.9)--(361.7, 417.8)--(361.6, 417.7)--(361.5, 417.7)--(361.5, 417.6)--(361.4, 417.6)--(361.4, 417.5)--(361.3, 417.5)--(361.2, 417.4)--(361.1, 417.4)--(361.1, 417.3)--(361.0, 417.2)--(360.9, 417.1)--(360.7, 417.0)--(359.7, 416.4)--(359.2, 416.1)--(357.9, 415.2)--(357.8, 415.2)--(357.8, 415.1)--(357.7, 415.1)--(357.6, 415.0)--(357.5, 414.9)--(357.4, 414.8)--(357.4, 414.7)--(357.3, 414.7)--(357.3, 414.6)--(357.0, 414.7)--(356.3, 414.9)--(355.3, 415.1)--(354.6, 415.3)--(353.0, 415.8)--(352.7, 415.9)--(352.4, 415.9)--(352.1, 416.0)--(352.0, 416.1)--(351.8, 416.2)--(351.6, 416.2)--(351.4, 416.3)--(351.2, 416.4)--(350.2, 416.8)--(350.3, 416.8)--(350.1, 416.9)--(349.8, 417.0)--(349.5, 417.1)--(349.3, 417.1)--(349.3, 417.4)--(349.2, 417.4)--(349.2, 417.5)--(349.3, 417.6)--(349.2, 417.6)--(349.1, 417.7)--(348.5, 417.9)--(348.2, 418.0)--(347.4, 418.0)--(347.0, 417.9)--(345.7, 417.8)--(345.0, 4!
17.7)--(343.5, 417.6)--(342.7, 417.5)--(342.3, 417.5)--(340.9, 417.5)--(340.7, 417.5)--(340.6, 417.5)--(340.0, 417.5)--(339.4, 417.8)--(339.2, 417.5)--(339.1, 417.5)--(339.0, 417.5)--(338.9, 417.5)--(338.8, 417.7)--(338.6, 417.5)--(337.9, 417.5)--(337.7, 417.5)--(337.2, 417.5)--(336.9, 417.5)--(336.8, 417.5)--(336.8, 417.6)--(336.4, 417.5)--(336.2, 417.5)--(336.0, 417.4)--(336.0, 417.5)--(335.9, 417.5)--(335.4, 417.4)--(334.8, 417.3)--(334.1, 417.2)--(333.5, 417.1)--(333.2, 417.1)--(332.8, 417.0)--(332.5, 417.1)--(331.8, 417.1)--(331.4, 417.1)--(331.2, 417.1)--(331.1, 417.1)--(331.0, 417.1)--(330.8, 417.1)--(330.0, 417.1)--(329.6, 417.0)--(329.1, 417.0)--(329.0, 417.0)--(328.2, 417.0)--(327.5, 417.0)--(327.4, 417.0)--(327.2, 417.0)--(326.5, 416.9)--(325.9, 417.0)--(325.6, 417.0)--(325.3, 417.1)--(325.0, 417.1)--(324.7, 417.2)--(324.5, 417.2)--(323.8, 417.3)--(323.0, 417.3)--(322.9, 417.2)--(322.6, 417.2)--(322.4, 417.3)--(322.3, 417.3)--(322.3, 417.2)--(322.3, 417.3)--(322.1, 417.3)--(322.1, 417.4)--(322.1, 417.5)--(321.9, 417.5)--(321.9, 417.2)--(321.8, 417.3)--(321.5, 417.3)--(321.1, 417.4)--(320.8, 417.2)--(320.0, 417.0)--(319.9, 417.2)--(319.9, 417.3)--(319.7, 417.7)--(319.5, 417.7)--(319.3, 417.6)--(319.1, 417.6)--(318.8, 417.5)--(318.7, 417.4)--(318.5, 417.2)--(318.4, 417.2)--(318.3, 417.2)--(318.4, 416.8)--(318.1, 416.8)--(317.3, 416.7)--(316.7, 416.7)--(316.4, 416.7)--(316.1, 416.7)--(315.9, 416.7)--(315.8, 416.7)--(315.6, 416.7)--(315.4, 416.7)--(315.3, 416.6)--(315.1, 416.6)--(314.9, 416.2)--(314.6, 416.4)--(314.2, 416.6)--(314.1, 416.6)--(313.9, 416.6)--(313.8, 416.6)--(313.0, 416.6)--(312.7, 416.5)--(312.6, 416.5)--(312.3, 416.5)--(311.8, 416.4)--(311.7, 416.3)--(310.2, 416.3)--(309.8, 416.3)--(309.4, 416.4)--(309.4, 416.6)--(309.3, 416.6)--(309.2, 416.7)--(309.2, 416.6)--(309.1, 416.5)--(308.7, 416.5)--(307.8, 416.4)--(307.1, 416.4)--(307.1, 416.3)--(306.9, 416.3)--(306.8, 416.3)--(306.6, 416.4)--(306.5, 416.4)--(306.0, 416.4)--(305.9, 416.4)--(305.6, 416.4)--(305.6, 416.2)--(304.7, 416.3)--(304.5, !
416.1)--(304.1, 416.3)--(303.7, 416.6)--(303.4, 416.2)--(303.1, 416.3)--(301.9, 416.4)--(301.7, 416.5)--(301.6, 416.5)--(301.4, 416.5)--(301.1, 416.5)--(300.6, 416.6)--(300.5, 416.6)--(300.4, 416.5)--(300.0, 417.0)--(300.1, 417.0)--(300.0, 417.1)--(299.9, 417.1)--(299.9, 417.2)--(299.3, 417.8)--(299.4, 417.9)--(299.1, 418.0)--(298.6, 417.5)--(298.7, 417.5)--(298.4, 417.1)--(298.4, 417.2)--(298.3, 417.2)--(297.7, 417.2)--(297.3, 417.3)--(296.8, 417.4)--(296.0, 417.6)--(295.2, 418.1)--(294.9, 418.2)--(294.6, 418.3)--(293.5, 418.7)--(292.4, 419.1)--(292.2, 419.1)--(292.0, 419.0)--(291.7, 418.7)--(291.5, 418.6)--(290.5, 418.2)--(289.8, 417.9)--(289.2, 418.6)--(288.7, 419.2)--(288.3, 419.7)--(287.9, 420.3)--(287.4, 421.0)--(286.8, 421.9)--(286.8, 422.0)--(286.1, 422.9)--(285.6, 423.7)--(285.9, 423.8)--(286.0, 423.9)--(286.2, 423.9)--(286.6, 424.1)--(286.8, 424.3)--(286.9, 424.3)--(287.3, 424.5)--(287.3, 424.6)--(287.3, 424.7)--(287.3, 424.8)--(287.4, 424.8)--(287.4, 425.0)--(287.5, 425.2)--(287.5, 425.4)--(287.6, 425.5)--(287.6, 425.6)--(287.7, 425.7)--(287.8, 425.8)--(287.8, 425.9)--(287.8, 426.0)--(288.0, 426.2)--(288.1, 426.2)--(288.2, 426.2)--(288.3, 426.3)--(288.7, 427.0)--(288.9, 427.1)--(288.8, 427.2)--(289.0, 427.4)--(289.1, 427.5)--(289.7, 428.3)--(289.8, 428.4)--(290.3, 429.1)--(290.5, 429.4)--(290.9, 429.8)--(291.3, 430.2)--(291.7, 430.8)--(291.6, 431.5)--(291.7, 431.5)--(291.8, 431.4)--(292.0, 431.5)--(292.0, 431.8)--(292.1, 432.0)--(292.2, 432.3)--(292.3, 432.7)--(292.3, 432.8)--(292.5, 433.2)--(292.5, 433.3)--(292.5, 433.5)--(292.5, 433.6)--(292.4, 433.7)--(292.4, 433.8)--(292.4, 433.9)--(292.5, 433.9)--(292.5, 434.0)--(292.6, 434.0)--(292.6, 434.2)--(292.6, 434.4)--(292.8, 435.1)--(292.9, 435.6)--(292.9, 435.9)--(292.9, 436.0)--(293.0, 436.0)--(293.0, 436.1)--(293.0, 436.2)--(293.1, 436.2)--(293.1, 436.3)--(293.2, 436.3)--(293.2, 436.4)--(293.4, 436.5)--(293.5, 436.7)--(293.6, 436.8)--(293.7, 437.0)--(293.8, 437.2)--(293.8, 437.4)--(293.9, 437.6)--(294.0, 437.7)--(294.1, 437.9)--(294.3, 438.2)--(294.4,!
438.4)--(294.4, 438.5)--(294.5, 438.7)--(294.5, 438.8)--(294.5, 438.9)--(294.5, 439.0)--(294.7, 439.3)--(294.9, 439.3)--(295.0, 439.4)--(294.8, 439.5)--(294.5, 439.7)--(294.7, 440.2)--(294.8, 440.5)--(294.9, 440.9)--(295.1, 441.2)--(295.4, 441.2)--(295.5, 441.7)--(295.7, 442.1)--(295.8, 442.6)--(295.5, 442.7)--(295.0, 442.8)--(294.6, 442.9)--(294.3, 442.9)--(293.8, 443.2)--(293.4, 443.4)--(293.1, 443.5)--(292.9, 443.7)--(292.7, 443.9)--(292.5, 444.1)--(292.6, 444.2)--(292.5, 444.4)--(292.4, 444.4)--(292.4, 444.5)--(292.2, 444.3)--(292.1, 444.4)--(292.2, 444.6)--(292.0, 444.7)--(292.2, 444.9)--(292.2, 445.0)--(292.1, 445.1)--(292.0, 445.2)--(291.9, 445.4)--(291.5, 445.7)--(291.3, 445.8)--(290.8, 446.1)--(289.8, 446.8)--(289.5, 447.0)--(289.3, 447.1)--(289.2, 447.2)--(288.2, 448.1)--(287.8, 448.5)--(287.6, 448.8)--(287.4, 449.0)--(287.2, 449.3)--(286.9, 449.7)--(286.7, 449.9)--(286.6, 450.0)--(286.5, 450.2)--(286.6, 450.3)--(286.3, 450.8)--(286.0, 451.2)--(285.3, 452.1)--(284.5, 453.9)--(282.5, 453.2)--(282.4, 453.6)--(282.1, 454.2)--(282.0, 454.3)--(281.8, 455.2)--(281.7, 455.5)--(281.6, 456.0)--(281.6, 456.1)--(281.6, 456.3)--(281.6, 456.5)--(281.6, 456.7)--(281.5, 456.8)--(280.8, 456.7)--(280.4, 456.7)--(280.2, 456.7)--(280.1, 456.7)--(279.8, 456.8)--(279.9, 457.1)--(279.5, 457.3)--(280.1, 458.4)--(280.0, 458.5)--(280.1, 458.6)--(280.2, 458.9)--(280.0, 459.0)--(279.3, 459.3)--(279.4, 459.7)--(279.7, 459.9)--(281.0, 460.6)--(280.2, 462.1)--(279.6, 461.9)--(279.3, 461.8)--(279.3, 462.0)--(279.2, 462.1)--(279.2, 462.3)--(279.2, 462.8)--(279.1, 463.4)--(279.1, 463.5)--(279.1, 463.6)--(278.8, 464.0)--(278.7, 464.2)--(278.5, 464.7)--(278.4, 464.8)--(278.4, 464.9)--(278.2, 464.9)--(278.0, 464.8)--(277.9, 465.2)--(278.0, 465.5)--(278.1, 465.5)--(278.4, 465.6)--(278.3, 465.7)--(278.3, 466.0)--(278.3, 466.4)--(278.2, 466.9)--(278.1, 467.1)--(277.8, 467.3)--(277.7, 467.4)--(277.5, 467.5)--(277.5, 467.7)--(277.4, 468.1)--(277.3, 468.1)--(276.9, 468.2)--(275.3, 468.7)--(275.2, 468.9)--(275.0, 468.8)--(273.4, 469.3)--(273.1!
, 469.6)--(272.8, 469.8)--(271.8, 470.6)--(271.5, 470.7)--(271.3, 470.8)--(270.2, 470.9)--(265.0, 472.6)--(262.9, 473.3)--(262.2, 473.5)--(260.5, 474.1)--(259.4, 474.4)--(258.2, 474.8)--(258.0, 474.9)--(257.2, 475.2)--(257.1, 475.2)--(255.7, 475.6)--(255.8, 476.0)--(256.1, 476.8)--(256.9, 478.9)--(257.4, 480.2)--(258.1, 482.1)--(258.5, 482.5)--(259.6, 483.7)--(260.0, 484.1)--(260.7, 484.9)--(261.0, 485.2)--(261.8, 486.1)--(261.5, 486.7)--(262.0, 486.7)--(262.6, 486.7)--(262.5, 487.3)--(262.7, 487.6)--(262.9, 487.4)--(264.7, 487.3)--(265.3, 488.3)--(266.1, 489.8)--(267.5, 492.4)--(267.7, 492.9)--(268.3, 493.8)--(269.3, 495.7)--(269.4, 495.8)--(269.5, 496.0)--(269.8, 496.6)--(270.5, 497.8)--(270.5, 500.0)--(270.5, 500.1)--(270.5, 500.8)--(270.5, 501.4)--(270.5, 501.7)--(270.5, 502.1)--(270.4, 502.6)--(270.5, 503.4)--(270.5, 504.1)--(270.7, 504.1)--(271.0, 504.1)--(271.4, 504.0)--(271.8, 503.9)--(272.2, 503.8)--(272.5, 503.7)--(272.9, 503.6)--(273.1, 503.6)--(273.4, 503.5)--(274.3, 503.3)--(274.5, 503.2)--(274.5, 503.1)--(274.6, 503.1)--(274.7, 503.1)--(274.7, 503.0)--(274.8, 503.0)--(274.8, 502.9)--(274.9, 502.9)--(274.9, 502.8)--(275.1, 502.7)--(275.5, 502.5)--(276.0, 502.3)--(276.5, 502.2)--(276.6, 502.1)--(277.1, 502.0)--(277.6, 501.8)--(278.0, 501.7)--(278.5, 501.6)--(278.9, 501.6)--(279.2, 501.5)--(279.5, 501.5)--(280.0, 501.5)--(280.3, 501.5)--(280.7, 501.6)--(281.3, 501.8)--(281.7, 501.9)--(282.2, 502.0)--(282.5, 502.1)--(282.9, 502.2)--(283.0, 502.4)--(283.3, 502.4)--(283.5, 502.5)--(283.9, 502.7)--(284.5, 503.0)--(285.1, 503.4)--(285.6, 503.7)--(286.0, 503.9)--(286.5, 504.1)--(287.0, 504.3)--(287.4, 504.5)--(287.8, 504.7)--(288.3, 504.9)--(288.8, 505.0)--(289.3, 505.2)--(289.9, 505.3)--(290.4, 505.4)--(290.7, 505.3)--(291.0, 505.3)--(291.0, 505.4)--(291.0, 505.5)--(291.3, 505.5)--(291.7, 505.6)--(292.1, 505.6)--(292.7, 505.6)--(293.4, 505.6)--(294.0, 505.6)--(294.5, 505.6)--(295.0, 505.6)--(295.5, 505.5)--(295.9, 505.5)--(296.3, 505.5)--(297.0, 505.4)--(297.6, 505.4)--(298.4, 505.4)--(298.7, 505.3)--(298.!
8, 505.3)--(298.9, 505.3)--(299.0, 505.3)--(299.1, 505.3)--(299.2, 505.4)--(299.3, 505.4)--(299.4, 505.4)--(299.5, 505.4)--(299.6, 505.5)--(299.7, 505.5)--(299.9, 505.5)--(300.0, 505.6)--(300.4, 505.7)--(300.9, 505.8)--(301.2, 505.9)--(301.6, 506.0)--(301.7, 505.8)--(301.9, 505.9)--(301.9, 506.0)--(302.0, 506.2)--(302.7, 506.4)--(303.1, 506.7)--(303.4, 506.9)--(303.8, 507.1)--(304.1, 507.3)--(304.5, 507.4)--(304.8, 507.6)--(305.0, 507.8)--(305.3, 508.0)--(305.5, 508.1)--(305.8, 508.3)--(306.5, 508.5)--(307.0, 508.6)--(307.6, 508.8)--(307.5, 509.0)--(307.8, 509.1)--(308.6, 509.2)--(309.1, 509.3)--(309.6, 509.3)--(310.0, 509.3)--cycle;
+Greenwich = (472.3, 313.0)--(472.5, 312.6)--(472.6, 311.5)--(472.6, 311.1)--(472.6, 310.8)--(472.7, 310.2)--(472.7, 310.0)--(472.7, 309.7)--(472.7, 309.0)--(472.8, 308.1)--(472.8, 307.7)--(472.9, 307.0)--(472.9, 305.8)--(473.0, 304.5)--(473.0, 303.7)--(473.1, 303.0)--(473.1, 302.5)--(473.1, 302.1)--(473.1, 301.8)--(473.1, 301.1)--(473.2, 300.0)--(473.2, 299.0)--(473.3, 297.3)--(473.4, 296.2)--(473.4, 296.1)--(473.4, 295.0)--(473.5, 293.3)--(473.5, 292.8)--(473.6, 292.0)--(473.6, 290.7)--(473.7, 290.4)--(473.7, 289.8)--(473.7, 288.9)--(473.8, 288.1)--(473.9, 287.8)--(473.9, 287.7)--(473.9, 287.6)--(473.9, 287.0)--(473.9, 286.8)--(473.9, 286.7)--(473.9, 286.5)--(473.9, 286.4)--(473.9, 286.2)--(474.3, 284.9)--(474.3, 284.8)--(474.3, 284.6)--(474.4, 284.3)--(474.4, 283.0)--(474.5, 282.1)--(474.5, 281.1)--(474.5, 280.8)--(474.5, 280.5)--(474.6, 280.1)--(474.8, 279.5)--(474.9, 279.0)--(475.2, 278.0)--(475.5, 277.1)--(475.6, 276.6)--(475.8, 275.9)--(475.9, 275.3)--(476.0, 275.1)--(476.0, 274.9)--(476.1, 274.6)--(476.0, 274.6)--(475.9, 274.7)--(475.9, 274.8)--(475.8, 274.9)--(475.6, 275.1)--(475.2, 275.4)--(475.0, 275.6)--(474.7, 275.7)--(474.5, 275.9)--(474.4, 276.0)--(474.1, 276.1)--(473.9, 276.3)--(473.7, 276.4)--(473.6, 276.4)--(473.3, 276.5)--(473.1, 276.5)--(473.0, 276.5)--(472.7, 276.5)--(472.6, 276.6)--(472.5, 276.6)--(472.4, 276.7)--(472.1, 276.8)--(471.9, 276.5)--(471.2, 275.5)--(471.0, 275.2)--(470.8, 274.8)--(470.5, 274.4)--(470.2, 273.8)--(470.1, 273.7)--(470.0, 273.5)--(469.8, 273.2)--(469.5, 273.0)--(469.4, 272.8)--(469.1, 272.6)--(469.0, 272.2)--(468.8, 271.8)--(468.6, 271.4)--(468.5, 271.2)--(468.5, 271.1)--(468.4, 270.9)--(468.2, 270.6)--(468.1, 270.6)--(468.0, 270.4)--(467.8, 270.2)--(467.6, 270.3)--(467.6, 270.4)--(467.2, 270.7)--(467.0, 270.9)--(466.9, 271.0)--(466.9, 271.1)--(466.8, 271.2)--(466.6, 271.4)--(466.4, 271.7)--(466.2, 272.0)--(465.9, 272.3)--(465.6, 272.5)--(465.4, 272.8)--(465.3, 273.1)--(465.1, 273.3)--(465.1, 273.5)--(465.0, 273.5)--(464.7, 273.3)--(464.7, 273.2)--(464.6, 27!
3.1)--(464.5, 273.1)--(464.5, 273.0)--(464.4, 273.0)--(464.4, 272.8)--(464.4, 272.7)--(464.3, 272.6)--(464.2, 272.6)--(463.8, 272.3)--(463.7, 272.2)--(463.3, 272.7)--(463.0, 272.4)--(462.8, 272.7)--(462.7, 272.7)--(462.6, 272.6)--(462.5, 272.4)--(462.3, 272.2)--(462.1, 272.0)--(462.0, 271.9)--(461.8, 271.7)--(461.7, 271.7)--(461.6, 271.6)--(461.6, 271.7)--(461.3, 271.9)--(461.2, 272.0)--(461.1, 272.0)--(460.8, 271.5)--(460.7, 271.5)--(460.6, 271.5)--(460.4, 271.8)--(460.4, 271.9)--(460.1, 272.1)--(459.5, 272.3)--(459.2, 272.4)--(458.9, 272.5)--(458.5, 272.5)--(458.2, 272.5)--(458.1, 272.4)--(458.1, 272.3)--(458.0, 272.2)--(457.7, 271.6)--(457.6, 271.5)--(457.4, 271.1)--(457.3, 271.0)--(457.2, 270.8)--(457.1, 270.1)--(457.1, 270.0)--(456.4, 270.0)--(456.2, 270.1)--(456.0, 270.1)--(455.7, 270.0)--(455.6, 270.0)--(455.4, 270.0)--(455.3, 269.9)--(455.2, 269.9)--(455.0, 269.8)--(454.7, 269.6)--(454.5, 269.4)--(454.4, 269.3)--(454.3, 269.2)--(454.0, 269.1)--(453.9, 269.0)--(453.9, 268.9)--(453.8, 268.9)--(453.6, 268.8)--(453.5, 268.7)--(453.4, 268.6)--(453.5, 268.6)--(453.4, 268.5)--(453.4, 268.4)--(453.3, 268.4)--(453.3, 268.3)--(453.4, 268.3)--(453.2, 268.0)--(452.9, 267.8)--(452.7, 267.5)--(452.5, 267.3)--(452.3, 267.1)--(451.9, 266.8)--(451.8, 266.7)--(451.6, 266.6)--(451.3, 266.5)--(450.9, 266.3)--(450.7, 266.3)--(450.5, 266.2)--(450.3, 266.0)--(450.1, 265.9)--(449.9, 265.7)--(449.7, 265.6)--(449.5, 265.2)--(449.3, 264.9)--(449.3, 264.8)--(449.0, 264.8)--(448.9, 264.3)--(448.7, 264.0)--(448.5, 263.5)--(448.2, 262.8)--(448.0, 262.3)--(447.4, 262.4)--(447.3, 262.3)--(447.3, 262.2)--(447.3, 261.8)--(447.3, 261.4)--(447.3, 260.7)--(447.3, 260.3)--(447.4, 260.2)--(447.6, 259.6)--(447.7, 259.4)--(447.7, 259.1)--(447.7, 258.7)--(447.6, 258.4)--(447.6, 258.0)--(447.6, 257.9)--(447.5, 257.5)--(447.5, 257.2)--(447.5, 256.8)--(447.5, 256.7)--(447.5, 256.3)--(447.5, 256.2)--(447.5, 256.1)--(447.5, 256.0)--(447.5, 255.9)--(447.6, 255.8)--(447.6, 255.6)--(447.7, 255.4)--(447.8, 255.1)--(448.0, 254.9)--(446.6, 254.5)--(445.6, 2!
54.3)--(445.1, 254.2)--(445.1, 254.1)--(445.2, 254.0)--(445.7, 253.5)--(445.8, 253.4)--(445.9, 253.5)--(446.3, 253.0)--(446.6, 252.8)--(446.7, 252.8)--(447.0, 252.5)--(447.6, 252.3)--(448.2, 252.0)--(448.8, 251.8)--(449.6, 251.5)--(450.0, 251.4)--(450.0, 251.3)--(450.2, 250.9)--(450.3, 250.4)--(450.3, 250.2)--(450.3, 250.1)--(450.3, 250.0)--(450.3, 249.8)--(450.4, 249.6)--(450.4, 249.4)--(450.5, 249.2)--(450.5, 249.1)--(450.5, 248.8)--(450.6, 248.2)--(450.7, 247.8)--(450.7, 247.3)--(450.8, 246.7)--(450.8, 246.4)--(450.9, 246.1)--(450.9, 246.0)--(450.9, 245.7)--(451.0, 245.1)--(451.0, 244.8)--(451.0, 244.5)--(451.2, 244.0)--(451.5, 243.5)--(451.8, 242.5)--(451.8, 242.3)--(451.9, 242.0)--(452.0, 241.3)--(452.0, 240.8)--(452.0, 240.5)--(451.9, 240.2)--(451.8, 240.0)--(451.7, 239.8)--(451.5, 239.7)--(451.5, 239.5)--(451.5, 239.4)--(451.5, 239.3)--(451.4, 239.1)--(451.2, 239.0)--(451.2, 238.9)--(451.1, 238.9)--(451.0, 238.9)--(450.9, 238.8)--(450.8, 238.8)--(450.9, 238.4)--(451.0, 238.1)--(451.1, 237.8)--(451.2, 237.5)--(451.3, 237.2)--(451.5, 236.9)--(451.6, 236.5)--(451.3, 236.5)--(451.0, 236.5)--(450.9, 236.5)--(450.5, 236.2)--(450.4, 236.1)--(450.2, 236.0)--(450.0, 235.9)--(449.8, 235.7)--(449.5, 236.0)--(449.1, 236.4)--(448.7, 236.7)--(448.6, 236.6)--(448.5, 236.5)--(448.6, 236.3)--(448.7, 236.2)--(448.6, 236.1)--(448.5, 236.0)--(448.6, 235.9)--(448.8, 235.8)--(449.6, 235.1)--(449.5, 234.8)--(448.8, 234.0)--(448.6, 233.8)--(448.5, 233.6)--(448.4, 233.4)--(447.9, 232.8)--(447.9, 232.7)--(447.8, 232.8)--(447.5, 233.0)--(447.2, 233.2)--(446.9, 232.8)--(447.0, 232.7)--(446.8, 232.6)--(446.7, 232.3)--(446.8, 232.2)--(446.7, 232.1)--(446.6, 232.0)--(446.6, 231.9)--(446.7, 231.9)--(446.5, 231.7)--(446.5, 231.6)--(446.4, 231.6)--(446.4, 231.5)--(446.3, 231.5)--(446.4, 231.3)--(446.3, 231.2)--(446.1, 231.0)--(446.0, 230.9)--(445.9, 230.7)--(445.8, 230.6)--(445.9, 230.6)--(446.0, 230.5)--(445.9, 230.3)--(445.9, 230.1)--(445.8, 229.8)--(445.7, 229.6)--(445.6, 229.5)--(445.5, 229.4)--(445.4, 229.1)--(445.3, 228.9)--(445.2, !
228.8)--(444.9, 228.9)--(444.7, 229.0)--(444.6, 229.1)--(444.3, 229.2)--(443.9, 228.7)--(443.3, 228.1)--(443.2, 228.0)--(443.6, 227.7)--(443.7, 227.5)--(444.0, 227.2)--(444.3, 227.0)--(444.4, 227.0)--(443.9, 226.5)--(444.2, 226.1)--(444.3, 226.0)--(444.0, 225.7)--(443.8, 225.6)--(444.1, 225.2)--(444.0, 224.9)--(443.8, 224.7)--(443.7, 224.5)--(443.4, 224.2)--(443.3, 224.1)--(443.2, 224.0)--(443.2, 223.9)--(443.1, 223.9)--(443.6, 223.8)--(443.6, 223.7)--(443.5, 223.3)--(443.3, 222.4)--(442.9, 223.2)--(442.7, 223.3)--(442.2, 223.5)--(442.0, 223.0)--(442.4, 222.9)--(441.5, 221.4)--(441.3, 221.1)--(441.1, 220.8)--(440.9, 220.6)--(440.2, 220.0)--(440.1, 219.9)--(440.0, 219.7)--(439.0, 218.7)--(438.0, 217.7)--(437.6, 217.3)--(437.7, 216.9)--(436.4, 216.5)--(436.5, 216.3)--(436.1, 216.2)--(436.3, 215.8)--(436.0, 215.5)--(435.7, 215.1)--(435.6, 215.1)--(435.6, 215.0)--(435.5, 214.9)--(435.4, 214.8)--(435.3, 214.7)--(434.4, 214.3)--(434.1, 214.7)--(433.8, 215.8)--(433.6, 215.8)--(433.1, 215.5)--(432.7, 215.3)--(432.6, 215.3)--(432.5, 215.3)--(432.4, 215.3)--(432.3, 215.3)--(432.2, 215.2)--(431.9, 215.5)--(431.6, 215.8)--(430.7, 216.9)--(430.6, 216.9)--(430.4, 217.3)--(429.5, 218.4)--(429.4, 218.5)--(429.2, 218.8)--(428.8, 219.4)--(428.5, 220.0)--(428.1, 220.7)--(427.8, 221.3)--(427.6, 221.6)--(427.0, 222.5)--(426.8, 222.8)--(426.1, 223.4)--(425.7, 223.8)--(425.5, 224.0)--(424.8, 224.7)--(424.4, 225.2)--(423.9, 225.9)--(423.6, 226.4)--(423.4, 226.6)--(423.3, 226.8)--(423.0, 227.2)--(422.5, 227.9)--(422.5, 228.1)--(422.5, 228.3)--(422.3, 228.5)--(421.9, 228.9)--(421.4, 229.4)--(421.2, 229.5)--(421.1, 229.7)--(420.9, 230.1)--(420.9, 230.2)--(420.7, 230.5)--(420.6, 230.9)--(420.4, 231.2)--(420.4, 231.4)--(420.2, 231.6)--(419.8, 231.9)--(419.5, 232.2)--(418.9, 232.8)--(418.9, 232.9)--(418.8, 232.9)--(418.7, 233.1)--(418.6, 233.1)--(418.5, 233.1)--(418.3, 233.2)--(418.1, 233.4)--(418.0, 233.4)--(417.7, 233.5)--(417.6, 233.5)--(417.3, 233.8)--(417.1, 233.9)--(416.7, 234.0)--(416.6, 234.1)--(416.5, 234.1)--(416.5, 234.2)--(416.4,!
234.3)--(416.1, 234.5)--(416.0, 234.5)--(415.9, 234.5)--(415.8, 234.6)--(415.6, 234.6)--(415.4, 234.8)--(415.1, 235.0)--(415.0, 235.1)--(415.0, 235.2)--(414.8, 235.3)--(414.6, 235.3)--(414.6, 235.4)--(414.5, 235.4)--(414.5, 235.5)--(414.4, 235.7)--(414.3, 235.7)--(414.3, 235.8)--(414.2, 235.8)--(414.1, 235.8)--(414.0, 235.9)--(413.9, 235.9)--(413.8, 235.9)--(413.6, 236.0)--(413.5, 236.1)--(413.3, 236.1)--(413.2, 236.2)--(412.9, 236.3)--(412.7, 236.4)--(412.6, 236.4)--(412.4, 236.5)--(412.3, 236.5)--(412.1, 236.6)--(412.0, 236.6)--(411.8, 235.4)--(411.5, 234.1)--(411.5, 234.0)--(411.5, 233.9)--(411.5, 233.7)--(411.4, 233.7)--(411.1, 233.6)--(411.0, 233.6)--(410.9, 233.5)--(410.8, 233.5)--(410.6, 233.4)--(410.3, 233.4)--(409.9, 233.4)--(409.6, 233.5)--(409.5, 233.5)--(409.2, 233.5)--(408.6, 233.6)--(408.3, 233.7)--(408.1, 233.7)--(407.9, 233.8)--(407.8, 233.8)--(407.4, 234.0)--(407.1, 234.1)--(406.8, 234.3)--(406.3, 234.5)--(405.9, 234.6)--(405.6, 235.4)--(405.2, 236.3)--(405.8, 236.5)--(405.8, 236.8)--(405.6, 237.2)--(405.6, 237.4)--(405.6, 237.9)--(405.6, 239.0)--(405.8, 239.1)--(406.6, 239.6)--(406.7, 239.6)--(406.7, 239.9)--(406.5, 240.1)--(406.4, 240.6)--(406.3, 240.7)--(406.3, 240.8)--(406.2, 241.0)--(406.2, 241.1)--(406.1, 241.3)--(406.0, 241.6)--(405.7, 241.6)--(405.0, 241.7)--(404.1, 241.9)--(403.2, 242.0)--(402.7, 242.1)--(401.2, 242.6)--(401.0, 243.3)--(401.1, 243.3)--(401.2, 242.9)--(404.5, 243.5)--(404.4, 243.9)--(404.4, 244.0)--(404.3, 244.2)--(404.2, 244.6)--(404.1, 244.6)--(403.4, 244.4)--(403.2, 246.0)--(403.1, 246.0)--(403.1, 246.1)--(403.0, 246.3)--(402.9, 246.7)--(402.8, 246.9)--(402.8, 247.2)--(402.8, 247.3)--(402.7, 247.4)--(402.7, 247.5)--(402.7, 247.6)--(402.7, 247.7)--(402.7, 247.8)--(402.7, 247.9)--(402.7, 248.0)--(402.7, 248.3)--(401.7, 248.6)--(401.2, 248.7)--(400.8, 248.8)--(400.5, 248.9)--(400.4, 248.9)--(400.3, 249.0)--(399.9, 249.1)--(399.7, 249.2)--(399.6, 249.3)--(399.3, 249.4)--(399.1, 249.6)--(398.8, 249.7)--(398.6, 249.8)--(398.5, 249.9)--(398.5, 250.0)--(398.5, 250.1)--(398.5!
, 250.2)--(398.4, 250.3)--(398.3, 250.5)--(398.1, 250.9)--(398.0, 251.3)--(397.9, 251.5)--(397.7, 251.9)--(397.6, 252.2)--(397.5, 252.6)--(397.3, 252.9)--(397.3, 253.1)--(397.3, 253.4)--(397.2, 254.0)--(397.2, 254.6)--(397.2, 254.9)--(397.2, 255.2)--(397.2, 255.5)--(397.2, 255.9)--(397.2, 256.2)--(397.1, 256.4)--(397.1, 256.7)--(397.0, 257.0)--(396.9, 257.3)--(396.8, 257.7)--(396.8, 257.9)--(396.7, 258.1)--(396.7, 258.2)--(396.6, 258.6)--(396.6, 258.7)--(396.5, 258.8)--(396.5, 258.9)--(396.5, 259.0)--(396.6, 259.3)--(396.6, 259.5)--(396.6, 259.8)--(396.6, 260.1)--(397.1, 260.3)--(397.5, 260.4)--(397.7, 260.4)--(397.8, 260.5)--(398.1, 260.5)--(398.2, 260.6)--(398.3, 260.6)--(398.4, 260.7)--(398.6, 260.9)--(398.9, 261.1)--(399.1, 261.1)--(399.1, 261.2)--(399.2, 261.2)--(399.3, 261.3)--(399.4, 261.3)--(399.3, 261.4)--(399.2, 261.5)--(399.1, 261.8)--(399.0, 261.9)--(399.0, 262.0)--(399.0, 262.2)--(399.1, 262.3)--(399.2, 262.5)--(399.2, 262.6)--(399.2, 262.7)--(399.2, 262.9)--(399.2, 263.1)--(399.1, 263.5)--(398.9, 264.6)--(399.1, 264.6)--(399.5, 264.7)--(399.5, 264.6)--(399.6, 264.6)--(399.7, 264.6)--(399.9, 264.6)--(400.1, 264.5)--(400.2, 264.5)--(400.5, 264.4)--(400.7, 264.2)--(400.9, 264.1)--(401.1, 264.0)--(401.2, 263.9)--(401.3, 263.9)--(401.5, 263.7)--(401.6, 263.9)--(401.7, 264.1)--(401.7, 264.3)--(401.7, 264.5)--(401.5, 264.7)--(401.5, 264.8)--(401.4, 264.8)--(401.4, 264.9)--(401.4, 265.0)--(401.3, 265.1)--(401.1, 265.5)--(400.8, 266.3)--(400.7, 266.6)--(400.6, 267.0)--(400.5, 267.4)--(400.4, 267.7)--(400.4, 268.0)--(400.4, 268.3)--(401.1, 268.5)--(401.3, 268.6)--(401.5, 268.7)--(402.3, 269.0)--(402.6, 269.2)--(402.5, 269.2)--(401.8, 269.0)--(400.6, 268.8)--(400.0, 268.6)--(399.4, 268.5)--(398.4, 268.3)--(397.1, 268.0)--(396.4, 267.9)--(395.2, 267.7)--(393.8, 267.4)--(393.2, 267.3)--(392.7, 267.1)--(392.0, 267.0)--(391.2, 266.8)--(390.7, 266.7)--(390.3, 266.7)--(390.1, 266.6)--(389.8, 266.6)--(389.4, 266.6)--(389.2, 266.6)--(389.1, 266.6)--(389.0, 266.6)--(388.4, 266.7)--(387.5, 266.8)--(386.1, 267.1)--(385.!
4, 267.3)--(385.2, 267.3)--(384.9, 267.3)--(384.4, 267.5)--(384.0, 267.5)--(383.8, 267.4)--(383.7, 267.4)--(383.0, 267.3)--(382.9, 267.2)--(381.9, 267.0)--(381.3, 266.9)--(381.1, 266.9)--(380.9, 266.9)--(380.8, 267.0)--(380.5, 267.1)--(380.3, 267.3)--(380.1, 267.1)--(379.9, 266.7)--(380.0, 266.4)--(379.8, 266.4)--(379.5, 266.2)--(379.7, 265.8)--(380.1, 265.0)--(380.3, 264.4)--(380.4, 264.3)--(380.5, 264.1)--(380.6, 263.9)--(380.8, 263.6)--(381.0, 263.1)--(380.8, 262.9)--(380.4, 262.6)--(380.1, 262.4)--(380.0, 262.3)--(379.7, 262.1)--(379.5, 262.2)--(379.4, 262.3)--(379.4, 262.4)--(379.2, 262.6)--(379.1, 262.6)--(378.8, 263.0)--(378.7, 263.1)--(378.7, 263.2)--(378.6, 263.4)--(378.4, 263.2)--(378.2, 263.4)--(378.2, 263.5)--(378.1, 263.6)--(378.0, 263.6)--(377.8, 263.6)--(377.7, 263.6)--(377.5, 263.7)--(377.3, 263.8)--(377.1, 263.9)--(376.8, 264.1)--(376.9, 264.3)--(376.8, 264.5)--(376.7, 264.8)--(376.8, 264.8)--(376.9, 264.9)--(376.9, 264.8)--(377.1, 264.9)--(377.0, 265.0)--(376.9, 265.2)--(376.9, 265.4)--(377.0, 265.4)--(377.0, 265.5)--(376.9, 265.5)--(376.8, 265.6)--(376.8, 265.8)--(376.7, 266.3)--(376.6, 266.4)--(376.6, 266.5)--(376.2, 266.4)--(376.2, 266.5)--(376.1, 266.5)--(376.0, 266.6)--(375.9, 266.7)--(375.9, 266.8)--(375.9, 266.9)--(376.0, 267.1)--(376.1, 267.2)--(376.1, 267.3)--(376.1, 267.4)--(376.1, 267.5)--(376.1, 267.6)--(376.0, 267.7)--(375.9, 267.7)--(375.7, 267.7)--(375.6, 267.9)--(375.6, 268.0)--(375.5, 268.1)--(375.5, 268.2)--(375.4, 268.2)--(375.3, 268.3)--(375.2, 268.3)--(375.1, 268.4)--(375.0, 268.5)--(374.9, 268.6)--(374.8, 268.5)--(374.7, 268.6)--(374.6, 268.6)--(374.6, 268.7)--(374.5, 268.7)--(374.4, 268.7)--(374.4, 268.5)--(374.2, 268.6)--(374.3, 268.7)--(374.3, 268.9)--(374.1, 268.9)--(374.1, 269.1)--(374.1, 269.2)--(374.1, 269.4)--(374.0, 269.8)--(374.0, 269.9)--(374.0, 270.0)--(374.1, 270.0)--(374.1, 270.1)--(374.1, 270.0)--(374.2, 270.0)--(374.4, 270.0)--(374.5, 270.0)--(374.7, 269.9)--(375.2, 270.1)--(375.3, 270.0)--(375.3, 270.1)--(375.5, 270.3)--(375.7, 270.5)--(375.8, 270.6)--(375!
.8, 270.7)--(375.7, 270.7)--(375.6, 271.1)--(375.6, 271.3)--(375.6, 271.4)--(375.7, 271.5)--(375.8, 271.5)--(376.0, 271.8)--(376.1, 271.8)--(376.2, 271.9)--(376.3, 271.9)--(376.3, 271.8)--(376.2, 271.7)--(376.3, 271.6)--(376.6, 272.0)--(376.7, 272.0)--(376.7, 272.1)--(376.8, 272.3)--(376.7, 272.9)--(376.7, 273.2)--(376.7, 273.3)--(376.9, 274.2)--(377.1, 274.6)--(377.4, 275.0)--(377.5, 275.0)--(377.5, 275.1)--(377.9, 275.3)--(378.0, 275.3)--(378.1, 275.4)--(378.3, 276.7)--(377.9, 275.8)--(377.5, 276.1)--(377.4, 276.3)--(377.2, 276.3)--(377.0, 276.3)--(376.9, 276.2)--(376.8, 276.2)--(376.6, 276.1)--(375.9, 275.7)--(375.6, 275.5)--(375.7, 275.2)--(374.2, 274.9)--(373.8, 274.8)--(373.7, 275.5)--(373.7, 276.1)--(372.6, 276.5)--(371.4, 276.9)--(371.7, 277.2)--(371.7, 277.3)--(371.8, 277.5)--(371.8, 277.6)--(371.9, 278.1)--(371.9, 279.0)--(372.1, 279.9)--(372.1, 280.0)--(372.2, 280.4)--(372.2, 280.7)--(372.2, 280.8)--(372.3, 281.1)--(372.4, 281.4)--(372.5, 281.5)--(373.0, 281.2)--(372.9, 281.1)--(373.5, 280.8)--(373.9, 280.5)--(373.9, 280.4)--(374.0, 280.3)--(374.1, 280.4)--(375.0, 279.9)--(375.2, 279.8)--(375.3, 279.8)--(375.4, 279.7)--(375.7, 279.6)--(376.3, 279.3)--(376.6, 279.2)--(376.7, 279.1)--(376.7, 278.8)--(376.8, 278.3)--(376.9, 278.1)--(376.9, 278.0)--(377.0, 277.8)--(377.1, 277.6)--(377.3, 277.4)--(378.3, 277.2)--(378.3, 276.9)--(378.7, 276.7)--(378.8, 276.9)--(378.8, 277.0)--(378.9, 277.3)--(379.3, 277.2)--(379.3, 277.4)--(378.8, 277.4)--(378.6, 277.5)--(377.9, 277.8)--(377.7, 277.9)--(377.3, 278.1)--(377.3, 278.2)--(377.2, 278.3)--(377.2, 278.5)--(377.2, 278.7)--(377.2, 278.8)--(377.2, 278.9)--(377.3, 278.9)--(377.4, 279.0)--(377.9, 279.0)--(378.4, 279.0)--(378.4, 278.9)--(378.4, 278.7)--(378.7, 278.6)--(378.9, 278.6)--(379.0, 278.6)--(379.0, 278.5)--(379.1, 278.5)--(379.1, 278.8)--(379.1, 278.9)--(379.6, 278.8)--(379.6, 278.9)--(380.0, 278.9)--(380.0, 278.7)--(380.3, 278.7)--(380.5, 278.7)--(381.1, 278.7)--(381.2, 278.7)--(381.3, 278.7)--(381.3, 278.8)--(381.4, 278.9)--(381.6, 278.9)--(382.0, 278.9)--(38!
2.1, 278..9)--(382.0, 279.2)--(382.4, 279.2)--(382.7, 279.3)--(382.8, 279.3)--(382.8, 279.4)--(382.8, 279.5)--(383.6, 279.8)--(383.8, 279.8)--(383.8, 279.7)--(383.9, 279.6)--(383.9, 279.5)--(384.6, 279.8)--(386.1, 280.6)--(386.2, 280.7)--(386.4, 280.8)--(386.6, 280.7)--(387.1, 281.1)--(387.2, 281.0)--(387.2, 281.1)--(387.3, 281.0)--(387.4, 281.1)--(387.3, 281.2)--(388.2, 281.9)--(388.1, 282.1)--(388.0, 282.2)--(388.4, 282.6)--(388.5, 282.5)--(388.4, 282.3)--(388.4, 282.2)--(388.7, 282.4)--(388.7, 282.5)--(388.7, 282.6)--(388.8, 282.7)--(389.1, 283.0)--(389.2, 282.9)--(389.5, 283.1)--(389.7, 283.3)--(390.1, 283.9)--(390.1, 284.1)--(390.2, 284.1)--(390.3, 284.3)--(390.3, 284.4)--(390.5, 284.3)--(390.6, 284.6)--(390.5, 284.6)--(390.7, 285.2)--(390.9, 285.1)--(390.9, 285.2)--(390.8, 285.3)--(390.9, 285.8)--(391.0, 285.8)--(391.2, 286.8)--(391.1, 286.8)--(391.1, 287.4)--(391.2, 287.4)--(391.1, 288.4)--(391.1, 288.5)--(391.3, 288.8)--(391.3, 288.9)--(391.2, 289.1)--(391.1, 289.4)--(391.1, 289.7)--(391.0, 290.0)--(391.1, 290.2)--(390.8, 290.1)--(390.7, 290.3)--(390.6, 290.5)--(390.6, 290.6)--(390.5, 290.9)--(390.6, 290.9)--(390.4, 291.3)--(390.5, 291.3)--(390.4, 291.4)--(390.3, 291.4)--(390.3, 291.5)--(390.0, 291.7)--(390.0, 291.8)--(390.0, 291.9)--(390.1, 292.0)--(390.1, 292.1)--(390.2, 292.1)--(390.2, 292.2)--(390.2, 292.4)--(390.1, 292.5)--(390.1, 292.6)--(389.9, 292.9)--(389.1, 292.6)--(388.6, 293.9)--(388.6, 294.0)--(388.5, 294.1)--(388.3, 295.0)--(388.5, 295.1)--(388.1, 296.1)--(388.2, 296.1)--(388.1, 296.6)--(387.9, 296.7)--(387.9, 296.6)--(387.8, 297.2)--(387.7, 297.3)--(387.7, 297.5)--(387.7, 297.6)--(387.6, 298.0)--(387.6, 299.0)--(387.6, 299.3)--(387.9, 299.3)--(387.9, 299.6)--(387.9, 299.8)--(387.8, 299.8)--(387.8, 300.0)--(387.9, 300.1)--(388.0, 300.0)--(388.1, 300.1)--(388.1, 300.2)--(387.7, 300.3)--(387.7, 300.4)--(387.9, 300.9)--(387.9, 301.1)--(388.0, 301.3)--(388.1, 301.4)--(388.2, 301.6)--(388.4, 301.8)--(388.7, 302.1)--(388.8, 302.3)--(388.9, 302.4)--(389.2, 302.6)--(389.3, 302.7)--(389.6, 303.0)--(3!
90.1, 303.2)--(390.4, 303.3)--(390.5, 303.3)--(390.9, 303.4)--(391.3, 303.4)--(391.5, 303.4)--(391.9, 303.2)--(392.5, 302.9)--(392.6, 302.8)--(392.9, 302.6)--(393.2, 302.2)--(393.6, 301.7)--(393.8, 301.4)--(394.8, 300.1)--(394.9, 300.0)--(395.0, 299.8)--(395.4, 299.3)--(396.7, 297.5)--(397.2, 296.9)--(397.4, 296.6)--(397.8, 296.1)--(397.9, 296.1)--(398.1, 295.9)--(398.3, 295.7)--(398.5, 295.5)--(398.8, 295.3)--(398.8, 295.2)--(398.9, 295.2)--(398.9, 294.9)--(399.0, 294.8)--(399.3, 294.4)--(399.4, 294.3)--(399.5, 294.2)--(399.6, 294.1)--(399.7, 294.0)--(400.0, 293.8)--(400.2, 293.7)--(400.3, 293.6)--(400.3, 293.7)--(401.1, 293.2)--(401.3, 293.1)--(401.4, 293.1)--(401.5, 293.0)--(401.7, 292.9)--(401.7, 292.8)--(401.8, 292.8)--(401.9, 292.9)--(402.2, 292.7)--(402.7, 292.5)--(402.7, 292.6)--(403.2, 292.5)--(403.5, 292.4)--(403.8, 292.3)--(404.4, 292.2)--(404.4, 291.7)--(404.6, 291.6)--(404.7, 291.8)--(404.9, 292.0)--(405.2, 292.0)--(405.9, 291.8)--(405.9, 291.6)--(406.3, 291.6)--(406.7, 291.6)--(406.9, 291.6)--(407.5, 291.6)--(408.4, 291.5)--(408.7, 291.6)--(409.0, 291.6)--(409.1, 291.5)--(409.3, 291.6)--(409.3, 291.7)--(409.5, 291.7)--(409.8, 291.7)--(409.9, 291.6)--(410.1, 291.7)--(410.2, 291.8)--(411.2, 292.1)--(411.4, 292.1)--(411.5, 292.1)--(411.6, 292.2)--(412.1, 292.3)--(412.4, 292.3)--(412.7, 292.4)--(413.3, 292.7)--(413.5, 292.7)--(413.7, 292.8)--(413.9, 292.8)--(414.0, 292.9)--(414.2, 292.9)--(414.5, 292.8)--(414.7, 292.9)--(414.8, 292.9)--(415.0, 292.9)--(415.0, 293.0)--(415.1, 293.1)--(415.4, 293.1)--(415.7, 293.2)--(416.6, 293.5)--(417.0, 293.6)--(417.3, 293.6)--(418.0, 293.6)--(418.2, 293.6)--(418.4, 293.6)--(418.9, 293.6)--(419.6, 293.5)--(421.1, 293.4)--(422.7, 293.4)--(423.5, 293.3)--(423.9, 293.3)--(424.3, 293.2)--(424.4, 293.2)--(425.7, 293.1)--(426.7, 293.0)--(427.9, 292.9)--(428.0, 292.8)--(428.1, 292.8)--(428.2, 292.9)--(428.4, 292.9)--(428.4, 292.8)--(428.6, 292.8)--(428.7, 292.9)--(429.4, 292.9)--(429.5, 292.8)--(429.5, 292.4)--(429.7, 292.4)--(429.6, 292.8)--(429.7, 292.9)--(430.2, 292.9)--(!
430.3, 292.6)--(430.4, 292.6)--(430.4, 292.9)--(431.6, 293.0)--(432.6, 293.1)--(432.7, 293.0)--(433.1, 293.1)--(433.2, 293.1)--(433.7, 293.2)--(433.8, 293.1)--(433.9, 293.1)--(433.9, 293.3)--(434.4, 293.3)--(434.5, 293.3)--(436.5, 293.6)--(437.1, 293.7)--(437.3, 293.7)--(438.2, 293.9)--(439.8, 294.3)--(441.3, 294.8)--(442.0, 295.0)--(442.1, 294.9)--(442.2, 294.8)--(442.4, 294.8)--(442.6, 294.9)--(442.5, 295.3)--(442.9, 295.5)--(443.2, 295.7)--(444.1, 296.5)--(445.3, 297.4)--(446.3, 298.3)--(446.4, 298.2)--(446.5, 298.3)--(446.4, 298.4)--(446.9, 299.3)--(447.3, 300.0)--(447.5, 300.3)--(447.8, 300.7)--(448.8, 302.7)--(449.1, 303.3)--(449.2, 303.5)--(449.3, 303.5)--(449.3, 303.4)--(449.4, 303.4)--(449.5, 303.7)--(449.6, 303.8)--(449.8, 303.9)--(449.9, 304.0)--(449.9, 304.1)--(449.9, 304.4)--(450.0, 305.2)--(450.0, 305.7)--(450.0, 305.8)--(450.2, 305.9)--(450.4, 306.1)--(450.9, 306.9)--(452.1, 308.5)--(452.4, 309.0)--(452.6, 309.4)--(452.7, 309.5)--(452.7, 309.6)--(452.8, 309.7)--(452.9, 309.8)--(453.3, 309.8)--(453.5, 309.8)--(454.3, 309.8)--(454.6, 309.7)--(455.4, 310.0)--(456.1, 310.3)--(456.4, 310.4)--(457.3, 310.5)--(457.8, 310.6)--(458.5, 310.6)--(459.1, 310.6)--(460.0, 310.6)--(460.8, 310.5)--(461.4, 310.5)--(461.6, 310.5)--(462.3, 310.5)--(462.3, 310.4)--(463.1, 310.5)--(463.6, 310.6)--(464.5, 310.7)--(465.3, 310.9)--(466.3, 311.1)--(467.6, 311.4)--(468.2, 311.6)--(469.3, 311.9)--(470.2, 312.2)--(471.5, 312.7)--cycle;
+Hackney = (319.3, 378.0)--(319.4, 378.0)--(319.5, 378.1)--(319.6, 378.1)--(319.6, 378.2)--(319.7, 378.2)--(319.8, 378.2)--(319.9, 378.2)--(320.0, 378.2)--(320.1, 378.2)--(320.3, 378.1)--(320.7, 378.0)--(320.8, 378.0)--(320.9, 378.0)--(321.0, 378.0)--(321.1, 378.0)--(321.2, 378.0)--(321.3, 378.0)--(321.4, 378.0)--(321.6, 378.2)--(321.9, 378.4)--(322.0, 378.4)--(322.1, 378.4)--(322.1, 378.5)--(322.3, 378.5)--(322.4, 378.5)--(322.5, 378.5)--(322.6, 378.5)--(322.7, 378.5)--(322.8, 378.5)--(323.0, 378.5)--(323.1, 378.5)--(323.2, 378.5)--(323.3, 378.5)--(323.4, 378.5)--(323.5, 378.5)--(323.6, 378.5)--(323.7, 378.5)--(323.9, 378.6)--(324.1, 378.8)--(324.3, 378.9)--(324.4, 378.9)--(324.5, 378.9)--(324.5, 379.0)--(324.6, 379.0)--(324.7, 379.0)--(324.9, 379.0)--(325.0, 379.0)--(325.1, 379.0)--(325.2, 379.0)--(325.3, 378.9)--(325.4, 378.9)--(325.5, 378.9)--(325.7, 378.9)--(325.9, 379.0)--(326.0, 379.0)--(326.1, 379.0)--(326.2, 379.0)--(326.4, 379.0)--(326.7, 378.9)--(326.7, 379.0)--(326.7, 379.1)--(326.6, 379.2)--(326.5, 379.1)--(326.5, 379.2)--(326.5, 379.4)--(326.9, 379.4)--(327.3, 379.5)--(327.3, 379.6)--(327.4, 379.6)--(327.5, 379.8)--(328.1, 379.9)--(328.8, 380.0)--(329.0, 380.0)--(329.5, 380.1)--(329.9, 380.2)--(330.2, 380.3)--(330.9, 380.5)--(331.6, 380.4)--(331.9, 380.4)--(332.2, 380.3)--(332.5, 380.3)--(332.8, 380.2)--(333.2, 380.1)--(333.5, 380.0)--(334.1, 379.8)--(334.3, 380.2)--(334.3, 380.3)--(334.4, 380.5)--(334.4, 380.4)--(334.6, 380.3)--(334.7, 380.3)--(334.8, 380.3)--(334.8, 380.5)--(335.3, 380.6)--(335.3, 380.7)--(335.4, 380.7)--(335.4, 380.6)--(335.5, 380.6)--(335.6, 380.7)--(335.8, 380.7)--(335.9, 380.7)--(335.9, 380.6)--(336.3, 380.7)--(336.5, 380.7)--(336.7, 380.7)--(336.8, 380.7)--(337.1, 380.8)--(337.1, 380.7)--(337.7, 380.8)--(338.1, 380.9)--(338.4, 381.0)--(338.6, 381.0)--(338.7, 381.1)--(338.8, 381.1)--(339.2, 381.3)--(339.5, 381.3)--(339.8, 381.4)--(340.2, 381.5)--(340.3, 381.5)--(340.4, 381.5)--(340.6, 381.6)--(340.6, 381.9)--(341.0, 382.0)--(341.5, 382.2)--(342.1, 382.4)--(342.3, 382.!
5)--(342..7, 382.6)--(343.4, 382.9)--(344.4, 383.3)--(344.6, 382.9)--(344.8, 382.2)--(345.1, 381.5)--(345.3, 380.9)--(345.3, 380.7)--(345.5, 380.2)--(345.6, 380.1)--(345.8, 379.6)--(346.0, 379.2)--(346.2, 378.8)--(346.3, 378.6)--(346.4, 378.2)--(346.4, 377.9)--(346.5, 377.7)--(346.5, 377.5)--(346.7, 377.3)--(347.1, 376.8)--(347.4, 376.5)--(347.7, 376.2)--(347.8, 375.8)--(348.0, 375.6)--(348.1, 375.5)--(348.2, 375.4)--(348.3, 375.3)--(348.4, 375.3)--(348.5, 375.3)--(348.7, 375.3)--(349.0, 375.3)--(349.1, 375.2)--(349.2, 375.2)--(349.3, 375.1)--(349.4, 375.0)--(349.5, 374.8)--(350.0, 373.7)--(350.1, 373.4)--(350.2, 373.3)--(350.3, 373.2)--(350.5, 373.0)--(351.1, 372.6)--(351.7, 372.3)--(351.9, 372.1)--(352.0, 372.0)--(352.2, 371.7)--(352.6, 371.3)--(353.1, 370.8)--(353.2, 370.7)--(353.3, 370.6)--(353.5, 370.3)--(353.6, 370.2)--(353.7, 370.1)--(353.8, 370.0)--(354.2, 369.7)--(354.3, 369.6)--(354.3, 369.5)--(354.8, 368.8)--(354.8, 368.7)--(354.9, 368.6)--(354.9, 368.5)--(354.9, 368.4)--(354.9, 368.3)--(354.9, 368.2)--(354.9, 368.1)--(354.9, 368.0)--(354.9, 367.9)--(354.8, 367.9)--(354.8, 367.8)--(354.7, 367.6)--(354.6, 367.4)--(354.6, 367.3)--(354.5, 367.3)--(354.5, 367.2)--(354.5, 367.1)--(354.5, 367.0)--(354.5, 366.9)--(354.5, 366.8)--(354.5, 366.7)--(354.6, 366.7)--(354.6, 366.6)--(354.7, 366.6)--(354.8, 366.5)--(354.9, 366.5)--(354.9, 366.4)--(355.0, 366.4)--(355.4, 366.3)--(355.6, 366.3)--(355.9, 365.9)--(356.1, 365.7)--(356.3, 365.7)--(356.5, 365.7)--(356.6, 365.7)--(356.7, 365.7)--(357.0, 365.7)--(357.3, 365.6)--(357.7, 365.4)--(357.8, 365.4)--(358.0, 365.4)--(358.1, 365.4)--(358.3, 365.4)--(358.4, 365.5)--(358.9, 365.7)--(359.1, 365.8)--(359.2, 365.8)--(359.3, 365.8)--(359.4, 365.9)--(359.5, 365.9)--(359.7, 365.8)--(359.8, 365.7)--(360.0, 365.5)--(360.1, 365.4)--(360.2, 365.3)--(360.3, 365.2)--(360.4, 365.2)--(360.5, 365.2)--(360.7, 365.2)--(360.9, 365.2)--(361.0, 365.3)--(361.2, 365.3)--(361.5, 365.5)--(361.6, 365.6)--(361.7, 365.6)--(361.8, 365.6)--(361.9, 365.6)--(362.0, 365.6)--(362.1, 365.6)--(362.4, 365!
.6)--(362.9, 365.4)--(363.1, 365.3)--(363.3, 365.2)--(363.6, 365.0)--(363.9, 364.8)--(364.0, 364.7)--(364.1, 364.7)--(364.3, 364.7)--(364.6, 364.7)--(364.8, 364.8)--(365.0, 364.9)--(365.4, 365.1)--(365.7, 365.3)--(365.8, 365.3)--(365.8, 365.4)--(365.9, 365.4)--(366.0, 365.4)--(366.0, 365.5)--(366.1, 365.5)--(366.2, 365.5)--(366.3, 365.6)--(366.4, 365.6)--(366.5, 365.6)--(366.7, 365.6)--(366.8, 365.6)--(367.0, 365.6)--(367.1, 365.5)--(367.6, 365.3)--(367.9, 365.1)--(368.0, 365.0)--(368.3, 364.9)--(368.8, 364.5)--(369.0, 364.4)--(369.1, 364.3)--(369.2, 364.2)--(369.4, 364.1)--(369.7, 363.8)--(370.0, 363.5)--(370.1, 363.3)--(370.2, 363.1)--(370.3, 363.0)--(370.4, 362.9)--(370.5, 362.8)--(370.5, 362.7)--(370.6, 362.5)--(370.6, 362.3)--(370.8, 361.9)--(370.8, 361.5)--(370.8, 361.3)--(370.9, 361.3)--(371.1, 361.2)--(371.4, 361.2)--(371.5, 361.2)--(371.8, 360.9)--(372.3, 360.6)--(373.1, 360.1)--(374.2, 359.3)--(374.5, 359.1)--(374.7, 358.9)--(375.0, 357.7)--(375.1, 357.9)--(375.2, 357.6)--(375.3, 357.3)--(375.4, 357.0)--(375.6, 355.8)--(375.7, 355.1)--(375.7, 355.0)--(375.7, 354.9)--(375.1, 354.9)--(374.5, 354.9)--(374.5, 354.7)--(374.6, 354.6)--(374.6, 354.4)--(374.5, 354.3)--(374.5, 354.1)--(374.5, 353.9)--(374.5, 353.7)--(374.6, 353.5)--(374.7, 353.2)--(375.0, 352.5)--(375.1, 352.0)--(375.3, 351.4)--(375.5, 350.9)--(375.6, 350.6)--(375.6, 350.5)--(375.7, 350.0)--(375.8, 349.6)--(376.0, 349.0)--(376.0, 348.7)--(376.1, 348.2)--(376.1, 347.9)--(376.1, 347.7)--(376.2, 347.6)--(376.2, 347.5)--(376.2, 347.1)--(376.3, 346.9)--(376.4, 346.4)--(376.4, 346.1)--(376.4, 345.8)--(376.3, 345.9)--(376.2, 345.8)--(376.1, 345.9)--(375.8, 345.9)--(375.5, 345.9)--(375.0, 346.0)--(374.5, 346.0)--(374.1, 346.0)--(373.8, 346.0)--(373.0, 345.9)--(372.4, 345.9)--(372.4, 345.8)--(372.2, 345.8)--(372.1, 345.7)--(371.9, 345.7)--(371.3, 345.6)--(370.3, 345.5)--(370.2, 345.6)--(370.1, 345.7)--(370.1, 345.5)--(370.0, 345.4)--(369.5, 345.1)--(369.1, 344.9)--(368.9, 344.8)--(368.6, 344.7)--(368.2, 344.5)--(368.0, 344.5)--(367.8, 344.4)--(367.7, 34!
4.7)--(367.5, 345.0)--(367.5, 345.2)--(367.3, 345.3)--(367.1, 345.4)--(366.7, 345.6)--(366.4, 345.7)--(366.3, 345.8)--(366.0, 346.0)--(365.7, 346.3)--(365.0, 346.9)--(364.9, 347.0)--(364.8, 347.0)--(364.7, 346.9)--(364.5, 346.7)--(364.4, 346.6)--(364.4, 346.4)--(364.2, 346.3)--(363.9, 345.8)--(363.5, 345.5)--(363.0, 345.1)--(362.4, 344.4)--(361.7, 343.7)--(362.2, 343.3)--(362.1, 343.2)--(362.0, 343.2)--(362.0, 343.1)--(361.9, 343.0)--(361.6, 342.5)--(361.2, 341.8)--(360.9, 341.3)--(360.2, 340.2)--(359.8, 339.5)--(359.5, 339.1)--(359.3, 338.8)--(358.7, 338.3)--(357.9, 337.7)--(357.9, 337.6)--(357.8, 337.7)--(357.7, 337.7)--(357.6, 337.6)--(357.4, 337.3)--(357.1, 337.0)--(357.0, 336.9)--(356.2, 336.6)--(355.6, 336.5)--(355.4, 336.5)--(355.3, 336.5)--(355.1, 336.5)--(354.9, 336.6)--(354.8, 336.6)--(354.7, 336.6)--(354.6, 336.7)--(354.5, 336.7)--(354.5, 336.8)--(354.4, 336.8)--(354.2, 337.0)--(353.9, 337.2)--(353.7, 337.4)--(353.5, 337.5)--(353.2, 337.5)--(353.1, 337.5)--(353.0, 337.5)--(352.9, 337.5)--(352.8, 337.5)--(352.4, 337.4)--(352.3, 337.4)--(352.2, 337.3)--(352.1, 337.2)--(351.9, 337.1)--(351.8, 336.9)--(351.6, 336.7)--(351.6, 336.4)--(351.5, 336.0)--(351.5, 335.8)--(351.4, 335.8)--(351.1, 335.9)--(350.8, 336.0)--(350.6, 336.0)--(350.4, 336.0)--(350.2, 336.0)--(350.1, 335.9)--(350.0, 335.9)--(349.8, 335.9)--(349.7, 335.8)--(349.5, 335.8)--(349.2, 335.6)--(348.7, 335.3)--(348.4, 335.1)--(348.2, 335.0)--(347.9, 334.9)--(347.4, 334.8)--(347.2, 334.7)--(347.0, 334.7)--(346.8, 334.8)--(346.6, 334.8)--(346.4, 334.9)--(346.3, 334.9)--(346.2, 335.0)--(346.1, 335.1)--(345.9, 335.3)--(345.6, 335.7)--(345.3, 336.0)--(345.1, 336.2)--(344.8, 336.2)--(344.7, 336.0)--(344.6, 335.8)--(344.5, 335.7)--(344.6, 335.3)--(344.6, 334.8)--(344.7, 334.7)--(344.8, 334.3)--(344.9, 334.1)--(345.0, 333.9)--(345.0, 333.7)--(344.7, 333.7)--(344.3, 333.5)--(343.1, 333.3)--(343.0, 333.6)--(342.9, 333.3)--(342.7, 332.8)--(342.5, 332.3)--(342.3, 331.7)--(342.3, 331.4)--(341.6, 331.3)--(341.1, 331.2)--(340.2, 331.1)--(339.8, 331.1)--(339.3, 3!
31.1)--(338.9, 331.0)--(338.6, 331.0)--(338.4, 330.9)--(338.1, 330.9)--(337.8, 330.7)--(337.7, 330.6)--(337.5, 330.5)--(337.1, 330.3)--(336.9, 330.1)--(336.8, 330.1)--(336.7, 329.9)--(336.5, 329.7)--(336.3, 329.2)--(336.1, 328.5)--(336.0, 328.3)--(335.9, 328.1)--(335.8, 328.1)--(335.6, 327.8)--(335.4, 327.5)--(335.0, 327.1)--(334.8, 326.8)--(335.4, 326.7)--(335.4, 326.4)--(335.3, 326.0)--(335.2, 325.8)--(335.2, 325.7)--(335.2, 325.6)--(335.3, 325.4)--(335.3, 325.1)--(335.3, 324.7)--(335.4, 323.5)--(335.8, 323.6)--(335.9, 323.0)--(336.0, 322.7)--(336.0, 322.6)--(335.9, 322.3)--(335.9, 322.1)--(335.9, 322.0)--(335.8, 321.6)--(335.7, 321.4)--(335.7, 321.2)--(335.7, 321.1)--(335.5, 321.0)--(335.3, 321.2)--(335.0, 321.1)--(334.5, 320.9)--(334.3, 320.8)--(334.1, 320.4)--(333.2, 320.5)--(332.5, 320.8)--(332.3, 320.8)--(332.2, 320.2)--(332.0, 319.8)--(331.8, 319.5)--(331.7, 319.3)--(331.5, 319.0)--(331.2, 318.7)--(330.8, 318.4)--(329.5, 318.9)--(329.6, 319.3)--(329.7, 319.7)--(329.8, 320.4)--(329.9, 320.9)--(329.9, 321.4)--(330.0, 322.4)--(330.0, 322.6)--(330.0, 322.9)--(329.8, 322.9)--(329.4, 322.9)--(329.4, 323.5)--(329.2, 323.6)--(329.2, 323.7)--(329.3, 324.0)--(329.4, 324.4)--(329.6, 324.6)--(329.5, 325.1)--(329.4, 325.5)--(328.5, 325.1)--(328.4, 325.1)--(328.2, 325.0)--(328.0, 325.0)--(327.9, 325.1)--(327.8, 325.2)--(327.5, 325.3)--(327.5, 325.5)--(327.3, 326.1)--(327.1, 326.4)--(327.0, 326.6)--(326.9, 326.7)--(326.8, 326.8)--(326.6, 326.9)--(326.2, 327.1)--(322.1, 328.6)--(322.3, 329.1)--(322.3, 329.3)--(322.3, 329.4)--(322.3, 329.6)--(322.2, 330.0)--(322.0, 330.4)--(321.7, 331.0)--(321.5, 331.6)--(320.9, 332.8)--(321.2, 333.0)--(321.5, 333.1)--(321.6, 333.2)--(322.3, 333.6)--(322.6, 333.9)--(322.6, 333.8)--(323.0, 334.0)--(323.1, 334.1)--(323.5, 334.4)--(324.0, 334.8)--(324.3, 335.1)--(324.6, 335.3)--(324.8, 335.4)--(325.2, 335.7)--(325.5, 336.0)--(325.9, 336.3)--(326.3, 336.6)--(326.6, 336.9)--(326.9, 337.2)--(327.3, 337.5)--(327.5, 337.6)--(327.7, 337.7)--(327.9, 337.8)--(328.0, 337.7)--(328.0, 337.9)--(328.1, !
338.1)--(328.1, 338.3)--(328.4, 339.4)--(328.6, 340.6)--(328.7, 341.2)--(329.2, 343.5)--(329.6, 345.2)--(329.8, 346.5)--(329.8, 346.7)--(329.7, 348.2)--(330.1, 348.2)--(332.5, 348.0)--(333.5, 347.9)--(334.5, 347.7)--(334.8, 348.0)--(334.8, 348.1)--(334.8, 348.4)--(334.8, 348.7)--(334.8, 349.1)--(334.6, 349.8)--(334.5, 350.0)--(334.4, 350.3)--(334.3, 350.6)--(333.8, 351.4)--(333.7, 351.7)--(333.1, 353.1)--(333.0, 353.2)--(333.0, 353.3)--(332.8, 353.5)--(332.6, 353.8)--(332.5, 353.9)--(332.5, 354.0)--(332.4, 354.1)--(332.2, 354.1)--(332.0, 354.2)--(331.4, 354.2)--(329.9, 354.4)--(329.6, 354.3)--(329.1, 354.3)--(329.0, 354.2)--(328.9, 354.2)--(328.6, 354.3)--(328.5, 354.3)--(328.4, 354.3)--(328.3, 354.3)--(328.2, 354.4)--(327.9, 354.6)--(327.8, 354.7)--(327.7, 354.7)--(327.6, 354.8)--(327.4, 354.8)--(327.3, 354.9)--(327.0, 355.0)--(326.9, 355.0)--(326.8, 355.1)--(326.8, 355.2)--(326.1, 356.3)--(325.8, 356.1)--(325.7, 356.0)--(325.5, 356.2)--(325.4, 356.3)--(325.3, 356.3)--(325.3, 356.4)--(325.1, 356.5)--(325.0, 356.5)--(324.9, 356.5)--(324.9, 356.8)--(324.9, 357.3)--(324.9, 357.8)--(324.9, 358.3)--(324.9, 359.3)--(324.8, 360.4)--(324.9, 360.5)--(324.8, 360.5)--(324.8, 360.7)--(324.7, 361.1)--(324.5, 361.6)--(324.4, 361.8)--(324.3, 362.1)--(324.1, 362.5)--(323.9, 362.9)--(323.9, 363.0)--(323.9, 363.1)--(323.8, 363.2)--(323.5, 363.2)--(323.4, 363.3)--(323.1, 363.4)--(322.9, 363.4)--(322.8, 363.4)--(322.7, 363.5)--(322.5, 363.5)--(322.4, 363.5)--(322.0, 363.8)--(321.8, 363.9)--(321.6, 364.0)--(321.0, 364.2)--(320.8, 364.2)--(319.0, 363.7)--(318.4, 364.5)--(317.4, 365.5)--(317.3, 365.5)--(317.3, 365.6)--(317.2, 365.6)--(317.1, 365.7)--(317.0, 365.8)--(316.9, 365.9)--(316.6, 366.2)--(316.5, 366.4)--(315.3, 367.5)--(314.8, 367.9)--(314.9, 368.0)--(314.9, 368.1)--(315.8, 368.9)--(316.9, 370.2)--(317.4, 370.7)--(318.5, 372.1)--(318.7, 372.4)--(320.3, 374.5)--(320.5, 374.7)--(320.4, 374.8)--(320.4, 374.9)--(320.3, 375.1)--(320.2, 375.2)--(320.1, 375.5)--(320.0, 375.6)--(320.0, 375.7)--(319.9, 376.0)--(319.9, 376.1)--(319.4,!
377.3)--(319.2, 378.0)--cycle;
+Hammersmith_and_Fulham = (219.8, 281.0)--(219.7, 281.1)--(219.6, 281.4)--(219.4, 281.4)--(219.2, 281.6)--(219.1, 281.8)--(219.2, 281.9)--(219.1, 282.3)--(219.0, 282.4)--(219.0, 282.6)--(219.0, 282.7)--(219.0, 283.3)--(219.1, 284.2)--(219.1, 284.3)--(219.1, 284.7)--(219.1, 285.5)--(219.1, 285.8)--(219.3, 287.2)--(219.3, 287.6)--(219.4, 288.0)--(219.4, 288.4)--(219.4, 288.6)--(219.5, 288.7)--(219.5, 288.9)--(219.6, 289.2)--(219.4, 289.2)--(219.4, 289.5)--(219.4, 289.7)--(219.5, 289.8)--(219.5, 290.0)--(219.4, 290.6)--(219.5, 290.9)--(219.6, 291.3)--(219.5, 291.3)--(219.2, 291.2)--(219.1, 291.5)--(219.0, 291.8)--(218.9, 291.7)--(218.5, 291.5)--(218.3, 291.3)--(217.9, 291.1)--(217.6, 291.0)--(217.5, 290.9)--(217.3, 290.7)--(217.2, 290.6)--(216.7, 290.3)--(216.5, 290.2)--(216.3, 290.1)--(216.2, 290.4)--(215.7, 291.2)--(215.2, 292.4)--(215.0, 292.7)--(214.9, 292.8)--(215.0, 292.9)--(214.8, 293.2)--(214.8, 293.3)--(214.7, 293.3)--(214.5, 293.7)--(214.4, 293.9)--(214.2, 294.2)--(214.0, 294.4)--(213.7, 294.7)--(213.7, 294.8)--(213.5, 295.0)--(213.5, 295.2)--(213.5, 295.3)--(213.5, 295.4)--(213.4, 295.8)--(213.4, 296.2)--(213.4, 296.3)--(213.3, 296.4)--(213.3, 296.6)--(213.2, 296.7)--(213.2, 296.8)--(213.1, 296.9)--(212.9, 297.1)--(212.7, 297.4)--(212.5, 297.6)--(212.5, 297.7)--(212.5, 297.8)--(212.4, 297.8)--(212.0, 298.2)--(212.1, 298.2)--(212.0, 298.2)--(212.2, 298.3)--(212.4, 298.1)--(212.4, 298.0)--(212.6, 298.1)--(213.0, 298.2)--(213.0, 298.3)--(212.9, 298.5)--(213.0, 298.5)--(213.6, 298.6)--(213.8, 298.7)--(213.8, 298.5)--(213.8, 298.4)--(214.7, 298.6)--(214.8, 298.6)--(215.0, 298.5)--(215.3, 298.4)--(215.5, 298.4)--(215.6, 298.4)--(215.6, 298.5)--(215.6, 298.6)--(215.7, 298.6)--(215.8, 298.6)--(215.9, 298.6)--(215.9, 298.7)--(216.0, 298.7)--(216.1, 298.4)--(216.2, 298.5)--(216.9, 298.6)--(216.9, 298.4)--(217.9, 298.5)--(218.1, 298.6)--(218.5, 298.7)--(218.3, 299.5)--(218.1, 300.0)--(218.1, 300.1)--(218.0, 300.3)--(218.0, 300.5)--(218.0, 300.6)--(217.9, 300.8)--(217.9, 301.0)--(218.9, 301.0)--(218.9, 301.1!
)--(218.7, 302.0)--(218.6, 302.2)--(218.4, 303.0)--(218.4, 303.1)--(218.4, 303.5)--(218.3, 303.8)--(218.2, 304.0)--(218.2, 304.6)--(218.0, 305.0)--(217.9, 305.5)--(217.9, 305.6)--(217.7, 306.0)--(217.3, 306.8)--(216.9, 307.4)--(216.4, 308.2)--(216.1, 308.7)--(216.0, 308.9)--(216.0, 309.0)--(216.0, 309.1)--(215.9, 309.1)--(215.9, 309.3)--(215.8, 309.9)--(215.7, 310.1)--(215.7, 310.4)--(215.4, 311.1)--(215.1, 312.8)--(214.8, 314.1)--(214.7, 314.7)--(214.7, 314.8)--(214.7, 314.9)--(214.7, 315.0)--(214.7, 315.1)--(214.7, 315.2)--(214.7, 315.3)--(214.7, 315.4)--(214.8, 315.5)--(214.8, 315.6)--(214.9, 315.9)--(214.7, 316.2)--(214.7, 316.4)--(213.8, 318.2)--(213.7, 318.8)--(213.6, 319.2)--(213.5, 319.7)--(213.3, 320.1)--(213.2, 320.5)--(213.2, 320.8)--(213.2, 321.0)--(213.3, 321.3)--(213.4, 321.5)--(213.4, 321.6)--(214.2, 323.0)--(214.5, 323.4)--(214.7, 323.6)--(214.8, 323.7)--(214.8, 323.8)--(214.8, 323.9)--(214.5, 324.4)--(214.6, 324.4)--(214.8, 324.6)--(214.9, 324.8)--(214.8, 324.9)--(214.6, 325.0)--(214.7, 325.1)--(215.2, 325.8)--(215.2, 325.9)--(215.3, 326.0)--(215.4, 326.0)--(215.4, 325.9)--(215.7, 326.3)--(215.9, 326.6)--(216.5, 327.2)--(217.0, 327.7)--(217.2, 327.8)--(217.4, 328.0)--(217.6, 328.0)--(217.6, 328.1)--(217.7, 328.1)--(217.9, 328.1)--(218.0, 328.1)--(218.1, 328.3)--(217.4, 328.6)--(216.9, 328.9)--(217.0, 328.9)--(217.2, 329.4)--(217.3, 329.6)--(217.3, 329.8)--(217.4, 330.0)--(217.4, 329.9)--(217.6, 329.8)--(218.5, 329.3)--(218.6, 329.2)--(219.0, 329.1)--(219.2, 329.0)--(219.3, 328.9)--(219.4, 328.9)--(219.5, 328.9)--(220.3, 329.0)--(221.0, 329.1)--(221.1, 329.1)--(221.4, 329.1)--(221.7, 329.2)--(222.1, 329.2)--(222.3, 329.2)--(222.8, 329.2)--(223.6, 329.3)--(224.0, 329.5)--(224.2, 329.5)--(224.9, 329.8)--(225.0, 329.8)--(225.1, 329.9)--(225.2, 329.9)--(225.5, 330.0)--(225.6, 330.0)--(225.8, 329.9)--(226.0, 329.7)--(226.4, 329.3)--(226.7, 329.1)--(227.1, 328.8)--(227.6, 328.5)--(227.8, 328.4)--(228.0, 328.2)--(228.2, 328.1)--(228.4, 328.1)--(228.7, 328.0)--(228.8, 327.9)--(229.1, 327.8)--(229.3, 327.!
7)--(229..6, 327.7)--(229.8, 327.6)--(229.6, 327.1)--(229.9, 326.3)--(230.0, 326.2)--(230.0, 326.1)--(230.2, 325.9)--(230.3, 325.7)--(230.4, 325.6)--(230.5, 325.4)--(230.5, 325.2)--(230.6, 325.0)--(230.6, 324.9)--(230.6, 324.7)--(230.7, 324.4)--(230.7, 324.2)--(230.7, 324.0)--(230.7, 323.1)--(230.6, 323.0)--(230.7, 322.7)--(230.7, 322.6)--(230.8, 322.0)--(230.8, 321.8)--(230.8, 321.4)--(231.2, 321.4)--(231.2, 318.7)--(231.2, 318.3)--(230.3, 317.6)--(230.3, 317.4)--(230.2, 317.3)--(231.3, 315.8)--(231.4, 315.7)--(231.4, 315.6)--(231.5, 315.6)--(231.5, 315.5)--(231.6, 315.6)--(231.9, 315.1)--(232.1, 314.9)--(232.3, 314.5)--(232.5, 314.2)--(232.6, 314.0)--(232.7, 313.9)--(232.9, 313.5)--(233.1, 313.4)--(233.0, 313.3)--(233.5, 312.5)--(234.0, 311.6)--(234.2, 311.4)--(234.3, 311.3)--(234.4, 310.9)--(234.5, 310.7)--(234.7, 310.3)--(234.9, 309.9)--(235.1, 309.4)--(235.1, 309.3)--(235.1, 309.1)--(235.2, 308.9)--(235.4, 308.5)--(235.8, 307.6)--(235.9, 307.4)--(235.9, 307.2)--(236.0, 307.1)--(236.0, 307.0)--(236.1, 306.8)--(236.2, 306.6)--(236.2, 306.4)--(236.3, 306.3)--(236.3, 306.2)--(236.4, 306.1)--(236.4, 306.0)--(236.5, 305.5)--(236.6, 305.3)--(236.7, 304.7)--(236.7, 304.6)--(237.0, 304.7)--(237.7, 304.9)--(237.6, 305.4)--(237.7, 305.4)--(237.8, 305.4)--(237.9, 305.4)--(237.9, 305.5)--(238.0, 305.5)--(238.1, 305.6)--(238.2, 305.6)--(238.3, 305.3)--(238.3, 305.2)--(238.3, 305.1)--(238.4, 304.9)--(238.4, 304.8)--(238.5, 304.7)--(238.4, 304.5)--(238.6, 304.4)--(238.7, 304.3)--(238.7, 304.2)--(239.0, 304.2)--(239.2, 304.2)--(239.3, 303.5)--(239.5, 303.0)--(239.6, 302.6)--(239.5, 302.5)--(239.2, 302.4)--(239.0, 302.4)--(239.0, 302.3)--(239.0, 302.1)--(238.9, 301.8)--(239.1, 301.4)--(239.1, 301.2)--(238.9, 301.1)--(238.9, 301.2)--(238.8, 301.2)--(238.3, 301.0)--(237.7, 300.8)--(237.9, 300.4)--(238.0, 300.1)--(238.0, 300.0)--(238.2, 299.7)--(238.4, 299.0)--(238.5, 299.0)--(238.8, 298.4)--(238.9, 298.2)--(238.9, 298.1)--(239.0, 298.2)--(239.2, 297.8)--(239.6, 297.1)--(239.9, 296.6)--(240.1, 295.9)--(240.4, 295.3)--(240.6, 294!
.9)--(241.3, 293.9)--(241.7, 293.6)--(242.1, 293.2)--(242.3, 293.0)--(242.4, 292.9)--(242.9, 292.5)--(243.3, 292.1)--(243.5, 291.8)--(243.6, 291.7)--(243.8, 291.3)--(244.2, 290.6)--(244.8, 289.9)--(244.9, 289.8)--(245.4, 289.9)--(245.4, 289.8)--(245.4, 289.7)--(245.5, 289.7)--(245.5, 289.6)--(245.6, 289.5)--(245.8, 289.3)--(245.8, 289.2)--(245.9, 289.2)--(246.1, 289.0)--(246.3, 288.9)--(246.6, 288.7)--(246.9, 288.5)--(247.2, 288.2)--(247.5, 287.9)--(247.7, 287.6)--(247.9, 287.4)--(248.0, 287.3)--(248.2, 287.2)--(248.4, 286.9)--(248.5, 286.8)--(248.4, 286.8)--(248.5, 286.7)--(248.6, 286.4)--(248.8, 286.1)--(248.9, 285.9)--(249.0, 285.7)--(249.3, 285.3)--(249.3, 285.2)--(249.0, 285.0)--(249.4, 284.4)--(250.0, 283.6)--(250.2, 283.3)--(250.4, 283.2)--(251.0, 282.4)--(251.1, 282.2)--(251.4, 281.9)--(251.4, 281.8)--(251.9, 281.1)--(252.1, 281.0)--(252.2, 280.8)--(252.3, 280.7)--(252.4, 280.6)--(252.7, 280.4)--(253.2, 280.1)--(253.5, 280.3)--(254.0, 279.9)--(254.1, 279.8)--(254.3, 279.7)--(254.4, 279.6)--(254.4, 279.5)--(254.6, 279.4)--(254.7, 279.2)--(254.8, 279.1)--(254.9, 279.0)--(255.2, 278.6)--(255.5, 278.3)--(255.5, 278.2)--(255.7, 278.0)--(255.8, 277.7)--(256.0, 277.6)--(256.4, 277.0)--(256.5, 276.7)--(256.6, 276.7)--(256.8, 276.4)--(256.9, 276.2)--(257.1, 276.0)--(257.2, 275.8)--(257.3, 275.6)--(257.5, 275.4)--(257.6, 275.2)--(257.7, 275.2)--(258.2, 274.6)--(258.5, 274.1)--(259.0, 273.4)--(259.0, 273.3)--(259.1, 273.3)--(259.5, 272.8)--(259.7, 272.6)--(259.8, 272.5)--(259.9, 272.3)--(260.0, 272.2)--(260.2, 272.0)--(260.3, 272.2)--(260.4, 272.0)--(260.5, 271.9)--(260.6, 271.8)--(260.6, 271.6)--(260.8, 271.1)--(260.9, 271.0)--(261.1, 270.8)--(261.6, 270.2)--(261.7, 270.1)--(261.9, 269.9)--(262.1, 269.6)--(262.2, 269.5)--(262.2, 269.4)--(262.1, 269.4)--(262.0, 269.4)--(262.1, 269.3)--(262.0, 269.3)--(262.0, 269.2)--(262.1, 269.2)--(262.6, 269.2)--(262.8, 269.2)--(262.9, 269.2)--(263.0, 269.1)--(263.1, 269.1)--(263.2, 269.1)--(263.4, 269.2)--(264.4, 269.8)--(264.5, 269.8)--(264.6, 269.8)--(264.7, 269.9)--(264.9, 26!
9.9)--(265.0, 269.9)--(265.1, 269.8)--(265.3, 269.8)--(265.1, 268.0)--(265.0, 267.8)--(265.0, 267.6)--(264.9, 266.7)--(264.8, 266.6)--(264.7, 266.5)--(264.8, 266.5)--(264.8, 266.4)--(264.6, 265.4)--(264.5, 265.0)--(264.4, 264.6)--(264.2, 263.8)--(263.9, 262.9)--(263.5, 261.7)--(263.1, 260.8)--(262.8, 259.9)--(262.6, 259.6)--(262.6, 259.5)--(262.6, 259.4)--(262.5, 259.3)--(262.0, 258.6)--(261.8, 258.3)--(261.5, 257.9)--(261.1, 257.5)--(260.8, 257.2)--(260.3, 257.0)--(259.3, 256.5)--(259.1, 256.4)--(259.0, 256.3)--(258.8, 256.2)--(258.1, 255.9)--(258.0, 255.8)--(257.9, 255.8)--(257.8, 255.8)--(257.7, 255.8)--(255.9, 255.3)--(255.7, 255.3)--(255.6, 255.3)--(255.3, 255.3)--(254.5, 255.3)--(253.3, 255.4)--(253.2, 255.7)--(253.1, 255.7)--(253.1, 255.6)--(253.0, 255.5)--(252.7, 255.5)--(252.4, 255.4)--(252.3, 255.4)--(252.2, 255.4)--(252.1, 255.4)--(251.9, 255.4)--(251.7, 255.4)--(251.5, 255.4)--(251.4, 255.4)--(251.3, 255.4)--(251.2, 255.4)--(250.7, 255.5)--(250.3, 255.6)--(250.1, 255.6)--(250.0, 255.6)--(249.7, 255.7)--(248.9, 256.0)--(248.4, 256.1)--(248.0, 256.3)--(247.5, 256.5)--(247.3, 256.6)--(247.2, 256.7)--(247.1, 256.7)--(247.0, 256.8)--(246.0, 257.0)--(245.2, 257.3)--(245.2, 257.4)--(244.8, 257.5)--(244.7, 257.4)--(244.0, 257.6)--(243.8, 257.7)--(243.9, 257.8)--(243.9, 257.9)--(244.0, 258.2)--(243.9, 258.2)--(243.7, 258.0)--(243.8, 257.9)--(243.6, 257.8)--(242.4, 258.4)--(241.4, 259.0)--(240.5, 259.5)--(240.2, 259.7)--(239.9, 259.9)--(239.6, 260.2)--(239.5, 260.4)--(239.3, 260.5)--(238.8, 261.1)--(238.7, 261.2)--(238.0, 262.2)--(238.0, 262.3)--(237.9, 262.3)--(237.1, 263.3)--(235.9, 264.9)--(235.6, 265.3)--(235.6, 265.4)--(235.3, 266.0)--(235.2, 266.3)--(235.3, 266.4)--(235.2, 266.5)--(234.8, 267.8)--(234.8, 267.9)--(234.8, 268.1)--(234.7, 268.6)--(234.6, 269.0)--(234.5, 269.5)--(234.4, 271.6)--(234.2, 273.6)--(234.2, 273.7)--(234.3, 273.7)--(234.4, 273.8)--(234.4, 273.9)--(234.3, 274.0)--(234.1, 274.4)--(234.0, 275.0)--(233.9, 275.3)--(233.9, 275.5)--(233.4, 276.4)--(233.0, 277.3)--(232.2, 278.9)--(232.2, 2!
79.0)--(231.9, 279.5)--(231.7, 279.7)--(231.6, 279.9)--(230.8, 280.9)--(230.8, 281.0)--(230.8, 281.1)--(230.8, 281.2)--(230.8, 281.4)--(230.7, 281.3)--(230.4, 281.5)--(230.3, 281.7)--(229.4, 282.0)--(229.3, 282.0)--(229.1, 282.1)--(227.6, 283.0)--(226.9, 283.1)--(226.8, 283.1)--(226.3, 283.0)--(226.3, 283.1)--(226.2, 283.1)--(226.1, 283.0)--(226.0, 283.0)--(226.0, 283.1)--(225.9, 283.1)--(225.7, 283.1)--(225.6, 283.0)--(225.5, 283.0)--(225.3, 283.1)--(224.6, 283.0)--(224.1, 282.9)--(223.5, 282.8)--(223.1, 282.7)--(223.0, 282.8)--(222.5, 282.6)--(222.3, 282.5)--(222.1, 282.5)--(221.8, 282.4)--(221.5, 282.2)--(220.8, 281.9)--(220.7, 281.7)--(220.6, 281.7)--(220.5, 281.6)--(220.4, 281.5)--(220.4, 281.4)--cycle;
+Haringey = (319.3, 378.0)--(319.2, 378.0)--(319.4, 377.3)--(319.9, 376.1)--(319.9, 376.0)--(320.0, 375.7)--(320.0, 375.6)--(320.1, 375.5)--(320.2, 375.2)--(320.3, 375.1)--(320.4, 374.9)--(320.4, 374.8)--(320.5, 374.7)--(320.3, 374.5)--(318.7, 372.4)--(318.5, 372.1)--(317.4, 370.7)--(316.9, 370.2)--(315.8, 368.9)--(314.9, 368.1)--(314.9, 368.0)--(314.8, 368.1)--(314.7, 368.0)--(314.6, 367.9)--(313.6, 368.8)--(313.3, 369.2)--(313.1, 369.4)--(313.0, 369.5)--(312.8, 369.7)--(312.6, 369.9)--(312.5, 370.1)--(312.4, 370.2)--(312.1, 370.6)--(312.0, 370.7)--(311.9, 370.8)--(311.7, 371.0)--(311.6, 371.1)--(311.4, 371.3)--(310.7, 372.0)--(310.4, 372.2)--(309.7, 372.7)--(307.3, 374.3)--(307.3, 374.4)--(307.2, 374.4)--(307.2, 374.6)--(307.2, 375.1)--(307.2, 375.2)--(307.0, 375.4)--(306.9, 375.4)--(307.0, 375.7)--(306.8, 375.9)--(306.6, 376.0)--(306.5, 376.1)--(306.9, 376.5)--(306.7, 376.8)--(306.2, 377.4)--(305.8, 377.9)--(305.6, 378.1)--(305.5, 378.2)--(305.3, 378.2)--(305.0, 378.3)--(304.6, 378.4)--(304.4, 378.4)--(304.1, 378.4)--(304.1, 378.5)--(304.5, 378.8)--(304.4, 379.0)--(304.3, 379.1)--(304.2, 379.4)--(304.1, 379.7)--(304.0, 379.7)--(303.8, 379.6)--(302.5, 379.1)--(302.5, 379.2)--(302.5, 379.1)--(302.1, 379.0)--(301.5, 378.7)--(301.4, 378.7)--(301.3, 378.7)--(301.2, 378.7)--(301.1, 378.6)--(301.0, 378.5)--(300.9, 378.4)--(300.8, 378.3)--(300.7, 378.3)--(300.6, 378.3)--(300.6, 378.2)--(300.6, 378.1)--(300.5, 378.1)--(300.4, 378.0)--(300.3, 378.0)--(300.0, 378.0)--(299.5, 377.9)--(299.3, 378.0)--(299.2, 378.0)--(299.1, 378.0)--(298.9, 378.0)--(298.6, 378.0)--(297.7, 377.8)--(297.3, 377.7)--(297.0, 377.6)--(296.5, 377.5)--(296.2, 377.4)--(296.0, 377.4)--(295.9, 377.3)--(295.8, 377.2)--(295.7, 377.2)--(295.6, 377.1)--(295.3, 376.9)--(295.0, 376.8)--(294.8, 376.7)--(294.7, 376.7)--(294.5, 376.5)--(294.0, 376.0)--(293.3, 375.4)--(293.0, 375.2)--(292.8, 375.1)--(292.7, 375.0)--(292.4, 374.7)--(292.3, 374.7)--(292.2, 374.6)--(291.9, 374.4)--(291.7, 374.3)--(291.4, 374.0)--(291.2, 373.9)--(291.1, 373.9)--(291.1, 373!
.8)--(291.0, 373.7)--(290.8, 373.6)--(290.7, 373.4)--(290.4, 373.2)--(289.7, 372.6)--(289.6, 372.5)--(289.4, 372.5)--(289.0, 372.3)--(288.6, 372.2)--(288.4, 372.2)--(288.4, 372.4)--(287.4, 373.0)--(287.2, 373.1)--(287.0, 373.2)--(286.9, 373.3)--(286.5, 373.3)--(285.8, 373.6)--(285.1, 373.8)--(284.4, 373.9)--(283.7, 374.2)--(283.4, 374.4)--(283.2, 374.5)--(283.0, 374.7)--(282.8, 374.8)--(282.3, 374.8)--(281.2, 374.9)--(280.3, 375.0)--(279.3, 375.1)--(278.2, 375.2)--(276.9, 375.3)--(276.2, 375.7)--(276.0, 375.9)--(275.9, 375.9)--(275.8, 375.9)--(275.7, 375.9)--(275.6, 375.9)--(275.5, 375.9)--(275.4, 375.9)--(275.3, 375.9)--(275.2, 375.9)--(275.1, 375.8)--(275.0, 375.8)--(274.3, 375.7)--(273.8, 375.6)--(273.3, 375.6)--(273.2, 375.6)--(273.1, 375.6)--(273.0, 375.6)--(272.9, 375.6)--(272.8, 375.6)--(272.7, 375.6)--(272.5, 375.7)--(272.2, 375.8)--(272.1, 375.8)--(272.0, 375.8)--(271.8, 375.8)--(271.7, 375.9)--(271.5, 376.0)--(271.4, 376.0)--(271.2, 376.0)--(271.0, 376.0)--(270.3, 375.9)--(269.8, 375.9)--(269.2, 375.8)--(268.8, 375.6)--(268.5, 375.5)--(268.3, 375.4)--(268.3, 376.0)--(268.3, 376.7)--(268.5, 376.7)--(268.8, 376.8)--(269.2, 376.9)--(269.5, 377.1)--(269.5, 377.4)--(269.5, 377.7)--(269.5, 377.9)--(269.5, 378.1)--(269.4, 378.7)--(269.4, 379.1)--(269.4, 379.7)--(269.3, 379.8)--(269.3, 380.0)--(269.3, 380.2)--(269.4, 380.4)--(269.4, 380.6)--(269.5, 380.9)--(270.3, 380.5)--(270.4, 380.4)--(270.6, 380.9)--(270.7, 381.0)--(270.8, 381.4)--(270.9, 381.5)--(271.1, 381.9)--(271.0, 381.9)--(270.9, 381.9)--(271.0, 382.1)--(271.1, 382.2)--(271.2, 382.4)--(271.2, 382.5)--(271.1, 383.5)--(271.0, 383.5)--(271.0, 384.5)--(270.9, 384.5)--(270.9, 384.6)--(270.9, 385.1)--(270.9, 385.3)--(270.9, 385.6)--(271.0, 385.8)--(271.0, 385.9)--(271.0, 386.0)--(271.1, 386.0)--(271.5, 386.1)--(271.4, 386.3)--(271.6, 386.6)--(271.8, 387.1)--(271.8, 387.5)--(272.2, 387.7)--(272.4, 387.8)--(272.3, 387.9)--(272.4, 388.1)--(272.6, 388.3)--(272.7, 388.3)--(272.8, 388.3)--(273.2, 388.7)--(273.3, 388.7)--(273.3, 388.6)--(273.6, 388.8)--(273.9, 38!
8.9)--(274.0, 388.9)--(274.2, 389.1)--(274.4, 389.2)--(274.4, 389.3)--(274.8, 389.8)--(274.9, 389.9)--(275.0, 389.9)--(275.2, 389.7)--(275.4, 389.5)--(275.6, 389.3)--(275.7, 389.2)--(275.9, 389.1)--(276.0, 388.9)--(276.1, 389.0)--(276.3, 389.3)--(277.2, 390.4)--(277.2, 390.9)--(277.6, 390.9)--(277.7, 390.9)--(277.6, 391.1)--(277.5, 391.3)--(277.3, 391.3)--(276.6, 391.4)--(276.6, 392.0)--(276.6, 392.2)--(276.6, 392.4)--(276.7, 392.4)--(276.6, 392.7)--(276.6, 392.9)--(275.5, 392.8)--(275.6, 393.0)--(275.6, 393.1)--(275.6, 393.4)--(275.6, 393.6)--(275.6, 394.0)--(275.6, 394.1)--(275.6, 394.2)--(275.5, 394.4)--(275.5, 394.7)--(275.8, 394.8)--(275.7, 395.2)--(275.7, 395.3)--(275.8, 395.5)--(275.8, 395.7)--(275.9, 396.2)--(275.9, 396.9)--(276.0, 396.9)--(276.2, 397.0)--(276.4, 397.2)--(276.5, 397.3)--(276.5, 397.4)--(276.4, 397.6)--(276.4, 397.8)--(275.8, 397.6)--(275.7, 397.9)--(275.7, 398.0)--(275.7, 398.2)--(275.4, 398.9)--(275.4, 399.1)--(275.4, 399.2)--(275.3, 399.4)--(275.2, 399.6)--(275.2, 399.8)--(275.0, 400.0)--(274.8, 400.4)--(274.8, 400.8)--(274.7, 401.0)--(274.4, 402.1)--(274.3, 402.7)--(274.2, 402.9)--(274.2, 403.0)--(274.2, 403.3)--(274.2, 403.4)--(274.2, 403.5)--(274.2, 403.6)--(275.4, 406.5)--(276.2, 408.5)--(276.2, 408.6)--(277.1, 410.9)--(277.4, 411.7)--(277.6, 412.0)--(277.7, 412.2)--(278.0, 412.3)--(277.9, 412.2)--(277.9, 412.1)--(277.9, 412.0)--(277.9, 411.9)--(278.4, 411.5)--(278.5, 411.4)--(278.6, 411.4)--(278.8, 411.0)--(278.9, 410.9)--(279.0, 410.8)--(279.1, 410.7)--(279.4, 410.1)--(279.7, 409.7)--(279.9, 409.3)--(279.9, 408.6)--(279.9, 408.2)--(279.9, 407.8)--(279.8, 407.4)--(279.9, 407.3)--(279.9, 407.1)--(280.1, 406.1)--(280.1, 405.8)--(280.2, 405.5)--(280.3, 405.3)--(280.9, 404.4)--(281.2, 403.8)--(281.3, 403.7)--(281.4, 403.5)--(283.2, 404.6)--(283.9, 405.0)--(284.1, 405.2)--(284.0, 405.3)--(284.4, 405.5)--(284.6, 405.7)--(285.7, 406.4)--(286.1, 406.6)--(286.1, 406.7)--(286.1, 406.9)--(286.1, 407.1)--(286.3, 407.7)--(286.4, 407.9)--(286.5, 408.0)--(286.5, 408.2)--(286.7, 408.5)--(286.8, 4!
08.7)--(286.9, 409.0)--(286.9, 409.2)--(287.0, 409.3)--(287.4, 409.8)--(287.6, 410.1)--(287.6, 410.2)--(287.6, 410.4)--(287.7, 410.6)--(287.7, 410.7)--(287.7, 411.3)--(287.6, 411.6)--(287.5, 412.0)--(287.5, 412.1)--(287.4, 412.2)--(287.2, 412.6)--(287.1, 412.9)--(287.0, 413.0)--(287.0, 413.1)--(286.9, 413.6)--(286.8, 413.8)--(286.7, 414.7)--(286.6, 415.1)--(286.6, 415.2)--(286.6, 415.3)--(286.6, 415.7)--(286.6, 416.3)--(287.0, 416.6)--(288.1, 417.1)--(289.8, 417.9)--(290.5, 418.2)--(291.5, 418.6)--(291.7, 418.7)--(292.0, 419.0)--(292.2, 419.1)--(292.4, 419.1)--(293.5, 418.7)--(294.6, 418.3)--(294.9, 418.2)--(295.2, 418.1)--(296.0, 417.6)--(296.8, 417.4)--(297.3, 417.3)--(297.7, 417.2)--(298.3, 417.2)--(298.4, 417.2)--(298.4, 417.1)--(298.7, 417.5)--(298.6, 417.5)--(299.1, 418.0)--(299.4, 417.9)--(299.3, 417.8)--(299.9, 417.2)--(299.9, 417.1)--(300.0, 417.1)--(300.1, 417.0)--(300.0, 417.0)--(300.4, 416.5)--(300.5, 416.6)--(300.6, 416.6)--(301.1, 416.5)--(301.4, 416.5)--(301.6, 416.5)--(301.7, 416.5)--(301.9, 416.4)--(303.1, 416.3)--(303.4, 416.2)--(303.7, 416.6)--(304.1, 416.3)--(304.5, 416.1)--(304.7, 416.3)--(305.6, 416.2)--(305.6, 416.4)--(305.9, 416.4)--(306.0, 416.4)--(306.5, 416.4)--(306.6, 416.4)--(306.8, 416.3)--(306.9, 416.3)--(307.1, 416.3)--(307.1, 416.4)--(307.8, 416.4)--(308.7, 416.5)--(309.1, 416.5)--(309.2, 416.6)--(309.2, 416.7)--(309.3, 416.6)--(309.4, 416.6)--(309.4, 416.4)--(309.8, 416.3)--(310.2, 416.3)--(311.7, 416.3)--(311.8, 416.4)--(312.3, 416.5)--(312.6, 416.5)--(312.7, 416.5)--(313.0, 416.6)--(313.8, 416.6)--(313.9, 416.6)--(314.1, 416.6)--(314.2, 416.6)--(314.6, 416.4)--(314.9, 416.2)--(315.1, 416.6)--(315.3, 416.6)--(315.4, 416.7)--(315.6, 416.7)--(315.8, 416.7)--(315.9, 416.7)--(316.1, 416.7)--(316.4, 416.7)--(316.7, 416.7)--(317.3, 416.7)--(318.1, 416.8)--(318.4, 416.8)--(318.3, 417.2)--(318.4, 417.2)--(318.5, 417.2)--(318.7, 417.4)--(318.8, 417.5)--(319.1, 417.6)--(319.3, 417.6)--(319.5, 417.7)--(319.7, 417.7)--(319.9, 417.3)--(319.9, 417.2)--(320.0, 417.0)--(320.8, 417.2)--(321.1, !
417.4)--(321.5, 417.3)--(321.8, 417.3)--(321.9, 417.2)--(321.9, 417.5)--(322.1, 417.5)--(322.1, 417.4)--(322.1, 417.3)--(322.3, 417.3)--(322.3, 417.2)--(322.3, 417.3)--(322.4, 417.3)--(322.6, 417.2)--(322.9, 417.2)--(323.0, 417.3)--(323.8, 417.3)--(324.5, 417.2)--(324.7, 417.2)--(325.0, 417.1)--(325.3, 417.1)--(325.6, 417.0)--(325.9, 417.0)--(326.5, 416.9)--(327.2, 417.0)--(327.4, 417.0)--(327.5, 417.0)--(328.2, 417.0)--(329.0, 417.0)--(329.1, 417.0)--(329.6, 417.0)--(330.0, 417.1)--(330.8, 417.1)--(331.0, 417.1)--(331.1, 417.1)--(331.2, 417.1)--(331.4, 417.1)--(331.8, 417.1)--(332.5, 417.1)--(332.8, 417.0)--(333.2, 417.1)--(333.5, 417.1)--(334.1, 417.2)--(334.8, 417.3)--(335.4, 417.4)--(335.9, 417.5)--(336.0, 417.5)--(336.0, 417.4)--(336.2, 417.5)--(336.4, 417.5)--(336.8, 417.6)--(336.8, 417.5)--(336.9, 417.5)--(337.2, 417.5)--(337.7, 417.5)--(337.9, 417.5)--(338.6, 417.5)--(338.8, 417.7)--(338.9, 417.5)--(339.0, 417.5)--(339.1, 417.5)--(339.2, 417.5)--(339.4, 417.8)--(340.0, 417.5)--(340.6, 417.5)--(340.7, 417.5)--(340.9, 417.5)--(342.3, 417.5)--(342.7, 417.5)--(343.5, 417.6)--(345.0, 417.7)--(345.7, 417.8)--(347.0, 417.9)--(347.4, 418.0)--(348.2, 418.0)--(348.5, 417.9)--(349.1, 417.7)--(349.2, 417.6)--(349.3, 417.6)--(349.2, 417.5)--(349.2, 417.4)--(349.3, 417.4)--(349.3, 417.1)--(349.5, 417.1)--(349.8, 417.0)--(350.1, 416.9)--(350.3, 416.8)--(350.2, 416.8)--(351.2, 416.4)--(351.4, 416.3)--(351.6, 416.2)--(351.8, 416.2)--(352.0, 416.1)--(352.1, 416.0)--(352.4, 415.9)--(352.7, 415.9)--(353.0, 415.8)--(354.6, 415.3)--(355.3, 415.1)--(356.3, 414.9)--(357.0, 414.7)--(357.3, 414.6)--(357.2, 414.5)--(357.2, 414.4)--(357.1, 414.3)--(357.1, 414.2)--(357.0, 414.1)--(357.0, 414.0)--(356.9, 413.9)--(356.9, 413.7)--(356.8, 413.6)--(356.8, 413.5)--(356.8, 413.4)--(356.5, 412.7)--(356.2, 412.0)--(355.9, 411.4)--(355.6, 410.8)--(355.1, 409.9)--(354.4, 408.8)--(354.2, 408.4)--(354.0, 408.0)--(353.7, 407.6)--(353.1, 406.8)--(352.4, 405.9)--(351.9, 405.3)--(351.8, 405.1)--(351.7, 405.0)--(351.6, 404.9)--(351.5, 404.8)--(351.4,!
404.7)--(351.4, 404.6)--(351.3, 404.5)--(351.3, 404.4)--(351.2, 404.4)--(351.2, 404.3)--(351.2, 404.2)--(351.1, 404.1)--(351.1, 404.0)--(351.0, 403.9)--(351.0, 403.8)--(351.0, 403.7)--(350.9, 403.6)--(350.9, 403.4)--(350.9, 402.9)--(350.9, 402.8)--(350.9, 402.7)--(350.8, 402.7)--(350.8, 402.6)--(350.8, 402.5)--(350.7, 402.4)--(350.6, 402.3)--(350.5, 402.2)--(350.5, 402.1)--(350.4, 402.1)--(350.4, 402.0)--(350.3, 401.9)--(350.3, 401.8)--(350.2, 401.8)--(350.2, 401.7)--(350.2, 401.6)--(350.1, 401.5)--(350.1, 401.4)--(350.1, 401.3)--(350.1, 401.2)--(350.1, 400.6)--(350.0, 400.0)--(350.0, 399.7)--(349.7, 399.0)--(349.6, 398.5)--(349.5, 398.2)--(349.4, 397.9)--(349.4, 397.5)--(349.4, 397.2)--(349.4, 396.9)--(349.5, 396.6)--(349.6, 396.3)--(349.8, 395.9)--(350.0, 395.6)--(350.0, 395.5)--(350.1, 395.4)--(350.1, 395.2)--(350.2, 395.1)--(350.3, 394.9)--(350.3, 394.8)--(350.4, 394.8)--(350.4, 394.7)--(350.4, 394.6)--(350.4, 394.5)--(350.4, 394.4)--(350.4, 394.3)--(350.3, 394.3)--(350.3, 394.2)--(350.3, 394.1)--(350.2, 394.1)--(350.2, 394.0)--(350.1, 394.0)--(350.1, 393.9)--(350.0, 393.9)--(349.7, 393.6)--(349.6, 393.5)--(349.2, 393.1)--(348.9, 392.8)--(348.9, 392.7)--(348.8, 392.7)--(348.8, 392.6)--(348.7, 392.5)--(348.7, 392.4)--(348.6, 392.3)--(348.6, 392.2)--(348.5, 392.1)--(348.5, 392.0)--(348.4, 391.9)--(348.4, 391.8)--(348.4, 391.7)--(348.4, 391.6)--(348.3, 391.5)--(348.3, 391.4)--(348.3, 391.3)--(348.3, 391.2)--(348.3, 391.1)--(348.2, 391.1)--(348.2, 391.0)--(348.2, 390.9)--(348.1, 390.8)--(348.1, 390.7)--(348.0, 390.6)--(348.0, 390.5)--(347.9, 390.4)--(347.9, 390.3)--(347.8, 390.3)--(347.8, 390.2)--(347.7, 390.1)--(347.6, 390.0)--(347.5, 389.9)--(347.4, 389.8)--(347.3, 389.7)--(347.2, 389.6)--(347.1, 389.5)--(347.0, 389.5)--(347.0, 389.4)--(346.9, 389.3)--(346.9, 389.2)--(346.8, 389.2)--(346.8, 389.1)--(346.8, 389.0)--(346.7, 388.9)--(346.7, 388.7)--(346.6, 388.7)--(346.6, 388.6)--(346.6, 388.5)--(346.5, 388.5)--(346.5, 388.4)--(346.4, 388.4)--(346.3, 388.3)--(346.2, 388.2)--(345.6, 387.7)--(345.3, 387.4)--(345.1!
, 387.3)--(344.6, 386.8)--(344.5, 386.8)--(344.5, 386.7)--(344.4, 386.6)--(344.3, 386.5)--(344.2, 386.4)--(344.2, 386.3)--(344.1, 386.2)--(344.0, 386.1)--(344.0, 386.0)--(343.9, 385.9)--(343.9, 385.8)--(343.8, 385.7)--(343.8, 385.6)--(343.8, 385.5)--(343.7, 385.4)--(343.7, 385.3)--(343.7, 385.2)--(343.6, 385.2)--(343.6, 385.1)--(343.6, 385.0)--(343.6, 384.9)--(343.7, 384.9)--(343.7, 384.8)--(343.7, 384.7)--(343.7, 384.6)--(343.8, 384.5)--(343.8, 384.4)--(343.9, 384.4)--(343.9, 384.3)--(344.2, 383.8)--(344.4, 383.4)--(344.4, 383.3)--(343.4, 382.9)--(342.7, 382.6)--(342.3, 382.5)--(342.1, 382.4)--(341.5, 382.2)--(341.0, 382.0)--(340.6, 381.9)--(340.6, 381.6)--(340.4, 381.5)--(340.3, 381.5)--(340.2, 381.5)--(339.8, 381.4)--(339.5, 381.3)--(339.2, 381.3)--(338.8, 381.1)--(338.7, 381.1)--(338.6, 381.0)--(338.4, 381.0)--(338.1, 380.9)--(337.7, 380.8)--(337.1, 380.7)--(337.1, 380.8)--(336.8, 380.7)--(336.7, 380.7)--(336.5, 380.7)--(336.3, 380.7)--(335.9, 380.6)--(335.9, 380.7)--(335.8, 380.7)--(335.6, 380.7)--(335.5, 380.6)--(335.4, 380.6)--(335.4, 380.7)--(335.3, 380.7)--(335.3, 380.6)--(334.8, 380.5)--(334.8, 380.3)--(334.7, 380.3)--(334.6, 380.3)--(334.4, 380.4)--(334.4, 380.5)--(334.3, 380.3)--(334.3, 380.2)--(334.1, 379.8)--(333.5, 380.0)--(333.2, 380.1)--(332.8, 380.2)--(332.5, 380.3)--(332.2, 380.3)--(331.9, 380.4)--(331.6, 380.4)--(330.9, 380.5)--(330.2, 380.3)--(329.9, 380.2)--(329.5, 380.1)--(329.0, 380.0)--(328.8, 380.0)--(328.1, 379.9)--(327.5, 379.8)--(327.4, 379.6)--(327.3, 379.6)--(327.3, 379.5)--(326.9, 379.4)--(326.5, 379.4)--(326.5, 379.2)--(326.5, 379.1)--(326.6, 379.2)--(326.7, 379.1)--(326.7, 379.0)--(326.7, 378.9)--(326.4, 379.0)--(326.2, 379.0)--(326.1, 379.0)--(326.0, 379.0)--(325.9, 379.0)--(325.7, 378.9)--(325.5, 378.9)--(325.4, 378.9)--(325.3, 378.9)--(325.2, 379.0)--(325.1, 379.0)--(325.0, 379.0)--(324.9, 379.0)--(324.7, 379.0)--(324.6, 379.0)--(324.5, 379.0)--(324.5, 378.9)--(324.4, 378.9)--(324.3, 378.9)--(324.1, 378.8)--(323.9, 378.6)--(323.7, 378.5)--(323.6, 378.5)--(323.5, 378.5)--(323.!
4, 378.5)--(323.3, 378.5)--(323.2, 378.5)--(323.1, 378.5)--(323.0, 378.5)--(322.8, 378.5)--(322.7, 378.5)--(322.6, 378.5)--(322.5, 378.5)--(322.4, 378.5)--(322.3, 378.5)--(322.1, 378.5)--(322.1, 378.4)--(322.0, 378.4)--(321.9, 378.4)--(321.6, 378.2)--(321.4, 378.0)--(321.3, 378.0)--(321.2, 378.0)--(321.1, 378.0)--(321.0, 378.0)--(320.9, 378.0)--(320.8, 378.0)--(320.7, 378.0)--(320.3, 378.1)--(320.1, 378.2)--(320.0, 378.2)--(319.9, 378.2)--(319.8, 378.2)--(319.7, 378.2)--(319.6, 378.2)--(319.6, 378.1)--(319.5, 378.1)--(319.4, 378.0)--cycle;
+Harrow = (106.0, 416.9)--(106.6, 416.9)--(106.9, 416.9)--(107.2, 416.9)--(107.7, 416.9)--(107.8, 416.9)--(107.9, 416.9)--(108.0, 417.0)--(108.3, 417.1)--(108.4, 417.1)--(108.5, 417.1)--(108.8, 417.1)--(109.0, 417.2)--(109.2, 417.2)--(109.9, 417.5)--(110.2, 417.8)--(110.7, 418.0)--(110.9, 418.1)--(111.2, 418.3)--(111.7, 418.5)--(112.4, 418.8)--(112.8, 418.9)--(113.4, 419.1)--(113.8, 419.3)--(114.6, 419.4)--(115.1, 419.5)--(115.8, 419.5)--(116.0, 419.6)--(116.2, 419.6)--(116.4, 419.7)--(116.8, 419.7)--(117.2, 419.7)--(117.5, 419.8)--(117.7, 419.8)--(117.8, 419.8)--(118.0, 419.9)--(118.2, 420.0)--(119.0, 420.3)--(119.4, 420.5)--(119.8, 420.7)--(120.1, 420.9)--(120.3, 421.1)--(121.1, 421.9)--(121.2, 422.0)--(121.3, 422.0)--(121.5, 422.0)--(121.9, 422.0)--(122.2, 422.0)--(122.6, 422.1)--(123.2, 422.3)--(123.6, 422.4)--(123.7, 422.4)--(124.2, 422.4)--(124.6, 422.6)--(124.9, 422.7)--(125.3, 422.9)--(125.4, 422.9)--(125.7, 423.0)--(126.1, 423.2)--(126.6, 423.6)--(127.2, 423.8)--(127.5, 423.9)--(127.7, 424.0)--(128.3, 424.3)--(128.5, 424.4)--(129.1, 424.8)--(129.5, 425.1)--(129.9, 425.4)--(130.2, 425.5)--(130.7, 425.7)--(131.3, 425.9)--(131.5, 425.9)--(131.6, 426.0)--(131.7, 426.0)--(132.0, 426.2)--(132.5, 426.5)--(132.7, 426.8)--(133.0, 427.1)--(133.9, 427.9)--(134.0, 428.0)--(134.4, 429.0)--(134.5, 429.1)--(134.6, 429.0)--(134.6, 429.1)--(135.0, 429.3)--(135.2, 429.6)--(135.3, 429.9)--(135.5, 430.1)--(135.6, 430.3)--(135.7, 430.4)--(136.1, 430.8)--(136.4, 431.0)--(136.6, 431.1)--(136.9, 431.1)--(137.2, 431.2)--(137.5, 431.2)--(137.7, 431.2)--(137.9, 431.3)--(138.3, 431.4)--(138.6, 431.5)--(138.8, 431.5)--(138.9, 431.6)--(139.1, 431.7)--(139.5, 431.9)--(139.6, 431.9)--(139.7, 431.9)--(139.8, 431.9)--(140.1, 431.9)--(140.2, 431.9)--(141.0, 432.2)--(141.3, 432.3)--(141.5, 432.3)--(142.0, 432.5)--(142.5, 432.6)--(142.8, 432.6)--(142.8, 432.7)--(143.2, 432.8)--(143.4, 432.9)--(143.6, 433.0)--(143.7, 433.1)--(143.8, 433.1)--(144.3, 433.5)--(144.8, 433.8)--(145.2, 434.0)--(145.5, 434.3)--(145.8, 434.4)--(146.1, 434.5!
)--(146.4, 434.6)--(146.7, 434.8)--(147.0, 435.0)--(147.1, 435.1)--(148.7, 436.4)--(149.6, 437.1)--(150.0, 437.4)--(150.0, 437.5)--(150.2, 437.2)--(150.4, 437.0)--(150.6, 436.7)--(150.7, 436.7)--(150.8, 436.7)--(150.7, 436.6)--(150.7, 436.5)--(150.9, 436.3)--(151.1, 436.0)--(151.7, 436.8)--(151.7, 436.9)--(151.8, 437.0)--(152.1, 437.4)--(152.4, 437.7)--(152.6, 438.0)--(152.9, 438.4)--(153.1, 438.6)--(153.4, 439.0)--(153.6, 439.2)--(153.6, 439.3)--(153.7, 439.4)--(153.9, 439.6)--(154.2, 440.0)--(154.3, 440.1)--(154.5, 440.3)--(154.6, 440.5)--(154.7, 440.5)--(154.6, 440.6)--(154.6, 440.7)--(154.6, 440.8)--(154.7, 441.0)--(154.8, 440.9)--(155.0, 440.9)--(155.0, 441.0)--(155.5, 441.5)--(156.1, 442.1)--(156.7, 442.7)--(157.2, 443.0)--(157.5, 443.2)--(157.8, 443.5)--(158.5, 443.9)--(158.7, 443.9)--(158.9, 444.1)--(159.1, 444.3)--(159.5, 444.5)--(159.7, 444.6)--(160.4, 444.8)--(161.4, 445.2)--(162.0, 445.4)--(162.5, 445.5)--(163.2, 445.8)--(163.7, 446.0)--(163.9, 446.2)--(164.2, 446.5)--(164.4, 446.9)--(164.5, 447.0)--(164.6, 447.3)--(164.6, 447.5)--(164.6, 447.6)--(164.7, 447.8)--(164.8, 448.0)--(165.0, 448.2)--(165.2, 448.3)--(165.5, 448.5)--(165.6, 448.6)--(165.8, 448.7)--(166.3, 448.3)--(167.0, 447.9)--(167.5, 447.7)--(167.7, 447.6)--(168.1, 447.4)--(168.2, 447.3)--(168.6, 447.1)--(168.8, 447.0)--(169.3, 446.8)--(169.6, 446.7)--(169.7, 446.7)--(169.9, 446.6)--(171.1, 446.1)--(171.2, 446.1)--(171.7, 445.9)--(172.1, 445.7)--(172.6, 445.5)--(173.0, 445.3)--(173.7, 445.0)--(173.9, 444.9)--(174.2, 444.6)--(174.3, 444.5)--(174.3, 444.4)--(174.3, 444.3)--(174.3, 444.2)--(174.4, 444.2)--(174.0, 443.1)--(173.6, 442.0)--(173.6, 441.9)--(173.6, 441.7)--(173.8, 440.9)--(174.1, 440.2)--(174.5, 439.4)--(174.8, 438.8)--(175.9, 437.7)--(176.1, 437.3)--(176.4, 437.0)--(176.8, 436.4)--(177.3, 435.7)--(177.6, 435.2)--(178.2, 434.4)--(178.6, 433.9)--(179.1, 433.4)--(179.3, 433.1)--(179.6, 432.7)--(180.6, 431.4)--(181.1, 430.7)--(181.3, 430.4)--(181.7, 429.9)--(182.0, 429.3)--(182.6, 428.7)--(182.9, 428.2)--(183.6, 427.2)--(185.1, 425.!
3)--(186..0, 424.1)--(186.2, 423.8)--(186.5, 423.3)--(186.6, 423.1)--(187.1, 422.5)--(187.7, 421.8)--(188.2, 421.2)--(188.8, 420.7)--(189.0, 420.6)--(189.1, 420.4)--(189.5, 420.0)--(190.4, 419.0)--(190.9, 418.3)--(191.8, 416.9)--(192.4, 416.1)--(192.8, 415.5)--(193.4, 414.7)--(193.9, 414.1)--(194.0, 413.9)--(194.3, 413.6)--(194.5, 413.5)--(194.8, 413.2)--(195.1, 412.7)--(195.3, 412.4)--(195.6, 412.0)--(196.4, 410.6)--(197.0, 409.9)--(198.9, 407.6)--(199.0, 407.4)--(200.0, 406.3)--(200.2, 406.0)--(200.8, 405.2)--(201.1, 404.8)--(200.6, 404.3)--(200.3, 404.1)--(200.1, 404.0)--(200.0, 403.9)--(199.8, 403.7)--(199.6, 403.5)--(199.3, 403.3)--(199.0, 403.0)--(198.8, 402.8)--(198.6, 402.6)--(198.5, 402.5)--(198.4, 402.5)--(198.4, 402.4)--(198.3, 402.4)--(198.2, 402.4)--(198.1, 402.4)--(198.1, 402.5)--(197.8, 402.5)--(197.7, 402.5)--(197.6, 402.5)--(197.5, 402.5)--(197.4, 402.5)--(197.3, 402.5)--(197.2, 402.5)--(197.1, 402.5)--(197.0, 402.4)--(196.9, 402.4)--(196.8, 402.3)--(196.7, 402.3)--(196.6, 402.2)--(196.5, 402.1)--(196.4, 402.1)--(196.4, 402.0)--(195.3, 401.4)--(194.4, 400.8)--(194.8, 400.4)--(192.8, 400.0)--(191.4, 399.7)--(191.1, 399.7)--(190.5, 399.5)--(190.0, 399.4)--(189.5, 399.2)--(189.2, 399.1)--(188.9, 399.0)--(188.6, 398.8)--(188.5, 398.8)--(188.4, 398.3)--(188.1, 398.4)--(188.0, 398.5)--(187.7, 398.2)--(187.5, 398.0)--(187.1, 397.7)--(186.9, 397.7)--(186.6, 397.6)--(186.1, 397.4)--(185.9, 397.3)--(185.7, 397.2)--(185.4, 397.1)--(185.2, 396.9)--(185.6, 396.5)--(185.7, 396.4)--(185.9, 396.3)--(186.0, 396.2)--(186.1, 396.2)--(186.4, 396.0)--(186.6, 396.0)--(187.2, 395.8)--(187.4, 395.7)--(187.6, 395.6)--(187.7, 395.6)--(187.9, 395.5)--(188.0, 395.4)--(188.2, 395.2)--(188.4, 395.1)--(188.5, 395.0)--(188.7, 394.8)--(188.8, 394.7)--(188.9, 394.6)--(189.1, 394.4)--(189.3, 394.1)--(189.3, 394.0)--(189.4, 393.8)--(189.5, 393.6)--(189.7, 393.3)--(189.8, 392.9)--(190.2, 391.8)--(190.3, 391.2)--(190.4, 390.8)--(190.4, 390.6)--(190.5, 390.2)--(190.6, 389.4)--(190.8, 388.9)--(190.9, 388.7)--(191.0, 388.6)--(191.0, 388!
.5)--(191.0, 388.4)--(191.0, 388.3)--(191.0, 387.7)--(191.0, 387.6)--(190.9, 387.6)--(190.9, 387.5)--(189.8, 387.8)--(186.4, 388.4)--(184.2, 388.8)--(182.7, 389.0)--(181.7, 389.1)--(180.2, 389.2)--(180.0, 389.2)--(179.9, 389.2)--(179.7, 389.2)--(179.2, 389.3)--(178.7, 389.5)--(178.6, 389.6)--(178.4, 389.6)--(178.2, 389.7)--(177.9, 389.7)--(177.3, 389.7)--(177.2, 389.7)--(176.9, 389.7)--(176.6, 389.6)--(176.2, 389.6)--(175.9, 389.5)--(175.4, 389.4)--(175.0, 389.3)--(174.7, 389.2)--(174.7, 389.1)--(174.5, 389.1)--(174.3, 388.9)--(174.0, 388.8)--(173.0, 388.2)--(171.4, 387.3)--(170.6, 386.8)--(169.7, 386.2)--(169.5, 386.0)--(169.4, 385.9)--(168.9, 385.5)--(167.0, 383.7)--(165.9, 382.5)--(165.5, 382.3)--(165.2, 382.0)--(164.9, 381.8)--(164.6, 381.6)--(164.3, 381.4)--(162.7, 380.6)--(161.4, 380.1)--(160.5, 379.8)--(160.4, 379.7)--(160.5, 379.5)--(160.5, 379.3)--(160.5, 379.2)--(160.6, 379.0)--(160.7, 378.6)--(161.0, 377.8)--(161.3, 377.1)--(161.4, 376.8)--(161.4, 376.6)--(161.7, 374.7)--(161.8, 374.4)--(161.8, 374.2)--(161.8, 374.0)--(161.9, 373.9)--(161.9, 373.6)--(162.4, 372.7)--(162.8, 371.8)--(163.3, 370.9)--(163.6, 370.3)--(163.8, 369.8)--(163.3, 369.4)--(162.7, 368.9)--(162.2, 368.6)--(161.8, 368.4)--(161.8, 368.2)--(161.3, 367.9)--(161.1, 367.8)--(160.7, 367.7)--(160.1, 367.6)--(160.2, 367.3)--(159.3, 367.0)--(158.9, 366.9)--(158.6, 366.8)--(158.7, 366.3)--(158.7, 365.8)--(159.1, 365.6)--(159.4, 365.5)--(159.5, 364.4)--(159.5, 363.5)--(159.7, 362.6)--(159.5, 362.3)--(159.7, 362.0)--(159.8, 361.7)--(159.4, 361.7)--(159.2, 361.7)--(159.1, 361.6)--(158.9, 361.6)--(158.8, 361.6)--(158.7, 361.5)--(158.6, 361.4)--(157.7, 360.6)--(157.6, 360.6)--(157.8, 360.5)--(157.2, 359.9)--(157.3, 359.8)--(156.8, 359.0)--(156.3, 358.2)--(155.9, 357.6)--(155.9, 357.0)--(155.9, 356.6)--(155.9, 356.3)--(155.3, 356.4)--(154.9, 355.1)--(154.8, 355.0)--(154.7, 355.0)--(154.6, 355.1)--(154.4, 355.1)--(154.3, 355.1)--(154.3, 355.2)--(153.7, 355.4)--(153.4, 355.5)--(153.3, 355.6)--(152.9, 355.7)--(152.8, 355.7)--(152.6, 355.8)--(152.4, 35!
5.8)--(151.1, 355.8)--(150.8, 355.9)--(150.3, 355.9)--(150.0, 355.9)--(149.7, 356.0)--(149.0, 356.2)--(148.5, 356.5)--(148.0, 356.8)--(148.0, 356.9)--(147.9, 356.9)--(147.8, 357.0)--(147.6, 357.1)--(146.7, 357.9)--(146.7, 358.0)--(146.5, 358.3)--(145.6, 358.0)--(144.3, 357.6)--(143.7, 357.4)--(142.3, 357.1)--(141.1, 356.8)--(139.9, 356.4)--(138.4, 355.9)--(137.8, 355.8)--(137.7, 355.7)--(136.9, 355.5)--(136.3, 355.4)--(136.2, 355.4)--(136.3, 355.1)--(136.4, 354.8)--(136.4, 354.6)--(136.3, 354.5)--(136.2, 354.5)--(136.1, 354.5)--(136.2, 354.4)--(136.2, 354.3)--(136.1, 354.3)--(136.1, 354.2)--(136.2, 354.0)--(135.9, 353.9)--(135.8, 353.8)--(135.5, 353.7)--(135.2, 353.6)--(134.9, 353.5)--(134.8, 353.4)--(134.7, 353.4)--(134.5, 353.4)--(134.3, 353.4)--(134.3, 353.3)--(133.8, 353.2)--(133.7, 353.2)--(133.4, 353.1)--(133.5, 352.9)--(133.3, 352.8)--(133.1, 352.8)--(132.9, 352.7)--(132.7, 352.7)--(132.6, 352.7)--(132.5, 352.7)--(132.0, 352.5)--(131.8, 352.5)--(131.6, 352.4)--(131.4, 352.3)--(131.3, 352.3)--(131.1, 352.3)--(131.0, 352.2)--(130.8, 352.1)--(130.6, 352.0)--(130.5, 351.9)--(130.4, 351.8)--(130.1, 351.6)--(130.0, 351.6)--(129.9, 351.6)--(129.8, 351.5)--(129.7, 351.5)--(129.6, 351.5)--(129.3, 351.5)--(129.1, 351.2)--(128.7, 351.6)--(128.5, 351.3)--(128.3, 351.4)--(127.6, 351.0)--(127.0, 350.5)--(126.6, 351.0)--(126.5, 351.0)--(126.3, 351.3)--(126.0, 351.7)--(125.8, 352.1)--(125.7, 352.4)--(125.7, 352.6)--(125.6, 352.6)--(125.5, 352.8)--(125.5, 353.0)--(125.4, 353.1)--(125.3, 353.4)--(125.2, 353.6)--(125.0, 354.0)--(124.9, 354.2)--(124.8, 354.4)--(124.8, 354.7)--(124.7, 354.9)--(124.6, 355.1)--(124.5, 355.5)--(124.5, 355.7)--(124.3, 356.0)--(124.1, 356.4)--(123.9, 356.8)--(123.8, 357.1)--(123.9, 357.3)--(123.9, 357.4)--(124.0, 357.5)--(123.9, 357.6)--(123.9, 357.7)--(123.9, 357.8)--(123.7, 357.8)--(123.7, 358.2)--(123.8, 358.5)--(123.8, 358.8)--(123.7, 358.9)--(123.6, 359.2)--(123.5, 359.3)--(123.5, 359.5)--(123.3, 359.7)--(123.0, 360.2)--(122.7, 360.7)--(122.6, 360.8)--(122.5, 360.9)--(122.3, 361.3)--(122.4, 3!
61.4)--(122.5, 361.5)--(122.5, 361.6)--(122.4, 361.7)--(122.2, 362.1)--(122.1, 362.2)--(122.1, 362.4)--(122.1, 362.5)--(122.2, 362.9)--(122.2, 363.0)--(122.2, 363.1)--(122.2, 363.3)--(122.1, 363.6)--(122.0, 364.2)--(121.8, 364.7)--(121.8, 365.0)--(121.4, 366.0)--(121.5, 366.1)--(120.8, 367.8)--(120.6, 368.1)--(120.6, 368.2)--(120.5, 368.4)--(120.3, 369.0)--(119.8, 369.9)--(119.6, 370.2)--(119.2, 370.9)--(119.5, 371.2)--(119.7, 371.5)--(119.5, 371.9)--(119.0, 372.8)--(118.9, 373.1)--(118.6, 373.6)--(118.5, 374.0)--(118.0, 374.6)--(118.4, 375.0)--(118.2, 375.3)--(118.2, 375.4)--(118.1, 375.4)--(117.8, 376.7)--(117.7, 377.2)--(117.6, 377.7)--(117.3, 378.1)--(116.8, 379.0)--(116.4, 379.8)--(116.0, 380.8)--(115.7, 381.4)--(115.8, 381.4)--(115.6, 381.6)--(115.6, 381.7)--(115.4, 381.9)--(115.5, 382.1)--(115.8, 382.1)--(115.8, 382.5)--(115.7, 383.4)--(115.7, 383.6)--(115.8, 383.6)--(115.7, 384.2)--(115.6, 384.8)--(115.5, 384.8)--(115.5, 385.2)--(115.4, 385.7)--(115.4, 386.2)--(115.3, 386.9)--(115.2, 387.9)--(115.2, 388.0)--(115.1, 388.2)--(115.1, 388.5)--(115.0, 388.8)--(114.9, 389.4)--(114.8, 389.6)--(114.6, 389.9)--(114.3, 390.0)--(114.2, 390.2)--(113.9, 390.6)--(113.8, 390.9)--(113.4, 391.5)--(113.2, 391.8)--(113.0, 391.7)--(113.1, 391.6)--(112.9, 391.5)--(112.7, 391.6)--(112.5, 391.5)--(112.5, 391.7)--(112.5, 391.8)--(112.4, 392.0)--(112.5, 392.2)--(112.5, 392.3)--(112.5, 392.7)--(112.5, 393.0)--(112.4, 393.4)--(112.4, 393.5)--(112.4, 393.6)--(112.3, 393.8)--(112.1, 394.3)--(112.0, 394.6)--(111.9, 394.9)--(111.9, 395.0)--(111.8, 395.2)--(111.8, 395.5)--(111.7, 395.8)--(111.7, 396.3)--(111.7, 396.5)--(111.7, 396.8)--(111.7, 396.9)--(111.6, 397.0)--(111.5, 397.2)--(111.4, 397.5)--(111.3, 397.7)--(111.2, 397.7)--(111.1, 398.0)--(110.9, 398.2)--(110.8, 398.5)--(110.8, 398.6)--(110.8, 398.7)--(110.8, 398.8)--(110.8, 398.9)--(110.8, 399.0)--(110.5, 399.1)--(110.0, 399.2)--(109.3, 399.3)--(109.0, 399.4)--(109.1, 400.0)--(109.1, 400.1)--(109.2, 400.3)--(109.0, 400.7)--(108.8, 401.0)--(108.5, 401.5)--(108.3, 401.8)--(108.3, !
401.9)--(108.2, 402.2)--(108.0, 402.6)--(108.0, 403.0)--(107.9, 403.3)--(107.7, 403.7)--(107.6, 404.0)--(107.5, 404.4)--(107.3, 405.5)--(107.3, 405.9)--(107.4, 406.4)--(107.3, 406.6)--(107.3, 407.1)--(107.3, 407.6)--(107.3, 408.0)--(107.3, 408.4)--(107.3, 409.1)--(107.5, 409.2)--(107.6, 409.5)--(107.7, 409.6)--(107.6, 409.7)--(107.5, 409.9)--(107.3, 410.5)--(107.2, 411.0)--(107.2, 411.4)--(107.1, 411.6)--(107.0, 411.8)--(106.9, 412.0)--(106.8, 412.2)--(106.7, 412.4)--(106.6, 412.7)--(106.5, 413.1)--(106.5, 413.6)--(106.5, 414.1)--(106.4, 414.9)--(106.3, 415.4)--(106.2, 415.9)--cycle;
+Havering = (498.9, 314.6)--(498.9, 314.7)--(499.0, 315.0)--(499.0, 315.3)--(499.1, 315.6)--(499.1, 315.7)--(499.1, 315.9)--(499.1, 316.0)--(499.0, 316.1)--(499.1, 316.2)--(499.1, 316.4)--(499.1, 316.7)--(499.2, 317.0)--(499.2, 317.1)--(499.2, 317.2)--(499.4, 318.3)--(499.5, 318.8)--(499.5, 318.9)--(499.6, 319.0)--(499.6, 319.1)--(499.6, 319.4)--(499.8, 319.9)--(499.8, 320.0)--(499.9, 320.1)--(499.9, 320.3)--(500.0, 320.5)--(500.0, 320.7)--(500.1, 321.0)--(500.2, 321.3)--(500.3, 321.6)--(500.3, 321.7)--(500.3, 321.8)--(500.4, 321.9)--(500.4, 322.1)--(500.5, 322.5)--(500.5, 322.6)--(500.6, 323.0)--(500.8, 323.5)--(500.8, 323.8)--(501.1, 324.8)--(501.1, 325.0)--(501.2, 325.2)--(501.2, 325.3)--(501.1, 325.4)--(501.1, 325.7)--(501.1, 325.8)--(501.1, 325.9)--(501.1, 326.0)--(501.3, 326.6)--(501.3, 326.8)--(501.4, 326.8)--(501.4, 327.3)--(501.5, 327.7)--(501.6, 328.0)--(501.8, 328.4)--(501.9, 328.7)--(502.0, 329.0)--(502.0, 329.1)--(502.0, 329.2)--(502.0, 329.3)--(502.0, 329.4)--(502.1, 329.4)--(502.2, 329.5)--(502.2, 329.6)--(502.2, 329.7)--(502.2, 329.8)--(502.2, 329.9)--(502.2, 330.0)--(502.2, 330.1)--(502.2, 330.2)--(502.2, 330.3)--(502.4, 330.7)--(502.5, 330.9)--(502.4, 331.1)--(502.4, 331.2)--(502.4, 331.3)--(502.6, 331.5)--(502.7, 331.7)--(502.8, 331.8)--(502.8, 331.9)--(502.9, 332.0)--(502.9, 332.2)--(503.0, 332.4)--(503.1, 332.6)--(503.1, 332.8)--(503.1, 332.9)--(503.2, 333.0)--(503.3, 333.0)--(503.4, 333.0)--(503.5, 333.2)--(503.5, 333.3)--(503.6, 333.3)--(503.6, 333.4)--(503.7, 333.5)--(503.8, 333.5)--(503.8, 333.8)--(503.8, 333.9)--(503.9, 334.0)--(503.9, 334.1)--(504.0, 334.2)--(504.1, 334.3)--(504.2, 334.4)--(504.3, 334.4)--(504.3, 334.5)--(504.4, 334.5)--(504.4, 334.6)--(504.5, 334.6)--(504.5, 334.7)--(504.5, 334.8)--(504.6, 334.9)--(504.7, 335.0)--(504.7, 335.2)--(504.7, 335.3)--(504.8, 335.4)--(504.8, 335.5)--(504.9, 335.5)--(505.0, 335.6)--(505.1, 335.7)--(505.2, 335.8)--(505.2, 335.9)--(505.3, 336.0)--(505.4, 336.1)--(505.6, 336.3)--(505.7, 336.5)--(505.8, 336.6)--(505.9, 336.7)--(506.0, 336!
.8)--(506.2, 337.1)--(506.3, 337.2)--(506.4, 337.3)--(506.4, 337.4)--(506.5, 337.4)--(506.5, 337.5)--(506.6, 337.6)--(506.7, 337.6)--(506.8, 338.0)--(506.9, 338.1)--(506.9, 338.3)--(507.0, 338.4)--(507.0, 338.6)--(507.1, 338.7)--(507.1, 338.8)--(507.2, 338.9)--(507.3, 339.0)--(507.3, 339.2)--(507.3, 339.3)--(507.4, 339.4)--(507.4, 339.5)--(507.4, 339.6)--(507.3, 339.7)--(507.3, 339.9)--(507.4, 340.0)--(507.4, 340.1)--(507.4, 340.3)--(507.5, 340.3)--(507.5, 340.4)--(507.6, 340.6)--(507.6, 340.7)--(507.6, 340.8)--(507.6, 340.9)--(507.7, 341.0)--(507.8, 341.3)--(508.1, 341.9)--(508.3, 342.3)--(508.6, 343.0)--(508.7, 343.2)--(509.1, 343.8)--(509.2, 343.9)--(509.3, 344.1)--(509.4, 344.2)--(509.7, 344.4)--(509.9, 344.6)--(510.2, 344.8)--(510.3, 344.9)--(510.4, 345.0)--(510.6, 345.1)--(510.7, 345.2)--(510.9, 345.3)--(511.0, 345.4)--(511.2, 345.4)--(511.3, 345.4)--(511.4, 345.4)--(511.5, 345.4)--(511.6, 345.5)--(511.7, 345.7)--(511.9, 345.9)--(511.9, 346.0)--(512.0, 346.0)--(512.0, 346.1)--(512.1, 346.2)--(512.2, 346.3)--(512.3, 346.3)--(512.3, 346.4)--(512.3, 346.5)--(512.3, 346.6)--(512.4, 346.7)--(512.4, 346.9)--(512.4, 347.2)--(512.5, 347.3)--(512.5, 347.5)--(512.5, 347.6)--(512.5, 347.7)--(512.5, 347.8)--(512.5, 347.9)--(512.6, 348.0)--(512.5, 348.0)--(512.5, 348.1)--(512.5, 348.2)--(512.4, 348.6)--(512.5, 348.8)--(512.5, 348.9)--(512.5, 349.1)--(512.6, 349.2)--(512.6, 349.3)--(512.6, 349.5)--(512.7, 349.7)--(512.7, 349.8)--(512.7, 350.1)--(512.8, 350.3)--(512.9, 350.5)--(513.0, 350.7)--(513.2, 350.9)--(513.4, 351.1)--(513.5, 351.2)--(513.6, 351.4)--(513.7, 351.6)--(513.8, 351.8)--(513.9, 351.9)--(514.3, 352.4)--(514.4, 352.5)--(514.5, 352.6)--(514.6, 352.7)--(514.8, 352.9)--(515.1, 353.1)--(515.3, 353.2)--(515.5, 353.4)--(515.7, 353.6)--(516.0, 353.8)--(516.1, 353.9)--(516.3, 354.0)--(516.4, 354.0)--(516.6, 354.1)--(516.6, 354.2)--(516.7, 354.5)--(516.8, 354.7)--(516.9, 354.9)--(517.0, 355.2)--(517.1, 355.4)--(517.1, 355.7)--(517.2, 355.8)--(517.2, 355.9)--(517.2, 356.0)--(517.3, 356.3)--(517.4, 356.5)--(517.5, 35!
6.6)--(517.5, 356.7)--(517.5, 356.8)--(517.5, 356.9)--(517.6, 357.2)--(517.6, 357.3)--(517.6, 357.5)--(518.1, 358.0)--(518.3, 358.2)--(518.6, 358.5)--(518.8, 358.7)--(518.8, 358.8)--(518.9, 358.9)--(519.1, 358.9)--(519.1, 359.0)--(519.1, 359.1)--(519.1, 359.3)--(519.1, 359.5)--(519.2, 359.6)--(519.3, 359.8)--(519.3, 360.0)--(519.3, 360.1)--(519.4, 360.2)--(519.4, 360.3)--(519.4, 360.4)--(519.3, 360.4)--(519.1, 360.8)--(519.0, 360.8)--(518.8, 360.9)--(518.7, 361.0)--(518.6, 361.1)--(518.5, 361.1)--(518.4, 361.2)--(518.3, 361.3)--(518.3, 361.4)--(518.2, 361.5)--(518.0, 361.7)--(517.9, 361.7)--(517.8, 361.8)--(517.8, 361.9)--(517.9, 362.0)--(517.9, 362.1)--(517.8, 362.2)--(517.7, 362.2)--(517.6, 362.2)--(517.5, 362.3)--(517.5, 362.4)--(517.6, 362.5)--(517.6, 362.6)--(517.7, 362.6)--(517.6, 362.8)--(517.6, 362.9)--(517.5, 363.0)--(517.4, 363.2)--(517.3, 363.3)--(517.1, 363.4)--(517.1, 363.5)--(517.1, 363.6)--(517.1, 363.7)--(517.0, 363.7)--(516.7, 363.8)--(516.6, 364.0)--(516.4, 364.2)--(516.3, 364.3)--(516.2, 364.3)--(516.0, 364.3)--(515.7, 364.3)--(515.5, 364.3)--(515.5, 364.4)--(515.5, 364.6)--(515.6, 364.6)--(515.7, 364.6)--(515.7, 364.7)--(515.7, 364.8)--(515.6, 364.8)--(515.5, 365.0)--(515.5, 365.1)--(515.6, 365.2)--(515.5, 365.3)--(515.5, 365.4)--(515.3, 365.5)--(515.3, 365.7)--(515.3, 365.8)--(515.3, 365.9)--(515.3, 366.0)--(515.3, 366.2)--(515.3, 366.3)--(515.4, 366.4)--(515.3, 366.5)--(515.4, 366.6)--(515.4, 366.7)--(515.3, 366.8)--(515.4, 366.9)--(515.5, 367.0)--(515.5, 367.2)--(515.5, 367.4)--(515.5, 367.5)--(515.4, 367.6)--(515.4, 367.7)--(515.4, 367.8)--(515.4, 367.9)--(515.4, 368.1)--(515.4, 368.3)--(515.3, 368.4)--(515.3, 368.5)--(515.0, 368.7)--(514.6, 368.9)--(514.5, 369.1)--(514.3, 369.3)--(514.1, 369.4)--(514.1, 369.5)--(514.0, 369.6)--(514.0, 369.7)--(513.9, 369.7)--(514.0, 370.1)--(514.3, 370.8)--(514.4, 371.2)--(514.4, 371.3)--(514.5, 371.4)--(514.5, 371.5)--(514.6, 371.7)--(514.7, 372.2)--(514.7, 372.5)--(514.8, 372.6)--(514.8, 372.7)--(514.9, 372.8)--(515.1, 373.0)--(515.2, 373.1)--(515.3, 3!
73.3)--(515.5, 373.5)--(515.5, 373.6)--(515.5, 373.7)--(515.5, 373.9)--(515.5, 374.1)--(515.5, 374.4)--(514.9, 373.9)--(514.6, 373.6)--(514.5, 373.5)--(514.4, 373.4)--(514.3, 373.4)--(514.1, 373.5)--(513.8, 373.5)--(513.3, 373.5)--(513.2, 373.6)--(513.1, 373.6)--(513.0, 373.5)--(512.9, 373.5)--(512.7, 373.5)--(512.3, 373.6)--(512.2, 373.6)--(512.1, 373.6)--(511.6, 373.6)--(511.3, 373.7)--(511.0, 373.7)--(510.6, 373.6)--(510.2, 373.5)--(509.9, 373.5)--(509.7, 373.5)--(509.4, 373.4)--(509.2, 373.4)--(508.9, 373.4)--(508.8, 373.5)--(508.2, 373.6)--(507.7, 373.7)--(507.4, 373.7)--(507.2, 373.6)--(507.0, 373.5)--(506.8, 373.4)--(506.5, 373.4)--(506.3, 373.3)--(506.0, 373.2)--(505.9, 373.2)--(505.5, 372.9)--(505.3, 372.8)--(505.2, 372.7)--(505.1, 372.6)--(505.0, 372.6)--(504.8, 372.5)--(504.7, 372.4)--(504.5, 372.3)--(504.4, 372.1)--(504.3, 372.1)--(504.1, 372.0)--(504.0, 371.9)--(503.9, 371.9)--(503.7, 371.8)--(503.6, 371.8)--(503.4, 371.8)--(503.1, 371.8)--(502.8, 371.7)--(502.7, 371.6)--(502.6, 371.6)--(502.4, 371.4)--(502.2, 371.3)--(502.1, 371.2)--(501.9, 371.1)--(501.6, 370.9)--(501.2, 370.7)--(500.8, 370.4)--(500.6, 370.2)--(500.3, 370.1)--(500.1, 370.0)--(499.9, 369.8)--(499.5, 369.6)--(499.5, 369.7)--(499.4, 369.8)--(499.2, 369.9)--(499.1, 369.9)--(498.9, 370.0)--(498.7, 370.1)--(498.6, 370.3)--(498.6, 370.4)--(498.5, 370.5)--(498.3, 370.6)--(498.2, 370.7)--(498.2, 370.9)--(498.1, 371.0)--(498.0, 371.2)--(497.8, 371.4)--(497.6, 371.6)--(497.4, 371.7)--(497.3, 371.8)--(497.1, 372.0)--(496.9, 372.2)--(496.7, 372.2)--(496.5, 372.4)--(496.1, 372.8)--(495.8, 373.0)--(495.7, 373.2)--(495.6, 373.3)--(495.5, 373.4)--(495.3, 373.5)--(495.2, 373.5)--(495.0, 373.6)--(494.8, 373.8)--(494.7, 373.9)--(494.5, 374.1)--(494.4, 374.2)--(494.1, 374.5)--(493.9, 374.7)--(493.6, 375.0)--(493.3, 375.4)--(492.9, 375.8)--(492.7, 376.0)--(492.3, 376.3)--(492.1, 376.5)--(492.0, 376.6)--(491.9, 376.5)--(491.8, 376.4)--(491.7, 376.3)--(491.6, 376.3)--(491.5, 376.3)--(491.3, 376.3)--(491.1, 376.4)--(491.1, 376.5)--(491.0, 376.5)--(491.0, !
376.6)--(490.9, 376.6)--(490.8, 376.6)--(490.7, 376.6)--(490.6, 376.6)--(490.3, 377.0)--(490.2, 377.2)--(489.2, 377.1)--(489.2, 377.2)--(489.1, 377.2)--(489.1, 377.3)--(488.9, 377.3)--(488.8, 377.3)--(488.8, 377.4)--(488.8, 377.5)--(488.8, 377.8)--(488.7, 378.0)--(489.8, 378.2)--(490.9, 378.4)--(490.8, 378.6)--(490.8, 378.8)--(490.6, 378.9)--(490.5, 379.0)--(490.5, 379.2)--(490.4, 380.3)--(490.5, 380.3)--(490.4, 380.9)--(490.2, 382.3)--(489.5, 382.1)--(489.5, 382.2)--(489.5, 382.4)--(489.5, 382.8)--(489.5, 383.0)--(489.5, 383.5)--(489.5, 383.8)--(489.6, 384.3)--(489.6, 384.5)--(489.6, 384.6)--(489.5, 384.9)--(489.5, 385.1)--(488.7, 385.0)--(488.8, 385.7)--(488.8, 386.7)--(488.8, 387.0)--(488.8, 387.5)--(488.8, 389.2)--(488.9, 390.7)--(489.5, 390.6)--(489.6, 390.9)--(490.0, 391.6)--(490.4, 392.4)--(490.6, 392.7)--(490.9, 393.0)--(491.0, 393.2)--(491.1, 393.7)--(491.2, 394.0)--(491.2, 394.5)--(491.2, 395.7)--(491.2, 397.2)--(491.2, 398.4)--(491.2, 399.2)--(491.2, 400.0)--(491.2, 400.4)--(491.2, 400.7)--(491.1, 401.1)--(491.0, 401.5)--(490.8, 402.1)--(490.7, 402.4)--(490.8, 403.8)--(490.8, 404.7)--(490.8, 405.2)--(490.9, 406.2)--(491.0, 407.0)--(490.8, 407.4)--(490.5, 407.9)--(490.2, 408.4)--(490.0, 408.8)--(488.8, 408.0)--(488.9, 408.4)--(488.8, 408.4)--(488.5, 408.5)--(488.6, 408.9)--(488.7, 409.5)--(488.7, 410.0)--(488.8, 410.5)--(488.8, 410.6)--(488.8, 410.9)--(488.8, 411.0)--(488.9, 411.3)--(489.1, 412.3)--(489.2, 413.2)--(489.2, 413.3)--(489.3, 413.5)--(489.3, 413.7)--(489.3, 413.8)--(489.3, 413.9)--(489.3, 414.0)--(489.6, 415.3)--(489.4, 415.6)--(489.3, 415.8)--(489.2, 415.9)--(489.2, 416.0)--(489.1, 416.2)--(489.1, 416.3)--(489.0, 416.7)--(488.9, 416.9)--(488.9, 417.0)--(488.9, 417.4)--(488.9, 417.5)--(488.9, 417.8)--(488.8, 418.4)--(488.8, 418.6)--(488.8, 418.8)--(488.8, 419.0)--(488.9, 419.3)--(488.9, 419.9)--(488.9, 420.2)--(488.9, 420.4)--(488.9, 420.7)--(488.9, 420.9)--(488.9, 421.2)--(488.9, 421.3)--(488.9, 421.5)--(488.8, 421.7)--(488.8, 422.0)--(488.7, 422.2)--(488.6, 422.5)--(488.5, 422.9)--(488.4,!
423.0)--(488.3, 423.3)--(488.3, 423.6)--(488.2, 423.9)--(488.1, 424.4)--(488.1, 424.8)--(488.0, 425.5)--(487.9, 425.8)--(487.8, 425.9)--(487.8, 426.0)--(487.7, 426.2)--(487.5, 426.6)--(487.4, 426.8)--(487.2, 427.1)--(487.1, 427.3)--(486.9, 427.6)--(486.8, 427.7)--(486.7, 427.8)--(486.6, 427.9)--(486.5, 428.1)--(486.4, 428.2)--(486.4, 428.3)--(486.3, 428.4)--(486.3, 428.6)--(486.3, 428.7)--(486.3, 428.8)--(486.2, 428.8)--(486.2, 428.9)--(486.1, 429.0)--(486.1, 429.3)--(486.0, 429.6)--(485.9, 429.8)--(485.8, 430.0)--(485.7, 430.5)--(485.6, 430.7)--(485.5, 430.8)--(485.3, 430.9)--(485.3, 431.1)--(485.1, 431.3)--(484.9, 431.8)--(484.8, 432.0)--(484.7, 432.1)--(484.7, 432.2)--(484.5, 432.5)--(484.3, 432.8)--(484.2, 433.0)--(484.0, 433.3)--(483.9, 433.4)--(483.8, 433.6)--(483.1, 434.8)--(483.0, 434.9)--(483.0, 435.0)--(482.9, 435.1)--(482.8, 435.2)--(482.6, 435.4)--(482.5, 435.6)--(481.8, 436.7)--(481.1, 438.0)--(482.2, 438.0)--(485.8, 437.9)--(488.4, 437.9)--(488.6, 437.9)--(489.2, 437.9)--(490.0, 437.9)--(490.9, 438.0)--(491.1, 438.0)--(491.2, 438.1)--(491.4, 438.1)--(491.6, 438.1)--(492.4, 438.1)--(492.7, 438.1)--(492.9, 438.1)--(493.1, 438.1)--(493.3, 438.1)--(493.8, 438.1)--(494.8, 437.9)--(496.7, 437.7)--(498.0, 437.4)--(498.1, 437.7)--(498.4, 437.6)--(498.6, 437.6)--(499.0, 437.5)--(499.3, 437.4)--(499.7, 437.4)--(500.0, 437.3)--(500.2, 437.3)--(500.5, 437.2)--(501.4, 436.8)--(501.6, 436.8)--(501.7, 436.7)--(501.8, 436.7)--(501.9, 436.6)--(502.0, 436.6)--(502.1, 436.5)--(502.3, 436.3)--(502.4, 436.3)--(502.9, 436.6)--(503.4, 436.8)--(504.4, 437.4)--(505.4, 438.0)--(506.1, 438.4)--(506.8, 438.8)--(508.1, 439.2)--(508.5, 439.3)--(508.5, 439.4)--(509.1, 439.6)--(509.6, 439.7)--(509.8, 439.8)--(510.0, 439.8)--(510.1, 439.8)--(510.3, 439.9)--(510.3, 440.5)--(510.3, 440.9)--(510.4, 441.2)--(510.4, 441.3)--(510.5, 441.2)--(510.6, 441.2)--(510.6, 441.3)--(510.6, 441.4)--(510.8, 441.4)--(511.1, 441.5)--(511.4, 441.5)--(511.7, 441.4)--(511.9, 441.3)--(512.1, 441.2)--(512.1, 441.1)--(512.3, 441.1)--(512.4, 441.0)--(512.5!
, 441.0)--(512.8, 440.8)--(513.2, 440.6)--(513.7, 440.2)--(514.1, 439.9)--(514.2, 440.0)--(514.3, 440.1)--(514.2, 440.4)--(514.2, 440.7)--(514.1, 441.0)--(514.1, 441.2)--(514.9, 441.2)--(515.7, 441.1)--(515.9, 440.8)--(516.1, 440.5)--(516.5, 440.1)--(516.6, 440.3)--(516.6, 440.7)--(516.8, 440.8)--(517.0, 440.8)--(517.2, 440.8)--(517.3, 440.9)--(517.4, 440.9)--(517.7, 441.0)--(518.4, 441.2)--(518.7, 441.3)--(519.2, 441.3)--(519.6, 441.4)--(520.2, 441.6)--(520.8, 441.5)--(521.7, 441.5)--(522.9, 441.2)--(523.4, 441.0)--(524.0, 440.8)--(524.3, 440.9)--(524.6, 440.9)--(525.2, 441.0)--(525.7, 441.0)--(525.9, 441.1)--(526.0, 441.1)--(526.2, 441.1)--(526.3, 441.2)--(526.5, 441.3)--(527.1, 441.5)--(527.6, 441.7)--(527.8, 441.8)--(527.9, 441.9)--(528.0, 441.9)--(528.0, 442.0)--(528.1, 442.1)--(528.3, 442.3)--(528.4, 442.4)--(528.5, 442.4)--(528.5, 442.5)--(528.7, 442.6)--(529.0, 442.7)--(529.5, 442.9)--(529.6, 442.9)--(529.7, 443.0)--(529.8, 443.0)--(530.3, 443.0)--(530.4, 443.0)--(530.7, 443.0)--(530.9, 443.0)--(531.3, 443.1)--(531.6, 443.2)--(532.2, 443.4)--(532.1, 443.6)--(532.2, 443.6)--(532.3, 443.6)--(532.4, 443.7)--(532.6, 443.8)--(532.9, 444.1)--(533.2, 444.0)--(533.4, 444.1)--(533.6, 444.3)--(534.0, 444.5)--(534.4, 444.8)--(534.6, 444.9)--(534.8, 445.1)--(535.3, 445.5)--(535.8, 445.8)--(536.2, 446.0)--(536.4, 446.0)--(536.9, 446.3)--(537.4, 446.5)--(537.8, 446.6)--(538.2, 446.8)--(538.9, 447.1)--(539.0, 447.2)--(539.4, 447.7)--(539.9, 448.4)--(540.2, 448.9)--(540.4, 448.8)--(540.7, 448.6)--(541.2, 448.0)--(541.7, 447.6)--(542.2, 447.1)--(542.5, 446.8)--(542.7, 446.6)--(543.2, 446.3)--(543.8, 445.9)--(544.3, 445.5)--(544.8, 445.1)--(545.3, 444.6)--(545.8, 444.2)--(546.0, 444.0)--(546.5, 443.5)--(546.7, 443.4)--(547.0, 443.0)--(547.1, 442.8)--(547.3, 442.6)--(547.4, 442.5)--(547.8, 442.3)--(548.3, 441.8)--(548.7, 441.5)--(549.3, 441.1)--(549.7, 440.8)--(549.7, 440.7)--(549.8, 440.7)--(549.9, 440.7)--(550.0, 440.6)--(550.1, 440.6)--(550.1, 440.5)--(550.2, 440.5)--(550.2, 440.3)--(550.3, 440.3)--(550.7, 440.0)--(551.!
2, 439.6)--(551.3, 439.5)--(551.6, 439.4)--(552.2, 439.1)--(552.6, 438.8)--(553.0, 438.6)--(553.3, 438.4)--(554.0, 437.9)--(554.6, 437.5)--(555.3, 437.0)--(555.7, 436.8)--(556.1, 436.6)--(556.3, 436.5)--(556.8, 436.2)--(556.9, 436.1)--(557.0, 436.1)--(557.1, 436.0)--(557.2, 435.9)--(557.3, 435.9)--(557.4, 435.8)--(557.6, 435.7)--(558.1, 435.4)--(558.4, 435.2)--(558.5, 435.2)--(558.8, 435.0)--(559.1, 434.8)--(559.4, 434.5)--(559.6, 434.4)--(559.8, 434.3)--(560.2, 434.0)--(560.5, 433.7)--(560.6, 433.6)--(561.0, 433.3)--(561.5, 432.7)--(561.7, 432.5)--(561.9, 432.3)--(562.4, 431.6)--(562.6, 431.4)--(563.1, 431.0)--(563.7, 430.5)--(564.1, 430.1)--(564.2, 430.0)--(564.5, 429.0)--(564.6, 428.8)--(564.8, 428.6)--(565.0, 428.2)--(565.1, 428.0)--(565.3, 427.8)--(565.7, 427.3)--(566.1, 426.8)--(566.5, 426.2)--(567.0, 425.7)--(567.4, 425.2)--(567.8, 424.8)--(568.1, 424.7)--(568.3, 424.6)--(568.4, 424.5)--(568.6, 424.4)--(568.7, 424.3)--(569.1, 423.7)--(569.0, 423.7)--(568.9, 423.6)--(568.9, 423.5)--(568.9, 423.4)--(568.9, 423.3)--(568.9, 423.2)--(568.1, 422.6)--(568.0, 422.6)--(567.8, 422.7)--(567.5, 422.7)--(567.4, 422.7)--(567.3, 422.7)--(567.2, 422.7)--(567.1, 422.7)--(567.0, 422.7)--(567.0, 422.6)--(566.8, 422.5)--(566.4, 422.3)--(565.9, 422.0)--(565.7, 421.9)--(565.6, 421.9)--(564.9, 421.6)--(564.8, 421.6)--(564.6, 421.6)--(564.7, 421.4)--(564.7, 421.2)--(564.8, 421.0)--(564.8, 420.7)--(564.8, 420.6)--(564.8, 420.3)--(564.7, 420.0)--(564.7, 419.9)--(564.6, 419.8)--(564.6, 419.7)--(564.4, 419.8)--(564.3, 419.8)--(564.2, 419.8)--(564.1, 419.8)--(564.1, 419.6)--(564.1, 419.4)--(564.1, 419.3)--(564.0, 419.0)--(563.9, 419.0)--(563.8, 419.0)--(563.8, 418.9)--(563.7, 418.8)--(563.6, 418.7)--(563.6, 418.6)--(563.6, 418.5)--(563.7, 418.4)--(563.7, 418.3)--(563.6, 418.2)--(563.5, 418.0)--(563.5, 417.9)--(563.4, 418.0)--(563.3, 418.0)--(563.2, 418.0)--(563.2, 417.9)--(563.2, 417.8)--(563.3, 417.7)--(563.1, 417.7)--(563.0, 417.7)--(562.9, 417.5)--(562.8, 417.3)--(562.8, 417.2)--(562.6, 417.2)--(562.5, 417.3)--(562.4, 417.3)--(562!
.4, 417.2)--(562.4, 417.1)--(562.4, 417.0)--(562.4, 416.9)--(562.2, 417.0)--(562.1, 416.9)--(562.1, 416.8)--(562.1, 416.7)--(562.1, 416.6)--(562.1, 416.5)--(561.9, 416.4)--(561.9, 416.3)--(562.1, 416.2)--(562.1, 416.1)--(562.0, 416.0)--(562.1, 415.9)--(562.3, 415.9)--(562.5, 415.9)--(562.6, 415.7)--(562.9, 415.6)--(563.1, 415.6)--(563.3, 415.6)--(563.7, 415.6)--(564.1, 415.7)--(564.7, 415.7)--(564.8, 415.7)--(564.9, 415.6)--(564.9, 415.5)--(565.0, 415.4)--(565.9, 415.1)--(566.2, 415.0)--(566.7, 414.8)--(566.8, 414.8)--(567.5, 414.6)--(567.5, 414.5)--(567.8, 414.4)--(568.1, 414.4)--(568.7, 414.3)--(569.0, 414.3)--(569.2, 414.2)--(569.3, 414.2)--(569.9, 414.1)--(570.8, 414.1)--(571.1, 414.1)--(571.4, 414.1)--(571.8, 414.1)--(572.5, 414.1)--(573.1, 414.1)--(573.2, 413.6)--(573.3, 413.2)--(573.4, 412.9)--(573.4, 412.8)--(573.4, 412.5)--(573.5, 412.1)--(573.5, 412.0)--(573.4, 411.6)--(573.4, 411.3)--(573.4, 411.0)--(573.3, 410.8)--(573.2, 410.6)--(573.1, 410.3)--(573.1, 410.1)--(573.0, 409.9)--(572.9, 409.7)--(572.8, 409.6)--(572.8, 409.4)--(572.8, 409.3)--(572.9, 409.1)--(573.0, 408.7)--(573.1, 408.4)--(573.1, 408.1)--(573.2, 407.8)--(573.2, 407.5)--(573.3, 407.2)--(573.3, 407.0)--(573.2, 406.9)--(573.2, 406.8)--(573.3, 406.0)--(573.5, 405.2)--(573.6, 404.7)--(573.8, 404.4)--(573.9, 404.1)--(574.0, 404.1)--(574.0, 403.9)--(574.1, 403.8)--(574.1, 403.7)--(574.2, 403.5)--(574.4, 403.2)--(574.4, 402.8)--(574.4, 402.6)--(574.4, 402.5)--(574.4, 402.4)--(574.4, 402.3)--(574.5, 402.3)--(574.5, 402.2)--(574.6, 402.0)--(574.7, 401.7)--(574.8, 401.5)--(574.9, 401.3)--(574.9, 401.2)--(575.0, 401.0)--(575.1, 400.9)--(575.3, 400.7)--(575.6, 400.5)--(575.8, 400.3)--(576.1, 400.2)--(576.2, 400.1)--(576.2, 400.0)--(576.5, 399.6)--(576.8, 399.1)--(576.9, 398.8)--(577.2, 398.4)--(577.4, 398.1)--(577.5, 397.9)--(577.8, 397.6)--(578.1, 397.2)--(578.2, 397.0)--(578.2, 396.9)--(578.9, 396.0)--(579.1, 395.6)--(579.4, 395.2)--(579.7, 394.8)--(580.1, 394.2)--(580.4, 393.8)--(580.6, 393.5)--(581.0, 392.9)--(581.3, 392.5)--(581.6, 392.0)--(58!
1.8, 391..6)--(582.0, 391.3)--(582.2, 391.3)--(582.2, 391.0)--(582.5, 390.5)--(582.8, 390.0)--(583.1, 389.4)--(583.2, 388.9)--(583.6, 388.2)--(583.8, 387.6)--(584.1, 386.8)--(584.4, 386.2)--(584.5, 386.2)--(584.5, 386.1)--(584.5, 386.0)--(584.6, 386.0)--(584.7, 386.0)--(584.7, 385.9)--(584.8, 385.9)--(584.9, 385.8)--(585.0, 385.8)--(585.1, 385.8)--(585.2, 385.8)--(585.3, 385.6)--(585.4, 385.5)--(585.5, 385.5)--(585.6, 385.6)--(585.6, 385.4)--(585.8, 385.1)--(585.8, 385.0)--(585.9, 385.0)--(585.9, 384.9)--(585.9, 384.8)--(585.9, 384.7)--(585.9, 384.6)--(586.0, 384.6)--(586.0, 384.5)--(586.0, 384.4)--(586.0, 384.3)--(586.0, 384.2)--(586.0, 384.0)--(585.9, 383.8)--(585.8, 383.6)--(585.7, 383.5)--(585.7, 383.4)--(585.7, 383.3)--(585.7, 383.2)--(585.7, 383.1)--(585.8, 383.0)--(585.9, 382.8)--(586.0, 382.5)--(586.2, 382.1)--(586.3, 381.6)--(586.5, 381.2)--(586.7, 380.7)--(587.0, 380.0)--(587.1, 379.5)--(587.3, 378.9)--(587.5, 378.4)--(587.6, 377.7)--(587.8, 377.2)--(588.0, 376.6)--(588.2, 375.9)--(588.3, 375.5)--(588.4, 375.3)--(589.6, 375.6)--(590.6, 375.7)--(591.4, 375.8)--(592.1, 375.9)--(593.0, 376.0)--(593.8, 376.1)--(594.8, 376.3)--(595.3, 376.3)--(595.3, 376.4)--(595.5, 376.4)--(595.7, 376.4)--(596.7, 376.5)--(597.5, 376.6)--(598.3, 376.7)--(598.3, 376.9)--(599.4, 377.0)--(599.4, 376.9)--(600.0, 377.0)--(602.0, 377.2)--(604.1, 377.5)--(604.2, 377.3)--(604.2, 377.2)--(604.2, 377.1)--(604.3, 377.0)--(604.3, 376.7)--(604.4, 376.5)--(604.4, 376.1)--(604.5, 375.7)--(604.5, 375.4)--(604.6, 375.3)--(604.7, 375.2)--(605.0, 374.1)--(605.0, 374.0)--(605.0, 373.9)--(605.0, 373.8)--(605.1, 373.6)--(605.0, 373.6)--(605.0, 373.5)--(605.0, 373.4)--(605.1, 373.4)--(605.1, 373.2)--(605.2, 373.0)--(605.2, 372.8)--(605.3, 372.5)--(605.4, 371.9)--(605.4, 371.7)--(605.4, 371.6)--(605.5, 371.2)--(605.5, 370.9)--(605.5, 370.5)--(605.6, 370.2)--(605.6, 370.1)--(605.7, 370.1)--(605.7, 370.0)--(605.8, 370.0)--(605.8, 369.9)--(605.8, 369.4)--(605.9, 369.0)--(605.9, 368.9)--(605.9, 368.7)--(606.0, 368.7)--(606.0, 368.6)--(606.1, 368.6)--(6!
06.2, 368.5)--(606.6, 368.5)--(606.8, 368.5)--(607.1, 368.4)--(607.7, 368.0)--(608.0, 367.7)--(608.2, 367.6)--(608.3, 367.3)--(608.3, 366.7)--(608.4, 366.0)--(608.5, 365.9)--(608.6, 365.8)--(608.7, 365.8)--(608.7, 365.7)--(609.0, 365.6)--(609.4, 365.4)--(609.8, 365.2)--(610.1, 365.1)--(610.4, 365.0)--(610.7, 364.9)--(610.7, 364.8)--(610.8, 364.8)--(610.8, 364.7)--(610.8, 364.6)--(610.8, 364.5)--(610.8, 364.2)--(610.8, 363.8)--(610.9, 363.3)--(611.0, 363.2)--(611.1, 363.2)--(611.2, 363.2)--(611.6, 363.3)--(612.3, 363.6)--(612.5, 363.6)--(612.8, 363.6)--(613.0, 363.6)--(613.1, 363.4)--(613.2, 363.2)--(613.2, 363.1)--(613.3, 363.0)--(613.4, 362.8)--(613.6, 362.6)--(613.8, 362.3)--(613.9, 362.2)--(614.1, 362.0)--(614.2, 362.0)--(614.4, 361.8)--(614.7, 361.5)--(614.9, 361.3)--(614.9, 361.2)--(615.0, 360.8)--(615.1, 359.6)--(615.1, 359.2)--(615.1, 359.1)--(615.1, 358.9)--(615.1, 358.8)--(615.1, 358.7)--(615.1, 358.6)--(615.1, 358.5)--(615.2, 358.5)--(615.3, 358.3)--(615.4, 358.2)--(615.5, 358.0)--(615.6, 357.9)--(615.6, 357.7)--(615.7, 357.4)--(615.7, 357.3)--(615.7, 357.2)--(615.8, 357.2)--(615.8, 357.1)--(615.9, 357.0)--(615.9, 356.9)--(616.2, 356.5)--(616.0, 356.0)--(615.8, 355.6)--(615.9, 355.6)--(616.2, 355.6)--(616.7, 355.7)--(617.1, 355.8)--(617.6, 355.8)--(617.9, 355.1)--(618.4, 354.2)--(618.7, 353.7)--(618.8, 353.5)--(619.1, 352.7)--(619.3, 352.3)--(619.4, 352.0)--(619.2, 351.1)--(619.1, 350.6)--(619.3, 350.6)--(619.4, 350.6)--(619.4, 350.5)--(619.4, 350.4)--(619.4, 350.3)--(619.6, 350.0)--(619.6, 349.8)--(618.7, 349.5)--(617.8, 349.3)--(617.8, 349.4)--(617.8, 349.6)--(617.8, 349.9)--(617.8, 350.0)--(617.9, 350.1)--(617.6, 350.0)--(617.2, 350.0)--(616.9, 350.0)--(616.5, 350.0)--(616.2, 350.0)--(615.3, 349.9)--(615.0, 349.9)--(614.7, 349.8)--(614.4, 349.8)--(614.1, 349.8)--(613.5, 349.8)--(613.1, 349.8)--(612.3, 349.6)--(611.5, 349.6)--(610.9, 349.5)--(610.3, 349.4)--(609.7, 349.3)--(608.1, 349.0)--(607.7, 349.0)--(607.7, 348.9)--(607.4, 348.8)--(607.0, 348.8)--(606.6, 348.7)--(606.6, 348.8)--(606.0, 348.7)--(!
605.6, 348.7)--(605.2, 348.6)--(605.0, 348.6)--(604.6, 348.5)--(604.3, 348.5)--(604.0, 348.4)--(603.3, 348.4)--(603.3, 348.0)--(603.0, 347.9)--(602.8, 347.9)--(602.5, 347.9)--(602.4, 347.9)--(601.2, 347.7)--(600.8, 347.7)--(600.6, 347.6)--(600.5, 347.6)--(600.4, 347.7)--(600.0, 347.6)--(599.2, 347.5)--(598.6, 347.4)--(597.9, 347.4)--(596.8, 347.2)--(596.5, 347.1)--(596.6, 346.9)--(596.7, 346.5)--(595.3, 346.2)--(594.3, 345.9)--(594.1, 345.9)--(594.3, 344.8)--(594.5, 344.0)--(594.6, 343.6)--(594.6, 343.3)--(593.1, 343.0)--(592.6, 342.9)--(592.0, 342.8)--(591.2, 342.7)--(590.6, 342.5)--(590.2, 342.5)--(589.9, 342.4)--(589.5, 342.4)--(589.6, 342.2)--(589.2, 342.2)--(588.5, 342.2)--(588.1, 342.2)--(587.9, 342.2)--(587.6, 342.2)--(587.5, 342.1)--(587.4, 342.1)--(587.2, 342.1)--(587.1, 342.0)--(586.9, 341.9)--(586.5, 341.8)--(586.2, 341.8)--(585.6, 341.7)--(585.1, 341.6)--(584.7, 341.6)--(584.1, 341.5)--(583.6, 341.4)--(582.9, 341.2)--(582.0, 340.9)--(581.2, 340.6)--(580.6, 340.4)--(579.8, 340.1)--(579.7, 340.4)--(579.4, 340.3)--(579.2, 340.2)--(579.0, 340.1)--(578.9, 340.1)--(578.7, 340.1)--(578.6, 340.1)--(578.4, 340.1)--(578.3, 340.2)--(578.2, 340.2)--(577.9, 340.3)--(577.8, 340.3)--(577.6, 340.3)--(577.5, 340.3)--(577.3, 340.4)--(577.1, 340.4)--(576.9, 340.3)--(575.9, 340.2)--(575.2, 340.0)--(575.0, 339.9)--(574.9, 339.9)--(574.7, 339.8)--(573.8, 339.4)--(573.5, 339.3)--(573.0, 339.2)--(572.8, 339.1)--(572.7, 339.1)--(572.2, 339.0)--(572.4, 336.2)--(572.4, 335.1)--(572.5, 334.2)--(572.5, 333.8)--(572.5, 331.9)--(572.5, 331.1)--(572.5, 331.0)--(572.5, 330.9)--(572.6, 330.8)--(572.6, 330.7)--(572.7, 330.7)--(572.8, 330.6)--(573.2, 330.6)--(573.5, 330.6)--(573.5, 329.8)--(573.5, 329.2)--(573.4, 328.8)--(572.8, 328.8)--(572.3, 328.7)--(571.9, 327.5)--(571.8, 327.3)--(571.8, 327.1)--(571.7, 326.8)--(571.7, 326.7)--(571.7, 326.4)--(571.7, 326.0)--(571.7, 325.8)--(571.7, 324.0)--(571.6, 323.5)--(571.6, 323.1)--(570.9, 323.2)--(570.6, 323.2)--(570.4, 323.1)--(570.3, 323.2)--(570.2, 323.2)--(570.1, 323.2)--(570.0, 323.3)--!
(569.6, 323.5)--(569.4, 323.6)--(569.3, 323.6)--(569.2, 323.6)--(569.1, 323.6)--(569.1, 323.5)--(569.0, 323.5)--(568.9, 323.5)--(568.7, 323.3)--(568.6, 323.3)--(568.6, 323.2)--(568.6, 323.1)--(568.7, 323.1)--(568.7, 323.0)--(568.6, 323.0)--(568.5, 323.0)--(568.4, 322.9)--(568.3, 322.9)--(568.2, 322.9)--(568.1, 323.0)--(567.9, 323.0)--(567.7, 323.0)--(567.6, 323.0)--(567.4, 323.0)--(567.3, 323.0)--(567.2, 323.0)--(567.1, 322.9)--(566.8, 322.9)--(566.7, 322.9)--(566.6, 322.9)--(566.5, 322.9)--(566.4, 322.8)--(566.3, 322.8)--(566.2, 322.8)--(566.2, 322.7)--(566.1, 322.7)--(566.0, 322.7)--(565.8, 322.8)--(565.6, 322.8)--(565.5, 322.8)--(565.4, 322.8)--(565.3, 322.8)--(565.2, 322.9)--(565.1, 322.9)--(564.9, 322.9)--(564.7, 322.9)--(564.7, 323.6)--(564.6, 324.3)--(564.6, 324.6)--(564.5, 324.9)--(564.4, 325.1)--(564.4, 325.3)--(564.4, 325.5)--(564.4, 325.7)--(564.3, 326.0)--(564.3, 326.4)--(564.1, 326.8)--(564.0, 327.2)--(563.9, 327.6)--(563.8, 327.9)--(563.7, 328.3)--(563.7, 328.7)--(563.6, 329.0)--(563.6, 329.2)--(563.6, 329.5)--(563.6, 329.7)--(563.5, 330.3)--(563.5, 330.6)--(563.4, 330.8)--(563.4, 330.9)--(563.3, 331.0)--(563.1, 331.3)--(563.0, 331.6)--(562.9, 331.9)--(562.8, 332.1)--(562.8, 332.3)--(562.8, 332.5)--(562.8, 332.8)--(562.8, 333.2)--(562.7, 333.6)--(562.6, 334.1)--(562.5, 334.4)--(562.4, 334.6)--(562.3, 334.8)--(562.3, 335.0)--(562.2, 335.0)--(561.6, 334.9)--(561.2, 334.9)--(561.0, 334.8)--(561.0, 334.0)--(561.0, 333.4)--(560.6, 333.6)--(560.0, 333.0)--(559.6, 332.8)--(559.3, 332.5)--(559.2, 332.4)--(559.2, 332.3)--(559.2, 332.2)--(559.2, 332.1)--(559.3, 332.0)--(559.6, 331.4)--(559.7, 331.2)--(559.8, 331.0)--(559.8, 330.9)--(559.8, 330.8)--(559.8, 330.7)--(559.6, 329.9)--(559.5, 329.8)--(559.5, 329.7)--(559.4, 329.6)--(559.3, 329.6)--(559.1, 329.2)--(559.0, 329.0)--(558.2, 329.4)--(556.9, 329.9)--(556.9, 329.7)--(556.9, 329.6)--(556.8, 329.5)--(556.6, 329.0)--(556.3, 328.7)--(556.0, 328.3)--(555.9, 328.1)--(555.8, 328.0)--(555.7, 328.0)--(555.7, 327.9)--(555.6, 327.6)--(555.6, 327.4)--(555.5, 327.3)-!
-(555.5, 327.2)--(555.5, 327.0)--(555.5, 326.6)--(555.5, 326.3)--(555.8, 326.3)--(556.3, 326.2)--(556.6, 326.1)--(556.8, 326.0)--(557.0, 326.0)--(557.1, 326.0)--(557.2, 326.0)--(557.3, 325.9)--(557.5, 325.9)--(557.6, 325.9)--(557.7, 325.8)--(558.0, 325.6)--(558.1, 325.5)--(558.2, 325.4)--(558.3, 325.2)--(558.1, 325.1)--(558.0, 324.8)--(558.2, 324.5)--(558.5, 324.0)--(558.6, 323.9)--(558.6, 323.8)--(558.5, 323.7)--(558.4, 323.6)--(558.1, 323.3)--(557.9, 323.2)--(557.4, 323.4)--(555.8, 324.0)--(555.4, 324.2)--(555.3, 324.2)--(555.2, 324.3)--(555.0, 324.3)--(553.6, 324.2)--(553.1, 324.2)--(553.9, 322.5)--(554.2, 321.9)--(554.8, 320.5)--(554.9, 320.2)--(555.3, 319.3)--(555.6, 319.0)--(555.7, 318.7)--(556.0, 318.3)--(556.1, 318.0)--(555.9, 317.9)--(555.9, 317.7)--(555.6, 317.6)--(555.5, 317.6)--(555.4, 317.6)--(555.3, 317.5)--(555.3, 317.3)--(555.3, 317.0)--(555.4, 316.8)--(555.4, 316.7)--(555.5, 316.4)--(555.5, 316.2)--(555.5, 316.0)--(555.6, 315.4)--(555.6, 315.2)--(555.6, 314.9)--(555.6, 314.7)--(555.7, 314.7)--(555.7, 314.6)--(555.7, 314.5)--(555.8, 314.5)--(555.8, 314.4)--(555.9, 314.4)--(555.9, 314.5)--(556.0, 314.5)--(556.2, 314.5)--(556.4, 314.6)--(556.4, 314.4)--(556.6, 313.9)--(556.7, 313.4)--(556.8, 312.9)--(556.9, 312.4)--(556.9, 312.1)--(556.9, 311.8)--(556.8, 311.8)--(556.8, 311.6)--(556.7, 311.6)--(556.5, 311.5)--(556.3, 311.5)--(556.0, 311.4)--(555.9, 311.4)--(555.5, 311.3)--(555.5, 311.2)--(555.5, 311.1)--(555.5, 311.0)--(555.4, 310.9)--(555.4, 310.8)--(554.9, 310.8)--(553.6, 310.6)--(552.7, 310.4)--(552.4, 310.4)--(552.1, 310.3)--(552.0, 310.3)--(551.9, 310.4)--(551.8, 310.3)--(551.6, 310.3)--(551.4, 310.2)--(551.2, 310.1)--(551.0, 310.0)--(550.8, 310.0)--(550.3, 309.9)--(550.1, 309.9)--(550.0, 310.0)--(549.9, 310.0)--(549.7, 310.0)--(549.3, 310.0)--(549.1, 310.0)--(548.9, 310.1)--(548.6, 310.1)--(548.2, 310.1)--(547.9, 310.1)--(547.5, 310.0)--(546.7, 309.9)--(546.6, 309.9)--(546.5, 309.9)--(546.4, 309.9)--(546.4, 309.8)--(546.3, 309.8)--(546.2, 309.8)--(546.2, 309.7)--(546.1, 309.0)--(545.8, 309.0)!
--(545.9, 308.9)--(545.9, 308.8)--(546.0, 308.5)--(546.1, 308.3)--(546.2, 308.0)--(546.3, 307.7)--(546.3, 307.5)--(546.4, 307.2)--(546.6, 306.8)--(546.9, 306.3)--(546.9, 306.2)--(547.0, 306.1)--(547.1, 305.8)--(547.1, 305.6)--(547.2, 305.2)--(547.4, 304.7)--(547.6, 304.2)--(547.9, 303.6)--(548.2, 303.0)--(548.5, 302.4)--(548.8, 301.8)--(548.7, 301.8)--(548.5, 301.7)--(548.1, 301.6)--(547.9, 301.5)--(547.6, 301.4)--(547.4, 301.2)--(547.3, 301.1)--(547.2, 301.1)--(547.0, 300.8)--(546.7, 300.6)--(546.3, 300.2)--(546.0, 300.0)--(545.9, 299.9)--(545.7, 299.7)--(545.4, 299.6)--(545.2, 299.5)--(545.0, 299.4)--(544.9, 299.4)--(544.7, 299.7)--(544.6, 299.8)--(544.5, 300.0)--(544.4, 300.1)--(544.4, 300.0)--(544.3, 300.0)--(544.0, 299.9)--(543.8, 299.9)--(543.6, 299.9)--(543.3, 299.9)--(543.2, 299.9)--(543.1, 299.9)--(543.0, 299.9)--(542.7, 299.8)--(542.0, 299.6)--(541.7, 299.5)--(541.7, 299.4)--(541.7, 299.3)--(541.6, 299.3)--(541.2, 299.2)--(540.8, 299.1)--(540.7, 299.0)--(540.6, 298.8)--(540.4, 298.8)--(540.3, 298.7)--(540.1, 298.6)--(540.0, 298.5)--(539.9, 298.5)--(539.4, 298.4)--(539.2, 298.3)--(539.0, 298.4)--(538.9, 298.5)--(538.8, 298.4)--(538.7, 298.4)--(538.6, 298.4)--(538.5, 298.3)--(538.4, 298.1)--(538.1, 297.9)--(538.1, 297.8)--(538.0, 297.8)--(537.9, 297.8)--(537.9, 297.5)--(537.8, 297.2)--(537.7, 297.0)--(537.6, 296.6)--(537.5, 296.6)--(537.4, 296.6)--(537.3, 296.6)--(537.2, 296.6)--(537.1, 296.1)--(537.1, 296.0)--(537.1, 295.9)--(537.1, 295.8)--(537.1, 295.6)--(537.1, 295.5)--(537.1, 295.4)--(537.1, 295.3)--(537.1, 294.8)--(537.1, 294.7)--(537.1, 294.6)--(537.1, 294.5)--(536.9, 294.3)--(536.9, 294.2)--(536.8, 294.2)--(536.8, 294.1)--(536.8, 294.0)--(536.8, 293.9)--(536.8, 293.8)--(536.7, 293.7)--(536.6, 293.4)--(536.6, 292.9)--(536.6, 292.6)--(536.6, 292.4)--(536.6, 292.2)--(536.5, 292.1)--(536.3, 292.1)--(536.3, 292.0)--(536.2, 292.0)--(536.2, 291.8)--(536.2, 291.6)--(536.2, 291.5)--(536.1, 291.5)--(535.9, 291.4)--(535.6, 291.3)--(535.6, 291.2)--(535.5, 291.1)--(535.5, 291.0)--(535.4, 291.0)--(535.3, 291.0!
)--(535.3, 290.9)--(535.2, 290.9)--(535.2, 290.8)--(535.1, 290.8)--(535.0, 290.7)--(534.9, 290.8)--(534.8, 290.8)--(534.7, 290.8)--(534.6, 290.8)--(534.5, 290.8)--(534.5, 290.9)--(534.4, 291.0)--(534.3, 290.8)--(534.3, 290.7)--(534.2, 290.6)--(534.1, 290.6)--(533.7, 290.6)--(533.6, 290.6)--(533.5, 290.5)--(533.4, 290.5)--(533.4, 290.4)--(533.0, 290.4)--(532.8, 290.4)--(532.8, 290.3)--(532.7, 290.4)--(532.6, 290.4)--(532.5, 290.4)--(532.4, 290.4)--(532.1, 290.4)--(531.8, 290.3)--(531.5, 290.3)--(531.3, 290.2)--(530.9, 290.1)--(530.4, 290.0)--(530.3, 290.0)--(530.2, 290.0)--(530.0, 290.0)--(529.9, 290.0)--(529.3, 289.9)--(529.2, 289.9)--(529.1, 289.9)--(529.1, 289.8)--(528.5, 289.6)--(528.2, 289.5)--(527.5, 289.4)--(527.1, 289.1)--(526.7, 289.0)--(526.6, 288.9)--(526.5, 288.9)--(526.0, 288.8)--(525.9, 288.8)--(525.8, 288.7)--(525.9, 288.6)--(525.0, 288.5)--(525.0, 288.6)--(524.9, 288.6)--(524.8, 288.6)--(524.7, 288.6)--(524.3, 288.5)--(524.1, 288.5)--(523.6, 288.5)--(523.5, 288.4)--(523.3, 288.4)--(523.1, 288.5)--(523.0, 288.5)--(522.9, 288.5)--(522.7, 288.5)--(522.6, 288.5)--(522.4, 288.5)--(522.3, 288.4)--(522.0, 288.3)--(521.9, 288.2)--(521.4, 288.1)--(521.1, 288.0)--(520.9, 288.0)--(520.5, 288.0)--(520.4, 288.0)--(520.2, 288.0)--(520.1, 288.1)--(520.0, 288.1)--(519.8, 288.1)--(519.8, 288.2)--(519.8, 288.3)--(519.8, 288.4)--(519.8, 288.6)--(519.8, 288.7)--(519.7, 288.8)--(519.7, 288.9)--(519.6, 288.9)--(519.6, 289.0)--(519.5, 289.0)--(519.4, 289.0)--(519.4, 289.1)--(519.3, 289.1)--(519.3, 289.2)--(519.2, 289.3)--(519.1, 289.4)--(519.0, 289.7)--(518.8, 289.9)--(518.7, 290.1)--(518.6, 290.1)--(518.6, 290.2)--(518.4, 290.5)--(518.3, 290.7)--(518.1, 290.9)--(517.7, 291.2)--(517.7, 291.3)--(517.6, 291.6)--(517.3, 292.4)--(517.2, 292.7)--(517.2, 292.8)--(517.1, 292.9)--(517.0, 293.1)--(516.8, 294.2)--(516.8, 294.3)--(516.8, 294.4)--(516.8, 294.6)--(516.8, 294.8)--(516.8, 295.0)--(516.8, 295.2)--(516.7, 295.4)--(516.7, 295.5)--(516.7, 295.7)--(516.6, 296.0)--(516.5, 296.6)--(516.4, 296.7)--(516.4, 296.8)--(516.3, 296.!
8)--(516..1, 296.9)--(516.0, 297.0)--(516.0, 297.6)--(515.9, 297.6)--(515.9, 297.7)--(516.0, 297.8)--(516.2, 297.9)--(516.3, 298.0)--(516.4, 298.1)--(516.5, 298.2)--(516.7, 298.2)--(516.7, 298.3)--(516.4, 298.3)--(516.3, 298.4)--(516.3, 298.5)--(516.4, 298.5)--(516.3, 298.5)--(516.3, 298.6)--(516.3, 298.7)--(516.3, 298.8)--(516.3, 298.9)--(516.5, 299.0)--(516.5, 299.1)--(516.4, 299.1)--(516.3, 299.1)--(516.2, 299.1)--(516.2, 299.2)--(516.2, 299.7)--(516.2, 300.0)--(516.1, 300.1)--(515.9, 300.2)--(515.8, 300.2)--(515.8, 300.3)--(515.7, 300.3)--(515.7, 300.4)--(515.8, 300.4)--(515.8, 300.5)--(515.7, 300.5)--(515.7, 300.6)--(515.8, 300.7)--(515.8, 300.8)--(515.8, 300.9)--(515.6, 301.1)--(515.4, 301.4)--(515.3, 301.4)--(515.3, 301.5)--(515.0, 301.7)--(514.9, 301.8)--(514.8, 301.9)--(514.7, 302.0)--(514.5, 302.5)--(514.5, 302.6)--(514.2, 302.9)--(514.2, 303.0)--(514.2, 303.1)--(514.2, 303.2)--(514.2, 303.3)--(514.2, 303.4)--(514.3, 303.5)--(514.3, 303.6)--(514.3, 303.7)--(514.2, 303.8)--(514.2, 304.0)--(514.1, 304.0)--(514.0, 304.3)--(513.9, 304.6)--(513.6, 305.3)--(513.4, 305.9)--(513.3, 306.1)--(513.2, 306.3)--(513.0, 306.6)--(513.0, 306.9)--(513.0, 307.1)--(512.9, 307.3)--(512.9, 307.4)--(512.6, 307.6)--(512.5, 307.7)--(512.3, 307.8)--(512.2, 307.9)--(512.1, 308.0)--(512.0, 308.1)--(511.9, 308.3)--(511.7, 308.5)--(511.3, 309.0)--(511.0, 309.2)--(510.5, 309.7)--(510.0, 310.1)--(509.6, 310.4)--(509.5, 310.5)--(509.4, 310.5)--(509.3, 310.5)--(509.1, 310.5)--(508.7, 310.5)--(508.6, 310.6)--(508.5, 310.6)--(508.4, 310.6)--(508.2, 310.7)--(508.0, 310.9)--(507.9, 310.9)--(507.7, 311.1)--(507.4, 311.3)--(507.2, 311.4)--(506.3, 311.9)--(505.3, 312.4)--(504.2, 313.1)--(504.1, 313.2)--(503.9, 313.3)--(503.8, 313.4)--(503.5, 313.5)--(503.5, 313.6)--(503.4, 313.6)--(503.4, 313.7)--(503.4, 313.8)--(503.5, 313.9)--(503.5, 314.0)--(503.4, 314.0)--(503.4, 314.1)--(503.3, 314.1)--(503.2, 314.2)--(503.1, 314.2)--(503.0, 314.2)--(503.0, 314.1)--(502.9, 314.1)--(502.7, 314.1)--(502.5, 314.1)--(502.5, 314.3)--(502.4, 314.3)--(502.4, 314!
.4)--(502.3, 314.4)--(502.2, 314.4)--(502.2, 314.3)--(502.2, 314.2)--(502.1, 314.2)--(502.1, 314.3)--(501.9, 314.3)--(501.8, 314.3)--(501.7, 314.3)--(501.7, 314.2)--(501.6, 314.1)--(501.5, 314.1)--(501.5, 314.2)--(501.4, 314.2)--(501.1, 314.2)--(500.8, 314.1)--(500.6, 314.1)--(500.5, 314.1)--(500.4, 314.1)--(500.3, 314.1)--(500.2, 314.2)--(500.0, 314.2)--(499.9, 314.2)--(499.8, 314.2)--(499.7, 314.3)--(499.5, 314.3)--(499.5, 314.8)--(499.2, 314.8)--cycle;
+Hillingdon = (106.0, 416.9)--(106.2, 415.9)--(106.3, 415.4)--(106.4, 414.9)--(106.5, 414.1)--(106.5, 413.6)--(106.5, 413.1)--(106.6, 412.7)--(106.7, 412.4)--(106.8, 412.2)--(106.9, 412.0)--(107.0, 411.8)--(107.1, 411.6)--(107.2, 411.4)--(107.2, 411.0)--(107.3, 410.5)--(107.5, 409.9)--(107.6, 409.7)--(107.7, 409.6)--(107.6, 409.5)--(107.5, 409.2)--(107.3, 409.1)--(107.3, 408.4)--(107.3, 408.0)--(107.3, 407.6)--(107.3, 407.1)--(107.3, 406.6)--(107.4, 406.4)--(107.3, 405.9)--(107.3, 405.5)--(107.5, 404.4)--(107.6, 404.0)--(107.7, 403.7)--(107.9, 403.3)--(108.0, 403.0)--(108.0, 402.6)--(108.2, 402.2)--(108.3, 401.9)--(108.3, 401.8)--(108.5, 401.5)--(108.8, 401.0)--(109.0, 400.7)--(109.2, 400.3)--(109.1, 400.1)--(109.1, 400.0)--(109.0, 399.4)--(109.3, 399.3)--(110.0, 399.2)--(110.5, 399.1)--(110.8, 399.0)--(110.8, 398.9)--(110.8, 398.8)--(110.8, 398.7)--(110.8, 398.6)--(110.8, 398.5)--(110.9, 398.2)--(111.1, 398.0)--(111.2, 397.7)--(111.3, 397.7)--(111.4, 397.5)--(111.5, 397.2)--(111.6, 397.0)--(111.7, 396.9)--(111.7, 396.8)--(111.7, 396.5)--(111.7, 396.3)--(111.7, 395.8)--(111.8, 395.5)--(111.8, 395.2)--(111.9, 395.0)--(111.9, 394.9)--(112.0, 394.6)--(112.1, 394.3)--(112.3, 393.8)--(112.4, 393.6)--(112.4, 393.5)--(112.4, 393.4)--(112.5, 393.0)--(112.5, 392.7)--(112.5, 392.3)--(112.5, 392.2)--(112.4, 392.0)--(112.5, 391.8)--(112.5, 391.7)--(112.5, 391.5)--(112.7, 391.6)--(112.9, 391.5)--(113.1, 391.6)--(113.0, 391.7)--(113.2, 391.8)--(113.4, 391.5)--(113.8, 390.9)--(113.9, 390.6)--(114.2, 390.2)--(114.3, 390.0)--(114.6, 389.9)--(114.8, 389.6)--(114.9, 389.4)--(115.0, 388.8)--(115.1, 388.5)--(115.1, 388.2)--(115.2, 388.0)--(115.2, 387.9)--(115.3, 386.9)--(115.4, 386.2)--(115.4, 385.7)--(115.5, 385.2)--(115.5, 384.8)--(115.6, 384.8)--(115.7, 384.2)--(115.8, 383.6)--(115.7, 383.6)--(115.7, 383.4)--(115.8, 382.5)--(115.8, 382.1)--(115.5, 382.1)--(115.4, 381.9)--(115.6, 381.7)--(115.6, 381.6)--(115.8, 381.4)--(115.7, 381.4)--(116.0, 380.8)--(116.4, 379.8)--(116.8, 379.0)--(117.3, 378.1)--(117.6, 377.7)--(117.7, 3!
77.2)--(117.8, 376.7)--(118.1, 375.4)--(118.2, 375.4)--(118.2, 375.3)--(118.4, 375.0)--(118.0, 374.6)--(118.5, 374.0)--(118.6, 373.6)--(118.9, 373.1)--(119.0, 372.8)--(119.5, 371.9)--(119.7, 371.5)--(119.5, 371.2)--(119.2, 370.9)--(119.6, 370.2)--(119.8, 369.9)--(120.3, 369.0)--(120.5, 368.4)--(120.6, 368.2)--(120.6, 368.1)--(120.8, 367.8)--(121.5, 366.1)--(121.4, 366.0)--(121.8, 365.0)--(121.8, 364.7)--(122.0, 364.2)--(122.1, 363.6)--(122.2, 363.3)--(122.2, 363.1)--(122.2, 363.0)--(122.2, 362.9)--(122.1, 362.5)--(122.1, 362.4)--(122.1, 362.2)--(122.2, 362.1)--(122.4, 361.7)--(122.5, 361.6)--(122.5, 361.5)--(122.4, 361.4)--(122.3, 361.3)--(122.5, 360.9)--(122.6, 360.8)--(122.7, 360.7)--(123.0, 360.2)--(123.3, 359.7)--(123.5, 359.5)--(123.5, 359.3)--(123.6, 359.2)--(123.7, 358.9)--(123.8, 358.8)--(123.8, 358.5)--(123.7, 358.2)--(123.7, 357.8)--(123.9, 357.8)--(123.9, 357.7)--(123.9, 357.6)--(124.0, 357.5)--(123.9, 357.4)--(123.9, 357.3)--(123.8, 357.1)--(123.9, 356.8)--(124.1, 356.4)--(124.3, 356.0)--(124.5, 355.7)--(124.5, 355.5)--(124.6, 355.1)--(124.7, 354.9)--(124.8, 354.7)--(124.8, 354.4)--(124.9, 354.2)--(125.0, 354.0)--(125.2, 353.6)--(125.3, 353.4)--(125.4, 353.1)--(125.5, 353.0)--(125.5, 352.8)--(125.6, 352.6)--(125.6, 352.5)--(125.7, 352.2)--(125.2, 351.9)--(124.0, 351.1)--(123.7, 350.8)--(123.5, 350.7)--(123.1, 350.3)--(122.9, 350.1)--(122.8, 350.0)--(122.1, 349.4)--(121.5, 348.9)--(120.9, 348.5)--(120.5, 348.2)--(119.9, 347.9)--(119.4, 347.6)--(119.0, 347.5)--(118.6, 347.3)--(118.3, 347.0)--(118.0, 346.9)--(117.9, 347.0)--(117.2, 346.6)--(115.9, 346.0)--(115.4, 345.7)--(114.9, 345.5)--(114.6, 345.3)--(114.4, 345.3)--(113.9, 345.4)--(113.8, 345.1)--(113.9, 344.6)--(114.0, 344.1)--(113.4, 344.2)--(112.8, 344.2)--(112.5, 344.2)--(112.3, 344.3)--(112.1, 344.3)--(111.9, 344.3)--(111.5, 344.4)--(111.4, 344.4)--(111.3, 344.4)--(111.4, 344.1)--(111.4, 344.0)--(111.5, 344.0)--(111.6, 343.7)--(111.6, 343.6)--(111.5, 343.6)--(111.8, 342.4)--(111.9, 342.0)--(111.9, 341.9)--(112.5, 342.1)--(112.8, 342.3)--(113.0, !
341.9)--(113.1, 341.8)--(113.1, 341.7)--(113.2, 341.4)--(113.3, 341.0)--(113.4, 340.8)--(113.4, 340.5)--(113.5, 340.2)--(113.6, 340.2)--(113.6, 340.1)--(113.6, 339.8)--(113.7, 339.0)--(113.8, 338.5)--(112.4, 338.2)--(112.2, 338.2)--(111.1, 338.2)--(110.5, 338.3)--(110.3, 338.3)--(109.6, 338.4)--(109.5, 338.4)--(109.0, 338.3)--(109.0, 338.4)--(108.3, 338.4)--(107.9, 338.3)--(107.5, 338.3)--(107.2, 338.3)--(106.8, 338.2)--(105.6, 337.8)--(105.0, 337.6)--(105.1, 337.5)--(104.5, 337.3)--(104.0, 337.1)--(103.1, 336.9)--(102.3, 336.6)--(101.8, 336.5)--(101.3, 336.3)--(100.9, 336.2)--(100.6, 336.1)--(100.3, 336.0)--(100.0, 335.9)--(99.9, 335.9)--(99.9, 335.8)--(99.6, 335.7)--(99.5, 335.6)--(99.4, 335.6)--(99.2, 335.5)--(99.0, 335.5)--(98.9, 335.5)--(98.6, 335.5)--(98.5, 335.4)--(98.4, 335.4)--(98.3, 335.4)--(98.1, 335.4)--(97.9, 335.4)--(97.8, 335.4)--(97.7, 335.5)--(97.7, 335.6)--(97.6, 335.6)--(97.5, 335.6)--(97.4, 335.7)--(97.3, 335.8)--(97.2, 335.8)--(97.1, 335.7)--(97.1, 335.6)--(97.1, 335.5)--(97.1, 335.4)--(97.1, 335.3)--(97.1, 335.2)--(97.3, 335.0)--(97.4, 334.9)--(97.5, 334.9)--(97.5, 334.8)--(97.6, 334.7)--(97.6, 334.6)--(97.7, 334.6)--(97.8, 334.5)--(97.9, 334.4)--(98.0, 334.4)--(98.0, 334.3)--(97.9, 334.3)--(97.9, 334.2)--(97.7, 334.1)--(97.4, 334.0)--(97.2, 334.0)--(97.1, 333.9)--(97.0, 333.8)--(97.0, 333.7)--(97.1, 333.5)--(97.2, 333.3)--(97.3, 333.3)--(97.4, 333.3)--(97.5, 333.2)--(97.6, 333.2)--(97.8, 333.1)--(98.1, 333.0)--(98.3, 333.0)--(98.4, 333.0)--(98.4, 332.9)--(98.5, 332.9)--(98.6, 332.8)--(98.6, 332.7)--(98.5, 332.6)--(98.5, 332.5)--(98.5, 332.4)--(98.5, 332.2)--(98.4, 332.0)--(98.4, 331.8)--(98.4, 331.7)--(98.5, 331.7)--(98.6, 331.6)--(98.6, 331.5)--(98.7, 331.5)--(98.8, 331.5)--(98.9, 331.4)--(99.0, 331.4)--(99.1, 331.4)--(99.2, 331.5)--(99.5, 331.5)--(99.6, 331.6)--(99.7, 331.6)--(99.8, 331.6)--(100.0, 331.6)--(100.0, 331.5)--(100.1, 331.5)--(100.2, 331.3)--(100.2, 331.2)--(100.3, 331.1)--(100.3, 331.0)--(100.4, 330.9)--(100.5, 330.8)--(100.6, 330.8)--(100.9, 330.8)--(101.0, 330.7)--(101.1, !
330.7)--(101.1, 330.6)--(101.2, 330.4)--(101.2, 330.0)--(101.3, 329.8)--(101.3, 329.7)--(101.3, 329.5)--(101.4, 329.5)--(101.4, 329.4)--(101.5, 329.4)--(101.6, 329.4)--(101.7, 329.4)--(101.9, 329.3)--(102.0, 329.3)--(102.1, 329.3)--(102.2, 329.3)--(102.3, 329.2)--(102.4, 329.1)--(102.4, 329.0)--(102.5, 328.9)--(102.5, 328.8)--(103.0, 329.1)--(103.1, 329.0)--(103.2, 328.9)--(103.3, 328.9)--(103.6, 328.9)--(104.1, 328.8)--(104.2, 328.8)--(105.6, 328.3)--(105.9, 328.3)--(106.8, 328.0)--(106.9, 328.0)--(107.1, 327.9)--(107.3, 327.9)--(107.4, 327.9)--(107.5, 327.9)--(107.6, 327.8)--(107.7, 327.8)--(109.0, 327.6)--(109.8, 327.5)--(110.7, 327.3)--(111.8, 327.0)--(112.9, 326.8)--(113.0, 326.8)--(113.4, 326.7)--(113.7, 326.7)--(114.0, 326.6)--(114.6, 326.5)--(115.3, 326.3)--(116.1, 326.1)--(117.4, 325.7)--(117.9, 325.6)--(118.0, 325.6)--(118.3, 325.5)--(118.3, 325.3)--(118.5, 325.1)--(118.9, 324.9)--(119.3, 324.6)--(119.8, 324.2)--(119.9, 324.6)--(120.0, 324.8)--(120.1, 325.1)--(120.6, 325.1)--(120.8, 325.0)--(121.6, 324.7)--(121.9, 324.6)--(123.0, 324.3)--(123.6, 324.2)--(124.0, 324.1)--(125.0, 323.9)--(125.4, 323.8)--(126.4, 323.7)--(126.8, 323.7)--(127.2, 323.6)--(127.3, 323.6)--(127.3, 323.5)--(127.4, 323.5)--(127.4, 321.9)--(127.4, 321.4)--(127.5, 321.1)--(127.5, 320.8)--(127.6, 320.3)--(127.6, 320.1)--(127.6, 319.9)--(127.6, 319.6)--(127.5, 319.3)--(127.5, 319.2)--(127.4, 318.9)--(127.2, 318.8)--(127.2, 318.6)--(126.9, 318.4)--(126.8, 318.1)--(126.5, 317.4)--(126.0, 316.4)--(125.9, 316.2)--(125.7, 315.7)--(125.5, 315.4)--(125.4, 315.1)--(125.0, 314.3)--(124.8, 314.0)--(124.4, 313.4)--(124.3, 313.3)--(124.0, 312.7)--(123.8, 312.2)--(123.8, 312.1)--(123.7, 312.0)--(123.5, 311.8)--(123.3, 311.5)--(123.2, 311.4)--(123.2, 311.3)--(123.0, 311.3)--(122.7, 310.8)--(122.6, 310.8)--(122.4, 310.5)--(122.3, 310.3)--(122.1, 310.0)--(121.9, 309.8)--(121.8, 309.7)--(121.7, 309.6)--(121.6, 309.5)--(121.4, 309.4)--(120.8, 309.0)--(120.4, 308.7)--(119.1, 307.9)--(118.8, 307.6)--(118.6, 307.4)--(118.5, 307.2)--(118.2, 306.7)--(118.1,!
306.5)--(117.9, 306.1)--(117.9, 305.9)--(117.8, 305.7)--(117.8, 305.5)--(117.7, 305.2)--(117.6, 304.8)--(117.5, 304.4)--(117.2, 303.2)--(116.7, 301.4)--(116.5, 300.4)--(116.4, 300.1)--(116.3, 299.9)--(116.3, 299.7)--(116.2, 299.6)--(116.2, 299.4)--(116.0, 299.2)--(116.0, 299.1)--(115.9, 298.9)--(115.8, 298.8)--(115.6, 298.8)--(115.6, 298.7)--(115.5, 298.7)--(115.5, 298.6)--(115.3, 298.5)--(114.9, 298.2)--(114.4, 297.9)--(113.9, 297.6)--(113.0, 297.0)--(112.1, 296.4)--(111.6, 296.0)--(111.1, 295.8)--(110.6, 295.6)--(110.6, 295.5)--(110.4, 295.5)--(110.3, 295.4)--(110.1, 295.4)--(110.0, 295.3)--(109.9, 295.3)--(109.8, 295.2)--(109.7, 295.2)--(109.6, 295.1)--(109.5, 295.1)--(109.4, 295.0)--(109.3, 294.9)--(109.2, 294.8)--(109.1, 294.7)--(109.0, 294.6)--(109.0, 294.5)--(108.9, 294.5)--(108.8, 294.3)--(108.5, 293.9)--(108.0, 292.8)--(107.9, 292.8)--(107.2, 291.4)--(106.8, 290.6)--(106.7, 290.6)--(106.5, 290.7)--(106.2, 290.9)--(105.8, 291.1)--(105.1, 291.3)--(104.9, 290.9)--(104.2, 288.9)--(104.1, 288.5)--(104.1, 288.4)--(104.1, 288.3)--(104.1, 288.2)--(104.1, 288.1)--(104.3, 287.2)--(104.3, 287.0)--(104.3, 286.8)--(104.3, 286.7)--(104.3, 286.6)--(104.3, 286.5)--(104.3, 286.4)--(104.1, 286.1)--(104.0, 286.0)--(103.9, 285.8)--(103.8, 285.6)--(103.8, 285.3)--(103.7, 284.3)--(103.6, 284.0)--(103.5, 282.5)--(103.5, 282.2)--(103.5, 282.1)--(103.2, 279.0)--(103.1, 278.3)--(103.1, 278.2)--(103.1, 278.1)--(103.0, 278.1)--(102.9, 278.0)--(102.9, 277.9)--(102.8, 277.9)--(102.8, 277.8)--(102.8, 277.7)--(102.8, 277.6)--(102.8, 277.4)--(102.7, 277.3)--(102.7, 277.2)--(102.6, 277.1)--(102.6, 277.0)--(102.6, 276.9)--(102.6, 276.8)--(102.6, 276.7)--(102.5, 276.7)--(102.4, 276.7)--(102.3, 276.7)--(102.2, 276.7)--(102.2, 276.6)--(102.0, 276.2)--(101.8, 275.9)--(101.8, 275.8)--(101.7, 275.6)--(101.8, 275.5)--(101.9, 275.5)--(102.1, 275.5)--(102.2, 275.5)--(102.2, 275.4)--(101.7, 274.9)--(101.4, 274.0)--(101.1, 273.2)--(100.9, 272.9)--(100.9, 272.7)--(100.8, 272.6)--(100.8, 272.1)--(100.7, 272.0)--(100.7, 271.9)--(100.6, 271.8)--(100.4!
, 271.6)--(100.3, 271.5)--(100.3, 271.4)--(100.3, 271.3)--(100.3, 271.2)--(100.4, 271.2)--(100.4, 271.1)--(100.5, 271.1)--(100.5, 271.0)--(100.6, 271.0)--(100.6, 270.9)--(100.5, 270.8)--(100.5, 270.3)--(100.4, 269.9)--(100.4, 269.6)--(100.4, 269.3)--(100.4, 269.1)--(100.5, 268.9)--(100.6, 268.7)--(100.7, 268.6)--(100.7, 268.5)--(100.9, 267.9)--(100.9, 267.8)--(101.0, 267.5)--(101.1, 267.3)--(101.3, 267.0)--(101.5, 266.1)--(101.5, 266.0)--(101.5, 265.9)--(101.7, 265.5)--(101.7, 265.0)--(101.8, 264.2)--(101.4, 263.3)--(101.3, 262.9)--(101.3, 262.7)--(101.2, 262.4)--(101.2, 262.0)--(101.2, 261.9)--(101.2, 261.8)--(101.3, 261.7)--(101.4, 261.6)--(101.5, 261.5)--(101.8, 261.4)--(101.9, 261.4)--(101.9, 261.3)--(102.0, 261.3)--(102.1, 261.1)--(102.2, 260.8)--(102.2, 260.7)--(102.3, 260.5)--(102.5, 260.3)--(102.6, 260.3)--(102.7, 260.2)--(102.8, 260.1)--(102.9, 260.0)--(103.0, 259.7)--(103.1, 259.4)--(103.2, 259.3)--(103.3, 259.1)--(103.3, 259.0)--(103.9, 258.6)--(104.2, 258.3)--(104.4, 258.1)--(104.5, 257.8)--(104.6, 257.4)--(104.5, 257.4)--(103.4, 256.8)--(102.3, 256.3)--(101.1, 255.7)--(100.2, 255.2)--(100.0, 255.1)--(99.3, 254.7)--(98.7, 254.4)--(98.4, 254.2)--(98.3, 254.1)--(98.3, 253.9)--(98.3, 253.8)--(98.1, 253.8)--(97.9, 253.9)--(97.8, 253.9)--(97.5, 253.8)--(97.3, 253.7)--(97.1, 253.6)--(97.0, 253.6)--(96.8, 253.5)--(96.1, 252.9)--(95.5, 252.5)--(94.5, 251.8)--(93.6, 251.2)--(92.7, 250.6)--(91.9, 250.0)--(91.7, 249.8)--(91.2, 249.5)--(90.5, 249.0)--(89.8, 248.5)--(89.2, 248.0)--(89.0, 247.7)--(88.9, 247.5)--(88.7, 247.2)--(88.5, 246.9)--(88.3, 246.4)--(88.2, 246.1)--(87.9, 245.7)--(87.8, 245.4)--(87.8, 245.2)--(87.6, 244.9)--(87.4, 244.5)--(87.3, 244.3)--(87.3, 244.0)--(87.1, 243.5)--(87.8, 243.2)--(88.5, 242.9)--(88.3, 242.6)--(88.1, 242.6)--(87.9, 242.6)--(87.5, 242.6)--(87.1, 242.6)--(86.7, 242.5)--(85.9, 242.4)--(85.6, 242.3)--(85.1, 242.3)--(85.0, 242.3)--(84.6, 242.3)--(84.3, 242.3)--(83.8, 242.4)--(83.7, 242.2)--(83.5, 241.7)--(83.1, 240.6)--(82.7, 239.8)--(82.1, 238.5)--(81.6, 238.5)--(80.5, 238.6)--(7!
9.8, 238..7)--(79.2, 238.8)--(78.8, 238.9)--(78.4, 239.0)--(77.8, 239.2)--(77.1, 239.5)--(76.3, 239.7)--(75.9, 239.9)--(75.3, 240.1)--(75.2, 240.2)--(75.1, 240.3)--(75.1, 240.5)--(75.1, 240.6)--(75.2, 240.7)--(75.1, 240.8)--(75.0, 240.8)--(74.8, 240.8)--(74.6, 240.9)--(74.3, 240.9)--(74.1, 240.9)--(74.1, 240.8)--(74.2, 240.6)--(74.2, 240.5)--(74.1, 240.5)--(74.0, 240.5)--(73.9, 240.5)--(73.8, 240.5)--(73.5, 240.6)--(73.2, 240.8)--(72.8, 241.0)--(72.4, 241.2)--(71.9, 241.6)--(71.6, 241.8)--(71.6, 241.9)--(71.5, 241.9)--(71.4, 242.0)--(71.3, 242.0)--(71.2, 242.1)--(71.1, 242.2)--(71.0, 242.2)--(70.9, 242.3)--(70.8, 242.3)--(70.7, 242.4)--(70.6, 242.4)--(70.5, 242.4)--(70.4, 242.5)--(70.3, 242.5)--(70.2, 242.6)--(70.1, 242.6)--(70.0, 242.6)--(69.9, 242.6)--(69.8, 242.6)--(69.7, 242.7)--(69.2, 242.7)--(68.4, 242.8)--(68.3, 242.8)--(67.8, 242.9)--(67.3, 242.9)--(66.8, 243.1)--(66.7, 243.1)--(66.6, 243.2)--(66.5, 243.2)--(66.4, 243.2)--(66.3, 243.2)--(66.2, 243.2)--(66.1, 243.2)--(66.0, 243.2)--(65.9, 243.3)--(65.8, 243.3)--(65.5, 243.2)--(65.1, 243.2)--(65.0, 243.2)--(64.9, 243.2)--(64.8, 243.2)--(64.7, 243.3)--(64.2, 243.3)--(63.5, 243.5)--(62.9, 243.6)--(62.2, 243.8)--(62.1, 243.8)--(62.0, 243.8)--(61.8, 243.9)--(61.6, 243.9)--(61.6, 244.0)--(61.5, 244.0)--(61.4, 244.0)--(61.3, 244.1)--(61.2, 244.1)--(61.2, 244.2)--(60.8, 244.5)--(60.3, 245.1)--(59.8, 245.6)--(59.5, 246.2)--(59.6, 246.2)--(59.8, 246.3)--(59.7, 246.4)--(59.7, 246.5)--(59.6, 246.5)--(59.6, 246.6)--(59.5, 246.6)--(59.5, 246.7)--(59.4, 246.7)--(59.4, 246.8)--(59.3, 246.8)--(59.2, 246.8)--(59.2, 246.9)--(59.1, 246.9)--(59.0, 246.9)--(58.9, 247.0)--(58.8, 247.0)--(58.7, 247.0)--(58.6, 247.0)--(58.5, 247.0)--(58.4, 247.0)--(58.3, 247.0)--(57.7, 247.0)--(57.2, 247.0)--(56.7, 247.0)--(56.2, 246.9)--(56.0, 246.9)--(55.5, 246.9)--(55.4, 246.8)--(54.3, 246.8)--(53.6, 246.8)--(53.5, 246.8)--(53.3, 246.8)--(53.2, 246.8)--(53.1, 246.8)--(53.0, 246.8)--(52.9, 246.8)--(52.7, 246.8)--(52.6, 246.8)--(52.4, 246.9)--(52.3, 246.9)--(52.2, 246.9)--(52.0, 246.9)--(51.7, 24!
7.0)--(51.2, 247.2)--(50.9, 247.3)--(50.8, 247.3)--(50.7, 247.3)--(50.6, 247.3)--(50.6, 247.2)--(50.5, 247.2)--(50.4, 247.2)--(50.3, 247.2)--(50.3, 247.3)--(50.2, 247.3)--(50.1, 247.3)--(50.1, 247.4)--(50.0, 247.4)--(50.0, 247.5)--(49.9, 247.7)--(49.8, 247.7)--(49.8, 247.8)--(49.7, 247.9)--(49.6, 247.9)--(49.6, 248.0)--(49.5, 248.0)--(48.9, 248.3)--(48.6, 248.4)--(48.4, 248.6)--(48.1, 248.6)--(48.0, 248.6)--(47.8, 248.5)--(47.7, 248.4)--(47.6, 248.4)--(47.6, 248.3)--(47.6, 248.2)--(47.4, 248.2)--(47.3, 248.3)--(47.1, 248.6)--(46.9, 249.0)--(46.8, 249.3)--(46.5, 249.6)--(46.3, 249.9)--(46.2, 250.0)--(46.2, 250.1)--(46.0, 250.3)--(45.8, 250.6)--(45.6, 250.9)--(45.3, 251.3)--(45.0, 251.6)--(45.0, 251.7)--(45.0, 251.8)--(44.8, 251.9)--(44.6, 252.0)--(44.2, 252.3)--(44.1, 252.3)--(43.9, 252.4)--(43.7, 252.6)--(43.3, 252.8)--(43.0, 252.9)--(42.7, 253.1)--(42.3, 253.2)--(41.9, 253.3)--(41.4, 253.4)--(41.0, 253.5)--(40.9, 253.5)--(40.8, 253.6)--(40.7, 253.6)--(40.6, 253.6)--(40.5, 253.6)--(40.4, 253.6)--(40.3, 253.7)--(40.1, 253.7)--(39.9, 253.7)--(39.8, 253.7)--(39.6, 253.7)--(39.4, 253.7)--(39.3, 253.7)--(39.2, 253.7)--(39.1, 253.7)--(39.0, 253.7)--(38.9, 253.7)--(38.8, 253.7)--(38.7, 253.7)--(38.6, 253.7)--(38.6, 253.6)--(38.5, 253.6)--(38.4, 253.6)--(38.4, 253.5)--(38.3, 253.5)--(38.2, 253.4)--(38.2, 253.3)--(38.1, 253.3)--(38.1, 253.2)--(38.0, 253.0)--(37.9, 252.9)--(37.8, 252.7)--(37.8, 252.8)--(37.6, 252.8)--(37.5, 252.8)--(37.5, 252.9)--(37.4, 252.9)--(37.2, 252.9)--(37.1, 252.9)--(37.0, 252.9)--(36.8, 252.9)--(36.6, 253.0)--(36.4, 253.2)--(36.3, 253.2)--(35.8, 253.3)--(35.7, 253.6)--(35.7, 253.7)--(35.7, 253.8)--(35.7, 254.0)--(35.7, 254.1)--(35.7, 254.3)--(35.8, 254.5)--(35.8, 254.7)--(36.1, 255.2)--(36.2, 255.2)--(36.3, 255.2)--(36.4, 255.2)--(36.4, 255.3)--(36.5, 255.3)--(36.6, 255.3)--(36.7, 255.3)--(36.7, 255.4)--(36.8, 255.4)--(36.9, 255.5)--(37.0, 255.6)--(37.0, 255.7)--(37.1, 255.8)--(37.2, 255.9)--(37.3, 256.0)--(37.4, 256.1)--(37.4, 256.2)--(37.5, 256.3)--(37.6, 256.4)--(37.7, 256.5)--(37.7, 256.7)--(!
37.8, 256.8)--(37.9, 257.0)--(37.9, 257.1)--(38.0, 257.2)--(38.1, 257.3)--(38.1, 257.5)--(38.3, 257.9)--(38.4, 258.1)--(38.5, 258.5)--(38.6, 258.7)--(38.6, 258.9)--(38.7, 259.2)--(38.8, 259.3)--(38.9, 260.0)--(38.9, 260.1)--(39.0, 260.3)--(39.1, 260.5)--(39.1, 260.8)--(39.1, 260.9)--(39.2, 261.1)--(39.2, 261.4)--(39.2, 261.6)--(39.3, 261.9)--(39.3, 262.1)--(39.3, 262.6)--(39.4, 263.3)--(39.5, 264.2)--(39.5, 264.5)--(39.6, 264.6)--(39.7, 264.8)--(39.7, 265.0)--(39.7, 265.4)--(39.7, 265.5)--(39.7, 265.7)--(39.7, 265.9)--(39.7, 266.2)--(39.8, 266.4)--(39.8, 266.6)--(39.9, 266.9)--(40.0, 267.3)--(40.2, 267.9)--(40.4, 268.5)--(40.5, 268.7)--(40.5, 268.8)--(40.7, 269.4)--(40.8, 269.7)--(41.0, 270.1)--(41.2, 270.5)--(41.3, 270.8)--(41.6, 271.2)--(41.8, 271.6)--(41.9, 271.9)--(42.2, 272.3)--(42.6, 272.9)--(43.0, 273.5)--(43.1, 273.7)--(43.2, 273.7)--(43.3, 273.7)--(43.3, 273.8)--(43.2, 273.9)--(43.2, 274.0)--(43.3, 274.0)--(43.3, 274.1)--(43.4, 274.1)--(43.4, 274.2)--(43.3, 274.3)--(43.2, 274.3)--(43.1, 274.3)--(43.1, 274.4)--(43.1, 274.6)--(43.2, 274.8)--(43.1, 274.9)--(43.0, 274.9)--(42.9, 274.9)--(42.8, 274.9)--(42.7, 274.9)--(42.7, 275.0)--(42.8, 275.1)--(42.8, 275.2)--(42.7, 275.2)--(42.7, 275.3)--(42.7, 275.4)--(42.8, 275.6)--(42.9, 275.7)--(42.9, 275.8)--(42.9, 275.9)--(43.1, 276.1)--(43.1, 276.2)--(43.0, 276.3)--(43.0, 276.5)--(43.0, 276.7)--(43.0, 276.9)--(43.0, 277.0)--(43.1, 276.9)--(43.2, 276.8)--(43.3, 276.8)--(43.4, 277.0)--(43.5, 277.0)--(43.5, 276.9)--(43.5, 276.8)--(43.6, 276.8)--(43.7, 277.0)--(43.8, 277.2)--(43.8, 277.3)--(43.8, 277.4)--(43.7, 277.4)--(43.6, 277.4)--(43.5, 277.4)--(43.4, 277.6)--(43.3, 277.7)--(43.5, 277.9)--(43.6, 277.9)--(43.7, 277.9)--(43.7, 278.0)--(43.8, 278.1)--(43.8, 278.2)--(44.0, 278.2)--(44.0, 278.3)--(44.1, 278.3)--(44.2, 278.4)--(44.4, 278.2)--(44.6, 278.3)--(44.7, 278.3)--(44.7, 278.4)--(44.8, 278.4)--(44.8, 278.5)--(44.9, 278.6)--(44.8, 278.6)--(44.8, 278.7)--(44.7, 278.7)--(44.6, 278.7)--(44.5, 278.7)--(44.5, 278.8)--(44.5, 278.9)--(44.6, 279.0)--(44.6, 279.1)--(44.7, 2!
79.1)--(44.7, 279.2)--(44.8, 279.2)--(45.0, 279.2)--(45.1, 279.1)--(45.1, 279.2)--(45.2, 279.2)--(45.2, 279.3)--(45.2, 279.4)--(45.2, 279.5)--(45.3, 279.6)--(45.4, 279.8)--(45.5, 279.9)--(45.6, 279.9)--(45.7, 279.9)--(45.8, 279.9)--(45.8, 280.0)--(45.9, 280.0)--(45.9, 280.1)--(45.9, 280.3)--(45.9, 280.4)--(45.8, 280.5)--(45.7, 280.6)--(45.7, 280.7)--(45.6, 280.7)--(45.6, 280.8)--(45.6, 280.9)--(45.7, 281.0)--(45.7, 281.1)--(45.8, 281.2)--(45.9, 281.3)--(45.9, 281.5)--(45.9, 281.6)--(46.0, 281.6)--(46.1, 281.6)--(46.6, 281.6)--(46.7, 281.6)--(46.8, 281.6)--(46.9, 281.7)--(47.0, 281.7)--(47.1, 281.7)--(47.2, 281.7)--(47.3, 281.7)--(47.4, 281.7)--(47.5, 281.8)--(47.6, 281.9)--(47.7, 281.9)--(48.1, 282.0)--(48.2, 282.0)--(48.3, 282.0)--(48.5, 282.5)--(48.6, 282.7)--(48.7, 282.8)--(48.9, 282.9)--(48.9, 283.0)--(48.9, 283.1)--(48.9, 283.2)--(48.9, 283.3)--(49.0, 283.3)--(49.0, 283.4)--(49.1, 283.4)--(49.1, 283.6)--(49.1, 283.7)--(49.2, 283.9)--(49.2, 284.0)--(49.3, 284.1)--(49.3, 284.2)--(49.5, 284.3)--(49.5, 284.4)--(49.5, 284.5)--(49.4, 284.6)--(49.4, 284.7)--(49.5, 284.8)--(49.6, 284.9)--(49.7, 284.9)--(49.8, 285.0)--(49.8, 285.1)--(49.9, 285.2)--(50.0, 285.2)--(50.1, 285.2)--(50.1, 285.3)--(50.0, 285.7)--(50.0, 285.8)--(50.0, 285.9)--(50.1, 286.0)--(50.1, 286.1)--(50.1, 286.2)--(50.1, 286.3)--(50.0, 286.4)--(50.0, 286.5)--(49.9, 286.6)--(49.8, 286.8)--(49.8, 286.9)--(49.7, 286.9)--(49.7, 287.0)--(49.6, 287.0)--(49.5, 287.0)--(49.5, 287.1)--(49.6, 287.2)--(49.6, 287.3)--(49.6, 287.5)--(49.7, 287.5)--(49.7, 287.6)--(49.8, 287.7)--(49.8, 287.8)--(49.9, 287.9)--(49.9, 288.0)--(49.9, 288.1)--(49.9, 288.2)--(49.8, 288.2)--(49.7, 288.2)--(49.6, 288.2)--(49.4, 288.2)--(49.4, 288.3)--(49.3, 288.3)--(49.3, 288.5)--(49.3, 288.6)--(49.3, 288.7)--(49.4, 288.9)--(49.6, 289.2)--(49.8, 289.4)--(49.9, 289.5)--(49.9, 289.7)--(49.9, 289.8)--(49.9, 289.9)--(49.9, 290.0)--(50.0, 290.0)--(50.2, 290.2)--(50.3, 290.3)--(50.4, 290.2)--(50.5, 290.1)--(50.6, 290.1)--(50.6, 290.2)--(50.8, 290.2)--(50.9, 290.2)--(50.9, 290.3)--(51.0, 290.4)--!
(50.9, 290.7)--(50.9, 290.8)--(50.9, 290.9)--(51.0, 290.9)--(51.1, 290.9)--(51.2, 290.9)--(51.3, 290.9)--(51.3, 290.8)--(51.4, 290.8)--(51.5, 290.7)--(51.6, 290.7)--(51.7, 290.8)--(51.7, 290.9)--(51.7, 291.0)--(51.7, 291.1)--(51.7, 291.2)--(51.7, 291.3)--(51.7, 291.6)--(51.7, 291.8)--(51.7, 291.9)--(51.8, 292.0)--(51.9, 292.1)--(51.9, 292.3)--(52.0, 292.3)--(52.0, 292.4)--(52.1, 292.5)--(52.2, 292.6)--(52.3, 292.7)--(52.4, 292.7)--(52.4, 292.8)--(52.4, 293.0)--(52.4, 293.1)--(52.5, 293.2)--(52.6, 293.3)--(52.6, 293.4)--(52.5, 293.5)--(52.5, 293.6)--(52.6, 293.6)--(52.7, 293.8)--(52.7, 293.9)--(52.7, 294.0)--(52.6, 294.0)--(52.5, 294.0)--(52.4, 294.1)--(52.4, 294.2)--(52.4, 294.3)--(52.3, 294.3)--(52.4, 294.4)--(52.4, 294.5)--(52.5, 294.6)--(52.6, 294.7)--(52.6, 294.8)--(52.5, 294.8)--(52.3, 295.0)--(52.4, 295.5)--(52.5, 295.5)--(52.6, 295.6)--(52.6, 295.7)--(52.6, 295.9)--(52.6, 296.0)--(52.6, 296.1)--(52.7, 296.1)--(52.8, 296.1)--(52.9, 296.1)--(53.0, 296.1)--(53.1, 296.1)--(53.2, 296.1)--(53.2, 296.2)--(53.2, 296.3)--(53.2, 296.5)--(53.3, 296.8)--(53.3, 297.0)--(53.4, 297.1)--(53.5, 297.2)--(53.6, 297.2)--(53.7, 297.2)--(53.7, 297.3)--(53.7, 297.4)--(53.7, 297.7)--(53.7, 297.8)--(53.7, 297.9)--(53.6, 297.9)--(53.6, 298.0)--(53.5, 298.1)--(53.4, 298.1)--(53.3, 298.2)--(53.2, 298.2)--(53.1, 298.2)--(53.1, 298.3)--(53.1, 298.4)--(53.1, 298.5)--(53.1, 298.6)--(53.2, 298.6)--(53.4, 298.6)--(53.4, 298.7)--(53.4, 298.8)--(53.4, 298.9)--(53.3, 298.9)--(53.2, 298.9)--(53.2, 299.0)--(53.1, 299.0)--(53.0, 299.1)--(52.9, 299.2)--(52.9, 299.4)--(52.9, 299.5)--(52.8, 299.5)--(52.8, 299.6)--(52.7, 299.6)--(52.6, 299.7)--(52.5, 299.8)--(52.5, 299.9)--(52.4, 300.0)--(52.4, 300.2)--(52.2, 300.3)--(52.0, 300.5)--(51.8, 300.7)--(52.0, 300.7)--(52.0, 301.0)--(51.9, 301.0)--(51.8, 301.2)--(51.6, 301.1)--(51.4, 301.1)--(51.4, 301.5)--(51.1, 301.5)--(50.7, 301.9)--(50.6, 301.8)--(50.3, 302.0)--(50.0, 302.1)--(49.9, 302.2)--(49.8, 302.4)--(49.7, 302.4)--(49.6, 302.4)--(49.6, 302.5)--(49.5, 302.5)--(49.4, 302.5)--(49.3, 302.4)--(49.2, !
302.4)--(49.1, 302.5)--(49.0, 302.5)--(49.0, 302.6)--(48.9, 302.8)--(48.9, 303.0)--(48.8, 303.1)--(48.8, 303.2)--(48.8, 303.3)--(48.9, 303.3)--(49.0, 303.4)--(49.0, 303.5)--(49.0, 303.6)--(49.0, 303.8)--(49.0, 304.0)--(48.9, 304.4)--(48.8, 304.6)--(48.8, 304.7)--(48.9, 304.8)--(49.0, 305.1)--(49.1, 305.2)--(49.1, 305.3)--(49.1, 305.4)--(49.0, 305.5)--(48.9, 305.7)--(48.8, 305.8)--(48.4, 306.3)--(48.3, 306.4)--(48.2, 306.5)--(48.2, 306.6)--(48.1, 306.6)--(48.0, 306.6)--(47.9, 306.7)--(47.8, 306.9)--(47.6, 307.3)--(47.5, 307.4)--(47.5, 307.5)--(47.4, 307.6)--(47.4, 307.7)--(47.4, 307.9)--(47.4, 308.0)--(47.3, 308.2)--(47.3, 308.3)--(47.2, 308.4)--(47.2, 308.5)--(47.1, 308.7)--(47.1, 308.8)--(47.1, 309.0)--(47.2, 309.7)--(47.4, 310.2)--(47.4, 310.4)--(47.5, 310.7)--(47.5, 310.8)--(47.5, 310.9)--(47.6, 310.9)--(47.7, 311.1)--(47.8, 311.3)--(47.9, 311.3)--(47.9, 311.4)--(48.1, 311.5)--(48.2, 311.6)--(48.2, 311.7)--(48.3, 311.7)--(48.3, 311.8)--(48.3, 311.9)--(48.4, 312.0)--(48.4, 312.2)--(48.4, 312.5)--(48.4, 312.6)--(48.3, 312.7)--(48.3, 312.8)--(48.2, 312.9)--(48.1, 312.9)--(48.1, 313.0)--(48.0, 313.0)--(47.9, 313.1)--(47.8, 313.2)--(47.8, 313.3)--(47.8, 313.4)--(47.8, 313.5)--(47.8, 313.6)--(47.8, 313.7)--(47.9, 313.9)--(48.1, 314.4)--(48.2, 314.6)--(48.2, 314.8)--(48.2, 314.9)--(48.1, 315.6)--(48.1, 315.7)--(48.3, 316.7)--(48.3, 317.0)--(48.3, 317.1)--(48.3, 317.2)--(48.3, 317.3)--(48.3, 317.4)--(48.3, 317.5)--(48.3, 317.6)--(48.1, 317.9)--(48.0, 318.1)--(48.0, 318.3)--(47.9, 318.4)--(47.9, 318.6)--(47.9, 318.8)--(47.9, 318.9)--(47.9, 319.2)--(48.0, 319.5)--(48.0, 319.6)--(48.1, 319.6)--(48.1, 319.7)--(48.3, 319.8)--(48.4, 319.8)--(48.5, 319.9)--(48.6, 320.0)--(48.7, 320.2)--(48.8, 320.4)--(48.8, 320.5)--(48.9, 320.7)--(49.1, 321.3)--(49.1, 321.6)--(49.1, 321.7)--(49.2, 321.8)--(49.1, 322.1)--(49.1, 322.2)--(49.1, 322.4)--(48.8, 322.7)--(48.6, 323.2)--(48.6, 323.3)--(48.5, 323.5)--(48.5, 323.6)--(48.5, 323.7)--(48.5, 323.8)--(48.5, 323.9)--(48.5, 324.1)--(48.5, 324.2)--(48.4, 324.4)--(48.4, 324.6)--(48.4, 324.7)-!
-(48.3, 324.9)--(48.3, 325.0)--(48.2, 325.1)--(48.2, 325.2)--(48.3, 325.4)--(48.2, 325.5)--(48.1, 325.5)--(48.1, 325.6)--(48.0, 325.6)--(48.0, 325.7)--(48.1, 325.8)--(48.0, 325.8)--(48.0, 325.9)--(47.9, 325.9)--(47.8, 325.9)--(47.8, 326.1)--(47.7, 326.2)--(47.7, 326.3)--(47.6, 326.3)--(47.5, 326.6)--(47.5, 326.7)--(47.5, 326.9)--(47.5, 327.0)--(47.5, 327.1)--(47.6, 327.2)--(47.6, 327.3)--(47.7, 327.4)--(47.8, 327.5)--(47.8, 327.6)--(47.9, 327.7)--(48.0, 327.7)--(48.0, 327.8)--(47.9, 327.8)--(47.6, 327.9)--(47.5, 327.9)--(47.4, 328.0)--(47.3, 328.1)--(47.3, 328.2)--(47.3, 328.4)--(47.2, 328.5)--(47.2, 328.6)--(47.1, 328.7)--(46.6, 329.1)--(46.3, 329.3)--(46.1, 329.4)--(46.0, 329.5)--(46.0, 329.6)--(45.8, 329.8)--(45.7, 330.0)--(45.6, 330.0)--(45.5, 330.2)--(45.5, 330.3)--(45.4, 330.4)--(45.4, 330.7)--(45.3, 331.0)--(45.2, 331.2)--(45.1, 331.3)--(45.0, 331.5)--(45.0, 331.6)--(44.8, 331.8)--(44.7, 331.9)--(44.6, 332.0)--(44.6, 332.1)--(44.5, 332.2)--(44.4, 332.3)--(44.4, 332.4)--(44.4, 332.5)--(44.4, 332.6)--(44.6, 332.8)--(44.6, 332.9)--(44.7, 333.0)--(44.7, 333.1)--(44.8, 333.1)--(44.8, 333.2)--(44.9, 333.2)--(45.0, 333.4)--(45.2, 333.9)--(45.5, 334.5)--(45.5, 334.6)--(45.6, 334.8)--(45.6, 334.9)--(45.6, 335.1)--(45.6, 335.2)--(45.6, 335.3)--(45.7, 335.3)--(45.7, 335.4)--(45.8, 335.4)--(46.0, 335.5)--(46.2, 335.6)--(46.4, 335.7)--(46.5, 335.7)--(46.6, 335.7)--(46.7, 335.8)--(46.8, 335.9)--(46.9, 336.0)--(46.9, 336.1)--(46.8, 336.5)--(46.8, 336.6)--(46.7, 336.8)--(46.7, 336.9)--(46.7, 337.2)--(46.8, 337.6)--(46.8, 337.7)--(46.9, 337.9)--(47.0, 338.0)--(47.0, 338.2)--(47.0, 338.3)--(47.0, 338.6)--(47.0, 338.7)--(47.2, 339.0)--(47.2, 339.1)--(47.2, 339.2)--(47.3, 339.2)--(47.4, 339.3)--(47.5, 339.6)--(47.5, 339.8)--(47.5, 339.9)--(47.4, 340.0)--(47.3, 340.0)--(47.2, 340.0)--(47.1, 340.1)--(47.0, 340.1)--(47.0, 340.2)--(47.0, 340.4)--(47.0, 340.6)--(47.0, 340.8)--(47.1, 340.9)--(47.1, 341.0)--(47.1, 341.1)--(47.2, 341.1)--(47.2, 341.2)--(47.7, 341.1)--(47.8, 341.0)--(47.9, 341.0)--(48.0, 341.0)--(48.0, 341.1)--(48.1,!
341.1)--(48.2, 341.1)--(48.3, 341.2)--(48.4, 341.2)--(48.5, 341.3)--(48.5, 341.4)--(48.5, 341.5)--(48.6, 341.5)--(48.5, 341.6)--(48.5, 341.7)--(48.4, 341.8)--(48.4, 341.9)--(48.4, 342.0)--(48.3, 342.2)--(48.4, 342.3)--(48.5, 342.3)--(48.6, 342.4)--(48.8, 342.4)--(49.0, 342.4)--(49.1, 342.4)--(49.2, 342.4)--(49.2, 342.5)--(49.3, 342.5)--(49.3, 342.6)--(49.5, 343.0)--(49.6, 343.3)--(49.6, 343.4)--(49.6, 343.5)--(49.6, 343.6)--(49.7, 344.1)--(49.7, 344.3)--(49.8, 344.5)--(49.8, 344.7)--(49.9, 344.9)--(50.0, 345.0)--(50.2, 345.3)--(50.3, 345.5)--(50.5, 345.7)--(50.6, 345.8)--(50.7, 345.9)--(50.8, 345.9)--(50.9, 346.1)--(51.0, 346.2)--(51.1, 346.2)--(51.1, 346.3)--(51.3, 346.3)--(51.5, 346.4)--(51.5, 346.5)--(51.6, 346.5)--(51.7, 346.8)--(51.8, 347.0)--(51.9, 347.0)--(51.9, 347.1)--(52.0, 347.1)--(52.1, 347.1)--(52.2, 347.2)--(52.3, 347.2)--(52.5, 347.2)--(52.6, 347.1)--(52.7, 347.1)--(52.8, 347.1)--(52.9, 347.1)--(53.0, 347.2)--(53.4, 347.7)--(53.6, 348.1)--(53.8, 348.5)--(55.0, 350.0)--(55.5, 350.9)--(55.8, 350.7)--(56.1, 351.0)--(56.2, 350.9)--(56.3, 350.9)--(56.3, 351.0)--(56.4, 351.2)--(56.5, 351.3)--(56.6, 351.4)--(56.6, 351.5)--(56.6, 351.6)--(56.7, 351.7)--(56.7, 351.8)--(56.7, 351.9)--(56.7, 352.0)--(56.6, 352.2)--(56.6, 352.3)--(56.7, 352.8)--(56.7, 352.9)--(56.8, 353.3)--(56.9, 353.4)--(56.9, 353.5)--(56.9, 353.6)--(56.9, 353.9)--(56.9, 354.0)--(56.9, 354.1)--(56.9, 354.2)--(56.9, 354.3)--(57.0, 354.4)--(57.0, 354.5)--(57.0, 354.6)--(57.0, 354.7)--(56.8, 355.1)--(56.8, 355.2)--(56.8, 355.3)--(56.8, 355.4)--(56.9, 355.5)--(57.0, 355.5)--(57.0, 355.6)--(57.0, 355.7)--(57.0, 355.8)--(57.0, 355.9)--(56.9, 356.1)--(56.8, 356.2)--(56.7, 356.3)--(56.5, 356.6)--(56.4, 357.0)--(56.1, 357.1)--(56.0, 357.1)--(55.8, 357.2)--(55.7, 357.2)--(55.4, 357.1)--(55.3, 357.1)--(55.2, 357.1)--(55.1, 357.2)--(55.0, 357.2)--(54.8, 357.3)--(54.4, 357.5)--(54.3, 357.5)--(54.2, 357.5)--(54.1, 357.4)--(54.0, 357.4)--(53.9, 357.4)--(53.8, 357.5)--(53.8, 357.6)--(53.8, 357.7)--(53.8, 357.8)--(53.9, 357.9)--(54.0, 358.0)--(53.9, 358.1)!
--(53.9, 358.2)--(54.0, 358.2)--(54.0, 358.3)--(54.1, 358.3)--(54.1, 358.4)--(54.1, 358.5)--(54.1, 358.6)--(53.8, 358.9)--(53.7, 359.1)--(53.7, 359.2)--(53.6, 359.2)--(53.5, 359.3)--(52.6, 359.7)--(52.7, 360.0)--(52.7, 360.1)--(52.8, 360.6)--(52.8, 360.7)--(52.9, 360.8)--(53.0, 360.9)--(53.0, 361.0)--(53.0, 361.1)--(52.9, 361.2)--(52.8, 361.3)--(52.7, 361.5)--(52.5, 361.7)--(52.4, 361.9)--(52.3, 362.0)--(52.3, 362.1)--(52.3, 362.3)--(52.4, 362.3)--(52.5, 362.5)--(52.6, 362.7)--(52.7, 363.0)--(52.5, 363.2)--(52.5, 363.3)--(52.3, 363.5)--(52.1, 363.7)--(52.0, 363.8)--(51.8, 363.8)--(51.6, 363.8)--(51.5, 363.9)--(51.3, 364.0)--(51.2, 364.1)--(51.2, 364.2)--(51.3, 364.7)--(51.3, 365.0)--(51.4, 365.6)--(51.5, 365.8)--(51.5, 365.9)--(51.5, 366.0)--(51.4, 366.2)--(51.3, 366.3)--(51.3, 366.4)--(51.3, 366.6)--(51.3, 366.8)--(51.3, 366.9)--(51.4, 367.2)--(51.5, 367.6)--(51.6, 367.9)--(51.6, 368.0)--(51.6, 368.3)--(51.6, 368.7)--(51.6, 368.9)--(51.6, 369.0)--(51.6, 369.1)--(51.6, 369.2)--(51.5, 369.3)--(51.5, 369.4)--(51.4, 369.4)--(51.2, 369.7)--(51.0, 369.9)--(50.9, 370.1)--(50.9, 370.2)--(50.8, 370.3)--(50.8, 370.5)--(50.7, 370.7)--(50.6, 371.0)--(50.6, 371.7)--(50.5, 371.8)--(50.5, 371.9)--(50.5, 372.0)--(50.6, 372.0)--(50.9, 372.2)--(51.0, 372.3)--(51.1, 372.4)--(51.2, 372.5)--(51.3, 372.7)--(51.4, 372.9)--(51.5, 373.1)--(51.5, 373.2)--(51.5, 373.3)--(51.5, 373.4)--(51.4, 373.5)--(51.4, 373.6)--(51.3, 373.6)--(51.3, 373.7)--(51.0, 373.6)--(50.9, 373.6)--(50.8, 373.6)--(50.7, 373.6)--(50.6, 373.7)--(50.5, 373.7)--(50.5, 373.8)--(50.4, 373.9)--(50.3, 374.0)--(50.2, 374.1)--(50.1, 374.1)--(50.0, 374.2)--(49.8, 374.2)--(49.7, 374.2)--(49.5, 374.3)--(49.4, 374.3)--(49.2, 374.4)--(49.0, 374.5)--(48.9, 374.6)--(48.8, 374.7)--(48.7, 374.8)--(48.6, 374.9)--(48.6, 375.0)--(48.6, 375.1)--(48.6, 375.2)--(48.6, 375.3)--(48.6, 375.4)--(48.5, 375.4)--(48.5, 375.5)--(48.4, 375.5)--(48.2, 375.6)--(48.1, 375.7)--(48.0, 375.8)--(47.9, 376.2)--(47.7, 376.6)--(47.7, 376.7)--(47.7, 376.8)--(47.7, 376.9)--(47.7, 377.0)--(47.8, 377.3)--(47.9!
, 377.4)--(47.9, 377.5)--(47.9, 377.6)--(47.9, 377.7)--(48.0, 377.8)--(48.1, 377.9)--(48.2, 378.0)--(48.2, 378.1)--(48.3, 378.2)--(48.3, 378.3)--(48.2, 378.5)--(48.2, 378.7)--(48.1, 379.0)--(48.0, 379.5)--(47.9, 379.7)--(47.8, 380.0)--(47.7, 380.1)--(47.6, 380.4)--(47.5, 380.7)--(47.4, 380.8)--(47.4, 380.9)--(47.3, 381.0)--(47.2, 381.1)--(46.8, 381.5)--(46.6, 381.7)--(46.5, 381.9)--(46.4, 381.9)--(46.2, 382.0)--(46.1, 382.1)--(46.0, 382.2)--(45.4, 382.5)--(45.2, 382.7)--(45.0, 382.8)--(44.5, 383.2)--(44.2, 383.4)--(44.1, 383.5)--(44.0, 383.6)--(43.9, 383.7)--(43.9, 383.8)--(43.8, 384.0)--(43.7, 384.3)--(43.6, 384.5)--(43.6, 384.6)--(43.6, 384.7)--(43.6, 384.8)--(43.6, 384.9)--(43.6, 385.1)--(43.7, 385.5)--(43.7, 385.8)--(43.7, 385.9)--(43.6, 386.1)--(43.4, 386.4)--(43.4, 386.6)--(43.3, 387.0)--(43.2, 387.3)--(43.2, 387.4)--(43.1, 387.7)--(43.0, 387.8)--(43.0, 387.9)--(42.9, 388.0)--(42.8, 388.0)--(42.8, 388.1)--(42.6, 388.1)--(42.6, 388.2)--(42.5, 388.2)--(42.5, 388.3)--(42.5, 388.4)--(42.4, 388.5)--(42.2, 388.7)--(42.1, 388.9)--(42.0, 389.0)--(42.0, 389.2)--(41.8, 389.6)--(41.7, 389.9)--(41.6, 390.2)--(41.6, 390.6)--(41.5, 390.8)--(41.4, 390.9)--(41.3, 390.9)--(41.2, 390.8)--(41.1, 390.8)--(41.0, 390.9)--(41.0, 391.0)--(40.9, 391.0)--(40.9, 391.1)--(40.9, 391.2)--(40.9, 391.3)--(41.0, 391.5)--(41.0, 391.7)--(41.0, 391.8)--(41.0, 391.9)--(40.9, 391.9)--(40.8, 391.9)--(40.7, 391.9)--(40.6, 391.9)--(40.5, 391.9)--(40.4, 392.0)--(40.4, 392.1)--(40.4, 392.2)--(40.4, 392.3)--(40.4, 392.5)--(40.4, 392.6)--(40.5, 392.6)--(40.5, 392.7)--(40.7, 392.8)--(40.7, 392.9)--(40.8, 392.9)--(40.8, 393.0)--(40.8, 393.1)--(40.9, 393.1)--(40.9, 393.2)--(40.9, 393.3)--(40.9, 393.4)--(40.9, 393.5)--(40.9, 393.8)--(41.0, 394.0)--(41.0, 394.1)--(41.0, 394.3)--(41.0, 394.7)--(41.0, 394.8)--(40.9, 394.8)--(40.9, 394.9)--(40.6, 395.3)--(40.5, 395.3)--(40.5, 395.4)--(40.4, 395.5)--(40.4, 395.6)--(40.4, 395.7)--(40.4, 395.8)--(40.3, 396.1)--(40.3, 396.3)--(40.3, 396.8)--(40.2, 397.1)--(40.1, 397.4)--(39.9, 398.2)--(39.6, 399.1)--(39.5, 399.2!
)--(39.5, 399.3)--(39.5, 399.4)--(39.5, 399.5)--(39.5, 400.0)--(39.5, 400.2)--(39.5, 400.3)--(39.5, 400.5)--(39.4, 400.6)--(39.3, 400.8)--(39.3, 400.9)--(39.3, 401.0)--(39.3, 401.2)--(39.4, 401.5)--(39.5, 401.9)--(39.5, 402.0)--(39.6, 402.1)--(39.6, 402.2)--(39.7, 402.3)--(39.8, 402.3)--(39.9, 402.3)--(40.2, 402.4)--(40.3, 402.4)--(40.4, 402.4)--(40.5, 402.4)--(40.6, 402.3)--(40.7, 402.2)--(40.9, 402.0)--(41.0, 401.9)--(41.1, 401.9)--(41.3, 401.8)--(41.4, 401.8)--(41.5, 401.8)--(41.6, 401.9)--(41.7, 402.0)--(41.9, 402.1)--(41.9, 402.2)--(42.1, 402.3)--(42.1, 402.4)--(42.2, 402.5)--(42.1, 402.6)--(42.1, 402.7)--(42.1, 402.8)--(42.2, 403.1)--(42.2, 403.3)--(42.3, 403.4)--(42.3, 403.5)--(42.4, 403.5)--(42.4, 403.6)--(42.4, 403.7)--(42.3, 403.7)--(42.3, 403.8)--(42.1, 403.9)--(42.0, 404.1)--(41.9, 404.2)--(41.8, 404.3)--(41.8, 404.4)--(41.8, 404.5)--(41.7, 404.6)--(41.7, 404.7)--(41.6, 405.4)--(41.5, 405.6)--(41.5, 405.8)--(41.6, 405.9)--(41.6, 406.0)--(41.6, 406.1)--(41.7, 406.2)--(41.7, 406.3)--(41.6, 406.3)--(41.5, 406.7)--(41.3, 407.3)--(41.2, 407.6)--(41.1, 407.8)--(41.1, 408.0)--(41.1, 408.4)--(41.1, 408.5)--(41.0, 408.8)--(40.8, 409.3)--(40.7, 409.5)--(40.7, 409.6)--(40.7, 409.8)--(40.7, 410.0)--(40.7, 410.1)--(40.6, 410.2)--(40.4, 410.3)--(40.3, 410.4)--(40.3, 410.5)--(40.2, 410.6)--(40.2, 410.7)--(40.2, 410.8)--(40.2, 410.9)--(40.3, 410.9)--(40.3, 411.0)--(40.4, 411.1)--(40.7, 411.3)--(40.8, 411.3)--(40.8, 411.4)--(40.8, 411.5)--(40.8, 411.6)--(40.6, 411.9)--(40.4, 412.0)--(40.4, 412.1)--(40.3, 412.1)--(40.4, 412.3)--(40.4, 412.6)--(40.4, 412.7)--(40.4, 413.0)--(40.4, 413.1)--(40.3, 413.2)--(40.4, 413.3)--(40.4, 413.4)--(40.4, 413.5)--(40.5, 413.5)--(40.6, 413.6)--(40.6, 413.7)--(40.7, 413.7)--(40.7, 413.8)--(40.7, 413.9)--(40.6, 414.1)--(40.6, 414.3)--(40.6, 414.4)--(40.6, 414.5)--(40.8, 414.9)--(40.8, 415.1)--(40.9, 415.3)--(41.0, 415.5)--(41.0, 415.6)--(41.0, 415.7)--(41.0, 415.8)--(41.0, 415.9)--(41.0, 416.1)--(41.0, 416.2)--(41.0, 416.4)--(41.0, 416.5)--(41.0, 416.6)--(41.0, 416.7)--(41.1, 417.0)--(41.!
1, 417.1)--(41.1, 417.2)--(41.2, 417.2)--(41.3, 417.3)--(41.5, 417.3)--(41.5, 417.4)--(41.6, 417.4)--(41.6, 417.5)--(41.6, 417.7)--(41.7, 417.9)--(41.7, 418.0)--(41.8, 418.5)--(41.8, 418.7)--(41.9, 418.9)--(42.2, 419.5)--(42.2, 419.6)--(42.2, 419.7)--(42.2, 419.8)--(42.2, 420.0)--(42.2, 420.1)--(42.3, 420.4)--(42.3, 420.6)--(42.3, 420.7)--(42.4, 420.7)--(42.5, 420.9)--(42.5, 421.0)--(42.6, 421.5)--(42.6, 421.7)--(42.6, 421.8)--(42.6, 421.9)--(42.6, 422.0)--(42.6, 422.1)--(42.5, 422.2)--(42.4, 422.4)--(42.2, 422.7)--(42.1, 422.8)--(42.0, 422.9)--(42.0, 423.0)--(41.9, 423.0)--(41.8, 423.1)--(41.7, 423.1)--(41.7, 423.2)--(41.6, 423.4)--(41.6, 423.5)--(41.6, 423.6)--(41.6, 423.7)--(41.5, 423.8)--(41.4, 423.8)--(41.2, 423.9)--(41.1, 423.9)--(40.9, 424.0)--(40.7, 424.1)--(40.3, 424.1)--(40.1, 424.2)--(40.0, 424.2)--(39.9, 424.3)--(39.8, 424.4)--(39.8, 424.5)--(39.7, 424.7)--(39.5, 424.9)--(39.5, 425.0)--(39.3, 425.2)--(39.3, 425.4)--(39.2, 425.4)--(39.2, 425.5)--(39.3, 425.6)--(39.3, 425.7)--(39.3, 426.0)--(39.3, 426.1)--(39.3, 426.3)--(39.2, 426.5)--(39.2, 426.7)--(39.2, 426.8)--(39.2, 426.9)--(39.3, 427.0)--(39.3, 427.2)--(39.4, 427.4)--(39.5, 427.5)--(39.5, 427.6)--(39.6, 427.7)--(39.7, 427.8)--(39.9, 428.0)--(40.2, 428.2)--(40.3, 428.2)--(40.4, 428.3)--(40.4, 428.4)--(40.5, 428.5)--(40.5, 428.7)--(40.4, 428.9)--(40.5, 429.0)--(40.6, 429.1)--(40.8, 429.5)--(40.8, 429.6)--(40.8, 429.7)--(40.8, 430.0)--(40.9, 430.2)--(40.9, 430.5)--(40.9, 430.6)--(40.9, 430.7)--(40.8, 430.8)--(40.5, 431.0)--(40.4, 431.1)--(40.2, 431.3)--(39.9, 431.5)--(39.9, 431.6)--(39.8, 431.7)--(39.6, 432.0)--(39.4, 432.2)--(39.2, 432.5)--(39.1, 432.6)--(39.1, 432.7)--(39.0, 432.7)--(39.0, 432.9)--(39.0, 433.0)--(39.0, 433.1)--(39.1, 433.1)--(39.1, 433.2)--(39.3, 433.3)--(39.4, 433.4)--(39.4, 433.5)--(39.4, 433.7)--(39.4, 433.8)--(39.4, 434.0)--(39.4, 434.1)--(39.5, 434.3)--(39.5, 434.4)--(39.6, 434.5)--(39.6, 434.6)--(39.7, 434.7)--(39.8, 434.9)--(40.2, 435.2)--(40.2, 435.3)--(40.4, 435.4)--(40.5, 435.4)--(40.6, 435.7)--(40.8, 435.8)--(40.9, 436.!
0)--(41.1, 436.1)--(41.2, 436.1)--(41.3, 436.2)--(41.4, 436.2)--(41.5, 436.2)--(41.6, 436.2)--(41.7, 436.2)--(41.8, 436.2)--(41.8, 436.1)--(41.9, 436.1)--(41.9, 436.0)--(42.0, 435.9)--(42.1, 435.8)--(42.2, 435.6)--(42.2, 435.5)--(42.4, 435.5)--(42.6, 435.5)--(42.8, 435.4)--(42.9, 435.4)--(43.1, 435.5)--(43.2, 435.5)--(43.2, 435.4)--(43.3, 435.4)--(43.5, 435.2)--(43.5, 435.0)--(43.6, 434.9)--(43.7, 434.9)--(43.8, 435.0)--(43.9, 435.0)--(44.0, 435.0)--(44.2, 434.9)--(44.3, 434.9)--(44.4, 434.9)--(44.5, 434.9)--(44.7, 434.9)--(44.7, 435.0)--(44.8, 435.0)--(45.0, 435.2)--(45.3, 434.6)--(45.7, 433.8)--(46.3, 432.8)--(46.5, 432.4)--(46.7, 432.1)--(46.7, 432.0)--(46.8, 431.8)--(46.8, 431.7)--(46.9, 431.5)--(47.0, 431.5)--(47.1, 431.3)--(47.2, 431.2)--(47.5, 430.9)--(47.7, 430.8)--(47.9, 430.6)--(48.2, 430.4)--(48.4, 430.2)--(48.6, 430.1)--(48.9, 429.9)--(49.2, 429.6)--(49.4, 429.5)--(49.7, 429.3)--(50.0, 429.0)--(50.1, 429.0)--(50.2, 428.9)--(50.4, 428.7)--(50.6, 428.6)--(50.7, 428.5)--(50.8, 428.5)--(51.0, 428.4)--(51.3, 428.3)--(51.5, 428.2)--(51.5, 428.1)--(51.7, 427.9)--(51.8, 427.9)--(52.0, 427.8)--(52.0, 427.7)--(52.2, 427.6)--(52.6, 427.3)--(52.7, 427.4)--(53.1, 427.0)--(53.6, 426.6)--(54.0, 426.3)--(54.4, 426.0)--(54.4, 426.1)--(54.5, 426.0)--(54.8, 425.9)--(55.0, 425.8)--(55.3, 425.7)--(55.4, 425.6)--(55.5, 425.5)--(55.7, 425.4)--(55.8, 425.2)--(55.9, 425.1)--(56.2, 424.7)--(56.3, 424.5)--(56.4, 424.5)--(56.8, 424.0)--(57.2, 423.6)--(57.5, 423.3)--(57.8, 423.0)--(58.2, 422.6)--(58.4, 422.3)--(59.2, 421.7)--(59.5, 421.5)--(59.7, 421.3)--(60.8, 420.0)--(61.0, 419.9)--(61.2, 419.7)--(61.7, 419.4)--(62.3, 419.0)--(62.8, 418.6)--(63.7, 418.1)--(64.1, 417.8)--(64.5, 417.6)--(65.0, 417.3)--(65.4, 417.0)--(65.6, 417.1)--(65.7, 417.0)--(65.8, 416.9)--(65.9, 416.8)--(66.8, 416.4)--(67.0, 416.3)--(67.4, 416.0)--(68.1, 415.7)--(68.8, 415.4)--(69.1, 415.2)--(69.3, 415.1)--(69.5, 415.2)--(69.7, 415.3)--(70.0, 415.4)--(70.1, 415.4)--(70.3, 415.5)--(70.4, 415.5)--(70.5, 415.6)--(70.8, 415.8)--(71.0, 416.0)--(71.6, 416.3)--(72!
.5, 417.0)--(72.9, 417.3)--(73.8, 417.8)--(74.1, 418.0)--(74.3, 418.2)--(74.4, 418.2)--(74.6, 418.3)--(74.7, 418.4)--(74.9, 418.6)--(75.0, 418.7)--(75.3, 419.1)--(75.4, 419.2)--(75.4, 419.3)--(75.5, 419.4)--(75.5, 419.5)--(75.6, 419.6)--(75.6, 420.0)--(75.7, 420.3)--(75.8, 420.5)--(75.9, 420.7)--(75.9, 420.8)--(76.0, 421.2)--(76.2, 421.6)--(76.5, 422.4)--(76.6, 422.7)--(76.7, 422.9)--(76.9, 423.1)--(77.0, 423.3)--(77.1, 423.4)--(77.2, 423.5)--(77.3, 423.5)--(77.4, 423.5)--(77.6, 423.5)--(77.9, 423.5)--(78.0, 423.5)--(78.1, 423.4)--(78.5, 423.3)--(78.6, 423.3)--(78.7, 423.3)--(78.9, 423.4)--(79.0, 423.4)--(79.2, 423.4)--(79.5, 423.5)--(79.7, 423.6)--(80.0, 423.8)--(80.2, 423.8)--(80.3, 423.9)--(80.5, 424.0)--(80.7, 424.0)--(81.0, 424.0)--(81.4, 423.9)--(81.5, 423.9)--(82.0, 423.9)--(82.1, 423.9)--(82.2, 423.8)--(82.3, 423.8)--(82.4, 423.7)--(82.5, 423.6)--(82.7, 423.5)--(83.0, 423.5)--(83.1, 423.5)--(83.2, 423.4)--(83.5, 423.3)--(83.6, 423.3)--(83.6, 423.2)--(83.7, 423.1)--(83.8, 423.1)--(83.9, 423.0)--(84.0, 423.0)--(84.2, 423.0)--(84.4, 422.9)--(84.6, 422.8)--(84.8, 422.7)--(85.0, 422.6)--(85.2, 422.5)--(85.3, 422.5)--(85.5, 422.4)--(85.6, 422.4)--(85.7, 422.3)--(85.8, 422.3)--(85.9, 422.3)--(86.0, 422.2)--(86.6, 422.1)--(86.9, 422.0)--(87.0, 422.1)--(87.1, 422.1)--(87.3, 422.1)--(87.7, 422.0)--(87.9, 421.9)--(88.3, 421.8)--(88.5, 421.7)--(88.6, 421.7)--(88.9, 421.6)--(89.0, 421.6)--(89.1, 421.6)--(89.3, 421.5)--(89.9, 421.1)--(90.0, 421.0)--(90.1, 420.9)--(90.2, 420.9)--(90.3, 420.8)--(90.4, 420.8)--(90.5, 420.8)--(90.6, 420.8)--(90.8, 420.8)--(90.9, 420.8)--(91.2, 420.8)--(91.8, 420.7)--(92.0, 420.7)--(92.2, 420.7)--(92.5, 420.8)--(92.6, 420.8)--(92.9, 420.8)--(93.3, 420.8)--(93.7, 420.8)--(94.1, 420.8)--(94.2, 420.8)--(94.5, 420.8)--(95.0, 420.7)--(95.1, 420.7)--(95.4, 420.7)--(95.7, 420.6)--(96.0, 420.5)--(96.1, 420.5)--(96.2, 420.5)--(96.5, 420.5)--(96.7, 420.4)--(97.0, 420.4)--(97.2, 420.3)--(97.4, 420.2)--(97.6, 420.1)--(97.7, 420.0)--(97.8, 420.0)--(97.9, 419.9)--(98.0, 419.8)--(98.1, 419.7)--(98.6, 419!
.4)--(99.5, 418.8)--(99.6, 418.7)--(99.9, 418.4)--(100.0, 418.3)--(100.5, 417.9)--(100.6, 417.8)--(100.7, 417.7)--(101.0, 417.5)--(101.1, 417.5)--(101.2, 417.5)--(101.6, 417.5)--(101.9, 417.5)--(102.6, 417.4)--(103.0, 417.3)--(103.2, 417.3)--(103.5, 417.3)--(103.8, 417.3)--(105.1, 417.1)--(105.3, 417.1)--cycle;
+Hounslow = (219.8, 281.0)--(219.7, 281.0)--(219.6, 281.0)--(219.0, 280.6)--(217.9, 279.6)--(217.9, 279.5)--(217.8, 279.4)--(217.6, 279.4)--(217.6, 279.3)--(217.4, 279.1)--(217.2, 278.9)--(216.6, 278.0)--(216.5, 277.9)--(216.5, 277.8)--(216.4, 277.6)--(216.3, 277.6)--(216.2, 277.6)--(216.4, 277.4)--(216.1, 276.9)--(216.0, 276.4)--(215.6, 275.4)--(215.5, 275.1)--(215.3, 274.1)--(215.1, 273.3)--(215.1, 272.8)--(215.1, 272.3)--(215.2, 272.3)--(215.2, 272.2)--(215.1, 272.2)--(215.3, 271.1)--(215.4, 270.0)--(215.4, 269.6)--(215.4, 269.3)--(215.3, 269.1)--(215.3, 269.0)--(215.2, 268.3)--(215.0, 267.4)--(214.7, 266.5)--(214.6, 266.1)--(214.2, 265.2)--(213.9, 264.5)--(213.8, 264.4)--(213.4, 263.6)--(213.4, 263.5)--(213.1, 263.2)--(213.0, 263.3)--(212.8, 263.1)--(212.8, 263.0)--(212.8, 262.9)--(211.8, 262.2)--(211.4, 262.0)--(210.9, 261.8)--(210.7, 261.8)--(210.3, 261.6)--(210.0, 261.5)--(209.7, 261.5)--(209.5, 261.4)--(209.4, 261.4)--(209.1, 261.4)--(208.3, 261.4)--(207.8, 261.4)--(206.9, 261.5)--(206.3, 261.7)--(206.0, 261.7)--(205.9, 261.8)--(205.8, 261.8)--(205.6, 261.9)--(204.9, 262.3)--(204.3, 262.7)--(203.8, 263.1)--(203.5, 263.4)--(203.4, 263.5)--(203.3, 263.6)--(203.2, 263.6)--(203.1, 263.8)--(203.0, 263.8)--(202.9, 264.0)--(202.5, 264.4)--(202.0, 264.9)--(202.0, 265.0)--(201.7, 265.5)--(201.6, 265.4)--(201.6, 265.5)--(201.5, 265.6)--(201.6, 265.7)--(201.5, 265.8)--(201.4, 265.7)--(201.2, 265.9)--(201.0, 266.4)--(200.4, 267.2)--(200.0, 268.1)--(199.8, 268.4)--(199.8, 268.7)--(199.7, 268.7)--(199.5, 269.4)--(199.4, 269.8)--(199.3, 270.3)--(198.8, 271.4)--(198.4, 272.4)--(198.5, 272.5)--(198.3, 273.0)--(198.2, 273.0)--(198.0, 273.4)--(197.4, 274.4)--(197.4, 274.5)--(197.3, 274.7)--(197.2, 274.8)--(197.1, 274.8)--(197.0, 275.0)--(196.6, 275.5)--(196.1, 275.9)--(195.7, 276.4)--(195.0, 276.9)--(194.4, 277.5)--(194.2, 277.6)--(194.1, 277.7)--(194.0, 277.7)--(193.9, 277.8)--(193.8, 277.8)--(192.7, 278.4)--(192.6, 278.4)--(192.2, 278.6)--(191.9, 278.7)--(191.3, 278.8)--(190.7, 279.0)--(190.7, 279.1)--(190.3, 279!
.2)--(190.2, 279.3)--(190.2, 279.1)--(190.1, 279.1)--(190.0, 279.2)--(189.9, 279.2)--(189.4, 279.2)--(189.1, 279.2)--(188.9, 279.2)--(188.4, 279.1)--(188.0, 279.0)--(187.3, 279.0)--(187.1, 279.0)--(186.9, 278.9)--(186.5, 278.8)--(186.3, 278.8)--(185.5, 278.4)--(185.2, 278.2)--(184.4, 277.9)--(183.9, 277.5)--(182.5, 276.6)--(182.1, 276.3)--(181.8, 276.0)--(181.5, 275.5)--(181.2, 275.1)--(181.1, 274.8)--(181.1, 274.7)--(181.3, 275.0)--(181.4, 275.0)--(181.7, 274.4)--(181.6, 274.3)--(181.6, 274.1)--(181.0, 274.6)--(180.7, 274.4)--(180.6, 274.3)--(180.7, 274.2)--(180.9, 274.4)--(181.0, 274.4)--(181.3, 274.1)--(181.3, 274.0)--(180.5, 273.7)--(179.0, 273.3)--(178.7, 273.1)--(178.5, 273.0)--(178.5, 272.8)--(178.6, 272.8)--(178.7, 272.8)--(179.1, 272.9)--(179.9, 273.2)--(181.0, 273.6)--(181.1, 273.6)--(181.2, 273.6)--(181.2, 273.5)--(181.3, 273.5)--(181.4, 273.4)--(181.2, 273.0)--(181.1, 272.8)--(181.1, 272.7)--(181.0, 272.7)--(180.8, 272.6)--(180.8, 272.5)--(180.9, 272.5)--(180.9, 272.4)--(180.5, 271.9)--(180.3, 271.7)--(179.6, 270.9)--(179.0, 270.3)--(178.9, 270.3)--(178.9, 270.2)--(178.8, 270.2)--(178.7, 270.2)--(178.7, 270.1)--(178.7, 270.0)--(178.7, 269.9)--(178.6, 269.9)--(178.5, 270.1)--(178.4, 270.1)--(178.5, 269.9)--(178.4, 269.8)--(178.4, 269.7)--(178.4, 269.6)--(178.3, 269.5)--(178.4, 269.5)--(178.4, 269.4)--(178.2, 269.1)--(178.1, 268.8)--(178.0, 268.7)--(178.0, 268.6)--(177.9, 268.6)--(177.9, 268.5)--(177.8, 268.4)--(177.7, 268.5)--(177.6, 268.5)--(177.7, 268.4)--(177.8, 268.3)--(177.7, 268.1)--(177.7, 268.0)--(177.6, 267.8)--(177.5, 267.8)--(177.5, 267.7)--(177.4, 267.2)--(177.4, 267.1)--(177.2, 267.0)--(177.2, 266.9)--(177.1, 266.8)--(177.1, 266.7)--(177.1, 266.6)--(176.7, 266.1)--(176.7, 266.0)--(176.6, 266.0)--(176.5, 265.9)--(176.4, 265.9)--(176.3, 265.8)--(176.3, 265.7)--(176.2, 265.7)--(176.1, 265.6)--(176.1, 265.5)--(176.0, 265.5)--(175.9, 265.5)--(175.9, 265.4)--(175.7, 265.2)--(175.6, 265.2)--(175.6, 265.1)--(175.5, 265.1)--(175.5, 265.0)--(175.4, 265.0)--(175.3, 264.9)--(175.2, 264.9)--(175.1, 26!
4.7)--(175.0, 264.7)--(175.0, 264.6)--(174.9, 264.6)--(174.9, 264.5)--(174.8, 264.5)--(174.7, 264.4)--(174.6, 264.4)--(174.6, 264.3)--(174.5, 264.3)--(174.4, 264.2)--(174.3, 264.1)--(174.3, 264.0)--(174.2, 264.1)--(174.1, 264.0)--(174.1, 263.9)--(174.0, 263.9)--(173.8, 263.7)--(173.7, 263.7)--(173.7, 263.6)--(173.6, 263.6)--(173.5, 263.6)--(173.5, 263.5)--(173.4, 263.4)--(173.3, 263.4)--(173.3, 263.3)--(173.1, 263.2)--(173.0, 263.2)--(172.9, 263.2)--(172.9, 263.1)--(172.8, 263.1)--(172.7, 263.0)--(172.3, 262.8)--(172.2, 262.8)--(172.1, 262.8)--(172.1, 262.7)--(172.0, 262.7)--(172.0, 262.6)--(171.9, 262.6)--(171.8, 262.6)--(171.8, 262.5)--(171.7, 262.5)--(171.6, 262.4)--(170.9, 262.0)--(170.8, 262.0)--(170.6, 261.8)--(170.5, 261.8)--(170.4, 261.7)--(170.0, 261.5)--(169.9, 261.5)--(169.8, 261.4)--(169.7, 261.3)--(169.4, 261.2)--(168.7, 260.8)--(168.6, 260.7)--(168.4, 260.7)--(168.0, 260.5)--(167.8, 260.5)--(167.7, 260.4)--(167.6, 260.3)--(167.3, 260.2)--(167.3, 260.1)--(167.0, 259.7)--(166.9, 259.7)--(166.8, 259.5)--(166.4, 259.6)--(166.4, 259.5)--(166.8, 259.4)--(166.5, 258.2)--(166.4, 258.2)--(166.4, 258.0)--(166.3, 257.9)--(166.2, 257.8)--(166.3, 257.8)--(166.4, 257.2)--(166.6, 256.7)--(166.6, 256.2)--(166.6, 254.8)--(166.6, 254.4)--(166.8, 253.8)--(166.7, 253.8)--(166.2, 253.8)--(166.1, 253.8)--(166.0, 253.8)--(165.9, 253.8)--(165.8, 253.8)--(165.7, 253.8)--(165.6, 253.8)--(165.6, 253.7)--(165.5, 253.7)--(165.4, 253.6)--(165.3, 253.5)--(165.2, 253.3)--(165.0, 253.1)--(164.8, 252.8)--(164.6, 252.6)--(164.4, 252.2)--(164.3, 251.8)--(164.2, 251.5)--(164.1, 251.5)--(164.1, 251.2)--(164.1, 251.1)--(164.0, 251.0)--(164.0, 250.9)--(163.9, 250.8)--(163.9, 250.7)--(163.9, 250.5)--(163.8, 250.5)--(163.7, 250.4)--(163.7, 250.3)--(163.7, 250.0)--(163.4, 249.7)--(163.4, 249.6)--(163.4, 249.5)--(163.4, 249.4)--(163.3, 249.4)--(163.3, 249.3)--(163.3, 249.1)--(163.3, 249.0)--(163.4, 249.0)--(163.4, 248.9)--(163.5, 248.9)--(163.6, 248.9)--(163.6, 248.8)--(163.7, 248.8)--(163.7, 248.7)--(163.7, 248.6)--(163.7, 248.5)--(163.6, 2!
48.5)--(163.6, 248.4)--(163.6, 248.2)--(163.5, 248.0)--(163.5, 247.9)--(163.5, 247.8)--(163.4, 247.8)--(163.4, 247.7)--(163.5, 247.7)--(163.5, 247.6)--(163.6, 247.6)--(163.7, 247.6)--(163.8, 247.6)--(163.8, 247.5)--(163.8, 247.4)--(163.8, 247.3)--(163.7, 247.3)--(163.7, 247.2)--(163.7, 247.1)--(163.6, 247.1)--(163.6, 247.0)--(163.7, 247.0)--(163.7, 246.9)--(163.7, 246.8)--(163.8, 246.8)--(163.8, 246.7)--(164.0, 246.5)--(164.0, 246.4)--(163.9, 246.4)--(163.9, 246.3)--(163.9, 246.2)--(164.0, 246.2)--(164.1, 246.0)--(164.2, 245.9)--(164.3, 245.8)--(164.3, 245.7)--(164.3, 245.5)--(164.2, 245.4)--(164.0, 245.3)--(163.9, 245.3)--(163.8, 245.1)--(163.6, 244.8)--(163.6, 244.7)--(163.4, 244.5)--(163.3, 244.4)--(163.2, 244.4)--(163.1, 244.4)--(162.9, 244.8)--(162.5, 245.3)--(162.3, 245.4)--(162.1, 245.5)--(161.9, 245.5)--(161.5, 245.5)--(161.0, 245.3)--(160.7, 245.2)--(160.5, 244.9)--(160.3, 244.7)--(160.0, 244.1)--(159.8, 243.8)--(159.6, 243.6)--(159.6, 243.1)--(159.5, 243.0)--(159.4, 242.9)--(159.3, 242.7)--(159.2, 242.6)--(159.2, 242.5)--(159.0, 242.4)--(158.9, 242.4)--(158.8, 242.3)--(158.7, 242.6)--(158.3, 242.7)--(158.0, 242.7)--(157.1, 242.8)--(156.9, 242.8)--(156.7, 242.6)--(156.7, 242.4)--(156.5, 241.6)--(156.3, 241.7)--(156.1, 241.7)--(156.0, 241.8)--(156.0, 242.0)--(155.8, 242.5)--(155.9, 242.5)--(155.3, 243.2)--(155.0, 243.0)--(154.7, 243.3)--(154.4, 243.8)--(154.0, 244.3)--(153.9, 244.5)--(153.8, 244.7)--(153.8, 245.0)--(153.8, 245.1)--(153.8, 245.2)--(153.8, 245.5)--(153.9, 245.9)--(154.0, 246.2)--(154.1, 246.5)--(154.1, 246.7)--(153.9, 246.7)--(153.8, 246.7)--(153.5, 246.6)--(153.2, 246.5)--(153.1, 246.4)--(153.0, 246.3)--(152.9, 246.1)--(152.8, 246.0)--(152.6, 245.7)--(152.4, 245.4)--(152.2, 245.3)--(151.8, 245.3)--(151.7, 245.3)--(151.6, 245.3)--(151.4, 245.2)--(151.3, 245.2)--(151.1, 245.2)--(150.9, 245.2)--(150.8, 245.1)--(150.6, 245.1)--(150.4, 244.9)--(150.4, 244.6)--(150.3, 244.5)--(150.1, 244.4)--(150.0, 244.4)--(149.8, 244.3)--(149.7, 244.3)--(149.4, 244.2)--(149.2, 244.0)--(149.0, 244.0)--(148.9, !
243.9)--(148.7, 243.9)--(148.3, 243.8)--(147.9, 243.8)--(147.3, 243.8)--(147.0, 243.8)--(146.8, 243.8)--(146.2, 243.8)--(145.7, 243.8)--(145.5, 243.8)--(145.4, 243.8)--(145.4, 243.9)--(145.4, 244.4)--(145.2, 244.7)--(145.1, 244.9)--(144.9, 245.3)--(143.9, 245.5)--(143.7, 245.5)--(142.8, 245.5)--(142.6, 245.5)--(142.3, 245.5)--(142.1, 245.5)--(141.8, 245.4)--(141.3, 245.3)--(140.5, 245.2)--(139.4, 245.0)--(139.0, 244.8)--(138.7, 244.6)--(138.4, 244.6)--(137.5, 244.5)--(137.3, 244.5)--(137.3, 244.6)--(136.9, 244.7)--(135.5, 244.4)--(135.3, 244.3)--(135.1, 244.3)--(135.0, 244.2)--(134.8, 244.0)--(134.5, 243.7)--(134.5, 243.6)--(133.7, 243.7)--(133.6, 243.7)--(133.0, 243.8)--(132.1, 243.9)--(131.7, 244.0)--(131.7, 243.8)--(131.6, 243.7)--(131.5, 243.9)--(131.3, 244.2)--(131.1, 244.0)--(130.5, 243.5)--(130.2, 243.2)--(129.8, 242.9)--(129.8, 242.8)--(129.4, 242.2)--(129.2, 242.0)--(129.0, 241.7)--(128.8, 241.5)--(128.5, 241.0)--(128.3, 240.8)--(128.1, 240.5)--(127.4, 239.6)--(126.8, 238.8)--(126.2, 238.0)--(125.2, 236.7)--(124.7, 236.0)--(124.3, 235.5)--(124.1, 235.2)--(123.5, 235.6)--(121.3, 235.0)--(121.4, 235.0)--(121.4, 234.9)--(121.5, 234.7)--(121.9, 234.3)--(122.0, 234.1)--(122.1, 233.9)--(122.3, 233.8)--(122.3, 233.7)--(122.4, 233.6)--(122.3, 233.3)--(122.3, 233.2)--(122.3, 233.0)--(122.3, 232.7)--(122.3, 232.6)--(122.3, 232.5)--(122.4, 232.4)--(122.4, 232.2)--(122.4, 232.1)--(122.6, 231.9)--(122.8, 231.8)--(123.7, 231.2)--(123.9, 231.0)--(124.1, 230.9)--(124.5, 230.4)--(124.8, 230.2)--(125.5, 230.1)--(125.8, 230.0)--(126.4, 229.8)--(127.0, 229.6)--(127.0, 229.5)--(127.1, 229.4)--(127.0, 229.2)--(127.0, 229.0)--(127.1, 228.9)--(127.2, 228.8)--(127.2, 228.7)--(127.3, 228.7)--(127.2, 228.5)--(127.1, 228.4)--(127.1, 228.3)--(127.2, 228.1)--(127.3, 228.0)--(127.5, 227.8)--(127.9, 227.6)--(128.1, 227.5)--(128.3, 227.4)--(128.5, 227.4)--(128.7, 227.4)--(128.9, 227.5)--(129.0, 227.6)--(129.1, 227.9)--(129.2, 228.0)--(129.3, 228.1)--(129.6, 228.2)--(129.7, 228.2)--(129.8, 228.2)--(129.9, 228.1)--(130.4, 228.0)--(130.5,!
228.1)--(130.6, 228.1)--(131.1, 228.1)--(131.2, 228.2)--(131.3, 228.4)--(131.3, 228.5)--(131.3, 228.6)--(131.4, 228.7)--(131.4, 228.8)--(131.5, 228.8)--(131.6, 228.8)--(131.8, 228.8)--(132.0, 228.8)--(132.1, 228.6)--(132.3, 228.5)--(132.4, 228.5)--(132.8, 228.5)--(132.9, 228.4)--(133.1, 228.3)--(133.2, 228.3)--(133.3, 228.2)--(133.4, 228.1)--(134.0, 227.6)--(134.2, 227.5)--(134.4, 227.4)--(134.5, 227.4)--(135.0, 227.2)--(135.4, 227.0)--(135.6, 226.9)--(135.9, 226.8)--(136.0, 226.7)--(133.6, 224.9)--(130.5, 222.7)--(128.5, 221.1)--(128.5, 220.6)--(129.7, 219.8)--(129.7, 219.7)--(129.6, 219.7)--(129.5, 219.5)--(129.1, 219.3)--(128.8, 219.2)--(128.5, 219.0)--(128.3, 218.8)--(127.8, 218.4)--(127.5, 218.1)--(126.0, 216.9)--(125.3, 216.3)--(125.2, 216.2)--(125.1, 216.1)--(124.8, 215.9)--(124.6, 215.5)--(124.3, 215.2)--(124.0, 215.0)--(123.7, 214.6)--(123.2, 214.1)--(123.0, 213.8)--(122.4, 213.1)--(122.2, 212.9)--(122.1, 212.7)--(121.7, 212.0)--(121.7, 211.9)--(122.0, 211.8)--(122.2, 211.4)--(121.6, 211.1)--(121.5, 211.2)--(121.4, 211.3)--(121.4, 211.2)--(121.6, 210.9)--(121.9, 210.5)--(121.9, 210.3)--(122.1, 209.9)--(122.6, 209.0)--(122.8, 208.7)--(122.9, 208.3)--(123.2, 207.6)--(123.4, 207.2)--(123.7, 206.7)--(123.9, 206.4)--(124.1, 206.0)--(124.4, 205.5)--(124.5, 205.3)--(124.5, 205.2)--(124.4, 204.9)--(124.3, 204.6)--(124.2, 204.3)--(124.0, 203.9)--(124.0, 203.8)--(123.8, 203.6)--(123.8, 203.5)--(123.7, 203.3)--(123.7, 203.2)--(123.6, 203.2)--(123.4, 203.3)--(123.0, 203.5)--(122.5, 203.9)--(121.7, 204.4)--(120.9, 204.9)--(120.3, 205.3)--(120.1, 205.4)--(119.9, 205.6)--(119.6, 205.8)--(119.1, 205.9)--(118.8, 206.0)--(118.5, 206.1)--(118.4, 205.9)--(118.7, 205.7)--(118.9, 205.5)--(119.0, 205.5)--(119.2, 205.3)--(119.3, 205.1)--(119.4, 204.9)--(119.5, 204.8)--(119.4, 204.9)--(119.3, 204.9)--(119.2, 205.0)--(119.0, 205.1)--(118.9, 205.2)--(118.7, 205.3)--(118.6, 205.3)--(118.4, 205.4)--(118.3, 205.5)--(118.1, 205.5)--(117.9, 205.6)--(117.8, 205.7)--(117.6, 205.7)--(117.4, 205.8)--(117.2, 205.8)--(117.1, 205.9)--(117.0!
, 205.9)--(116.9, 205.9)--(116.8, 205.9)--(116.6, 205.9)--(116.5, 206.0)--(116.3, 206.0)--(116.1, 206.0)--(115.9, 206.0)--(115.7, 206.1)--(115.6, 206.1)--(115.4, 206.1)--(115.2, 206.1)--(115.0, 206.1)--(114.7, 206.1)--(114.5, 206.1)--(114.3, 206.1)--(114.0, 206.1)--(113.8, 206.1)--(113.7, 206.1)--(113.5, 206.0)--(113.2, 206.0)--(113.0, 206.0)--(112.8, 205.9)--(112.6, 205.9)--(112.4, 205.8)--(112.2, 205.8)--(112.0, 205.7)--(111.8, 205.7)--(111.6, 205.6)--(111.5, 205.5)--(111.3, 205.5)--(111.1, 205.4)--(110.9, 205.3)--(110.7, 205.2)--(110.6, 205.2)--(110.4, 205.1)--(110.0, 204.9)--(109.7, 204.8)--(109.3, 205.0)--(109.0, 205.2)--(108.9, 205.3)--(108.6, 205.5)--(108.0, 206.0)--(107.7, 206.2)--(107.5, 206.3)--(107.5, 206.4)--(107.5, 206.6)--(107.4, 206.7)--(107.3, 206.9)--(107.3, 207.1)--(107.3, 207.5)--(107.2, 207.7)--(107.1, 207.8)--(107.1, 208.1)--(106.9, 208.4)--(106.7, 208.5)--(106.6, 208.7)--(106.4, 208.9)--(106.3, 209.0)--(106.2, 209.2)--(106.1, 209.3)--(106.1, 209.4)--(106.0, 209.6)--(105.8, 210.0)--(105.8, 210.1)--(105.5, 210.3)--(105.5, 210.4)--(105.3, 210.5)--(105.2, 210.5)--(104.9, 210.5)--(104.8, 210.6)--(104.5, 210.6)--(104.4, 210.6)--(104.2, 210.7)--(104.6, 211.7)--(103.3, 212.2)--(103.7, 213.1)--(102.1, 213.8)--(102.0, 213.6)--(101.9, 213.7)--(100.8, 214.1)--(100.9, 214.3)--(101.2, 215.1)--(100.9, 215.2)--(100.5, 215.0)--(100.4, 215.2)--(100.3, 215.3)--(100.3, 215.4)--(100.1, 215.5)--(100.0, 215.5)--(99.9, 215.6)--(99.8, 215.6)--(99.3, 215.5)--(99.2, 215.4)--(99.1, 215.4)--(98.9, 215.4)--(98.7, 215.4)--(98.5, 215.3)--(98.3, 215.2)--(98.1, 215.1)--(97.9, 215.0)--(97.6, 214.9)--(97.4, 214.6)--(97.3, 214.5)--(96.9, 214.2)--(96.8, 214.2)--(96.8, 214.1)--(96.9, 213.9)--(96.4, 214.0)--(96.3, 214.0)--(95.9, 213.9)--(95.4, 213.8)--(95.3, 213.7)--(94.9, 213.7)--(94.7, 213.8)--(94.4, 213.8)--(94.2, 213.8)--(94.1, 213.7)--(94.1, 213.6)--(94.0, 213.2)--(93.9, 212.3)--(93.9, 212.2)--(93.9, 212.0)--(92.8, 212.1)--(92.8, 211.5)--(92.6, 211.5)--(92.4, 211.5)--(92.0, 211.5)--(91.7, 211.6)--(91.4, 211.6)--(91.2, 211.6)!
--(90.9, 211.6)--(90.7, 211.6)--(90.6, 211.7)--(90.4, 211.7)--(90.0, 211.8)--(89.8, 211.8)--(89.1, 212.0)--(88.1, 212.4)--(86.7, 212.9)--(86.1, 213.1)--(85.4, 213.3)--(85.4, 213.4)--(85.4, 213.7)--(85.4, 214.3)--(85.4, 214.7)--(85.4, 214.9)--(85.4, 215.1)--(85.3, 215.4)--(85.3, 215.8)--(85.4, 216.6)--(85.4, 217.3)--(85.5, 217.8)--(84.5, 217.9)--(83.6, 217.9)--(82.9, 217.9)--(82.3, 218.0)--(81.7, 218.0)--(81.2, 218.0)--(80.5, 218.1)--(80.0, 218.1)--(80.1, 218.7)--(80.1, 219.1)--(80.2, 219.6)--(80.3, 220.4)--(80.4, 220.9)--(80.4, 221.2)--(80.6, 222.1)--(80.7, 223.1)--(80.8, 223.7)--(79.5, 223.2)--(78.6, 222.8)--(77.6, 222.5)--(76.8, 222.2)--(75.8, 221.9)--(75.7, 221.9)--(75.4, 221.8)--(75.3, 221.8)--(74.1, 221.5)--(73.8, 221.4)--(73.8, 221.6)--(73.8, 221.7)--(73.9, 221.8)--(73.9, 222.0)--(73.9, 222.3)--(74.0, 222.6)--(74.1, 223.1)--(74.1, 223.3)--(74.1, 223.5)--(74.2, 223.7)--(74.2, 223.9)--(74.2, 224.0)--(74.2, 224.3)--(74.2, 224.5)--(74.3, 224.8)--(74.3, 224.9)--(74.3, 225.1)--(74.5, 225.7)--(74.5, 225.9)--(74.4, 226.0)--(74.3, 226.1)--(74.1, 226.2)--(73.8, 226.3)--(73.0, 226.8)--(73.0, 227.0)--(73.1, 228.2)--(73.1, 228.5)--(73.1, 228.7)--(73.1, 229.4)--(73.0, 229.8)--(73.0, 230.2)--(72.9, 231.0)--(72.9, 231.2)--(72.8, 231.5)--(72.8, 231.6)--(72.8, 231.9)--(72.8, 232.1)--(72.8, 232.2)--(72.8, 232.7)--(72.9, 233.4)--(72.9, 233.6)--(72.8, 233.7)--(72.7, 233.8)--(72.6, 233.8)--(71.9, 233.7)--(71.0, 233.6)--(70.5, 233.5)--(70.1, 233.5)--(70.1, 234.9)--(70.1, 236.2)--(70.1, 237.2)--(71.1, 237.1)--(71.3, 237.6)--(71.5, 237.6)--(71.6, 238.4)--(71.7, 238.9)--(71.7, 239.8)--(71.7, 240.6)--(71.7, 241.1)--(71.7, 241.3)--(71.9, 241.6)--(72.4, 241.2)--(72.8, 241.0)--(73.2, 240.8)--(73.5, 240.6)--(73.8, 240.5)--(73.9, 240.5)--(74.0, 240.5)--(74.1, 240.5)--(74.2, 240.5)--(74.2, 240.6)--(74.1, 240.8)--(74.1, 240.9)--(74.3, 240.9)--(74.6, 240.9)--(74.8, 240.8)--(75.0, 240.8)--(75.1, 240.8)--(75.2, 240.7)--(75.1, 240.6)--(75.1, 240.5)--(75.1, 240.3)--(75.2, 240.2)--(75.3, 240.1)--(75.9, 239.9)--(76.3, 239.7)--(77.1, 239.5)--(77.8!
, 239.2)--(78.4, 239.0)--(78.8, 238.9)--(79.2, 238.8)--(79.8, 238.7)--(80.5, 238.6)--(81.6, 238.5)--(82.1, 238.5)--(82.7, 239.8)--(83.1, 240.6)--(83.5, 241.7)--(83.7, 242.2)--(83.8, 242.4)--(84.3, 242.3)--(84.6, 242.3)--(85.0, 242.3)--(85.1, 242.3)--(85.6, 242.3)--(85.9, 242.4)--(86.7, 242.5)--(87.1, 242.6)--(87.5, 242.6)--(87.9, 242.6)--(88.1, 242.6)--(88.3, 242.6)--(88.5, 242.9)--(87.8, 243.2)--(87.1, 243.5)--(87.3, 244.0)--(87.3, 244.3)--(87.4, 244.5)--(87.6, 244.9)--(87.8, 245.2)--(87.8, 245.4)--(87.9, 245.7)--(88.2, 246.1)--(88.3, 246.4)--(88.5, 246.9)--(88.7, 247.2)--(88.9, 247.5)--(89.0, 247.7)--(89.2, 248.0)--(89.8, 248.5)--(90.5, 249.0)--(91.2, 249.5)--(91.7, 249.8)--(91.9, 250.0)--(92.7, 250.6)--(93.6, 251.2)--(94.5, 251.8)--(95.5, 252.5)--(96.1, 252.9)--(96.8, 253.5)--(97.0, 253.6)--(97.1, 253.6)--(97.3, 253.7)--(97.5, 253.8)--(97.8, 253.9)--(97.9, 253.9)--(98.1, 253.8)--(98.3, 253.8)--(98.3, 253.9)--(98.3, 254.1)--(98.4, 254.2)--(98.7, 254.4)--(99.3, 254.7)--(100.0, 255.1)--(100.2, 255.2)--(101.1, 255.7)--(102.3, 256.3)--(103.4, 256.8)--(104.5, 257.4)--(104.6, 257.4)--(104.5, 257.8)--(104.4, 258.1)--(104.2, 258.3)--(103.9, 258.6)--(103.3, 259.0)--(103.3, 259.1)--(103.2, 259.3)--(103.1, 259.4)--(103.0, 259.7)--(102.9, 260.0)--(102.8, 260.1)--(102.7, 260.2)--(102.6, 260.3)--(102.5, 260.3)--(102.3, 260.5)--(102.2, 260.7)--(102.2, 260.8)--(102.1, 261.1)--(102.0, 261.3)--(101.9, 261.3)--(101.9, 261.4)--(101.8, 261.4)--(101.5, 261.5)--(101.4, 261.6)--(101.3, 261.7)--(101.2, 261.8)--(101.2, 261.9)--(101.2, 262.0)--(101.2, 262.4)--(101.3, 262.7)--(101.3, 262.9)--(101.4, 263.3)--(101.8, 264.2)--(101.7, 265.0)--(101.7, 265.5)--(101.5, 265.9)--(101.5, 266.0)--(101.5, 266.1)--(101.3, 267.0)--(101.1, 267.3)--(101.0, 267.5)--(100.9, 267.8)--(100.9, 267.9)--(100.7, 268.5)--(100.7, 268.6)--(100.6, 268.7)--(100.5, 268.9)--(100.4, 269.1)--(100.4, 269.3)--(100.4, 269.6)--(100.4, 269.9)--(100.5, 270.3)--(100.5, 270.8)--(100.6, 270.9)--(100.6, 271.0)--(100.5, 271.0)--(100.5, 271.1)--(100.4, 271.1)--(100.4, 271.2)--(100.3!
, 271.2)--(100.3, 271.3)--(100.3, 271.4)--(100.3, 271.5)--(100.4, 271.6)--(100.6, 271.8)--(100.7, 271.9)--(100.7, 272.0)--(100.8, 272.1)--(100.8, 272.6)--(100.9, 272.7)--(100.9, 272.9)--(101.1, 273.2)--(101.4, 274.0)--(101.7, 274.9)--(102.2, 275.4)--(102.2, 275.5)--(102.1, 275.5)--(101.9, 275.5)--(101.8, 275.5)--(101.7, 275.6)--(101.8, 275.8)--(101.8, 275.9)--(102.0, 276.2)--(102.2, 276.6)--(102.2, 276.7)--(102.3, 276.7)--(102.4, 276.7)--(102.5, 276.7)--(102.6, 276.7)--(102.6, 276.8)--(102.6, 276.9)--(102.6, 277.0)--(102.6, 277.1)--(102.7, 277.2)--(102.7, 277.3)--(102.8, 277.4)--(102.8, 277.6)--(102.8, 277.7)--(102.8, 277.8)--(102.8, 277.9)--(102.9, 277.9)--(102.9, 278.0)--(103.0, 278.1)--(103.1, 278.1)--(103.1, 278.2)--(103.1, 278.3)--(103.2, 279.0)--(103.5, 282.1)--(103.5, 282.2)--(103.5, 282.5)--(103.6, 284.0)--(103.7, 284.3)--(103.8, 285.3)--(103.8, 285.6)--(103.9, 285.8)--(104.0, 286.0)--(104.1, 286.1)--(104.3, 286.4)--(104.3, 286.5)--(104.3, 286.6)--(104.3, 286.7)--(104.3, 286.8)--(104.3, 287.0)--(104.3, 287.2)--(104.1, 288.1)--(104.1, 288.2)--(104.1, 288.3)--(104.1, 288.4)--(104.1, 288.5)--(104.2, 288.9)--(104.9, 290.9)--(105.1, 291.3)--(105.8, 291.1)--(106.2, 290.9)--(106.5, 290.7)--(106.7, 290.6)--(106.8, 290.6)--(107.0, 290.6)--(108.2, 290.1)--(109.2, 289.7)--(109.7, 289.5)--(110.5, 289.2)--(111.5, 288.8)--(111.5, 288.9)--(111.6, 288.8)--(112.6, 288.4)--(113.1, 288.2)--(114.6, 287.6)--(115.8, 287.1)--(117.0, 286.6)--(118.1, 286.2)--(119.1, 285.9)--(119.9, 285.6)--(120.3, 285.6)--(120.7, 285.4)--(121.4, 285.3)--(121.6, 285.3)--(121.8, 285.4)--(122.0, 285.4)--(122.3, 285.4)--(122.5, 285.4)--(122.9, 285.5)--(123.0, 285.5)--(123.1, 285.6)--(123.3, 285.6)--(123.5, 285.7)--(123.7, 285.8)--(123.9, 285.9)--(124.1, 286.0)--(124.3, 286.1)--(124.7, 286.3)--(125.5, 286.8)--(125.8, 286.9)--(126.1, 287.1)--(126.1, 287.2)--(126.3, 287.3)--(126.6, 287.4)--(127.0, 287.7)--(127.0, 287.6)--(127.2, 287.6)--(127.1, 287.5)--(127.1, 287.4)--(127.1, 287.2)--(127.1, 287.0)--(127.0, 286.4)--(127.5, 286.2)--(127.6, 286.2)--(127.!
8, 286.2)--(128.0, 286.3)--(128.5, 286.3)--(128.6, 285.8)--(128.7, 285.4)--(128.9, 285.1)--(129.0, 284.9)--(129.1, 284.7)--(129.2, 284.3)--(129.3, 284.0)--(129.8, 282.9)--(129.9, 282.5)--(130.0, 282.5)--(130.1, 282.4)--(130.2, 282.4)--(130.3, 282.2)--(130.4, 282.1)--(130.5, 282.0)--(130.7, 281.8)--(130.8, 281.6)--(130.9, 281.5)--(131.0, 281.5)--(131.1, 281.5)--(131.3, 281.5)--(131.3, 281.4)--(131.4, 281.3)--(131.4, 281.1)--(131.3, 281.0)--(131.3, 280.9)--(131.8, 281.2)--(132.7, 281.7)--(133.0, 281.9)--(133.5, 282.2)--(134.0, 282.5)--(133.8, 282.8)--(133.7, 283.0)--(133.8, 283.0)--(133.9, 283.1)--(134.1, 283.2)--(134.4, 283.4)--(134.6, 283.5)--(134.7, 283.6)--(134.7, 283.7)--(134.8, 283.7)--(134.8, 283.8)--(134.9, 283.9)--(135.0, 284.1)--(135.3, 284.4)--(135.5, 284.6)--(135.8, 284.2)--(136.0, 284.6)--(136.2, 284.9)--(136.3, 285.1)--(136.4, 285.3)--(136.6, 285.5)--(136.8, 285.6)--(136.9, 285.8)--(136.9, 286.1)--(136.9, 286.6)--(137.0, 286.6)--(137.0, 286.7)--(137.2, 286.8)--(137.2, 286.9)--(137.2, 287.0)--(137.4, 287.1)--(137.4, 287.2)--(137.5, 287.1)--(137.6, 287.2)--(137.7, 287.2)--(137.8, 287.2)--(137.9, 287.3)--(138.1, 287.3)--(138.2, 287.4)--(138.2, 287.5)--(138.3, 287.5)--(138.3, 287.6)--(138.4, 287.6)--(138.6, 287.8)--(138.8, 287.8)--(138.9, 287.9)--(139.0, 288.0)--(139.3, 288.1)--(139.7, 288.4)--(140.0, 288.6)--(140.3, 288.9)--(140.4, 289.1)--(140.5, 289.1)--(140.7, 289.2)--(140.8, 289.3)--(141.1, 289.3)--(141.3, 289.3)--(141.5, 289.4)--(141.7, 289.5)--(141.9, 289.5)--(142.0, 289.6)--(142.1, 289.6)--(142.1, 289.7)--(142.3, 289.7)--(142.4, 289.7)--(142.5, 289.7)--(142.7, 289.8)--(142.9, 289.9)--(143.0, 289.9)--(143.1, 289.8)--(143.1, 289.9)--(143.2, 289.9)--(144.0, 290.2)--(144.7, 290.5)--(145.6, 290.8)--(145.8, 290.9)--(145.9, 290.9)--(146.0, 290.9)--(146.2, 290.9)--(146.3, 290.9)--(146.3, 290.8)--(146.4, 290.8)--(146.5, 290.7)--(146.7, 290.6)--(147.5, 290.0)--(148.2, 289.6)--(149.0, 289.2)--(150.0, 288.6)--(150.9, 288.1)--(151.8, 287.6)--(152.3, 287.7)--(152.4, 287.6)--(153.1, 287.7)--(153.8, 287.8)--(154!
.3, 287.9)--(155.0, 287.9)--(155.5, 287.9)--(156.1, 287.9)--(156.5, 287.9)--(156.6, 287.9)--(157.0, 287.9)--(157.0, 287.8)--(157.4, 287.8)--(158.0, 287.6)--(158.4, 287.5)--(158.8, 287.4)--(159.0, 287.3)--(159.0, 287.4)--(159.4, 287.2)--(159.5, 287.2)--(159.6, 287.1)--(159.9, 287.0)--(160.3, 286.7)--(162.0, 287.8)--(162.4, 287.4)--(162.9, 286.7)--(163.3, 287.1)--(163.8, 287.7)--(163.9, 287.8)--(164.4, 287.6)--(164.8, 287.7)--(165.5, 287.3)--(166.2, 287.0)--(166.6, 286.8)--(166.9, 286.6)--(167.3, 286.3)--(167.8, 285.9)--(168.2, 286.2)--(168.5, 286.5)--(169.1, 287.1)--(170.1, 287.8)--(170.4, 287.6)--(170.4, 287.5)--(170.5, 287.5)--(170.2, 287.3)--(170.2, 287.2)--(170.9, 286.4)--(171.0, 286.2)--(171.1, 286.2)--(170.8, 285.8)--(170.7, 285.7)--(170.6, 285.7)--(170.8, 285.5)--(170.9, 285.4)--(171.1, 285.1)--(171.3, 285.3)--(171.4, 285.3)--(171.4, 285.2)--(171.5, 285.3)--(171.7, 285.1)--(171.9, 284.8)--(172.3, 284.3)--(172.4, 284.2)--(172.5, 284.1)--(172.9, 283.6)--(172.9, 283.5)--(173.6, 284.1)--(174.4, 284.7)--(175.0, 285.2)--(175.3, 285.4)--(175.6, 285.5)--(175.9, 285.7)--(176.6, 286.1)--(177.3, 286.5)--(177.2, 287.0)--(177.1, 287.4)--(177.0, 287.7)--(177.0, 288.0)--(177.0, 288.2)--(177.0, 288.3)--(177.2, 288.3)--(177.3, 288.2)--(177.4, 288.1)--(177.9, 288.0)--(178.4, 287.8)--(178.8, 287.7)--(179.2, 287.6)--(179.5, 287.5)--(180.2, 287.3)--(180.2, 287.2)--(180.2, 287.0)--(180.2, 286.8)--(180.4, 286.4)--(181.5, 286.7)--(182.3, 286.9)--(182.8, 287.0)--(182.4, 287.7)--(182.5, 287.7)--(182.3, 288.0)--(182.2, 288.2)--(181.9, 288.7)--(181.8, 288.9)--(181.7, 289.1)--(181.5, 289.5)--(181.4, 289.8)--(181.3, 289.9)--(181.2, 290.1)--(181.1, 290.2)--(181.0, 290.3)--(181.0, 290.6)--(181.0, 290.8)--(180.9, 290.9)--(180.8, 291.0)--(180.8, 291.1)--(180.7, 291.1)--(180.6, 291.3)--(180.5, 291.8)--(180.5, 291.9)--(180.9, 292.2)--(181.1, 292.3)--(182.0, 292.7)--(183.2, 293.4)--(183.6, 293.7)--(184.0, 293.9)--(184.4, 294.1)--(184.9, 294.4)--(185.0, 294.5)--(185.1, 294.5)--(185.2, 294.5)--(185.4, 294.5)--(185.5, 294.5)--(185.8, 294.5)--(18!
6.5, 294..4)--(186.9, 294.3)--(187.4, 294.2)--(187.9, 294.0)--(188.4, 293.9)--(188.8, 293.8)--(189.2, 293.8)--(189.4, 293.7)--(190.1, 293.6)--(190.6, 293.7)--(190.9, 293.8)--(191.2, 294.0)--(191.3, 294.0)--(191.5, 294.1)--(192.1, 294.4)--(192.6, 294.8)--(193.1, 295.1)--(193.2, 295.3)--(194.1, 296.0)--(194.2, 296.1)--(194.3, 296.1)--(194.6, 295.7)--(194.9, 295.3)--(195.0, 295.1)--(195.1, 295.0)--(195.2, 294.8)--(195.4, 294.4)--(195.6, 293.9)--(195.7, 293.7)--(195.8, 293.5)--(195.9, 293.2)--(196.0, 293.0)--(196.1, 292.8)--(196.2, 292.6)--(196.3, 292.4)--(196.8, 291.9)--(197.2, 291.4)--(197.5, 291.1)--(197.9, 290.8)--(198.9, 290.1)--(199.3, 289.7)--(199.6, 289.5)--(199.8, 289.2)--(200.0, 289.0)--(200.2, 288.8)--(200.3, 288.3)--(200.4, 288.0)--(200.5, 287.8)--(200.7, 287.6)--(200.9, 287.4)--(200.9, 287.3)--(201.0, 287.3)--(201.2, 287.1)--(201.4, 287.0)--(201.9, 286.7)--(202.4, 286.6)--(202.7, 286.5)--(203.1, 286.5)--(203.3, 286.5)--(203.5, 286.5)--(203.6, 286.4)--(204.3, 286.6)--(205.0, 286.7)--(205.8, 286.9)--(206.3, 287.0)--(207.0, 287.1)--(207.3, 287.2)--(207.6, 287.2)--(207.6, 287.3)--(207.7, 287.3)--(207.9, 287.3)--(208.0, 287.3)--(208.6, 287.4)--(208.8, 287.4)--(209.0, 287.5)--(209.9, 287.6)--(210.6, 287.7)--(211.4, 287.7)--(211.7, 287.7)--(211.9, 287.7)--(212.0, 287.7)--(212.0, 288.4)--(212.1, 288.6)--(212.0, 288.7)--(212.0, 288.9)--(211.9, 288.9)--(211.9, 289.0)--(212.0, 289.0)--(212.0, 289.2)--(212.1, 289.3)--(212.2, 289.3)--(212.2, 289.5)--(212.2, 289.6)--(212.3, 289.8)--(212.3, 289.9)--(212.3, 290.0)--(212.5, 290.5)--(212.5, 290.6)--(212.8, 291.1)--(213.0, 291.6)--(213.2, 292.1)--(213.4, 292.3)--(213.5, 292.8)--(213.7, 293.1)--(213.8, 293.3)--(213.8, 293.5)--(213.8, 293.7)--(213.7, 293.8)--(213.7, 294.0)--(213.6, 294.1)--(213.6, 294.3)--(213.6, 294.6)--(213.5, 294.9)--(213.5, 295.0)--(213.7, 294.8)--(213.7, 294.7)--(214.0, 294.4)--(214.2, 294.2)--(214.4, 293.9)--(214.5, 293.7)--(214.7, 293.3)--(214.8, 293.3)--(214.8, 293.2)--(215.0, 292.9)--(214.9, 292.8)--(215.0, 292.7)--(215.2, 292.4)--(215.7, 291.2)--(2!
16.2, 290.4)--(216.3, 290.1)--(216.5, 290.2)--(216.7, 290.3)--(217.2, 290.6)--(217.3, 290.7)--(217.5, 290.9)--(217.6, 291.0)--(217.9, 291.1)--(218.3, 291.3)--(218.5, 291.5)--(218.9, 291.7)--(219.0, 291.8)--(219.1, 291.5)--(219.2, 291.2)--(219.5, 291.3)--(219.6, 291.3)--(219.5, 290.9)--(219.4, 290.6)--(219.5, 290.0)--(219.5, 289.8)--(219.4, 289.7)--(219.4, 289.5)--(219.4, 289.2)--(219.6, 289.2)--(219.5, 288.9)--(219.5, 288.7)--(219.4, 288.6)--(219.4, 288.4)--(219.4, 288.0)--(219.3, 287.6)--(219.3, 287.2)--(219.1, 285.8)--(219.1, 285.5)--(219.1, 284.7)--(219.1, 284.3)--(219.1, 284.2)--(219.0, 283.3)--(219.0, 282.7)--(219.0, 282.6)--(219.0, 282.4)--(219.1, 282.3)--(219.2, 281.9)--(219.1, 281.8)--(219.2, 281.6)--(219.4, 281.4)--(219.6, 281.4)--(219.7, 281.1)--cycle;
+Islington = (291.5, 358.6)--(291.4, 358.8)--(290.9, 359.9)--(290.8, 360.1)--(290.6, 360.5)--(290.0, 361.8)--(289.8, 362.0)--(289.8, 362.1)--(289.7, 362.2)--(289.7, 362.3)--(289.6, 362.5)--(289.6, 362.6)--(289.6, 362.8)--(289.6, 363.2)--(289.6, 363.4)--(289.6, 363.6)--(289.6, 363.7)--(289.7, 364.2)--(289.8, 364.4)--(289.8, 364.5)--(289.8, 364.6)--(289.8, 364.9)--(289.8, 365.2)--(289.8, 365.5)--(289.7, 365.7)--(289.7, 365.8)--(289.7, 366.0)--(289.7, 366.1)--(289.7, 366.3)--(289.7, 366.8)--(289.7, 366.9)--(289.7, 367.0)--(289.7, 367.1)--(289.7, 367.2)--(289.5, 367.8)--(289.4, 368.0)--(289.4, 368.1)--(289.3, 368.4)--(289.3, 368.9)--(289.1, 370.1)--(289.0, 370.6)--(288.8, 371.3)--(288.5, 371.7)--(288.3, 372.0)--(288.3, 372.1)--(288.4, 372.2)--(288.6, 372.2)--(289.0, 372.3)--(289.4, 372.5)--(289.6, 372.5)--(289.7, 372.6)--(290.4, 373.2)--(290.7, 373.4)--(290.8, 373.6)--(291.0, 373.7)--(291.1, 373.8)--(291.1, 373.9)--(291.2, 373.9)--(291.4, 374.0)--(291.7, 374.3)--(291.9, 374.4)--(292.2, 374.6)--(292.3, 374.7)--(292.4, 374.7)--(292.7, 375.0)--(292.8, 375.1)--(293.0, 375.2)--(293.3, 375.4)--(294.0, 376.0)--(294.5, 376.5)--(294.7, 376.7)--(294.8, 376.7)--(295.0, 376.8)--(295.3, 376.9)--(295.6, 377.1)--(295.7, 377.2)--(295.8, 377.2)--(295.9, 377.3)--(296.0, 377.4)--(296.2, 377.4)--(296.5, 377.5)--(297.0, 377.6)--(297.3, 377.7)--(297.7, 377.8)--(298.6, 378.0)--(298.9, 378.0)--(299.1, 378.0)--(299.2, 378.0)--(299.3, 378.0)--(299.5, 377.9)--(300.0, 378.0)--(300.3, 378.0)--(300.4, 378.0)--(300.5, 378.1)--(300.6, 378.1)--(300.6, 378.2)--(300.6, 378.3)--(300.7, 378.3)--(300.8, 378.3)--(300.9, 378.4)--(301.0, 378.5)--(301.1, 378.6)--(301.2, 378.7)--(301.3, 378.7)--(301.4, 378.7)--(301.5, 378.7)--(302.1, 379.0)--(302.5, 379.1)--(302.5, 379.2)--(302.5, 379.1)--(303.8, 379.6)--(304.0, 379.7)--(304.1, 379.7)--(304.2, 379.4)--(304.3, 379.1)--(304.4, 379.0)--(304.5, 378.8)--(304.1, 378.5)--(304.1, 378.4)--(304.4, 378.4)--(304.6, 378.4)--(305.0, 378.3)--(305.3, 378.2)--(305.5, 378.2)--(305.6, 378.1)--(305.8, 377.9)--(306.2, 37!
7.4)--(306.7, 376.8)--(306.9, 376.5)--(306.5, 376.1)--(306.6, 376.0)--(306.8, 375.9)--(307.0, 375.7)--(306.9, 375.4)--(307.0, 375.4)--(307.2, 375.2)--(307.2, 375.1)--(307.2, 374.6)--(307.2, 374.4)--(307.3, 374.4)--(307.3, 374.3)--(309.7, 372.7)--(310.4, 372.2)--(310.7, 372.0)--(311.4, 371.3)--(311.6, 371.1)--(311.7, 371.0)--(311.9, 370.8)--(312.0, 370.7)--(312.1, 370.6)--(312.4, 370.2)--(312.5, 370.1)--(312.6, 369.9)--(312.8, 369.7)--(313.0, 369.5)--(313.1, 369.4)--(313.3, 369.2)--(313.6, 368.8)--(314.6, 367.9)--(314.7, 368.0)--(314.8, 368.1)--(314.9, 368.0)--(314.8, 367.9)--(315.3, 367.5)--(316.5, 366.4)--(316.6, 366.2)--(316.9, 365.9)--(317.0, 365.8)--(317.1, 365.7)--(317.2, 365.6)--(317.3, 365.6)--(317.3, 365.5)--(317.4, 365.5)--(318.4, 364.5)--(319.0, 363.7)--(320.8, 364.2)--(321.0, 364.2)--(321.6, 364.0)--(321.8, 363.9)--(322.0, 363.8)--(322.4, 363.5)--(322.5, 363.5)--(322.7, 363.5)--(322.8, 363.4)--(322.9, 363.4)--(323.1, 363.4)--(323.4, 363.3)--(323.5, 363.2)--(323.8, 363.2)--(323.9, 363.1)--(323.9, 363.0)--(323.9, 362.9)--(324.1, 362.5)--(324.3, 362.1)--(324.4, 361.8)--(324.5, 361.6)--(324.7, 361.1)--(324.8, 360.7)--(324.8, 360.5)--(324.9, 360.5)--(324.8, 360.4)--(324.9, 359.3)--(324.9, 358.3)--(324.9, 357.8)--(324.9, 357.3)--(324.9, 356.8)--(324.9, 356.5)--(325.0, 356.5)--(325.1, 356.5)--(325.3, 356.4)--(325.3, 356.3)--(325.4, 356.3)--(325.5, 356.2)--(325.7, 356.0)--(325.8, 356.1)--(326.1, 356.3)--(326.8, 355.2)--(326.8, 355.1)--(326.9, 355.0)--(327.0, 355.0)--(327.3, 354.9)--(327.4, 354.8)--(327.6, 354.8)--(327.7, 354.7)--(327.8, 354.7)--(327.9, 354.6)--(328.2, 354.4)--(328.3, 354.3)--(328.4, 354.3)--(328.5, 354.3)--(328.6, 354.3)--(328.9, 354.2)--(329.0, 354.2)--(329.1, 354.3)--(329.6, 354.3)--(329.9, 354.4)--(331.4, 354.2)--(332.0, 354.2)--(332.2, 354.1)--(332.4, 354.1)--(332.5, 354.0)--(332.5, 353.9)--(332.6, 353.8)--(332.8, 353.5)--(333.0, 353.3)--(333.0, 353.2)--(333.1, 353.1)--(333.7, 351.7)--(333.8, 351.4)--(334.3, 350.6)--(334.4, 350.3)--(334.5, 350.0)--(334.6, 349.8)--(334.8, 349.1)--(334.8, 3!
48.7)--(334.8, 348.4)--(334.8, 348.1)--(334.8, 348.0)--(334.5, 347.7)--(333.5, 347.9)--(332.5, 348.0)--(330.1, 348.2)--(329.7, 348.2)--(329.8, 346.7)--(329.8, 346.5)--(329.6, 345.2)--(329.2, 343.5)--(328.7, 341.2)--(328.6, 340.6)--(328.4, 339.4)--(328.1, 338.3)--(328.1, 338.1)--(328.0, 337.9)--(328.0, 337.7)--(327.9, 337.8)--(327.7, 337.7)--(327.5, 337.6)--(327.3, 337.5)--(326.9, 337.2)--(326.6, 336.9)--(326.3, 336.6)--(325.9, 336.3)--(325.5, 336.0)--(325.2, 335.7)--(324.8, 335.4)--(324.6, 335.3)--(324.3, 335.1)--(324.0, 334.8)--(323.5, 334.4)--(323.1, 334.1)--(323.0, 334.0)--(322.6, 333.8)--(322.6, 333.9)--(322.3, 333.6)--(321.6, 333.2)--(321.5, 333.1)--(321.2, 333.0)--(320.9, 332.8)--(321.5, 331.6)--(321.7, 331.0)--(322.0, 330.4)--(322.2, 330.0)--(322.3, 329.6)--(322.3, 329.4)--(322.3, 329.3)--(322.3, 329.1)--(322.1, 328.6)--(326.2, 327.1)--(326.6, 326.9)--(326.8, 326.8)--(326.9, 326.7)--(327.0, 326.6)--(327.1, 326.4)--(327.3, 326.1)--(327.5, 325.5)--(327.5, 325.3)--(327.8, 325.2)--(327.9, 325.1)--(328.0, 325.0)--(328.2, 325.0)--(328.4, 325.1)--(328.5, 325.1)--(329.4, 325.5)--(329.5, 325.1)--(329.6, 324.6)--(329.4, 324.4)--(329.3, 324.0)--(329.2, 323.7)--(329.2, 323.6)--(329.4, 323.5)--(329.4, 322.9)--(329.8, 322.9)--(330.0, 322.9)--(330.0, 322.6)--(330.0, 322.4)--(329.9, 321.4)--(329.9, 320.9)--(329.8, 320.4)--(329.7, 319.7)--(329.6, 319.3)--(329.5, 318.9)--(329.4, 318.7)--(329.2, 318.4)--(329.1, 317.9)--(329.0, 317.8)--(328.8, 317.2)--(328.7, 317.3)--(327.9, 317.6)--(327.5, 317.9)--(326.6, 318.3)--(326.3, 318.4)--(326.2, 318.5)--(326.3, 319.3)--(325.9, 319.4)--(325.5, 319.5)--(325.2, 319.5)--(324.9, 319.5)--(324.6, 319.6)--(324.5, 319.6)--(324.4, 320.1)--(323.8, 319.9)--(323.7, 320.1)--(323.6, 320.1)--(323.6, 320.2)--(323.4, 320.1)--(323.1, 320.1)--(323.0, 320.4)--(322.9, 321.0)--(322.5, 321.9)--(321.9, 321.6)--(321.9, 321.7)--(321.6, 321.5)--(321.5, 321.9)--(321.4, 321.9)--(321.3, 322.1)--(320.5, 321.5)--(320.6, 321.5)--(320.7, 321.3)--(320.7, 321.2)--(320.8, 321.1)--(320.9, 320.8)--(321.0, 320.4)--(321.0, !
320.3)--(321.0, 320.2)--(321.0, 320.1)--(320.9, 320.1)--(320.9, 319.8)--(320.8, 319.5)--(320.8, 319.2)--(320.3, 319.0)--(320.0, 318.9)--(319.7, 318.7)--(319.4, 318.6)--(319.1, 318.5)--(319.0, 318.5)--(319.0, 318.4)--(318.9, 318.4)--(318.7, 318.3)--(318.5, 318.2)--(318.1, 318.0)--(318.0, 317.9)--(317.8, 317.8)--(317.0, 317.4)--(316.0, 316.8)--(315.6, 316.6)--(315.5, 316.6)--(315.4, 317.3)--(315.1, 318.5)--(315.0, 319.0)--(314.9, 319.2)--(314.8, 319.6)--(314.7, 319.9)--(314.6, 320.1)--(314.3, 320.6)--(313.4, 320.5)--(313.2, 320.9)--(313.1, 321.1)--(312.9, 321.5)--(312.7, 321.4)--(312.6, 321.5)--(312.5, 321.6)--(312.3, 321.6)--(312.2, 321.6)--(311.8, 321.8)--(311.3, 321.9)--(310.9, 322.1)--(310.7, 322.1)--(310.5, 322.2)--(310.4, 322.3)--(309.9, 322.8)--(309.7, 323.0)--(309.6, 323.1)--(309.6, 323.2)--(309.4, 323.5)--(309.3, 323.9)--(309.2, 324.1)--(309.2, 324.2)--(309.5, 324.6)--(309.9, 325.0)--(310.0, 325.2)--(309.7, 325.3)--(309.6, 325.4)--(309.5, 325.4)--(309.4, 325.5)--(309.0, 325.9)--(308.8, 326.1)--(308.4, 326.5)--(308.3, 326.6)--(308.3, 326.7)--(308.2, 326.8)--(308.2, 326.9)--(308.1, 327.3)--(308.1, 327.7)--(308.0, 328.5)--(308.0, 328.6)--(307.9, 328.7)--(307.9, 328.8)--(307.9, 328.9)--(307.8, 329.0)--(307.5, 329.2)--(307.1, 329.4)--(306.7, 329.6)--(306.3, 329.7)--(305.7, 329.9)--(305.1, 330.1)--(304.2, 330.0)--(303.6, 329.9)--(303.3, 329.8)--(303.3, 329.9)--(303.2, 330.3)--(303.3, 332.1)--(303.3, 333.5)--(303.3, 334.1)--(303.3, 335.2)--(303.3, 335.5)--(303.3, 335.8)--(303.2, 336.0)--(303.2, 336.7)--(303.1, 337.2)--(303.0, 337.5)--(302.9, 337.8)--(302.7, 338.5)--(302.6, 338.6)--(302.5, 338.9)--(302.2, 339.3)--(302.0, 339.6)--(301.8, 339.9)--(301.4, 340.8)--(301.3, 341.1)--(301.2, 341.3)--(301.2, 341.4)--(301.1, 341.7)--(300.9, 342.0)--(300.8, 342.4)--(300.7, 342.8)--(300.6, 343.1)--(300.6, 343.3)--(300.6, 343.5)--(300.6, 343.6)--(300.5, 344.0)--(300.4, 344.7)--(300.2, 345.7)--(300.2, 345.8)--(300.1, 346.3)--(300.0, 346.9)--(299.8, 347.8)--(299.6, 348.4)--(299.6, 348.5)--(299.6, 348.6)--(299.5, 348.7)--(299.3,!
349.0)--(299.2, 349.1)--(299.1, 349.1)--(299.0, 349.3)--(298.8, 349.4)--(298.2, 349.9)--(298.0, 350.0)--(297.7, 350.4)--(297.5, 350.6)--(297.4, 350.7)--(297.3, 351.0)--(297.0, 351.9)--(297.0, 352.1)--(297.0, 352.5)--(296.9, 352.5)--(296.9, 352.6)--(296.9, 352.7)--(296.8, 352.8)--(296.6, 352.9)--(296.6, 353.0)--(296.2, 353.3)--(296.0, 353.5)--(295.2, 354.2)--(294.7, 354.8)--(294.4, 355.1)--(294.2, 355.3)--(294.2, 355.4)--(294.0, 355.7)--(293.9, 356.0)--(293.8, 356.1)--(293.7, 356.2)--(293.6, 356.3)--(293.3, 356.4)--(292.9, 356.6)--(292.5, 356.9)--(292.4, 357.0)--(292.4, 357.1)--(292.3, 357.2)--(292.2, 357.3)--cycle;
+Kensington_and_Chelsea = (262.2, 269.5)--(262.1, 269.6)--(261.9, 269.9)--(261.7, 270.1)--(261.6, 270.2)--(261.1, 270.8)--(260.9, 271.0)--(260.8, 271.1)--(260.6, 271.6)--(260.6, 271.8)--(260.5, 271.9)--(260.4, 272.0)--(260.3, 272.2)--(260.2, 272.0)--(260.0, 272.2)--(259.9, 272.3)--(259.8, 272.5)--(259.7, 272.6)--(259.5, 272.8)--(259.1, 273.3)--(259.0, 273.3)--(259.0, 273.4)--(258.5, 274.1)--(258.2, 274.6)--(257.7, 275.2)--(257.6, 275.2)--(257.5, 275.4)--(257.3, 275.6)--(257.2, 275.8)--(257.1, 276.0)--(256.9, 276.2)--(256.8, 276.4)--(256.6, 276.7)--(256.5, 276.7)--(256.4, 277.0)--(256.0, 277.6)--(255.8, 277.7)--(255.7, 278.0)--(255.5, 278.2)--(255.5, 278.3)--(255.2, 278.6)--(254.9, 279.0)--(254.8, 279.1)--(254.7, 279.2)--(254.6, 279.4)--(254.4, 279.5)--(254.4, 279.6)--(254.3, 279.7)--(254.1, 279.8)--(254.0, 279.9)--(253.5, 280.3)--(253.2, 280.1)--(252.7, 280.4)--(252.4, 280.6)--(252.3, 280.7)--(252.2, 280.8)--(252.1, 281.0)--(251.9, 281.1)--(251.4, 281.8)--(251.4, 281.9)--(251.1, 282.2)--(251.0, 282.4)--(250.4, 283.2)--(250.2, 283.3)--(250.0, 283.6)--(249.4, 284.4)--(249.0, 285.0)--(249.3, 285.2)--(249.3, 285.3)--(249.0, 285.7)--(248.9, 285.9)--(248.8, 286.1)--(248.6, 286.4)--(248.5, 286.7)--(248.4, 286.8)--(248.5, 286.8)--(248.4, 286.9)--(248.2, 287.2)--(248.0, 287.3)--(247.9, 287.4)--(247.7, 287.6)--(247.5, 287.9)--(247.2, 288.2)--(246.9, 288.5)--(246.6, 288.7)--(246.3, 288.9)--(246.1, 289.0)--(245.9, 289.2)--(245.8, 289.2)--(245.8, 289.3)--(245.6, 289.5)--(245.5, 289.6)--(245.5, 289.7)--(245.4, 289.7)--(245.4, 289.8)--(245.4, 289.9)--(244.9, 289.8)--(244.8, 289.9)--(244.2, 290.6)--(243.8, 291.3)--(243.6, 291.7)--(243.5, 291.8)--(243.3, 292.1)--(242.9, 292.5)--(242.4, 292.9)--(242.3, 293.0)--(242.1, 293.2)--(241.7, 293.6)--(241.3, 293.9)--(240.6, 294.9)--(240.4, 295.3)--(240.1, 295.9)--(239.9, 296.6)--(239.6, 297.1)--(239.2, 297.8)--(239.0, 298.2)--(238.9, 298.1)--(238.9, 298.2)--(238.8, 298.4)--(238.5, 299.0)--(238.4, 299.0)--(238.2, 299.7)--(238.0, 300.0)--(238.0, 300.1)--(237.9, 300.4)--(237.7, 300.8!
)--(238.3, 301.0)--(238.8, 301.2)--(238.9, 301.2)--(238.9, 301.1)--(239.1, 301.2)--(239.1, 301.4)--(238.9, 301.8)--(239.0, 302.1)--(239.0, 302.3)--(239.0, 302.4)--(239.2, 302.4)--(239.5, 302.5)--(239.6, 302.6)--(239.5, 303.0)--(239.3, 303.5)--(239.2, 304.2)--(239.0, 304.2)--(238.7, 304.2)--(238.7, 304.3)--(238.6, 304.4)--(238.4, 304.5)--(238.5, 304.7)--(238.4, 304.8)--(238.4, 304.9)--(238.3, 305.1)--(238.3, 305.2)--(238.3, 305.3)--(238.2, 305.6)--(238.1, 305.6)--(238.0, 305.5)--(237.9, 305.5)--(237.9, 305.4)--(237.8, 305.4)--(237.7, 305.4)--(237.6, 305.4)--(237.7, 304.9)--(237.0, 304.7)--(236.7, 304.6)--(236.7, 304.7)--(236.6, 305.3)--(236.5, 305.5)--(236.4, 306.0)--(236.4, 306.1)--(236.3, 306.2)--(236.3, 306.3)--(236.2, 306.4)--(236.2, 306.6)--(236.1, 306.8)--(236.0, 307.0)--(236.0, 307.1)--(235.9, 307.2)--(235.9, 307.4)--(235.8, 307.6)--(235.4, 308.5)--(235.2, 308.9)--(235.1, 309.1)--(235.1, 309.3)--(235.1, 309.4)--(234.9, 309.9)--(234.7, 310.3)--(234.5, 310.7)--(234.4, 310.9)--(234.3, 311.3)--(234.2, 311.4)--(234.0, 311.6)--(233.5, 312.5)--(233.0, 313.3)--(233.1, 313.4)--(232.9, 313.5)--(232.7, 313.9)--(232.6, 314.0)--(232.5, 314.2)--(232.3, 314.5)--(232.1, 314.9)--(231.9, 315.1)--(231.6, 315.6)--(231.5, 315.5)--(231.5, 315.6)--(231.4, 315.6)--(231.4, 315.7)--(231.3, 315.8)--(230.2, 317.3)--(230.3, 317.4)--(230.3, 317.6)--(231.2, 318.3)--(231.2, 318.7)--(231.2, 321.4)--(230.8, 321.4)--(230.8, 321.8)--(230.8, 322.0)--(230.7, 322.6)--(230.7, 322.7)--(230.6, 323.0)--(230.7, 323.1)--(230.7, 324.0)--(230.7, 324.2)--(230.7, 324.4)--(230.6, 324.7)--(230.6, 324.9)--(230.6, 325.0)--(230.5, 325.2)--(230.5, 325.4)--(230.4, 325.6)--(230.3, 325.7)--(230.2, 325.9)--(230.0, 326.1)--(230.0, 326.2)--(229.9, 326.3)--(229.6, 327.1)--(229.8, 327.6)--(229.9, 327.5)--(230.0, 327.5)--(230.1, 327.4)--(230.2, 327.4)--(230.3, 327.4)--(230.4, 327.4)--(230.4, 327.1)--(231.0, 327.2)--(231.4, 327.2)--(231.9, 327.3)--(231.9, 327.4)--(232.2, 327.4)--(232.5, 327.4)--(232.7, 327.3)--(233.1, 327.2)--(233.2, 327.2)--(233.3, 327.1)--(233.6, 327.!
0)--(233..7, 326.9)--(233.9, 326.9)--(234.1, 326.7)--(234.4, 326.6)--(234.7, 326.5)--(235.0, 326.4)--(235.2, 326.4)--(236.1, 326.2)--(236.4, 326.1)--(236.6, 326.0)--(236.9, 325.9)--(237.1, 325.9)--(237.6, 325.7)--(237.8, 325.6)--(238.1, 325.4)--(238.2, 325.3)--(238.5, 325.1)--(238.7, 325.0)--(238.6, 324.8)--(238.6, 324.7)--(238.6, 324.6)--(238.6, 324.5)--(238.7, 324.4)--(238.8, 324.0)--(238.9, 323.8)--(239.2, 323.8)--(239.5, 323.9)--(240.1, 324.0)--(240.4, 324.0)--(240.8, 324.0)--(241.4, 323.9)--(241.8, 323.9)--(242.5, 323.8)--(242.7, 323.8)--(243.0, 323.7)--(243.3, 323.6)--(243.5, 323.6)--(244.0, 323.4)--(244.1, 323.4)--(244.2, 323.4)--(244.4, 323.4)--(244.6, 323.4)--(244.8, 323.3)--(245.0, 323.3)--(245.2, 323.2)--(245.4, 323.1)--(245.6, 322.8)--(245.7, 322.6)--(245.9, 322.4)--(246.1, 321.9)--(246.2, 321.7)--(246.6, 321.0)--(246.7, 320.8)--(246.9, 320.5)--(247.1, 320.3)--(247.3, 320.2)--(247.7, 320.0)--(247.8, 319.9)--(247.9, 319.9)--(248.0, 319.9)--(248.6, 319.6)--(248.6, 319.4)--(248.7, 319.1)--(248.7, 318.8)--(248.7, 318.7)--(248.8, 318.7)--(249.0, 318.2)--(249.4, 317.4)--(249.4, 317.3)--(249.3, 317.3)--(249.3, 317.5)--(249.0, 317.5)--(248.7, 317.5)--(248.6, 317.5)--(248.3, 317.5)--(248.0, 317.5)--(247.7, 317.4)--(247.4, 317.3)--(247.2, 317.2)--(247.2, 317.1)--(247.3, 317.0)--(247.4, 316.8)--(247.5, 316.8)--(247.5, 316.6)--(247.5, 316.4)--(247.6, 316.4)--(247.6, 316.2)--(247.8, 315.9)--(248.2, 315.2)--(248.9, 314.1)--(249.4, 314.3)--(250.0, 313.0)--(250.5, 310.5)--(252.9, 311.0)--(253.4, 311.1)--(253.9, 308.5)--(254.2, 307.5)--(254.5, 307.4)--(254.9, 307.6)--(255.6, 305.4)--(255.9, 305.5)--(256.4, 305.6)--(257.2, 305.7)--(258.0, 305.8)--(258.5, 305.8)--(259.3, 303.2)--(260.2, 300.0)--(261.1, 296.9)--(261.3, 296.6)--(262.1, 296.3)--(262.4, 296.3)--(262.6, 296.3)--(262.8, 296.2)--(263.1, 296.2)--(263.3, 296.2)--(263.6, 296.2)--(264.0, 296.3)--(264.5, 293.2)--(264.6, 292.2)--(268.8, 292.8)--(268.8, 292.9)--(269.5, 293.0)--(269.5, 293.1)--(270.0, 293.2)--(270.0, 293.3)--(270.2, 293.3)--(271.5, 293.6)--(272.3, 293!
.8)--(272.5, 293.7)--(272.6, 293.6)--(272.7, 293.2)--(272.9, 293.0)--(274.1, 294.1)--(274.4, 293.5)--(276.2, 295.1)--(276.3, 295.3)--(276.5, 295.5)--(277.0, 296.3)--(277.2, 296.5)--(277.3, 296.6)--(277.4, 296.8)--(277.5, 296.8)--(277.6, 296.9)--(277.7, 297.0)--(278.7, 297.4)--(279.1, 297.5)--(279.1, 296.7)--(279.1, 296.6)--(279.1, 296.5)--(279.1, 296.4)--(279.2, 296.4)--(279.2, 296.2)--(279.7, 294.0)--(280.1, 293.5)--(280.9, 292.6)--(281.0, 292.3)--(281.3, 290.2)--(281.3, 290.1)--(281.4, 289.9)--(281.5, 289.6)--(281.3, 289.4)--(281.2, 289.3)--(281.2, 289.2)--(281.1, 289.1)--(281.1, 289.0)--(281.8, 288.3)--(281.1, 287.5)--(282.0, 286.2)--(281.3, 285.6)--(281.4, 285.1)--(281.4, 285.0)--(281.5, 284.7)--(281.6, 284.5)--(281.8, 284.0)--(281.3, 283.5)--(282.0, 282.9)--(283.0, 282.0)--(284.3, 280.8)--(284.5, 280.6)--(285.2, 279.9)--(285.3, 279.7)--(285.4, 279.6)--(285.4, 279.5)--(285.5, 279.0)--(285.1, 279.0)--(284.9, 278.9)--(284.2, 278.8)--(283.9, 278.7)--(283.7, 278.7)--(283.5, 278.6)--(282.5, 278.4)--(282.0, 278.2)--(281.6, 278.1)--(281.3, 278.0)--(280.9, 277.9)--(279.0, 277.5)--(277.3, 277.1)--(274.1, 276.3)--(273.6, 276.2)--(272.8, 276.0)--(272.3, 275.9)--(271.6, 275.7)--(271.2, 275.5)--(270.9, 275.4)--(270.8, 275.4)--(270.6, 275.3)--(270.4, 275.2)--(270.1, 275.1)--(269.8, 274.9)--(269.5, 274.8)--(269.3, 274.7)--(269.0, 274.5)--(268.9, 274.7)--(268.8, 274.6)--(268.7, 274.6)--(268.6, 274.5)--(267.9, 274.4)--(267.8, 274.3)--(267.7, 274.3)--(267.6, 274.2)--(267.5, 274.1)--(267.4, 274.0)--(267.4, 273.9)--(267.3, 273.9)--(267.2, 273.8)--(266.7, 273.2)--(266.6, 273.1)--(266.4, 272.8)--(266.3, 272.8)--(266.3, 272.7)--(266.5, 272.5)--(266.3, 272.3)--(266.2, 272.1)--(265.7, 271.2)--(265.6, 271.0)--(265.4, 270.2)--(265.3, 270.2)--(265.0, 270.2)--(264.6, 270.1)--(264.4, 270.1)--(264.3, 270.1)--(263.4, 269.5)--(263.0, 269.4)--(262.9, 269.5)--(262.6, 269.4)--(262.5, 269.4)--(262.4, 269.5)--cycle;
+Kingston_upon_Thames = (164.0, 102.0)--(164.1, 102.1)--(164.1, 102.2)--(164.2, 102.2)--(164.3, 102.3)--(164.5, 102.5)--(164.7, 102.8)--(164.9, 103.0)--(164.9, 103.1)--(165.0, 103.2)--(165.1, 103.4)--(165.1, 103.6)--(165.0, 104.0)--(165.0, 104.2)--(164.9, 104.8)--(164.9, 104.9)--(164.7, 105.2)--(164.7, 105.6)--(164.7, 105.7)--(164.6, 105.9)--(164.6, 106.1)--(164.6, 106.2)--(164.6, 106.3)--(164.6, 107.0)--(164.6, 107.4)--(164.7, 107.8)--(164.7, 108.0)--(164.7, 108.1)--(164.7, 108.5)--(164.7, 108.8)--(164.8, 109.0)--(164.9, 109.4)--(164.9, 109.7)--(164.9, 110.2)--(164.9, 110.6)--(164.9, 111.6)--(165.0, 112.2)--(165.0, 112.8)--(165.0, 113.2)--(165.0, 113.6)--(165.0, 113.8)--(165.0, 114.0)--(164.9, 114.4)--(164.9, 114.5)--(165.0, 115.1)--(165.0, 115.5)--(165.2, 116.2)--(165.3, 116.6)--(165.4, 116.9)--(165.5, 117.6)--(165.6, 118.0)--(165.6, 118.4)--(165.6, 118.6)--(165.9, 118.7)--(165.4, 118.8)--(165.2, 119.3)--(165.0, 119.7)--(164.8, 120.2)--(164.6, 120.8)--(164.5, 121.1)--(164.0, 122.3)--(163.8, 123.0)--(163.6, 123.6)--(163.7, 123.8)--(163.8, 124.0)--(163.9, 124.2)--(164.0, 124.5)--(164.1, 124.9)--(164.3, 125.3)--(164.3, 125.5)--(164.4, 125.8)--(164.6, 126.2)--(164.8, 126.6)--(165.1, 127.3)--(165.3, 127.8)--(165.5, 127.9)--(165.8, 128.2)--(166.1, 128.5)--(166.3, 128.8)--(166.8, 129.2)--(167.5, 129.6)--(167.7, 129.8)--(167.9, 130.0)--(168.2, 130.4)--(168.3, 130.7)--(168.6, 131.2)--(168.8, 131.6)--(169.0, 132.0)--(169.2, 132.4)--(169.4, 132.9)--(169.7, 133.5)--(169.9, 134.1)--(170.1, 134.5)--(170.2, 134.8)--(170.5, 135.6)--(170.6, 136.0)--(170.6, 136.1)--(170.6, 136.2)--(170.7, 136.2)--(170.8, 136.6)--(171.0, 137.2)--(171.1, 137.7)--(171.2, 138.5)--(171.3, 139.2)--(171.8, 140.6)--(171.8, 140.8)--(171.7, 141.9)--(171.6, 142.6)--(171.6, 142.7)--(171.5, 143.2)--(171.5, 143.6)--(171.6, 144.4)--(171.7, 145.5)--(171.7, 146.6)--(171.8, 147.3)--(171.9, 147.6)--(171.9, 147.7)--(171.8, 148.1)--(171.8, 148.5)--(171.9, 149.2)--(172.1, 150.0)--(172.1, 150.1)--(172.2, 150.3)--(172.2, 150.5)--(172.4, 150.8)--(172.5, 151.1)-!
-(172.6, 151.3)--(172.8, 151.6)--(172.9, 151.8)--(173.1, 152.0)--(173.3, 152.2)--(173.6, 152.6)--(173.9, 152.8)--(174.2, 153.0)--(174.5, 153.1)--(174.9, 153.1)--(175.2, 153.1)--(175.4, 153.2)--(175.5, 153.2)--(175.7, 153.3)--(176.2, 153.4)--(176.5, 153.5)--(176.9, 153.6)--(177.5, 153.8)--(177.9, 153.9)--(178.1, 154.0)--(178.3, 154.5)--(178.4, 154.7)--(178.6, 155.4)--(178.6, 155.8)--(178.7, 156.3)--(178.6, 157.3)--(179.0, 157.3)--(178.9, 158.0)--(178.3, 159.1)--(178.3, 159.2)--(178.1, 159.6)--(177.6, 159.6)--(177.6, 160.3)--(177.6, 160.5)--(177.6, 160.6)--(177.6, 160.7)--(177.6, 160.9)--(177.6, 161.0)--(177.5, 161.1)--(177.4, 161.1)--(177.4, 161.8)--(177.3, 161.9)--(177.2, 162.0)--(177.2, 162.2)--(177.1, 162.2)--(177.1, 162.3)--(176.8, 163.1)--(176.8, 163.3)--(176.8, 163.4)--(176.7, 163.7)--(176.7, 163.8)--(176.6, 163.9)--(176.5, 164.1)--(176.6, 164.2)--(176.6, 164.3)--(176.5, 164.4)--(176.5, 164.5)--(176.3, 164.6)--(176.2, 164.8)--(175.7, 165.5)--(176.4, 165.9)--(176.0, 166.5)--(175.9, 166.6)--(176.0, 166.7)--(175.8, 166.9)--(175.7, 167.0)--(175.7, 167.1)--(175.6, 167.2)--(175.7, 167.3)--(174.9, 168.4)--(174.7, 168.8)--(174.6, 168.7)--(172.8, 167.4)--(172.4, 168.1)--(172.3, 168.3)--(172.3, 168.5)--(172.2, 168.5)--(172.2, 168.6)--(172.2, 168.7)--(172.3, 168.8)--(172.3, 168.9)--(172.4, 168.9)--(172.4, 169.0)--(172.5, 169.0)--(172.8, 169.3)--(173.1, 169.5)--(173.4, 169.8)--(174.0, 170.3)--(173.9, 170.5)--(173.6, 170.9)--(173.5, 171.1)--(173.4, 171.3)--(173.2, 171.6)--(173.2, 171.7)--(172.8, 172.3)--(172.4, 172.9)--(172.1, 173.3)--(171.9, 173.5)--(171.8, 173.6)--(171.7, 173.8)--(171.4, 174.1)--(171.5, 174.2)--(171.6, 174.4)--(172.1, 175.0)--(173.8, 177.0)--(174.6, 178.0)--(174.9, 178.4)--(175.1, 179.1)--(175.2, 179.2)--(175.2, 179.4)--(175.3, 179.5)--(175.3, 179.6)--(175.6, 179.9)--(176.1, 180.5)--(176.3, 180.7)--(176.5, 180.9)--(176.6, 181.1)--(176.8, 181.2)--(176.8, 181.3)--(177.0, 181.7)--(177.0, 181.8)--(177.1, 182.0)--(177.2, 182.5)--(177.3, 182.6)--(177.3, 183.1)--(177.4, 183.8)--(177.4, 184.6)--(177.4, 185.2)!
--(177.4, 185.8)--(177.3, 186.6)--(177.2, 187.5)--(177.2, 187.6)--(177.1, 188.0)--(177.1, 188.3)--(177.1, 188.5)--(177.1, 188.7)--(177.0, 190.4)--(177.0, 191.6)--(177.0, 191.7)--(177.0, 191.9)--(177.1, 193.6)--(177.2, 194.2)--(177.3, 195.0)--(177.4, 195.2)--(177.4, 195.6)--(177.4, 195.9)--(177.3, 196.3)--(177.3, 196.5)--(177.3, 196.6)--(177.3, 196.8)--(177.3, 197.2)--(177.3, 197.4)--(177.3, 197.6)--(177.3, 197.8)--(177.4, 198.0)--(177.4, 198.3)--(177.7, 199.7)--(177.8, 200.0)--(177.8, 200.1)--(177.8, 200.3)--(177.9, 200.4)--(177.9, 200.6)--(177.9, 200.7)--(178.1, 201.0)--(178.1, 201.2)--(178.3, 201.8)--(178.4, 202.2)--(178.4, 202.5)--(178.4, 202.9)--(178.4, 203.2)--(178.4, 203.6)--(178.5, 203.8)--(178.5, 204.0)--(178.6, 204.3)--(178.8, 204.8)--(178.8, 205.0)--(178.8, 205.2)--(178.8, 205.6)--(178.7, 205.9)--(178.6, 206.1)--(178.6, 206.2)--(178.4, 206.6)--(178.3, 206.9)--(178.2, 207.2)--(178.1, 207.4)--(177.7, 208.0)--(177.5, 208.4)--(177.4, 208.7)--(176.9, 209.3)--(176.5, 209.9)--(176.2, 210.2)--(175.9, 210.4)--(175.7, 210.6)--(175.1, 211.0)--(174.6, 211.4)--(174.3, 211.7)--(173.9, 211.9)--(173.5, 212.2)--(172.8, 212.6)--(172.9, 213.0)--(173.1, 213.3)--(173.2, 213.7)--(173.9, 215.0)--(174.2, 215.6)--(174.4, 215.9)--(175.1, 216.9)--(175.3, 217.1)--(175.5, 216.9)--(175.7, 217.1)--(175.8, 217.1)--(175.9, 217.0)--(176.0, 216.9)--(176.2, 216.7)--(177.1, 215.9)--(176.8, 215.6)--(176.8, 215.5)--(177.1, 215.3)--(177.4, 215.2)--(177.6, 215.0)--(177.7, 215.0)--(177.9, 215.0)--(177.9, 214.9)--(178.3, 214.9)--(178.3, 215.3)--(178.4, 215.3)--(178.4, 216.0)--(178.5, 216.1)--(178.6, 216.2)--(178.7, 216.2)--(179.8, 215.9)--(181.3, 215.5)--(181.5, 215.2)--(181.6, 215.2)--(181.7, 215.4)--(181.5, 215.8)--(181.3, 216.1)--(181.6, 216.4)--(181.9, 216.0)--(182.1, 215.8)--(182.3, 215.7)--(182.5, 215.5)--(182.7, 215.2)--(183.6, 214.4)--(184.0, 214.0)--(184.0, 213.9)--(184.2, 213.7)--(184.4, 213.4)--(184.5, 213.4)--(184.6, 213.3)--(184.7, 213.2)--(184.8, 213.0)--(185.2, 212.8)--(185.5, 212.5)--(185.6, 212.4)--(185.7, 212.4)--(185.7, 212.5!
)--(186.0, 212.3)--(186.1, 211.9)--(186.0, 211.6)--(186.4, 211.6)--(186.5, 211.6)--(186.5, 211.3)--(186.5, 211.2)--(186.5, 211.0)--(187.4, 211.0)--(187.5, 211.0)--(187.5, 211.3)--(187.5, 211.7)--(187.5, 211.8)--(187.5, 213.3)--(187.8, 213.4)--(187.7, 213.7)--(189.3, 213.8)--(189.8, 212.4)--(189.8, 212.2)--(189.9, 212.0)--(190.1, 211.2)--(190.2, 211.1)--(190.2, 210.8)--(191.7, 206.1)--(192.3, 204.1)--(192.6, 204.2)--(193.0, 204.4)--(193.5, 204.6)--(195.0, 205.3)--(195.0, 205.4)--(196.6, 206.1)--(199.0, 209.4)--(199.3, 209.7)--(199.7, 210.3)--(200.0, 210.6)--(200.8, 211.8)--(201.2, 212.4)--(201.6, 212.9)--(202.2, 213.7)--(202.7, 214.4)--(202.8, 214.6)--(202.9, 214.6)--(203.0, 214.8)--(203.2, 215.0)--(203.4, 215.2)--(204.1, 215.8)--(204.4, 216.0)--(204.5, 216.2)--(204.7, 216.4)--(205.0, 216.5)--(205.2, 216.7)--(205.5, 216.9)--(205.9, 217.3)--(206.2, 217.7)--(206.5, 218.0)--(206.8, 218.2)--(207.3, 218.6)--(207.6, 218.8)--(208.4, 219.4)--(208.6, 219.5)--(209.0, 219.8)--(209.2, 219.9)--(209.8, 220.4)--(210.2, 220.6)--(210.5, 220.8)--(211.3, 221.4)--(211.8, 221.7)--(212.4, 222.2)--(212.6, 222.4)--(212.9, 222.6)--(213.0, 222.6)--(212.9, 222.8)--(213.0, 222.8)--(212.9, 222.8)--(213.1, 222.9)--(213.4, 222.9)--(213.7, 223.1)--(213.8, 223.2)--(213.9, 223.2)--(214.2, 223.5)--(214.5, 223.7)--(214.5, 223.6)--(214.7, 223.4)--(214.8, 223.3)--(214.9, 223.1)--(214.9, 223.0)--(215.0, 222.9)--(215.0, 222.6)--(215.0, 222.3)--(215.0, 222.1)--(215.0, 221.9)--(215.1, 221.8)--(215.1, 221.6)--(215.2, 221.5)--(215.3, 221.4)--(215.4, 221.3)--(215.4, 221.2)--(215.5, 221.2)--(215.6, 221.1)--(216.0, 220.8)--(216.2, 220.7)--(216.3, 220.6)--(216.4, 220.5)--(216.4, 220.4)--(216.5, 220.3)--(216.6, 220.2)--(216.7, 219.8)--(216.7, 219.5)--(216.7, 219.4)--(216.7, 219.2)--(216.7, 218.8)--(216.7, 218.5)--(216.6, 218.2)--(216.4, 217.8)--(216.3, 217.7)--(216.2, 217.6)--(216.0, 217.3)--(216.0, 217.2)--(215.8, 217.0)--(215.7, 216.9)--(215.7, 216.8)--(215.5, 216.7)--(215.4, 216.7)--(215.3, 216.6)--(215.2, 216.5)--(215.1, 216.3)--(215.0, 216.1)--(214.9, 215.!
9)--(214..8, 215.7)--(214.7, 215.4)--(214.7, 215.3)--(214.6, 215.1)--(214.6, 215.0)--(214.6, 214.9)--(214.6, 214.8)--(214.6, 214.7)--(214.7, 214.5)--(214.8, 214.2)--(214.9, 214.0)--(215.0, 213.6)--(215.1, 213.4)--(215.2, 213.1)--(215.3, 212.9)--(215.4, 212.7)--(215.5, 212.4)--(215.5, 212.2)--(215.7, 212.0)--(215.9, 211.7)--(216.0, 211.5)--(216.0, 211.2)--(216.0, 211.1)--(216.1, 211.0)--(216.1, 210.9)--(216.1, 210.7)--(216.0, 210.4)--(216.0, 210.0)--(215.9, 209.9)--(215.9, 209.7)--(215.8, 209.4)--(215.7, 209.2)--(215.7, 209.1)--(215.7, 209.0)--(215.7, 208.6)--(215.7, 208.3)--(215.7, 208.2)--(215.7, 208.0)--(215.8, 207.9)--(216.0, 207.8)--(216.3, 207.8)--(216.5, 207.7)--(216.5, 207.6)--(216.7, 207.4)--(216.9, 207.2)--(216.9, 207.1)--(217.0, 207.1)--(217.1, 206.6)--(217.2, 206.2)--(217.3, 205.9)--(217.3, 205.7)--(217.4, 205.6)--(217.4, 205.4)--(217.4, 205.1)--(217.4, 204.9)--(217.4, 204.7)--(217.5, 204.5)--(217.5, 204.3)--(217.6, 204.1)--(217.7, 203.9)--(217.9, 203.5)--(217.9, 203.4)--(218.0, 203.2)--(218.1, 202.9)--(218.1, 202.7)--(218.1, 202.6)--(218.2, 202.4)--(218.1, 202.2)--(218.1, 202.1)--(218.1, 201.9)--(218.0, 201.7)--(218.0, 201.3)--(218.0, 201.2)--(218.0, 200.7)--(218.0, 200.6)--(218.1, 200.2)--(218.1, 200.0)--(218.2, 199.4)--(218.3, 199.1)--(218.3, 199.0)--(218.2, 198.9)--(218.2, 198.8)--(218.3, 198.7)--(218.4, 198.4)--(218.6, 197.7)--(218.7, 197.3)--(219.2, 195.8)--(219.8, 194.0)--(219.9, 193.9)--(220.0, 193.1)--(220.1, 193.0)--(220.1, 192.9)--(220.1, 192.8)--(220.0, 192.8)--(220.0, 192.7)--(219.9, 192.5)--(219.8, 192.4)--(219.8, 192.2)--(219.8, 192.0)--(219.8, 191.8)--(219.9, 191.7)--(219.9, 191.6)--(220.0, 191.6)--(220.0, 191.5)--(220.0, 191.4)--(220.0, 191.3)--(220.0, 191.2)--(220.1, 191.2)--(220.1, 191.1)--(220.2, 191.0)--(220.3, 191.0)--(220.4, 191.0)--(220.5, 190.9)--(220.7, 190.9)--(220.8, 190.8)--(220.9, 190.8)--(221.0, 190.8)--(221.1, 190.8)--(221.1, 190.7)--(221.1, 190.6)--(221.3, 190.4)--(221.3, 190.3)--(221.4, 190.2)--(221.4, 190.1)--(221.3, 189.9)--(221.3, 189.7)--(221.3, 189.6)--(221.4, 189!
.4)--(221.5, 189.2)--(221.5, 189.0)--(221.5, 188.9)--(221.5, 188.7)--(221.6, 188.4)--(221.7, 188.3)--(221.7, 188.0)--(221.8, 187.7)--(221.8, 187.6)--(221.8, 187.5)--(221.8, 187.3)--(221.9, 187.2)--(221.9, 187.1)--(221.9, 186.6)--(221.9, 186.5)--(221.9, 186.1)--(221.9, 185.9)--(221.8, 185.6)--(221.8, 185.5)--(221.8, 185.4)--(221.7, 184.9)--(221.7, 184.8)--(221.6, 184.2)--(221.6, 184.3)--(221.5, 184.2)--(221.4, 184.1)--(221.3, 183.9)--(221.0, 183.6)--(221.0, 183.5)--(220.8, 183.2)--(220.6, 183.1)--(220.6, 183.0)--(220.5, 182.9)--(220.5, 182.8)--(220.6, 182.5)--(220.7, 182.3)--(220.7, 182.0)--(220.7, 181.7)--(220.7, 181.5)--(220.7, 181.4)--(220.7, 181.3)--(220.6, 181.2)--(220.6, 181.0)--(220.6, 180.9)--(220.6, 180.8)--(220.6, 180.7)--(220.5, 180.4)--(220.5, 180.3)--(220.4, 180.1)--(220.3, 179.9)--(220.2, 179.7)--(220.2, 179.6)--(220.5, 179.1)--(220.7, 178.9)--(220.9, 178.7)--(220.9, 178.6)--(221.0, 178.5)--(221.1, 178.2)--(221.2, 178.1)--(221.3, 178.0)--(221.4, 177.8)--(221.4, 177.7)--(221.5, 177.6)--(221.6, 177.5)--(221.6, 177.4)--(221.9, 177.1)--(222.0, 177.0)--(222.1, 176.8)--(222.2, 176.6)--(222.2, 176.4)--(222.5, 176.3)--(222.6, 176.2)--(222.7, 176.2)--(222.8, 176.1)--(223.0, 176.1)--(223.2, 176.1)--(223.5, 176.0)--(223.7, 176.0)--(223.9, 175.9)--(224.0, 175.8)--(224.2, 175.7)--(224.2, 175.6)--(224.3, 175.6)--(224.5, 175.1)--(224.5, 175.0)--(224.6, 174.9)--(224.7, 174.8)--(224.8, 174.3)--(224.9, 174.1)--(224.9, 174.0)--(224.9, 173.9)--(224.8, 173.7)--(224.9, 173.7)--(225.0, 173.7)--(225.0, 173.6)--(225.1, 173.6)--(225.1, 173.5)--(225.2, 173.3)--(225.2, 173.2)--(225.4, 172.9)--(225.5, 172.6)--(225.5, 172.5)--(225.4, 172.3)--(225.5, 172.2)--(225.5, 172.0)--(225.5, 171.8)--(225.5, 171.7)--(225.6, 171.4)--(225.6, 171.0)--(225.7, 170.8)--(225.7, 170.7)--(225.8, 170.6)--(225.8, 170.5)--(225.8, 170.4)--(225.9, 170.2)--(225.9, 170.1)--(225.9, 169.9)--(225.9, 169.8)--(225.9, 169.7)--(226.0, 169.5)--(226.0, 169.4)--(226.0, 169.3)--(226.0, 169.0)--(226.1, 168.8)--(226.2, 168.5)--(226.3, 168.3)--(226.3, 168.1)--(226.3, 16!
7.8)--(226.4, 167.7)--(226.4, 167.6)--(226.5, 167.0)--(226.5, 166.9)--(226.4, 166.9)--(226.3, 166.8)--(226.2, 166.8)--(226.1, 166.6)--(225.9, 166.4)--(225.7, 166.3)--(225.6, 166.2)--(225.2, 165.8)--(225.0, 165.6)--(224.7, 165.4)--(224.6, 165.2)--(224.4, 165.0)--(224.4, 164.8)--(224.3, 164.6)--(224.0, 163.9)--(223.8, 163.6)--(223.7, 163.4)--(222.8, 164.0)--(222.7, 163.4)--(222.6, 162.8)--(222.5, 161.9)--(222.5, 161.2)--(222.4, 161.1)--(222.3, 160.8)--(222.3, 160.2)--(222.0, 160.2)--(221.9, 160.1)--(221.7, 160.3)--(221.6, 160.3)--(221.3, 160.3)--(221.2, 160.3)--(221.1, 160.2)--(220.8, 160.1)--(220.5, 160.2)--(220.5, 160.3)--(220.4, 160.3)--(220.4, 160.2)--(220.3, 160.3)--(220.0, 160.1)--(219.8, 160.1)--(219.7, 160.0)--(219.5, 160.0)--(218.9, 159.6)--(218.5, 159.4)--(218.3, 159.2)--(218.2, 159.2)--(217.9, 159.0)--(217.7, 158.9)--(217.2, 158.8)--(217.0, 158.7)--(216.5, 158.6)--(216.4, 158.6)--(216.1, 158.6)--(215.7, 158.6)--(215.4, 158.6)--(215.0, 158.6)--(214.9, 158.6)--(214.5, 158.6)--(213.9, 158.6)--(213.8, 158.6)--(213.7, 158.7)--(213.0, 158.7)--(212.4, 159.0)--(212.1, 159.0)--(212.0, 159.1)--(211.9, 159.1)--(211.8, 159.1)--(211.3, 159.4)--(211.2, 159.4)--(211.1, 159.4)--(211.1, 159.3)--(211.0, 158.9)--(210.9, 158.8)--(210.9, 158.2)--(210.8, 158.1)--(210.6, 157.9)--(210.6, 157.8)--(210.6, 157.7)--(210.3, 156.9)--(210.2, 156.8)--(210.0, 156.5)--(209.7, 156.3)--(209.3, 155.8)--(209.1, 155.4)--(208.8, 154.9)--(208.2, 154.5)--(207.3, 153.8)--(206.5, 153.1)--(205.9, 152.6)--(205.6, 152.5)--(205.3, 152.3)--(204.8, 152.0)--(204.4, 151.8)--(204.3, 151.7)--(203.8, 151.4)--(203.6, 151.3)--(203.4, 151.2)--(203.4, 151.1)--(203.3, 151.0)--(203.2, 150.9)--(203.1, 150.7)--(202.9, 150.6)--(202.8, 150.5)--(202.8, 150.4)--(202.7, 150.2)--(202.6, 150.0)--(202.5, 149.8)--(202.4, 149.6)--(202.4, 149.4)--(202.4, 149.2)--(202.2, 149.2)--(202.1, 149.1)--(202.0, 149.1)--(201.7, 148.9)--(201.5, 148.8)--(201.4, 148.8)--(201.3, 148.6)--(201.1, 148.5)--(201.1, 148.4)--(201.0, 148.4)--(201.0, 148.2)--(200.9, 148.1)--(200.9, 147.9)--(200.8, 1!
47.7)--(200.9, 147.6)--(200.9, 147.4)--(200.8, 147.3)--(200.7, 147.2)--(200.7, 147.1)--(200.6, 147.1)--(200.5, 147.1)--(200.4, 146.9)--(200.3, 146.9)--(200.2, 146.8)--(200.1, 146.7)--(200.0, 146.7)--(199.7, 146.6)--(199.6, 146.6)--(199.4, 146.5)--(199.2, 146.5)--(199.0, 146.4)--(198.9, 146.3)--(198.7, 146.2)--(198.4, 146.0)--(198.3, 145.9)--(198.2, 145.8)--(198.0, 145.6)--(197.9, 145.5)--(197.8, 145.4)--(197.7, 145.3)--(197.6, 145.2)--(197.5, 145.0)--(197.4, 144.9)--(197.4, 144.8)--(197.3, 144.6)--(197.2, 144.5)--(197.1, 144.3)--(197.0, 144.2)--(197.0, 144.1)--(196.8, 143.9)--(196.7, 143.8)--(196.5, 143.6)--(196.4, 143.5)--(196.2, 143.4)--(196.1, 143.3)--(196.0, 143.3)--(195.8, 143.2)--(195.7, 143.1)--(195.6, 143.1)--(195.6, 143.0)--(195.5, 143.0)--(195.5, 142.9)--(195.3, 142.7)--(195.2, 142.6)--(195.1, 142.4)--(195.0, 142.3)--(194.9, 142.2)--(194.8, 142.1)--(194.6, 141.9)--(194.5, 141.8)--(194.4, 141.7)--(194.3, 141.5)--(194.2, 141.4)--(194.0, 141.1)--(193.9, 140.8)--(193.8, 140.7)--(193.7, 140.5)--(193.7, 140.4)--(193.6, 140.3)--(193.5, 140.1)--(193.4, 140.0)--(193.3, 139.9)--(193.2, 139.9)--(193.1, 139.8)--(192.9, 139.7)--(192.8, 139.7)--(192.8, 139.6)--(192.7, 139.5)--(192.9, 139.3)--(193.2, 139.2)--(193.4, 139.1)--(193.6, 139.0)--(193.9, 138.9)--(194.2, 138.8)--(194.4, 138.7)--(194.7, 138.6)--(194.9, 138.6)--(194.8, 138.4)--(194.3, 137.5)--(194.1, 137.2)--(193.9, 137.0)--(193.9, 136.9)--(193.8, 136.7)--(193.7, 136.5)--(192.9, 136.1)--(192.3, 135.7)--(192.1, 135.4)--(192.0, 135.2)--(192.0, 135.0)--(191.9, 134.8)--(191.8, 134.6)--(191.7, 134.5)--(191.5, 134.1)--(191.2, 133.7)--(191.0, 133.4)--(190.9, 133.3)--(190.9, 133.2)--(190.8, 132.8)--(190.8, 132.7)--(190.8, 132.5)--(190.8, 132.3)--(190.8, 131.9)--(190.8, 131.8)--(190.7, 131.5)--(190.6, 131.2)--(190.5, 130.9)--(190.3, 130.6)--(190.1, 130.4)--(190.0, 130.3)--(190.0, 130.2)--(189.8, 130.0)--(189.8, 129.8)--(189.8, 129.2)--(189.8, 129.0)--(189.8, 128.9)--(189.8, 128.8)--(189.7, 128.6)--(189.5, 128.4)--(189.4, 128.3)--(189.3, 128.2)--(188.9, 127.8)--(188.7, !
127.7)--(188.6, 127.5)--(188.4, 127.3)--(188.3, 127.2)--(188.1, 126.9)--(187.9, 126.5)--(187.6, 126.2)--(187.3, 125.9)--(186.8, 125.4)--(186.6, 125.2)--(186.4, 125.1)--(186.4, 125.0)--(186.2, 124.8)--(186.0, 124.6)--(185.8, 124.4)--(185.6, 124.2)--(185.4, 124.0)--(185.3, 123.8)--(184.9, 123.3)--(184.8, 123.1)--(184.8, 122.9)--(184.7, 122.8)--(184.6, 122.3)--(184.5, 122.0)--(184.4, 121.7)--(184.2, 121.1)--(184.1, 120.8)--(184.0, 120.6)--(183.9, 120.4)--(183.7, 120.1)--(183.6, 120.0)--(183.4, 119.8)--(183.2, 119.6)--(182.7, 118.9)--(182.6, 118.7)--(182.4, 118.5)--(182.4, 118.4)--(182.3, 118.3)--(182.2, 118.1)--(182.1, 117.8)--(182.1, 117.6)--(182.0, 117.3)--(182.0, 117.1)--(181.9, 116.9)--(181.9, 116.7)--(181.9, 116.5)--(181.9, 116.2)--(181.8, 115.9)--(181.8, 115.6)--(181.7, 115.4)--(181.7, 115.1)--(181.6, 115.0)--(181.6, 114.8)--(181.4, 114.3)--(181.3, 114.1)--(181.3, 113.8)--(181.4, 113.4)--(181.4, 113.2)--(181.4, 112.9)--(181.5, 112.7)--(181.5, 112.6)--(181.6, 112.3)--(181.7, 112.1)--(181.8, 111.9)--(181.7, 111.7)--(181.7, 111.4)--(181.7, 111.0)--(181.7, 110.7)--(181.6, 110.4)--(181.5, 110.2)--(181.2, 109.5)--(181.1, 109.4)--(181.0, 109.3)--(180.9, 109.2)--(180.6, 109.0)--(180.4, 108.8)--(180.0, 108.6)--(179.9, 108.6)--(179.9, 108.5)--(179.4, 108.0)--(179.2, 107.6)--(178.9, 107.3)--(178.6, 106.9)--(178.4, 106.7)--(178.0, 106.4)--(177.7, 106.1)--(177.2, 105.8)--(176.9, 105.7)--(176.7, 105.6)--(176.5, 105.5)--(176.4, 105.5)--(176.2, 105.3)--(175.8, 105.0)--(175.6, 104.8)--(175.4, 104.5)--(174.9, 103.9)--(174.8, 103.8)--(174.2, 103.0)--(174.1, 102.9)--(173.7, 102.4)--(173.6, 102.3)--(173.4, 102.1)--(173.0, 101.7)--(172.6, 101.4)--(172.2, 101.0)--(172.0, 100.9)--(171.8, 100.8)--(171.4, 100.7)--(170.6, 100.5)--(170.4, 100.4)--(170.3, 100.4)--(170.0, 100.3)--(169.7, 100.1)--(169.3, 100.0)--(169.0, 99.8)--(168.8, 99.6)--(168.7, 99.6)--(168.7, 99.5)--(168.5, 99.5)--(168.4, 99.5)--(168.3, 99.4)--(168.0, 99.4)--(167.6, 99.4)--(167.3, 99.4)--(166.8, 99.4)--(166.7, 99.4)--(166.5, 99.5)--(166.4, 99.5)--(166.2, 99.1)--(165.7!
, 99.2)--(165.3, 99.6)--(165.1, 99.8)--(164.8, 100.0)--(164.4, 100.4)--(164.3, 100.8)--(164.2, 100.9)--(164.2, 101.1)--(164.1, 101.3)--(164.0, 101.6)--(164.0, 101.8)--(164.0, 101.9)--cycle;
+Lambeth = (300.5, 278.9)--(300.6, 279.0)--(300.7, 279.1)--(300.8, 279.2)--(301.2, 279.5)--(301.3, 279.7)--(301.5, 279.9)--(301.6, 280.0)--(301.9, 280.3)--(302.2, 280.7)--(302.4, 280.9)--(302.4, 281.1)--(302.5, 281.2)--(302.7, 281.4)--(302.8, 281.7)--(302.9, 281.9)--(303.0, 282.1)--(303.3, 282.0)--(303.3, 282.1)--(303.2, 282.2)--(303.4, 282.6)--(303.4, 282.7)--(303.5, 282.9)--(303.6, 283.6)--(303.7, 283.9)--(303.8, 284.1)--(304.1, 284.8)--(304.3, 285.4)--(304.5, 286.0)--(304.7, 286.7)--(304.8, 287.3)--(304.9, 287.9)--(305.1, 289.4)--(305.2, 289.5)--(305.2, 290.0)--(305.3, 291.0)--(305.4, 291.4)--(305.5, 292.8)--(305.7, 294.2)--(305.9, 296.7)--(306.0, 297.6)--(305.9, 297.7)--(306.0, 298.4)--(306.2, 300.0)--(306.3, 300.1)--(306.3, 300.2)--(306.3, 300.5)--(306.4, 300.7)--(306.4, 300.9)--(306.5, 301.1)--(306.6, 301.3)--(306.9, 302.1)--(307.0, 302.3)--(307.2, 302.7)--(307.5, 303.0)--(307.8, 303.3)--(307.8, 303.4)--(307.9, 303.5)--(308.4, 303.9)--(308.5, 304.0)--(308.7, 304.1)--(308.9, 304.2)--(309.2, 304.3)--(309.5, 304.5)--(309.9, 304.6)--(310.1, 304.7)--(310.5, 304.8)--(310.8, 304.9)--(311.6, 305.2)--(311.7, 305.2)--(311.8, 305.1)--(312.1, 304.9)--(312.4, 304.9)--(312.4, 305.0)--(312.7, 305.1)--(312.8, 305.1)--(312.9, 305.2)--(313.2, 305.2)--(313.4, 305.3)--(313.4, 304.9)--(313.5, 304.5)--(313.6, 304.5)--(313.7, 304.5)--(313.7, 304.2)--(313.8, 303.8)--(313.9, 303.7)--(313.9, 303.6)--(314.5, 303.8)--(315.1, 301.8)--(315.2, 301.5)--(315.2, 301.3)--(315.2, 301.2)--(315.2, 301.0)--(315.1, 300.7)--(315.1, 300.5)--(315.2, 300.0)--(315.3, 299.7)--(314.5, 299.3)--(315.0, 298.4)--(315.5, 298.8)--(315.5, 298.6)--(315.5, 298.5)--(315.5, 298.4)--(315.5, 298.3)--(315.6, 298.2)--(315.2, 297.7)--(315.1, 297.8)--(315.0, 297.7)--(314.3, 296.8)--(314.1, 296.5)--(314.0, 296.3)--(313.5, 294.9)--(313.3, 294.2)--(313.2, 294.1)--(312.7, 292.4)--(312.7, 292.3)--(312.0, 291.9)--(312.3, 291.0)--(312.3, 290.9)--(312.4, 290.8)--(312.5, 290.8)--(312.6, 290.8)--(312.6, 290.7)--(313.4, 290.3)--(315.0, 289.4)--(316.0, 289.0)--(316.3, 288.!
9)--(316..6, 288.8)--(316.7, 288.6)--(316.7, 288.3)--(316.9, 288.1)--(316.9, 287.9)--(317.1, 287.7)--(317.2, 287.4)--(317.3, 287.0)--(317.3, 287.1)--(317.4, 287.1)--(317.5, 287.0)--(317.7, 286.9)--(317.6, 286.8)--(317.8, 286.5)--(317.7, 286.4)--(317.9, 286.2)--(317.8, 286.1)--(317.7, 285.9)--(317.4, 285.4)--(317.2, 284.9)--(316.8, 284.4)--(316.3, 283.5)--(314.6, 280.5)--(314.3, 280.2)--(314.5, 280.1)--(314.6, 280.0)--(314.7, 279.9)--(314.8, 279.8)--(315.8, 279.2)--(315.7, 278.9)--(315.6, 278.7)--(315.4, 278.2)--(315.2, 277.8)--(315.5, 277.6)--(315.9, 277.4)--(316.4, 277.0)--(316.2, 276.8)--(316.1, 276.7)--(316.4, 276.4)--(316.5, 276.2)--(316.6, 276.1)--(316.7, 276.1)--(316.9, 275.8)--(317.1, 275.5)--(317.1, 275.4)--(317.1, 275.3)--(317.5, 274.8)--(316.9, 274.6)--(316.5, 274.5)--(314.7, 274.1)--(314.6, 274.1)--(314.6, 274.0)--(314.7, 274.0)--(314.8, 273.9)--(314.9, 273.8)--(315.4, 273.5)--(316.5, 272.8)--(317.9, 271.9)--(319.4, 271.1)--(320.5, 270.4)--(320.4, 270.2)--(320.3, 270.1)--(320.2, 269.7)--(320.1, 268.0)--(320.1, 267.7)--(320.1, 267.5)--(320.1, 267.4)--(320.3, 267.1)--(320.7, 266.5)--(320.9, 266.1)--(321.0, 265.6)--(321.1, 265.2)--(321.2, 265.2)--(321.4, 264.9)--(322.6, 263.5)--(323.4, 262.6)--(324.1, 263.0)--(324.3, 263.2)--(324.5, 263.4)--(324.6, 263.5)--(324.7, 263.6)--(324.8, 263.7)--(324.8, 263.8)--(325.0, 264.6)--(325.0, 264.7)--(325.0, 264.8)--(325.1, 264.9)--(325.4, 265.2)--(325.4, 265.1)--(325.5, 263.9)--(325.5, 263.7)--(325.6, 263.0)--(325.7, 262.8)--(325.7, 262.6)--(326.1, 261.8)--(326.9, 260.2)--(327.6, 258.8)--(327.6, 258.7)--(327.7, 258.6)--(327.7, 258.5)--(327.7, 258.4)--(327.7, 258.1)--(327.3, 255.4)--(327.2, 254.9)--(327.0, 254.6)--(326.8, 254.0)--(326.3, 253.0)--(326.2, 252.9)--(326.1, 252.7)--(326.0, 252.5)--(325.9, 252.5)--(325.8, 252.4)--(325.7, 252.2)--(325.4, 251.7)--(325.0, 251.2)--(324.7, 250.8)--(324.6, 250.6)--(324.5, 250.4)--(324.4, 250.2)--(324.4, 250.0)--(324.3, 249.9)--(324.1, 249.3)--(324.0, 249.0)--(323.9, 248.8)--(323.7, 248.5)--(323.4, 248.2)--(323.0, 247.7)--(322.7, 247!
.4)--(322.6, 247.2)--(322.1, 246.8)--(321.7, 246.5)--(321.1, 245.8)--(320.7, 245.3)--(320.5, 245.1)--(320.4, 245.0)--(320.3, 244.7)--(320.3, 244.6)--(320.4, 244.0)--(320.4, 243.9)--(320.4, 243.8)--(320.4, 243.7)--(320.2, 243.3)--(320.2, 243.2)--(320.1, 243.1)--(320.1, 243.0)--(320.1, 242.8)--(320.2, 242.7)--(320.2, 242.6)--(320.2, 242.5)--(320.3, 242.4)--(320.4, 242.2)--(320.5, 242.0)--(320.6, 241.8)--(320.6, 241.7)--(320.7, 241.6)--(320.7, 241.2)--(320.7, 240.9)--(320.7, 240.8)--(321.0, 240.8)--(321.1, 240.8)--(321.2, 240.8)--(321.3, 240.8)--(321.3, 240.7)--(321.4, 240.7)--(321.4, 240.6)--(321.5, 240.5)--(321.5, 240.3)--(321.6, 240.0)--(321.7, 239.8)--(321.7, 239.6)--(321.7, 239.5)--(321.8, 239.5)--(322.0, 239.1)--(322.4, 238.8)--(322.7, 238.4)--(323.1, 238.0)--(324.0, 236.9)--(324.2, 236.7)--(324.3, 236.4)--(324.7, 235.8)--(324.7, 235.6)--(324.8, 235.5)--(324.8, 235.3)--(324.8, 235.2)--(324.8, 235.1)--(324.8, 234.9)--(324.8, 234.7)--(324.8, 234.6)--(324.9, 234.5)--(324.9, 234.3)--(325.2, 233.2)--(325.5, 232.6)--(325.6, 232.4)--(325.8, 232.2)--(325.9, 232.0)--(326.1, 231.7)--(326.2, 231.4)--(326.3, 231.1)--(326.4, 230.7)--(326.5, 230.4)--(326.7, 229.8)--(326.9, 229.0)--(327.1, 228.5)--(327.1, 228.4)--(327.2, 228.2)--(327.2, 228.1)--(327.3, 228.0)--(327.5, 227.6)--(327.7, 227.1)--(327.9, 226.6)--(328.1, 225.8)--(328.2, 225.6)--(328.3, 225.2)--(328.5, 224.1)--(328.6, 223.3)--(329.0, 221.5)--(329.2, 220.4)--(329.5, 219.0)--(329.8, 218.1)--(329.9, 217.8)--(330.0, 217.7)--(330.1, 217.6)--(330.3, 217.4)--(330.4, 217.3)--(330.7, 217.2)--(331.2, 217.1)--(331.5, 216.9)--(331.6, 216.9)--(331.6, 216.8)--(331.7, 216.8)--(331.7, 216.7)--(331.7, 216.6)--(331.6, 216.5)--(331.6, 216.3)--(331.5, 216.2)--(331.5, 216.1)--(331.6, 216.1)--(331.6, 216.0)--(331.7, 215.9)--(331.8, 215.9)--(332.0, 215.7)--(332.1, 215.6)--(332.2, 215.5)--(332.4, 215.1)--(332.6, 214.6)--(332.8, 214.2)--(333.0, 213.8)--(333.2, 213.4)--(333.3, 213.0)--(333.3, 212.7)--(333.4, 212.4)--(333.4, 212.0)--(333.4, 211.5)--(333.5, 211.2)--(333.5, 210.9)--(333.5, 21!
0.7)--(333.5, 210.8)--(333.9, 210.9)--(334.5, 211.1)--(334.7, 211.2)--(334.7, 211.1)--(335.1, 210.0)--(335.3, 209.5)--(335.4, 209.5)--(335.7, 209.7)--(335.9, 209.7)--(336.0, 209.9)--(336.1, 209.8)--(336.2, 209.6)--(336.3, 209.4)--(336.7, 209.2)--(336.6, 208.8)--(336.5, 208.6)--(336.5, 208.5)--(336.5, 208.4)--(336.6, 208.4)--(337.2, 208.2)--(337.2, 208.1)--(337.1, 208.1)--(337.1, 208.0)--(337.1, 207.8)--(337.1, 207.6)--(337.0, 207.5)--(337.0, 207.3)--(336.9, 207.3)--(336.6, 207.2)--(336.5, 207.2)--(336.2, 207.1)--(336.0, 207.1)--(335.8, 207.1)--(335.6, 207.1)--(334.8, 207.2)--(334.4, 207.2)--(334.0, 207.1)--(333.7, 207.0)--(333.3, 206.9)--(332.5, 206.7)--(332.2, 206.6)--(332.0, 206.5)--(331.8, 206.5)--(331.7, 206.6)--(331.6, 206.6)--(331.4, 206.6)--(331.3, 206.7)--(331.2, 206.8)--(330.6, 207.1)--(330.4, 207.2)--(330.3, 207.2)--(330.1, 207.4)--(329.7, 207.9)--(329.5, 208.2)--(329.3, 208.4)--(329.2, 208.4)--(329.2, 208.5)--(329.1, 208.5)--(329.0, 208.6)--(328.9, 208.6)--(328.4, 208.9)--(328.2, 209.0)--(328.0, 209.2)--(327.8, 209.4)--(327.5, 209.7)--(327.4, 209.9)--(327.1, 210.1)--(326.9, 210.1)--(326.7, 210.2)--(326.6, 210.3)--(326.4, 210.3)--(326.2, 210.3)--(326.1, 210.3)--(325.9, 210.3)--(325.8, 210.3)--(325.6, 210.3)--(324.7, 210.2)--(324.2, 210.1)--(323.9, 210.1)--(323.8, 210.0)--(323.5, 210.0)--(323.3, 210.0)--(323.1, 210.0)--(322.9, 210.0)--(321.9, 210.0)--(321.5, 210.0)--(319.1, 210.0)--(318.8, 210.0)--(318.5, 209.9)--(318.0, 209.9)--(317.9, 209.9)--(317.8, 209.9)--(317.7, 209.9)--(317.5, 209.9)--(317.1, 210.0)--(316.5, 210.2)--(316.0, 210.3)--(315.6, 210.4)--(315.5, 210.5)--(315.3, 210.5)--(315.2, 210.4)--(315.1, 210.4)--(315.0, 210.4)--(314.7, 210.4)--(314.4, 210.4)--(314.0, 210.4)--(313.6, 210.5)--(313.2, 210.5)--(313.1, 210.4)--(313.0, 210.1)--(312.8, 209.9)--(312.4, 209.6)--(312.3, 209.4)--(312.2, 209.2)--(312.2, 209.1)--(312.2, 209.0)--(312.0, 208.7)--(311.9, 208.6)--(311.9, 208.5)--(311.7, 208.2)--(311.4, 207.9)--(311.4, 207.8)--(311.3, 207.7)--(311.2, 207.6)--(311.2, 207.5)--(311.0, 207.3)--(310.9, 2!
07.2)--(310.6, 207.1)--(310.3, 207.0)--(310.2, 206.9)--(309.8, 206.6)--(309.7, 206.6)--(309.5, 206.4)--(309.4, 206.3)--(309.3, 206.2)--(309.0, 206.0)--(308.8, 205.8)--(308.6, 205.6)--(308.3, 205.4)--(308.2, 205.2)--(308.2, 204.9)--(308.2, 204.7)--(308.1, 204.5)--(308.0, 204.3)--(307.9, 204.0)--(307.8, 203.7)--(307.7, 203.6)--(307.7, 203.5)--(307.7, 203.4)--(307.6, 203.4)--(307.6, 203.3)--(307.5, 203.1)--(307.4, 203.0)--(307.4, 202.9)--(307.3, 202.7)--(307.2, 202.5)--(307.1, 202.3)--(307.0, 202.0)--(306.8, 201.8)--(306.7, 201.7)--(306.6, 201.5)--(306.6, 201.4)--(306.6, 201.2)--(306.5, 201.2)--(306.3, 201.2)--(306.2, 201.2)--(306.2, 201.0)--(306.0, 200.8)--(305.8, 200.7)--(305.6, 200.7)--(305.5, 200.7)--(305.4, 200.4)--(305.4, 200.2)--(305.3, 200.0)--(305.2, 199.8)--(305.2, 199.6)--(305.2, 199.5)--(305.2, 199.4)--(305.3, 199.3)--(305.0, 199.2)--(304.5, 198.8)--(304.5, 198.6)--(304.4, 198.5)--(304.2, 198.6)--(304.1, 198.8)--(304.0, 198.8)--(303.8, 198.6)--(303.3, 198.3)--(303.2, 198.3)--(303.0, 198.1)--(303.0, 198.0)--(302.9, 197.7)--(300.0, 198.0)--(299.6, 198.0)--(299.2, 198.2)--(299.0, 198.3)--(299.0, 198.4)--(299.1, 198.6)--(299.0, 198.7)--(298.9, 198.4)--(298.8, 198.3)--(298.8, 198.2)--(298.8, 198.1)--(298.8, 197.8)--(298.8, 197.7)--(298.7, 197.4)--(298.6, 196.5)--(298.4, 196.6)--(298.2, 196.7)--(298.0, 196.7)--(297.9, 196.7)--(297.7, 196.7)--(297.4, 196.8)--(296.9, 197.0)--(296.2, 197.2)--(295.8, 197.3)--(295.7, 197.4)--(295.5, 197.5)--(295.4, 197.5)--(294.9, 197.7)--(294.8, 197.8)--(294.5, 197.9)--(293.7, 198.3)--(293.1, 198.7)--(292.7, 198.9)--(292.6, 199.0)--(292.4, 198.7)--(291.6, 198.1)--(291.4, 198.0)--(291.4, 197.9)--(291.3, 197.9)--(291.2, 197.9)--(291.1, 197.8)--(290.9, 198.0)--(290.7, 198.0)--(290.4, 198.0)--(289.8, 198.0)--(289.3, 198.2)--(288.9, 198.3)--(289.0, 198.5)--(289.2, 198.8)--(289.2, 198.9)--(289.4, 199.1)--(289.5, 199.4)--(289.7, 199.5)--(289.8, 199.6)--(290.0, 199.8)--(290.2, 200.0)--(290.5, 200.3)--(290.8, 200.6)--(291.4, 201.1)--(291.2, 201.4)--(290.9, 201.6)--(291.0, 201.7)--(291.8, !
202.6)--(292.3, 203.1)--(292.1, 203.3)--(293.2, 204.6)--(294.0, 205.6)--(294.6, 206.3)--(294.9, 206.6)--(295.3, 207.1)--(295.5, 207.4)--(295.8, 207.7)--(295.4, 208.7)--(295.2, 209.3)--(295.2, 209.4)--(295.0, 210.5)--(295.0, 210.7)--(294.9, 211.5)--(294.9, 211.7)--(294.9, 212.3)--(294.9, 213.2)--(295.0, 214.0)--(295.1, 215.3)--(295.1, 215.7)--(295.1, 216.2)--(295.1, 216.5)--(295.1, 217.1)--(295.1, 217.5)--(295.1, 217.9)--(295.1, 218.0)--(295.1, 218.1)--(295.1, 218.2)--(295.6, 218.1)--(295.9, 218.1)--(296.3, 218.0)--(296.8, 217.9)--(297.1, 217.9)--(297.2, 217.9)--(297.3, 218.0)--(297.2, 218.3)--(297.0, 218.9)--(296.8, 219.8)--(296.6, 220.7)--(296.4, 221.8)--(296.3, 221.9)--(296.2, 221.9)--(296.0, 221.9)--(295.6, 221.8)--(295.4, 221.8)--(295.1, 222.1)--(294.5, 222.9)--(294.2, 223.3)--(294.1, 223.4)--(294.1, 223.6)--(294.0, 223.8)--(294.0, 224.1)--(293.9, 224.5)--(293.8, 225.2)--(293.9, 225.3)--(294.0, 225.6)--(294.2, 225.9)--(294.3, 226.0)--(294.4, 226.1)--(294.5, 226.2)--(294.8, 226.4)--(295.0, 226.5)--(295.2, 226.7)--(295.3, 226.9)--(295.4, 227.1)--(295.5, 227.4)--(295.6, 227.7)--(295.6, 228.0)--(295.6, 228.3)--(295.6, 228.4)--(295.6, 228.5)--(295.5, 228.7)--(295.4, 228.8)--(295.5, 228.8)--(295.5, 228.9)--(295.5, 229.1)--(295.8, 229.0)--(295.9, 229.4)--(296.0, 229.5)--(296.2, 230.0)--(296.4, 230.4)--(296.5, 230.7)--(296.5, 230.9)--(296.4, 230.9)--(296.2, 230.8)--(295.9, 230.7)--(295.5, 230.6)--(295.1, 230.6)--(294.3, 230.5)--(293.1, 230.6)--(292.6, 230.6)--(292.0, 230.6)--(291.8, 230.6)--(291.4, 230.6)--(291.2, 230.6)--(291.0, 231.1)--(290.9, 231.5)--(290.6, 232.2)--(290.5, 232.4)--(290.4, 232.7)--(290.3, 232.9)--(290.2, 233.1)--(290.0, 233.5)--(289.8, 234.0)--(289.7, 234.5)--(289.6, 235.0)--(289.6, 235.1)--(289.7, 235.2)--(289.7, 235.6)--(289.8, 236.2)--(289.8, 236.7)--(289.9, 237.1)--(290.1, 237.7)--(290.2, 238.0)--(290.2, 238.2)--(290.6, 238.6)--(290.9, 238.9)--(291.1, 239.1)--(291.3, 239.5)--(291.4, 239.6)--(291.5, 239.8)--(291.6, 240.1)--(291.7, 240.3)--(291.8, 240.5)--(291.8, 240.8)--(291.2, 240.9)--(290.9,!
241.0)--(290.8, 241.0)--(290.2, 241.3)--(288.8, 241.9)--(288.3, 242.1)--(288.0, 242.2)--(288.2, 242.9)--(288.1, 242.9)--(288.0, 242.9)--(287.9, 243.9)--(287.8, 244.9)--(287.7, 245.0)--(287.8, 245.1)--(287.8, 245.3)--(287.7, 246.2)--(287.6, 246.7)--(287.4, 247.6)--(287.4, 247.7)--(287.4, 247.8)--(287.2, 248.4)--(287.0, 249.0)--(286.8, 249.5)--(286.7, 249.7)--(286.7, 250.0)--(286.4, 252.1)--(286.4, 252.2)--(286.3, 252.4)--(286.2, 252.6)--(286.1, 252.8)--(285.9, 253.2)--(285.8, 253.3)--(285.8, 253.4)--(285.7, 253.7)--(285.6, 253.9)--(285.6, 254.1)--(285.4, 254.9)--(285.4, 255.1)--(285.4, 255.4)--(285.2, 257.2)--(285.7, 257.3)--(285.6, 257.7)--(285.6, 258.8)--(285.6, 258.9)--(285.6, 259.2)--(285.8, 259.2)--(286.4, 259.6)--(287.8, 260.6)--(288.6, 261.1)--(290.6, 262.5)--(290.7, 262.5)--(291.0, 262.0)--(291.8, 262.7)--(291.6, 263.0)--(292.2, 263.4)--(292.6, 263.8)--(292.9, 263.5)--(293.0, 263.5)--(293.3, 263.7)--(293.2, 263.8)--(293.1, 263.9)--(293.2, 264.0)--(293.3, 264.1)--(293.4, 264.1)--(293.5, 264.1)--(293.7, 264.2)--(293.7, 264.1)--(293.9, 264.1)--(294.0, 264.2)--(294.2, 264.4)--(294.3, 264.6)--(294.5, 264.9)--(294.9, 265.5)--(295.1, 265.3)--(295.2, 265.2)--(295.3, 265.1)--(295.4, 265.1)--(295.5, 265.1)--(295.6, 265.1)--(295.7, 265.1)--(295.8, 265.1)--(295.9, 265.1)--(296.0, 265.3)--(296.1, 265.4)--(296.2, 265.5)--(296.4, 265.8)--(296.6, 265.9)--(296.6, 266.1)--(296.6, 266.3)--(296.6, 266.4)--(296.6, 266.5)--(296.4, 266.6)--(296.1, 266.8)--(296.3, 267.3)--(296.2, 267.3)--(296.4, 267.6)--(296.5, 267.5)--(296.7, 267.8)--(296.8, 268.0)--(296.8, 268.3)--(296.9, 268.4)--(297.0, 268.4)--(297.0, 268.6)--(297.0, 268.7)--(297.1, 269.0)--(297.3, 269.6)--(297.5, 269.9)--(297.8, 270.6)--(298.0, 271.2)--(298.1, 271.5)--(298.2, 271.5)--(298.2, 271.6)--(298.3, 271.7)--(298.3, 271.8)--(298.4, 272.1)--(298.4, 272.3)--(298.5, 272.4)--(298.6, 272.6)--(298.6, 272.7)--(298.7, 272.8)--(298.9, 273.0)--(298.9, 273.2)--(299.1, 273.5)--(299.2, 273.8)--(299.3, 273.9)--(299.3, 274.0)--(299.4, 274.0)--(299.5, 274.6)--(299.9, 274.8)--(300.1!
, 274.9)--(300.4, 275.1)--(300.9, 275.4)--(301.2, 275.6)--(301.3, 276.0)--(301.3, 276.5)--(301.4, 277.1)--(301.5, 277.4)--(301.6, 277.7)--(301.9, 278.3)--(301.8, 278.4)--(301.5, 278.5)--(301.0, 278.6)--(300.8, 278.6)--(300.7, 278.6)--(300.5, 278.8)--cycle;
+Lewisham = (366.9, 289.6)--(367.0, 289.4)--(367.1, 289.4)--(367.0, 289.3)--(367.0, 289.2)--(367.1, 289.1)--(367.2, 288.9)--(367.3, 288.5)--(367.5, 288.2)--(367.6, 288.0)--(367.9, 287.2)--(368.2, 286.7)--(368.4, 286.3)--(368.4, 286.2)--(368.6, 285.9)--(368.9, 285.5)--(369.1, 285.1)--(369.2, 284.9)--(369.2, 284.8)--(369.3, 284.8)--(369.6, 284.4)--(369.5, 284.3)--(370.0, 283.7)--(370.1, 283.5)--(370.6, 283.1)--(371.0, 282.7)--(371.2, 282.5)--(371.3, 282.4)--(371.6, 282.2)--(371.8, 282.0)--(372.4, 281.5)--(372.3, 281.4)--(372.4, 281.4)--(372.3, 281.1)--(372.2, 280.8)--(372.2, 280.7)--(372.2, 280.4)--(372.1, 280.0)--(372.1, 279.9)--(371.9, 279.0)--(371.9, 278.1)--(371.8, 277.6)--(371.8, 277.5)--(371.7, 277.3)--(371.7, 277.2)--(371.4, 276.9)--(372.6, 276.5)--(373.7, 276.1)--(373.7, 275.5)--(373.8, 274.8)--(374.2, 274.9)--(375.7, 275.2)--(375.6, 275.5)--(375.9, 275.7)--(376.6, 276.1)--(376.8, 276.2)--(376.9, 276.2)--(377.0, 276.3)--(377.2, 276.3)--(377.4, 276.3)--(377.5, 276.1)--(377.9, 275.8)--(377.9, 275.7)--(377.7, 275.6)--(377.7, 275.5)--(376.6, 275.1)--(376.5, 275.1)--(376.5, 275.0)--(376.5, 274.9)--(376.5, 274.7)--(376.4, 274.4)--(376.5, 274.4)--(376.4, 273.4)--(376.4, 273.3)--(376.4, 273.1)--(376.2, 273.1)--(376.1, 273.1)--(376.1, 273.0)--(376.3, 273.0)--(376.4, 273.0)--(376.4, 272.7)--(376.5, 272.7)--(376.5, 272.3)--(376.5, 272.2)--(376.4, 272.2)--(376.1, 272.1)--(376.0, 272.1)--(375.6, 271.7)--(375.5, 271.6)--(375.4, 271.5)--(375.3, 271.3)--(375.4, 271.3)--(375.4, 271.2)--(375.3, 271.2)--(375.3, 271.1)--(375.2, 271.1)--(375.1, 271.1)--(375.0, 271.1)--(374.9, 271.1)--(374.2, 270.7)--(374.2, 270.8)--(374.1, 270.7)--(374.4, 270.6)--(374.5, 270.7)--(374.7, 270.7)--(374.8, 270.8)--(375.0, 270.8)--(375.1, 270.9)--(375.4, 270.9)--(375.5, 270.7)--(375.4, 270.6)--(375.4, 270.5)--(375.3, 270.4)--(375.2, 270.4)--(374.5, 270.3)--(374.4, 270.2)--(374.3, 270.2)--(374.3, 270.1)--(374.1, 270.1)--(374.1, 270.0)--(374.0, 270.0)--(374.0, 269.9)--(374.0, 269.8)--(374.1, 269.4)--(374.1, 269.2)--(374.1, 269.1)--(374.1, 268!
.9)--(374.3, 268.9)--(374.3, 268.7)--(374.2, 268.6)--(374.4, 268.5)--(374.4, 268.7)--(374.5, 268.7)--(374.6, 268.7)--(374.6, 268.6)--(374.7, 268.6)--(374.8, 268.5)--(374.9, 268.6)--(375.0, 268.5)--(375.1, 268.4)--(375.2, 268.3)--(375.3, 268.3)--(375.4, 268.2)--(375.5, 268.2)--(375.5, 268.1)--(375.6, 268.0)--(375.6, 267.9)--(375.7, 267.7)--(375.9, 267.7)--(376.0, 267.7)--(376.1, 267.6)--(376.1, 267.5)--(376.1, 267.4)--(376.1, 267.3)--(376.1, 267.2)--(376.0, 267.1)--(375.9, 266.9)--(375.9, 266.8)--(375.9, 266.7)--(376.0, 266.6)--(376.1, 266.5)--(376.2, 266.5)--(376.2, 266.4)--(376.6, 266.5)--(376.6, 266.4)--(376.7, 266.3)--(376.8, 265.8)--(376.8, 265.6)--(376.9, 265.5)--(377.0, 265.5)--(377.0, 265.4)--(376.9, 265.4)--(376.9, 265.2)--(377.0, 265.0)--(377.1, 264.9)--(376.9, 264.8)--(376.9, 264.9)--(376.8, 264.8)--(376.7, 264.8)--(376.8, 264.5)--(376.9, 264.3)--(376.8, 264.1)--(377.1, 263.9)--(377.3, 263.8)--(377.5, 263.7)--(377.7, 263.6)--(377.8, 263.6)--(378.0, 263.6)--(378.1, 263.6)--(378.2, 263.5)--(378.2, 263.4)--(378.4, 263.2)--(378.6, 263.4)--(378.7, 263.2)--(378.7, 263.1)--(378.8, 263.0)--(379.1, 262.6)--(379.2, 262.6)--(379.4, 262.4)--(379.4, 262.3)--(379.5, 262.2)--(379.7, 262.1)--(380.0, 262.3)--(380.1, 262.4)--(380.4, 262.6)--(380.8, 262.9)--(381.0, 263.1)--(380.8, 263.6)--(380.6, 263.9)--(380.5, 264.1)--(380.4, 264.3)--(380.3, 264.4)--(380.1, 265.0)--(379.7, 265.8)--(379.5, 266.2)--(379.8, 266.4)--(380.0, 266.4)--(379.9, 266.7)--(380.1, 267.1)--(380.3, 267.3)--(380.5, 267.1)--(380.8, 267.0)--(380.9, 266.9)--(381.1, 266.9)--(381.3, 266.9)--(381.9, 267.0)--(382.9, 267.2)--(383.0, 267.3)--(383.7, 267.4)--(383.8, 267.4)--(384.0, 267.5)--(384.4, 267.5)--(384.9, 267.3)--(385.2, 267.3)--(385.4, 267.3)--(386.1, 267.1)--(387.5, 266.8)--(388.4, 266.7)--(389.0, 266.6)--(389.1, 266.6)--(389.2, 266.6)--(389.4, 266.6)--(389.8, 266.6)--(390.1, 266.6)--(390.3, 266.7)--(390.7, 266.7)--(391.2, 266.8)--(392.0, 267.0)--(392.7, 267.1)--(393.2, 267.3)--(393.8, 267.4)--(395.2, 267.7)--(396.4, 267.9)--(397.1, 268.0)--(398.4, 26!
8.3)--(399.4, 268.5)--(400.0, 268.6)--(400.6, 268.8)--(401.8, 269.0)--(402.5, 269.2)--(402.6, 269.2)--(402.3, 269.0)--(401.5, 268.7)--(401.3, 268.6)--(401.1, 268.5)--(400.4, 268.3)--(400.4, 268.0)--(400.4, 267.7)--(400.5, 267.4)--(400.6, 267.0)--(400.7, 266.6)--(400.8, 266.3)--(401.1, 265.5)--(401.3, 265.1)--(401.4, 265.0)--(401.4, 264.9)--(401.4, 264.8)--(401.5, 264.8)--(401.5, 264.7)--(401.7, 264.5)--(401.7, 264.3)--(401.7, 264.1)--(401.6, 263.9)--(401.5, 263.7)--(401.3, 263.9)--(401.2, 263.9)--(401.1, 264.0)--(400.9, 264.1)--(400.7, 264.2)--(400.5, 264.4)--(400.2, 264.5)--(400.1, 264.5)--(399.9, 264.6)--(399.7, 264.6)--(399.6, 264.6)--(399.5, 264.6)--(399.5, 264.7)--(399.1, 264.6)--(398.9, 264.6)--(399.1, 263.5)--(399.2, 263.1)--(399.2, 262.9)--(399.2, 262.7)--(399.2, 262.6)--(399.2, 262.5)--(399.1, 262.3)--(399.0, 262.2)--(399.0, 262.0)--(399.0, 261.9)--(399.1, 261.8)--(399.2, 261.5)--(399.3, 261.4)--(399.4, 261.3)--(399.3, 261.3)--(399.2, 261.2)--(399.1, 261.2)--(399.1, 261.1)--(398.9, 261.1)--(398.6, 260.9)--(398.4, 260.7)--(398.3, 260.6)--(398.2, 260.6)--(398.1, 260.5)--(397.8, 260.5)--(397.7, 260.4)--(397.5, 260.4)--(397.1, 260.3)--(396.6, 260.1)--(396.6, 259.8)--(396.6, 259.5)--(396.6, 259.3)--(396.5, 259.0)--(396.5, 258.9)--(396.5, 258.8)--(396.6, 258.7)--(396.6, 258.6)--(396.7, 258.2)--(396.7, 258.1)--(396.8, 257.9)--(396.8, 257.7)--(396.9, 257.3)--(397.0, 257.0)--(397.1, 256.7)--(397.1, 256.4)--(397.2, 256.2)--(397.2, 255.9)--(397.2, 255.5)--(397.2, 255.2)--(397.2, 254.9)--(397.2, 254.6)--(397.2, 254.0)--(397.3, 253.4)--(397.3, 253.1)--(397.3, 252.9)--(397.5, 252.6)--(397.6, 252.2)--(397.7, 251.9)--(397.9, 251.5)--(398.0, 251.3)--(398.1, 250.9)--(398.3, 250.5)--(398.4, 250.3)--(398.5, 250.2)--(398.5, 250.1)--(398.5, 250.0)--(398.5, 249.9)--(398.6, 249.8)--(398.8, 249.7)--(399.1, 249.6)--(399.3, 249.4)--(399.6, 249.3)--(399.7, 249.2)--(399.9, 249.1)--(400.3, 249.0)--(400.4, 248.9)--(400.5, 248.9)--(400.8, 248.8)--(401.2, 248.7)--(401.7, 248.6)--(402.7, 248.3)--(402.7, 248.0)--(402.7, 247.9)--(402.7, 2!
47.8)--(402.7, 247.7)--(402.7, 247.6)--(402.7, 247.5)--(402.7, 247.4)--(402.8, 247.3)--(402.8, 247.2)--(402.8, 246.9)--(402.9, 246.7)--(403.0, 246.3)--(403.1, 246.1)--(403.1, 246.0)--(403.2, 246.0)--(403.4, 244.4)--(404.1, 244.6)--(404.2, 244.6)--(404.3, 244.2)--(404.4, 244.0)--(404.4, 243.9)--(404.5, 243.5)--(401.2, 242.9)--(401.1, 243.3)--(401.0, 243.3)--(401.2, 242.6)--(402.7, 242.1)--(403.2, 242.0)--(404.1, 241.9)--(405.0, 241.7)--(405.7, 241.6)--(406.0, 241.6)--(406.1, 241.3)--(406.2, 241.1)--(406.2, 241.0)--(406.3, 240.8)--(406.3, 240.7)--(406.4, 240.6)--(406.5, 240.1)--(406.7, 239.9)--(406.7, 239.6)--(406.6, 239.6)--(405.8, 239.1)--(405.6, 239.0)--(405.6, 237.9)--(405.6, 237.4)--(405.6, 237.2)--(405.8, 236.8)--(405.8, 236.5)--(405.2, 236.3)--(405.6, 235.4)--(405.9, 234.6)--(406.3, 234.5)--(406.8, 234.3)--(407.1, 234.1)--(407.4, 234.0)--(407.8, 233.8)--(407.9, 233.8)--(408.1, 233.7)--(408.3, 233.7)--(408.6, 233.6)--(409.2, 233.5)--(409.5, 233.5)--(409.6, 233.5)--(409.9, 233.4)--(410.3, 233.4)--(410.6, 233.4)--(410.8, 233.5)--(410.9, 233.5)--(411.0, 233.6)--(411.1, 233.6)--(411.4, 233.7)--(411.4, 233.6)--(411.2, 233.4)--(411.2, 233.3)--(411.1, 233.2)--(411.1, 233.0)--(411.0, 232.8)--(410.9, 232.5)--(410.9, 232.2)--(410.9, 232.0)--(411.0, 231.5)--(411.1, 231.1)--(411.1, 230.9)--(411.1, 230.7)--(411.1, 230.4)--(411.0, 230.4)--(409.1, 229.9)--(409.1, 230.0)--(408.3, 229.7)--(408.3, 229.6)--(408.3, 229.4)--(408.4, 229.0)--(408.4, 228.6)--(408.4, 228.4)--(408.5, 228.1)--(408.6, 228.1)--(408.7, 227.3)--(408.7, 227.2)--(408.8, 226.9)--(408.9, 226.9)--(409.0, 227.2)--(409.4, 227.5)--(410.1, 227.9)--(410.3, 227.9)--(410.4, 227.9)--(410.4, 227.8)--(410.6, 227.8)--(411.0, 227.8)--(411.1, 227.8)--(411.1, 227.7)--(411.2, 227.2)--(411.3, 226.7)--(411.3, 226.3)--(411.4, 225.8)--(411.4, 225.5)--(411.3, 225.3)--(411.1, 225.1)--(411.4, 224.8)--(411.8, 224.6)--(412.0, 224.4)--(412.1, 224.2)--(412.2, 224.1)--(412.3, 224.1)--(412.4, 224.0)--(412.9, 223.7)--(413.0, 223.6)--(413.1, 223.5)--(412.8, 223.1)--(412.9, 223.0)--(413.0, !
223.2)--(413.1, 223.3)--(413.2, 223.5)--(413.6, 223.3)--(413.7, 223.0)--(413.8, 222.8)--(414.4, 223.2)--(414.7, 222.6)--(415.3, 223.1)--(417.1, 224.3)--(417.4, 224.5)--(417.4, 224.0)--(417.4, 223.9)--(417.4, 223.5)--(417.3, 223.4)--(417.3, 223.3)--(417.3, 223.1)--(417.3, 222.8)--(417.3, 222.6)--(417.4, 222.4)--(417.4, 222.3)--(417.4, 222.1)--(417.5, 222.0)--(417.5, 221.9)--(417.6, 221.5)--(417.6, 221.4)--(417.6, 221.3)--(417.7, 221.1)--(417.7, 220.8)--(417.9, 220.3)--(417.8, 220.2)--(417.9, 219.9)--(418.0, 219.7)--(418.0, 219.5)--(418.0, 218.6)--(417.9, 218.5)--(417.7, 218.3)--(417.7, 218.1)--(418.1, 218.1)--(418.1, 217.7)--(418.2, 217.1)--(418.3, 216.9)--(418.4, 216.9)--(418.4, 216.6)--(418.4, 216.5)--(418.5, 216.5)--(418.6, 216.0)--(418.6, 215.9)--(418.6, 215.8)--(418.6, 215.7)--(418.6, 215.4)--(418.6, 215.0)--(418.6, 214.9)--(418.5, 214.9)--(418.4, 214.9)--(417.6, 213.6)--(416.7, 212.3)--(415.8, 213.1)--(415.6, 213.4)--(415.4, 213.6)--(415.1, 213.9)--(415.0, 214.2)--(414.8, 214.3)--(414.6, 214.5)--(414.4, 214.7)--(414.1, 214.9)--(414.0, 215.0)--(413.8, 215.1)--(413.3, 215.5)--(413.2, 215.7)--(412.9, 215.9)--(412.5, 216.1)--(412.4, 216.2)--(412.3, 216.3)--(412.0, 216.7)--(411.7, 217.0)--(411.2, 217.5)--(410.3, 218.5)--(410.1, 218.6)--(409.5, 219.2)--(409.0, 219.4)--(408.8, 219.2)--(408.4, 218.9)--(408.2, 218.8)--(408.1, 218.7)--(407.9, 218.6)--(407.9, 218.5)--(407.7, 218.4)--(407.5, 218.2)--(407.3, 218.0)--(407.1, 217.8)--(406.9, 217.7)--(406.6, 217.5)--(406.5, 217.4)--(406.4, 217.3)--(406.4, 217.2)--(406.3, 217.2)--(406.1, 217.0)--(406.0, 216.9)--(405.5, 217.0)--(405.3, 217.1)--(405.1, 217.2)--(405.0, 217.1)--(404.5, 217.2)--(404.3, 217.1)--(404.2, 217.0)--(404.0, 217.0)--(403.9, 217.0)--(403.7, 217.0)--(403.5, 216.9)--(403.4, 216.8)--(403.2, 216.6)--(402.6, 216.2)--(402.3, 216.1)--(401.9, 216.1)--(401.6, 216.1)--(401.5, 216.1)--(401.2, 216.1)--(401.4, 215.5)--(401.5, 215.0)--(400.9, 214.9)--(400.8, 214.4)--(400.0, 213.8)--(399.7, 213.7)--(399.6, 213.3)--(399.3, 213.2)--(399.2, 213.0)--(399.0, 212.8)--(398.6,!
212.1)--(398.5, 211.9)--(397.7, 212.3)--(397.6, 212.4)--(397.2, 212.5)--(397.0, 211.9)--(396.8, 211.1)--(396.7, 210.6)--(396.4, 210.7)--(396.3, 210.8)--(396.3, 210.6)--(396.3, 210.4)--(396.4, 210.4)--(396.3, 210.1)--(396.0, 210.2)--(395.9, 209.9)--(395.8, 209.8)--(395.8, 209.7)--(395.8, 209.6)--(395.8, 209.4)--(395.7, 209.3)--(395.7, 209.2)--(395.6, 209.0)--(395.5, 208.9)--(395.5, 208.7)--(395.3, 208.3)--(395.5, 208.1)--(395.4, 208.0)--(395.4, 207.9)--(395.5, 207.6)--(395.6, 207.4)--(395.5, 207.3)--(395.3, 207.1)--(394.1, 206.1)--(393.9, 206.3)--(392.9, 207.4)--(392.4, 207.1)--(392.3, 206.9)--(392.1, 206.8)--(392.1, 206.7)--(391.8, 206.5)--(391.6, 206.3)--(391.6, 206.2)--(391.6, 206.1)--(391.6, 206.0)--(391.5, 205.7)--(391.5, 205.1)--(391.5, 205.0)--(391.5, 204.9)--(391.4, 204.8)--(391.1, 204.6)--(391.2, 204.6)--(391.2, 204.4)--(389.4, 204.1)--(389.4, 204.0)--(389.3, 204.0)--(389.3, 203.7)--(389.5, 203.4)--(388.3, 202.8)--(388.3, 202.9)--(388.3, 203.0)--(388.2, 203.0)--(388.2, 203.1)--(388.2, 203.2)--(388.1, 203.3)--(388.0, 203.6)--(387.9, 203.8)--(387.9, 204.2)--(387.6, 204.4)--(387.5, 204.4)--(387.4, 204.4)--(387.2, 204.4)--(387.1, 203.8)--(387.1, 203.5)--(387.1, 203.2)--(387.2, 202.9)--(386.5, 202.7)--(386.4, 202.7)--(386.3, 202.6)--(386.1, 202.6)--(385.9, 202.5)--(385.7, 202.4)--(385.6, 202.3)--(385.5, 202.2)--(385.4, 202.1)--(385.4, 202.0)--(384.5, 201.6)--(383.6, 201.6)--(382.9, 201.6)--(382.4, 201.6)--(381.9, 201.6)--(381.9, 201.8)--(381.8, 201.8)--(381.8, 201.9)--(381.7, 201.9)--(381.8, 203.0)--(381.8, 203.1)--(381.9, 203.1)--(381.9, 203.2)--(381.7, 203.2)--(381.2, 203.2)--(380.8, 203.1)--(380.3, 203.1)--(380.0, 203.1)--(379.7, 203.1)--(379.3, 203.1)--(379.3, 203.9)--(377.7, 204.1)--(377.6, 204.1)--(377.6, 204.2)--(377.5, 204.2)--(377.4, 204.1)--(377.1, 204.1)--(377.1, 204.2)--(377.1, 204.3)--(376.8, 204.5)--(376.6, 204.6)--(376.5, 204.8)--(376.3, 204.9)--(376.6, 205.5)--(376.0, 205.8)--(376.4, 206.2)--(376.6, 206.4)--(376.7, 206.6)--(376.8, 206.8)--(376.9, 207.0)--(376.9, 207.3)--(376.9, 207.8)--(376.9!
, 207.9)--(376.9, 208.0)--(377.0, 208.1)--(377.0, 208.2)--(377.0, 208.3)--(377.1, 208.4)--(377.2, 208.5)--(377.0, 208.7)--(376.8, 208.8)--(376.6, 209.0)--(376.5, 209.0)--(376.6, 209.1)--(377.0, 209.6)--(376.8, 209.9)--(376.2, 210.4)--(376.1, 210.5)--(376.0, 210.4)--(375.9, 210.3)--(375.8, 210.4)--(375.6, 210.7)--(375.5, 210.9)--(375.5, 211.0)--(375.2, 211.3)--(375.1, 211.5)--(374.9, 211.7)--(374.7, 211.9)--(374.6, 212.0)--(374.3, 212.1)--(374.1, 212.2)--(373.8, 212.3)--(373.7, 212.4)--(373.7, 212.5)--(373.6, 212.5)--(373.6, 212.6)--(373.4, 212.5)--(373.3, 212.6)--(372.9, 212.9)--(372.7, 213.0)--(372.6, 213.1)--(372.4, 213.2)--(372.2, 213.4)--(372.2, 213.5)--(372.1, 213.6)--(372.1, 213.7)--(371.7, 213.9)--(371.0, 214.4)--(370.9, 214.5)--(370.7, 214.5)--(370.5, 214.7)--(370.4, 214.7)--(370.3, 214.7)--(370.2, 214.7)--(369.9, 214.7)--(369.2, 214.5)--(369.3, 214.2)--(369.4, 213.6)--(369.0, 213.6)--(368.5, 213.5)--(368.3, 213.5)--(368.1, 213.5)--(368.1, 213.6)--(367.7, 213.6)--(367.7, 214.0)--(367.5, 213.9)--(367.2, 213.9)--(366.7, 213.9)--(366.5, 213.8)--(366.3, 213.8)--(366.1, 213.8)--(365.4, 213.8)--(365.2, 213.5)--(365.0, 213.1)--(364.9, 212.8)--(364.8, 212.6)--(364.7, 212.7)--(364.4, 212.8)--(364.0, 212.9)--(363.8, 212.9)--(363.7, 212.9)--(363.5, 213.0)--(363.2, 213.0)--(362.9, 212.9)--(362.9, 212.8)--(362.8, 212.7)--(362.5, 212.5)--(362.5, 212.4)--(362.6, 212.2)--(361.7, 211.8)--(361.7, 211.7)--(361.7, 211.9)--(361.6, 211.9)--(361.4, 211.8)--(361.3, 211.7)--(361.1, 211.7)--(361.1, 211.6)--(361.2, 211.4)--(360.7, 211.2)--(359.4, 210.7)--(359.4, 211.0)--(359.6, 211.0)--(359.6, 211.2)--(358.9, 211.2)--(358.7, 211.2)--(358.7, 211.3)--(357.8, 211.2)--(357.7, 211.2)--(357.4, 211.1)--(357.2, 211.1)--(356.9, 211.1)--(356.8, 211.0)--(356.5, 211.0)--(356.4, 210.9)--(356.3, 210.9)--(355.9, 210.8)--(355.6, 210.8)--(355.6, 211.0)--(355.6, 211.3)--(355.5, 212.0)--(355.0, 212.0)--(353.4, 212.1)--(353.4, 211.8)--(353.2, 211.2)--(352.7, 211.3)--(352.7, 211.2)--(352.4, 211.2)--(352.3, 211.2)--(352.2, 211.2)--(352.1, 211.2)--(351.!
9, 211.2)--(351.4, 211.3)--(351.1, 211.4)--(351.1, 211.5)--(350.9, 211.7)--(350.3, 212.0)--(350.1, 212.1)--(349.9, 212.2)--(349.8, 212.2)--(348.8, 212.8)--(348.7, 212.8)--(348.7, 212.9)--(348.7, 213.0)--(348.8, 213.1)--(348.6, 213.2)--(348.4, 213.4)--(348.3, 213.4)--(348.1, 213.5)--(347.9, 213.6)--(347.9, 213.5)--(347.8, 213.6)--(347.7, 213.6)--(347.4, 213.6)--(347.4, 213.7)--(347.3, 213.7)--(346.7, 213.7)--(346.6, 213.4)--(346.5, 213.4)--(346.4, 213.5)--(346.4, 213.6)--(346.2, 213.6)--(346.1, 213.6)--(345.9, 213.6)--(345.7, 213.7)--(345.5, 213.4)--(345.1, 213.7)--(344.9, 213.7)--(344.6, 213.9)--(344.2, 214.2)--(344.2, 214.3)--(344.0, 214.3)--(343.7, 214.3)--(343.6, 214.2)--(343.6, 213.9)--(343.3, 214.1)--(343.1, 214.2)--(342.6, 214.4)--(342.5, 214.4)--(342.5, 214.5)--(342.4, 214.5)--(342.3, 214.5)--(342.2, 214.6)--(342.1, 214.6)--(342.0, 214.6)--(341.9, 214.6)--(341.8, 214.6)--(341.7, 214.6)--(341.4, 214.6)--(341.2, 214.6)--(341.1, 214.6)--(340.8, 214.6)--(340.6, 214.5)--(340.4, 214.5)--(340.2, 214.5)--(340.1, 214.4)--(340.0, 214.4)--(340.0, 214.5)--(340.0, 214.8)--(339.9, 215.4)--(339.7, 215.9)--(339.6, 216.1)--(339.4, 216.6)--(339.3, 216.9)--(339.2, 217.1)--(339.2, 217.3)--(339.2, 217.8)--(339.2, 218.2)--(339.3, 218.3)--(339.3, 218.4)--(340.1, 220.2)--(340.6, 221.0)--(340.7, 221.2)--(340.8, 221.3)--(340.9, 221.4)--(341.1, 221.5)--(341.5, 221.5)--(341.7, 221.5)--(341.8, 221.5)--(341.9, 221.5)--(342.1, 221.5)--(342.3, 221.5)--(342.5, 221.6)--(342.6, 221.6)--(342.9, 221.7)--(342.9, 221.8)--(343.3, 222.0)--(343.6, 222.1)--(344.1, 222.6)--(344.5, 222.9)--(344.8, 223.2)--(345.2, 223.6)--(345.3, 223.7)--(345.3, 223.8)--(345.4, 223.9)--(345.4, 224.0)--(345.5, 224.1)--(345.6, 224.5)--(345.7, 224.9)--(345.9, 225.4)--(346.1, 225.9)--(346.2, 226.3)--(346.2, 226.4)--(346.3, 226.5)--(346.3, 226.6)--(346.3, 226.7)--(346.4, 226.8)--(346.5, 226.9)--(346.6, 227.0)--(346.9, 227.2)--(347.0, 227.3)--(347.0, 227.4)--(346.9, 227.5)--(346.8, 227.7)--(346.8, 227.8)--(346.8, 228.0)--(346.7, 228.9)--(346.7, 229.5)--(346.5, 230.9)--(346!
.3, 231.0)--(346.0, 231.1)--(345.8, 231.3)--(346.1, 231.7)--(346.3, 232.1)--(346.4, 232.2)--(346.4, 232.3)--(346.6, 232.8)--(346.6, 233.2)--(346.7, 233.7)--(346.6, 234.6)--(346.6, 235.1)--(346.7, 235.4)--(346.7, 235.9)--(346.8, 236.2)--(346.9, 236.5)--(347.0, 236.9)--(347.1, 237.2)--(347.3, 237.8)--(347.5, 238.0)--(347.6, 238.2)--(347.7, 238.4)--(347.8, 238.7)--(348.1, 239.1)--(348.4, 239.4)--(349.3, 240.1)--(349.7, 240.4)--(350.0, 240.7)--(350.4, 241.2)--(350.7, 241.6)--(351.4, 241.2)--(352.2, 240.7)--(352.7, 240.4)--(353.0, 240.2)--(353.2, 240.0)--(353.2, 239.9)--(353.3, 239.9)--(353.4, 239.9)--(353.5, 239.9)--(353.6, 239.9)--(353.9, 240.0)--(355.3, 240.8)--(356.0, 241.2)--(356.4, 241.4)--(356.6, 241.5)--(356.9, 241.5)--(357.2, 241.5)--(357.5, 241.5)--(358.1, 241.4)--(358.4, 241.4)--(358.7, 241.3)--(358.8, 241.7)--(359.1, 242.2)--(359.3, 242.5)--(359.3, 242.6)--(359.3, 242.8)--(359.4, 242.9)--(359.5, 242.9)--(359.7, 243.4)--(360.2, 244.2)--(360.3, 244.5)--(360.6, 245.0)--(360.8, 245.1)--(361.1, 245.8)--(361.6, 247.1)--(361.5, 247.1)--(361.4, 247.2)--(361.3, 247.3)--(360.9, 247.6)--(360.4, 248.1)--(359.5, 248.8)--(359.3, 248.9)--(358.4, 249.2)--(358.5, 249.4)--(358.7, 250.0)--(358.7, 250.1)--(358.7, 250.2)--(358.8, 250.5)--(359.0, 251.5)--(359.0, 251.6)--(359.0, 251.9)--(359.0, 252.4)--(359.1, 252.9)--(359.1, 253.3)--(359.1, 253.6)--(359.0, 254.1)--(359.0, 254.6)--(358.9, 255.0)--(358.8, 255.5)--(358.7, 255.9)--(358.5, 256.5)--(358.3, 257.0)--(358.2, 257.3)--(358.1, 257.5)--(357.9, 257.7)--(357.8, 257.8)--(357.6, 258.0)--(357.4, 258.1)--(357.2, 258.3)--(357.1, 258.4)--(356.5, 258.8)--(356.8, 259.1)--(356.5, 259.3)--(356.2, 259.4)--(355.9, 259.6)--(355.8, 259.6)--(355.7, 259.6)--(355.6, 259.7)--(355.3, 259.8)--(355.1, 259.8)--(354.9, 259.9)--(355.0, 260.0)--(355.1, 260.0)--(354.8, 260.4)--(354.5, 260.7)--(354.7, 260.8)--(354.8, 260.9)--(354.8, 261.1)--(354.4, 261.8)--(354.3, 262.0)--(354.0, 262.4)--(353.8, 262.7)--(353.9, 262.8)--(354.2, 263.2)--(354.2, 263.3)--(354.1, 263.7)--(354.0, 264.3)--(353.8, 264.9)--(35!
3.4, 266..8)--(353.4, 267.8)--(353.3, 270.6)--(353.3, 272.5)--(352.1, 273.1)--(352.4, 273.8)--(352.3, 273.8)--(352.5, 274.4)--(352.5, 274.5)--(352.6, 274.5)--(352.6, 274.4)--(352.6, 274.6)--(352.7, 274.8)--(352.7, 274.9)--(352.6, 274.9)--(352.6, 275.0)--(352.6, 275.1)--(352.7, 275.0)--(352.7, 275.1)--(352.6, 275.1)--(352.6, 275.2)--(352.7, 275.2)--(352.7, 275.3)--(352.8, 275.5)--(352.8, 275.6)--(352.8, 275.7)--(352.8, 275.8)--(352.9, 275.8)--(352.8, 275.8)--(352.8, 275.9)--(352.9, 276.3)--(352.9, 276.6)--(352.9, 276.9)--(353.0, 277.4)--(353.0, 277.6)--(353.1, 277.6)--(353.1, 277.7)--(353.0, 277.7)--(353.0, 277.8)--(353.0, 277.9)--(352.9, 278.5)--(353.0, 278.5)--(353.0, 278.7)--(352.9, 278.7)--(352.8, 279.5)--(352.9, 279.6)--(352.9, 279.8)--(352.8, 280.1)--(352.8, 280.4)--(352.7, 280.4)--(352.7, 280.5)--(352.6, 280.5)--(352.6, 280.6)--(352.5, 280.8)--(352.4, 281.1)--(352.7, 281.2)--(352.7, 281.3)--(352.8, 281.3)--(352.9, 281.4)--(352.9, 281.5)--(352.9, 281.7)--(352.9, 281.8)--(352.9, 281.9)--(352.9, 282.0)--(352.9, 282.1)--(352.9, 282.2)--(352.8, 282.3)--(352.7, 282.4)--(352.6, 282.4)--(352.6, 282.5)--(352.5, 282.5)--(352.4, 282.7)--(352.4, 282.8)--(352.3, 283.0)--(352.1, 283.5)--(352.9, 283.2)--(353.0, 283.1)--(353.1, 283.3)--(353.2, 283.3)--(353.3, 283.4)--(353.4, 283.4)--(353.6, 283.4)--(353.9, 283.4)--(354.1, 283.4)--(354.3, 283.5)--(354.4, 283.5)--(354.5, 283.6)--(354.6, 283.6)--(354.6, 283.7)--(354.6, 283.8)--(354.8, 284.0)--(354.7, 284.0)--(353.5, 284.9)--(353.8, 285.2)--(354.0, 285.3)--(354.2, 285.4)--(354.6, 285.6)--(355.0, 285.7)--(355.0, 285.8)--(355.2, 285.9)--(355.3, 285.9)--(356.5, 286.3)--(356.4, 286.4)--(357.2, 286.8)--(357.2, 286.5)--(357.2, 286.3)--(357.4, 286.3)--(357.6, 286.2)--(357.7, 286.1)--(357.9, 286.2)--(358.2, 286.3)--(358.2, 286.4)--(358.4, 286.5)--(358.4, 286.4)--(358.6, 286.1)--(359.8, 286.0)--(360.1, 286.0)--(360.2, 286.0)--(360.0, 286.3)--(361.5, 287.2)--(360.9, 288.1)--(361.6, 288.5)--(361.3, 289.1)--(361.3, 289.2)--(361.4, 289.2)--(361.7, 289.3)--(361.8, 289.4)--(361.9, 289.4)--(3!
62.0, 289.4)--(362.1, 289.4)--(362.1, 289.3)--(362.2, 289.3)--(362.3, 289.3)--(362.4, 289.3)--(362.4, 289.2)--(362.5, 289.2)--(362.5, 289.1)--(362.6, 289.1)--(362.7, 289.0)--(362.8, 288.9)--(362.9, 288.8)--(363.0, 288.8)--(363.0, 288.7)--(363.1, 288.7)--(363.1, 288.6)--(363.2, 288.6)--(363.3, 288.6)--(363.4, 288.6)--(363.5, 288.6)--(365.0, 289.1)--(366.3, 289.5)--(366.3, 289.4)--(366.6, 289.4)--(366.8, 289.5)--(366.8, 289.6)--cycle;
+Merton = (299.1, 174.2)--(299.0, 174.1)--(298.8, 174.2)--(298.7, 174.2)--(298.6, 174.1)--(298.5, 174.1)--(298.2, 173.9)--(298.0, 173.8)--(297.8, 173.7)--(297.6, 173.6)--(297.4, 173.5)--(297.3, 173.4)--(297.0, 173.4)--(296.9, 173.4)--(296.8, 173.4)--(296.6, 173.3)--(296.5, 173.3)--(295.8, 172.9)--(295.6, 172.9)--(295.4, 172.8)--(295.3, 172.8)--(295.2, 172.8)--(295.0, 172.8)--(294.8, 172.7)--(294.7, 172.7)--(294.4, 172.6)--(293.9, 172.3)--(293.8, 172.3)--(293.7, 172.5)--(293.6, 172.6)--(292.9, 173.4)--(292.1, 173.7)--(290.4, 173.4)--(290.3, 173.3)--(290.2, 173.2)--(290.1, 173.2)--(289.5, 173.1)--(288.0, 172.8)--(287.0, 172.6)--(286.5, 172.5)--(286.5, 172.6)--(286.3, 172.6)--(286.2, 172.5)--(285.3, 172.3)--(284.2, 172.1)--(284.0, 172.1)--(282.9, 171.8)--(282.8, 171.9)--(282.7, 171.9)--(282.6, 171.9)--(282.5, 171.8)--(282.5, 171.7)--(282.4, 171.7)--(282.4, 171.6)--(282.4, 171.4)--(282.3, 171.4)--(282.2, 171.4)--(282.2, 171.5)--(282.1, 171.5)--(281.9, 171.4)--(281.5, 171.1)--(281.2, 171.0)--(281.0, 170.8)--(280.8, 170.5)--(280.6, 170.2)--(280.4, 170.4)--(280.2, 170.5)--(280.0, 170.6)--(279.9, 170.6)--(279.3, 170.6)--(279.3, 170.5)--(279.2, 170.5)--(279.1, 170.5)--(279.0, 170.5)--(278.9, 170.4)--(278.9, 170.5)--(278.8, 170.5)--(278.7, 170.5)--(278.6, 170.5)--(278.5, 170.5)--(278.4, 170.5)--(278.3, 170.5)--(278.2, 170.5)--(278.1, 170.4)--(277.7, 170.4)--(277.6, 170.3)--(277.5, 170.4)--(277.4, 170.7)--(277.3, 170.9)--(277.2, 171.1)--(277.0, 171.3)--(277.0, 171.6)--(276.9, 171.9)--(276.8, 172.0)--(276.8, 172.1)--(276.7, 172.2)--(276.7, 172.3)--(276.6, 172.3)--(276.4, 172.3)--(276.3, 172.4)--(276.1, 172.5)--(275.9, 172.6)--(275.8, 172.8)--(275.6, 173.1)--(275.5, 173.2)--(275.4, 173.4)--(275.1, 173.6)--(275.0, 173.6)--(274.8, 173.7)--(274.3, 174.1)--(274.3, 174.2)--(274.2, 174.4)--(274.1, 174.5)--(274.1, 174.6)--(273.7, 174.9)--(273.5, 175.1)--(273.4, 175.2)--(273.3, 175.3)--(273.2, 175.2)--(273.1, 175.3)--(272.9, 175.3)--(272.7, 175.3)--(272.5, 175.4)--(272.2, 175.4)--(272.1, 175.5)--(271.8, 175.6)--(271.4, 175.8!
)--(271.2, 176.0)--(270.8, 176.2)--(270.3, 175.6)--(269.7, 174.7)--(268.9, 173.6)--(268.1, 172.5)--(267.9, 172.3)--(267.8, 172.2)--(267.7, 172.0)--(267.4, 171.8)--(267.3, 171.9)--(267.0, 171.6)--(266.4, 171.0)--(265.8, 170.4)--(265.6, 170.2)--(265.5, 170.1)--(265.4, 170.1)--(265.4, 170.0)--(265.2, 170.0)--(264.5, 169.7)--(264.4, 169.6)--(264.2, 169.5)--(263.6, 168.9)--(263.2, 168.6)--(262.5, 168.0)--(261.6, 167.1)--(261.2, 167.5)--(260.8, 167.6)--(260.8, 167.7)--(260.7, 167.8)--(260.6, 167.9)--(260.4, 167.8)--(260.1, 167.9)--(260.2, 168.1)--(260.1, 168.2)--(259.9, 168.4)--(259.8, 168.5)--(259.7, 168.6)--(259.3, 168.9)--(259.1, 168.7)--(258.3, 169.7)--(258.2, 169.7)--(257.9, 169.5)--(257.7, 169.7)--(256.8, 168.9)--(256.7, 168.8)--(256.6, 168.8)--(256.0, 168.5)--(255.9, 168.4)--(255.0, 167.7)--(253.8, 166.8)--(253.3, 166.4)--(253.2, 166.3)--(252.0, 167.7)--(251.0, 168.8)--(250.0, 167.6)--(249.3, 168.0)--(248.9, 168.3)--(248.4, 168.6)--(248.2, 168.8)--(248.1, 168.9)--(248.0, 169.0)--(247.4, 169.4)--(247.3, 169.4)--(247.3, 169.5)--(247.1, 169.5)--(247.0, 169.6)--(246.9, 169.6)--(246.8, 169.7)--(246.6, 169.9)--(246.6, 169.7)--(246.5, 169.7)--(246.4, 169.6)--(246.4, 169.5)--(246.4, 169.4)--(246.3, 169.2)--(246.2, 169.2)--(246.1, 169.1)--(245.9, 168.7)--(245.8, 168.5)--(245.6, 168.2)--(245.4, 167.9)--(245.3, 167.7)--(245.2, 167.5)--(245.1, 167.4)--(245.0, 167.2)--(244.9, 167.0)--(244.7, 166.8)--(244.6, 166.6)--(244.5, 166.5)--(244.4, 166.4)--(244.2, 166.2)--(244.4, 166.1)--(244.5, 166.0)--(244.2, 165.6)--(244.2, 165.7)--(244.1, 165.7)--(243.8, 165.2)--(243.9, 165.2)--(244.0, 165.1)--(243.3, 164.2)--(242.8, 163.5)--(242.5, 163.0)--(242.3, 162.6)--(242.1, 162.4)--(242.0, 162.2)--(241.7, 161.8)--(241.5, 161.5)--(241.4, 161.3)--(241.2, 161.0)--(241.1, 160.9)--(241.0, 160.7)--(240.9, 160.8)--(240.8, 160.8)--(240.6, 161.0)--(240.3, 161.2)--(240.2, 161.3)--(239.9, 161.3)--(239.8, 161.3)--(239.7, 161.4)--(239.6, 161.4)--(239.5, 161.5)--(239.3, 161.5)--(239.0, 161.7)--(238.3, 162.2)--(236.5, 163.4)--(234.3, 164.8)--(233.4, 165.!
5)--(232..3, 166.6)--(231.9, 167.0)--(231.2, 167.7)--(230.0, 168.7)--(229.8, 168.9)--(230.0, 169.0)--(229.8, 169.4)--(229.8, 169.6)--(229.7, 169.8)--(229.6, 170.0)--(229.6, 170.3)--(229.5, 170.7)--(229.4, 171.2)--(229.4, 171.3)--(229.4, 171.5)--(229.3, 172.0)--(228.1, 171.6)--(227.9, 171.5)--(227.8, 171.5)--(227.2, 171.3)--(226.8, 171.1)--(226.6, 171.0)--(226.5, 171.0)--(226.4, 170.9)--(226.3, 170.8)--(226.1, 170.7)--(225.8, 170.6)--(225.8, 170.5)--(225.8, 170.6)--(225.7, 170.7)--(225.7, 170.8)--(225.6, 171.0)--(225.6, 171.4)--(225.5, 171.7)--(225.5, 171.8)--(225.5, 172.0)--(225.5, 172.2)--(225.4, 172.3)--(225.5, 172.5)--(225.5, 172.6)--(225.4, 172.9)--(225.2, 173.2)--(225.2, 173.3)--(225.1, 173.5)--(225.1, 173.6)--(225.0, 173.6)--(225.0, 173.7)--(224.9, 173.7)--(224.8, 173.7)--(224.9, 173.9)--(224.9, 174.0)--(224.9, 174.1)--(224.8, 174.3)--(224.7, 174.8)--(224.6, 174.9)--(224.5, 175.0)--(224.5, 175.1)--(224.3, 175.6)--(224.2, 175.6)--(224.2, 175.7)--(224.0, 175.8)--(223.9, 175.9)--(223.7, 176.0)--(223.5, 176.0)--(223.2, 176.1)--(223.0, 176.1)--(222.8, 176.1)--(222.7, 176.2)--(222.6, 176.2)--(222.5, 176.3)--(222.2, 176.4)--(222.2, 176.6)--(222.1, 176.8)--(222.0, 177.0)--(221.9, 177.1)--(221.6, 177.4)--(221.6, 177.5)--(221.5, 177.6)--(221.4, 177.7)--(221.4, 177.8)--(221.3, 178.0)--(221.2, 178.1)--(221.1, 178.2)--(221.0, 178.5)--(220.9, 178.6)--(220.9, 178.7)--(220.7, 178.9)--(220.5, 179.1)--(220.2, 179.6)--(220.2, 179.7)--(220.3, 179.9)--(220.4, 180.1)--(220.5, 180.3)--(220.5, 180.4)--(220.6, 180.7)--(220.6, 180.8)--(220.6, 180.9)--(220.6, 181.0)--(220.6, 181.2)--(220.7, 181.3)--(220.7, 181.4)--(220.7, 181.5)--(220.7, 181.7)--(220.7, 182.0)--(220.7, 182.3)--(220.6, 182.5)--(220.5, 182.8)--(220.5, 182.9)--(220.6, 183.0)--(220.6, 183.1)--(220.8, 183.2)--(221.0, 183.5)--(221.0, 183.6)--(221.3, 183.9)--(221.4, 184.1)--(221.5, 184.2)--(221.6, 184.3)--(221.6, 184.2)--(221.7, 184.8)--(221.7, 184.9)--(221.8, 185.4)--(221.8, 185.5)--(221.8, 185.6)--(221.9, 185.9)--(221.9, 186.1)--(221.9, 186.5)--(221.9, 186.6)--(221.9, 187!
.1)--(221.9, 187.2)--(221.8, 187.3)--(221.8, 187.5)--(221.8, 187.6)--(221.8, 187.7)--(221.7, 188.0)--(221.7, 188.3)--(221.6, 188.4)--(221.5, 188.7)--(221.5, 188.9)--(221.5, 189.0)--(221.5, 189.2)--(221.4, 189.4)--(221.3, 189.6)--(221.3, 189.7)--(221.3, 189.9)--(221.4, 190.1)--(221.4, 190.2)--(221.3, 190.3)--(221.3, 190.4)--(221.1, 190.6)--(221.1, 190.7)--(221.1, 190.8)--(221.0, 190.8)--(220.9, 190.8)--(220.8, 190.8)--(220.7, 190.9)--(220.5, 190.9)--(220.4, 191.0)--(220.3, 191.0)--(220.2, 191.0)--(220.1, 191.1)--(220.1, 191.2)--(220.0, 191.2)--(220.0, 191.3)--(220.0, 191.4)--(220.0, 191.5)--(220.0, 191.6)--(219.9, 191.6)--(219.9, 191.7)--(219.8, 191.8)--(219.8, 192.0)--(219.8, 192.2)--(219.8, 192.4)--(219.9, 192.5)--(220.0, 192.7)--(220.0, 192.8)--(220.1, 192.8)--(220.1, 192.9)--(220.1, 193.0)--(220.0, 193.1)--(219.9, 193.9)--(219.8, 194.0)--(219.2, 195.8)--(218.7, 197.3)--(218.6, 197.7)--(218.4, 198.4)--(218.3, 198.7)--(218.2, 198.8)--(218.2, 198.9)--(218.3, 199.0)--(218.3, 199.1)--(218.2, 199.4)--(218.1, 200.0)--(218.1, 200.2)--(218.0, 200.6)--(218.0, 200.7)--(218.0, 201.2)--(218.0, 201.3)--(218.0, 201.7)--(218.1, 201.9)--(218.1, 202.1)--(218.1, 202.2)--(218.2, 202.4)--(218.1, 202.6)--(218.1, 202.7)--(218.1, 202.9)--(218.0, 203.2)--(217.9, 203.4)--(217.9, 203.5)--(217.7, 203.9)--(217.6, 204.1)--(217.5, 204.3)--(217.5, 204.5)--(217.4, 204.7)--(217.4, 204.9)--(217.4, 205.1)--(217.4, 205.4)--(217.4, 205.6)--(217.3, 205.7)--(217.3, 205.9)--(217.2, 206.2)--(217.1, 206.6)--(217.0, 207.1)--(216.9, 207.1)--(216.9, 207.2)--(216.7, 207.4)--(216.5, 207.6)--(216.5, 207.7)--(216.3, 207.8)--(216.0, 207.8)--(215.8, 207.9)--(215.7, 208.0)--(215.7, 208.2)--(215.7, 208.3)--(215.7, 208.6)--(215.7, 209.0)--(215.7, 209.1)--(215.7, 209.2)--(215.8, 209.4)--(215.9, 209.7)--(215.9, 209.9)--(216.0, 210.0)--(216.0, 210.4)--(216.1, 210.7)--(216.1, 210.9)--(216.1, 211.0)--(216.0, 211.1)--(216.0, 211.2)--(216.0, 211.5)--(215.9, 211.7)--(215.7, 212.0)--(215.5, 212.2)--(215.5, 212.4)--(215.4, 212.7)--(215.3, 212.9)--(215.2, 213.1)--(215.1, 21!
3.4)--(215.0, 213.6)--(214.9, 214.0)--(214.8, 214.2)--(214.7, 214.5)--(214.6, 214.7)--(214.6, 214.8)--(214.6, 214.9)--(214.6, 215.0)--(214.6, 215.1)--(214.7, 215.3)--(214.7, 215.4)--(214.8, 215.7)--(214.9, 215.9)--(215.0, 216.1)--(215.1, 216.3)--(215.2, 216.5)--(215.3, 216.6)--(215.4, 216.7)--(215.5, 216.7)--(215.7, 216.8)--(215.7, 216.9)--(215.8, 217.0)--(216.0, 217.2)--(216.0, 217.3)--(216.2, 217.6)--(216.3, 217.7)--(216.4, 217.8)--(216.6, 218.2)--(216.7, 218.5)--(216.8, 218.5)--(216.9, 218.5)--(217.0, 218.6)--(217.3, 218.7)--(217.7, 218.9)--(218.3, 219.2)--(218.7, 219.3)--(219.2, 219.5)--(219.9, 219.8)--(220.2, 220.0)--(220.9, 220.3)--(221.5, 220.6)--(221.8, 220.7)--(222.1, 220.8)--(222.4, 220.9)--(222.8, 221.1)--(223.2, 221.3)--(223.5, 221.4)--(223.9, 221.6)--(224.0, 221.7)--(224.5, 221.9)--(224.9, 222.1)--(225.4, 222.4)--(226.0, 222.7)--(226.5, 223.0)--(227.0, 223.3)--(227.7, 223.6)--(229.0, 224.3)--(229.7, 224.7)--(230.1, 224.9)--(230.3, 225.0)--(230.5, 225.0)--(230.6, 225.1)--(230.9, 225.1)--(231.2, 225.1)--(231.7, 225.3)--(232.0, 225.3)--(232.9, 225.5)--(233.3, 225.6)--(234.1, 225.7)--(234.3, 225.8)--(234.6, 225.8)--(234.8, 225.7)--(235.0, 225.6)--(235.2, 225.9)--(235.9, 225.8)--(237.4, 225.6)--(237.9, 225.5)--(238.4, 225.6)--(238.7, 225.7)--(239.0, 225.8)--(239.1, 225.8)--(239.2, 225.8)--(239.3, 225.8)--(239.4, 225.8)--(239.5, 225.8)--(239.6, 225.8)--(239.7, 225.8)--(239.8, 225.8)--(239.9, 225.8)--(240.0, 225.8)--(240.0, 225.7)--(240.2, 225.7)--(240.3, 225.6)--(240.6, 225.5)--(240.8, 225.3)--(240.8, 225.2)--(240.9, 225.2)--(240.9, 225.1)--(241.0, 225.1)--(241.0, 225.0)--(241.2, 224.8)--(241.3, 224.8)--(241.6, 224.9)--(242.2, 224.9)--(242.5, 225.0)--(242.9, 225.0)--(243.1, 225.0)--(243.2, 225.0)--(243.4, 225.0)--(243.6, 225.0)--(243.7, 225.0)--(244.0, 225.1)--(244.4, 225.3)--(244.9, 225.4)--(245.2, 225.4)--(245.7, 225.6)--(246.0, 225.6)--(246.3, 225.7)--(246.5, 225.7)--(246.6, 225.7)--(246.9, 225.8)--(247.0, 225.8)--(247.4, 226.0)--(248.0, 226.1)--(248.3, 226.2)--(248.9, 226.4)--(249.1, 226.4)--(249.5, 2!
26.5)--(250.0, 226.6)--(250.1, 226.7)--(250.9, 227.0)--(253.1, 227.6)--(254.0, 228.0)--(254.3, 228.0)--(254.5, 228.2)--(255.7, 228.6)--(255.8, 228.5)--(255.9, 228.5)--(256.6, 228.8)--(257.0, 228.9)--(257.2, 228.9)--(258.7, 229.3)--(258.9, 229.4)--(258.9, 229.3)--(258.9, 229.2)--(258.9, 229.1)--(258.9, 228.9)--(258.9, 228.6)--(259.0, 228.2)--(259.1, 227.8)--(259.0, 227.6)--(259.0, 227.5)--(258.8, 227.1)--(258.8, 227.0)--(258.7, 227.0)--(258.6, 226.8)--(258.6, 226.6)--(258.5, 226.6)--(258.6, 226.5)--(258.8, 226.5)--(259.1, 226.4)--(259.2, 226.2)--(259.3, 226.2)--(259.6, 226.2)--(259.5, 225.7)--(259.5, 225.1)--(259.4, 224.8)--(259.3, 224.0)--(259.2, 223.5)--(259.2, 223.1)--(259.1, 222.5)--(259.0, 222.2)--(258.9, 222.0)--(258.9, 221.8)--(258.7, 221.2)--(258.6, 221.0)--(258.5, 220.9)--(258.5, 220.8)--(258.4, 220.8)--(258.4, 220.7)--(258.3, 220.5)--(258.3, 220.4)--(258.4, 220.3)--(258.4, 220.0)--(258.6, 219.7)--(258.7, 219.5)--(258.8, 219.3)--(258.9, 219.1)--(258.9, 219.0)--(258.9, 218.8)--(259.0, 218.7)--(259.0, 218.6)--(259.2, 218.4)--(259.4, 218.2)--(259.8, 218.4)--(259.7, 218.7)--(260.3, 219.0)--(260.4, 219.0)--(261.0, 219.0)--(261.0, 219.9)--(261.1, 220.0)--(261.6, 220.0)--(261.7, 220.0)--(262.1, 220.2)--(262.4, 219.7)--(262.5, 219.5)--(262.7, 219.2)--(262.9, 219.1)--(263.0, 218.9)--(263.1, 218.7)--(263.1, 218.5)--(263.1, 218.4)--(263.1, 218.3)--(263.1, 218.2)--(263.2, 218.2)--(263.3, 218.1)--(263.3, 217.8)--(263.2, 217.3)--(263.1, 216.2)--(263.1, 215.8)--(263.1, 215.2)--(263.1, 214.1)--(263.3, 213.4)--(263.5, 212.7)--(263.6, 212.5)--(264.1, 211.8)--(265.0, 210.9)--(265.8, 210.7)--(267.0, 210.6)--(267.2, 210.5)--(267.8, 210.4)--(268.1, 210.3)--(268.8, 210.1)--(269.3, 209.9)--(269.4, 209.9)--(269.8, 209.7)--(270.0, 209.6)--(270.1, 209.6)--(270.1, 209.5)--(270.7, 209.2)--(270.8, 209.2)--(270.8, 209.3)--(271.0, 209.2)--(271.4, 209.0)--(271.7, 208.8)--(271.8, 208.7)--(271.9, 208.6)--(272.3, 208.3)--(272.4, 208.2)--(272.6, 208.0)--(272.7, 207.9)--(272.9, 207.8)--(273.6, 207.4)--(274.0, 207.2)--(274.5, 207.0)--(274.5, !
206.9)--(275.1, 206.7)--(275.4, 206.6)--(275.5, 206.6)--(275.7, 206.6)--(275.8, 206.5)--(276.1, 206.5)--(276.8, 206.4)--(277.0, 206.3)--(277.0, 206.1)--(276.9, 206.2)--(276.8, 206.1)--(277.2, 206.0)--(277.5, 206.0)--(277.9, 205.9)--(278.5, 205.9)--(279.2, 205.9)--(279.3, 205.9)--(279.5, 206.7)--(279.7, 207.1)--(280.1, 208.1)--(280.1, 208.2)--(280.3, 208.1)--(280.3, 208.2)--(280.4, 208.2)--(280.3, 208.2)--(280.4, 208.5)--(280.3, 208.5)--(280.3, 208.6)--(280.4, 208.6)--(280.4, 209.0)--(280.5, 208.9)--(280.5, 208.8)--(280.5, 208.7)--(280.6, 208.9)--(280.8, 208.8)--(281.2, 208.6)--(281.6, 208.3)--(282.0, 208.0)--(282.5, 207.8)--(283.0, 207.6)--(283.3, 207.5)--(283.6, 207.4)--(285.0, 206.7)--(286.0, 206.2)--(286.4, 206.0)--(286.5, 206.0)--(286.6, 206.1)--(286.8, 206.2)--(287.0, 206.3)--(287.1, 206.3)--(287.2, 206.3)--(287.4, 206.2)--(287.5, 206.2)--(287.7, 206.1)--(287.8, 206.1)--(287.9, 206.0)--(288.3, 205.8)--(288.6, 205.5)--(288.8, 205.3)--(289.0, 205.1)--(289.1, 205.1)--(289.4, 205.1)--(289.5, 205.1)--(289.6, 205.1)--(289.8, 204.9)--(290.0, 204.7)--(290.1, 204.5)--(290.2, 204.5)--(290.2, 204.4)--(290.3, 204.4)--(290.3, 204.3)--(290.4, 204.2)--(290.7, 204.1)--(290.9, 204.0)--(291.1, 203.9)--(291.2, 203.8)--(291.6, 203.9)--(291.7, 204.0)--(291.9, 204.1)--(292.2, 204.2)--(292.4, 204.3)--(292.5, 204.4)--(292.9, 204.7)--(293.1, 204.8)--(293.2, 204.9)--(293.4, 205.0)--(293.5, 205.1)--(293.6, 205.2)--(293.7, 205.3)--(293.8, 205.4)--(294.0, 205.6)--(293.2, 204.6)--(292.1, 203.3)--(292.3, 203.1)--(291.8, 202.6)--(291.0, 201.7)--(290.9, 201.6)--(291.2, 201.4)--(291.4, 201.1)--(290.8, 200.6)--(290.5, 200.3)--(290.2, 200.0)--(290.0, 199.8)--(289.8, 199.6)--(289.7, 199.5)--(289.5, 199.4)--(289.4, 199.1)--(289.2, 198.9)--(289.2, 198.8)--(289.0, 198.5)--(288.9, 198.3)--(289.3, 198.2)--(289.8, 198.0)--(290.4, 198.0)--(290.7, 198.0)--(290.9, 198.0)--(291.1, 197.8)--(291.2, 197.9)--(291.3, 197.9)--(291.4, 197.9)--(291.4, 198.0)--(291.6, 198.1)--(292.4, 198.7)--(292.6, 199.0)--(292.7, 198.9)--(293.1, 198.7)--(293.7, 198.3)--(294.5,!
197.9)--(294.8, 197.8)--(294.9, 197.7)--(295.4, 197.5)--(295.5, 197.5)--(295.7, 197.4)--(295.8, 197.3)--(296.2, 197.2)--(296.9, 197.0)--(297.4, 196.8)--(297.7, 196.7)--(297.9, 196.7)--(298.0, 196.7)--(298.2, 196.7)--(298.4, 196.6)--(298.6, 196.5)--(298.7, 197.4)--(298.8, 197.7)--(298.8, 197.8)--(298.8, 198.1)--(298.8, 198.2)--(298.8, 198.3)--(298.9, 198.4)--(299.0, 198.7)--(299.1, 198.6)--(299.0, 198.4)--(299.0, 198.3)--(299.2, 198.2)--(299.6, 198.0)--(300.0, 198.0)--(302.9, 197.7)--(303.0, 198.0)--(303.0, 198.1)--(303.2, 198.1)--(303.1, 197.9)--(303.1, 197.7)--(303.0, 197.5)--(302.9, 196.8)--(302.8, 196.5)--(302.7, 196.5)--(302.7, 196.6)--(302.6, 196.6)--(302.5, 196.5)--(302.4, 196.4)--(302.5, 196.3)--(302.4, 196.2)--(302.3, 195.9)--(302.1, 195.5)--(302.0, 195.3)--(301.9, 195.3)--(301.9, 195.0)--(301.2, 194.9)--(300.9, 194.9)--(300.6, 194.9)--(300.6, 194.6)--(300.1, 194.5)--(300.1, 194.3)--(300.1, 194.2)--(300.2, 194.1)--(300.2, 193.7)--(300.0, 193.7)--(299.8, 193.6)--(300.0, 192.0)--(300.5, 190.3)--(300.6, 190.2)--(300.6, 190.1)--(300.7, 190.1)--(300.7, 189.9)--(300.6, 189.8)--(300.8, 189.0)--(300.8, 188.9)--(300.9, 188.8)--(301.1, 188.5)--(301.2, 188.3)--(301.3, 188.3)--(301.3, 188.2)--(301.4, 188.0)--(301.4, 187.9)--(302.1, 187.3)--(302.3, 187.2)--(302.5, 187.0)--(302.7, 186.8)--(302.8, 186.7)--(302.9, 186.5)--(303.0, 186.4)--(303.1, 186.3)--(303.2, 186.3)--(303.3, 186.0)--(303.4, 185.9)--(303.5, 185.7)--(303.7, 185.3)--(303.9, 185.1)--(304.1, 184.8)--(304.1, 184.7)--(304.2, 184.6)--(304.4, 184.4)--(304.4, 184.3)--(304.5, 184.2)--(304.7, 183.9)--(304.9, 183.6)--(305.0, 183.3)--(305.1, 183.3)--(305.1, 183.2)--(305.0, 183.1)--(305.0, 183.0)--(304.9, 182.6)--(304.8, 182.5)--(305.1, 182.5)--(305.3, 182.4)--(305.5, 182.4)--(305.6, 182.3)--(305.7, 182.2)--(305.8, 182.1)--(305.7, 182.0)--(305.9, 181.8)--(305.8, 181.6)--(305.7, 181.5)--(305.2, 180.9)--(304.4, 179.8)--(304.0, 179.2)--(303.4, 178.5)--(302.9, 178.0)--(302.4, 177.5)--(302.2, 177.3)--(302.3, 177.2)--(302.6, 177.1)--(302.8, 177.1)--(302.9, 177.1)--(302.3!
, 176.6)--(301.8, 176.3)--(300.6, 175.4)--(299.7, 174.8)--(299.6, 174.7)--(299.4, 174.6)--(299.3, 174.5)--(299.2, 174.4)--cycle;
+Newham = (383.0, 323.4)--(382.9, 323.7)--(382.8, 323.8)--(382.8, 324.0)--(382.8, 324.3)--(382.9, 324.6)--(382.9, 325.5)--(383.0, 325.8)--(383.0, 326.0)--(383.1, 326.1)--(383.2, 326.3)--(383.2, 326.4)--(383.2, 326.7)--(383.2, 326.9)--(383.1, 327.1)--(383.0, 327.2)--(382.8, 327.4)--(382.7, 327.6)--(382.6, 327.8)--(382.5, 328.0)--(382.4, 328.3)--(382.3, 328.4)--(382.2, 328.6)--(381.8, 328.8)--(381.4, 329.2)--(381.3, 329.3)--(381.1, 329.5)--(381.1, 329.6)--(381.0, 329.8)--(381.0, 330.0)--(380.9, 330.2)--(380.8, 330.3)--(380.7, 330.4)--(380.6, 330.5)--(380.1, 330.6)--(379.5, 330.6)--(379.2, 330.7)--(378.8, 330.8)--(378.6, 330.9)--(378.5, 331.0)--(378.5, 331.1)--(378.4, 331.2)--(378.4, 331.3)--(378.2, 331.4)--(377.9, 331.6)--(377.5, 331.7)--(376.8, 332.1)--(376.6, 332.2)--(376.3, 332.4)--(376.1, 332.6)--(376.1, 332.7)--(375.9, 333.1)--(375.7, 333.4)--(375.6, 333.6)--(375.6, 333.7)--(375.6, 333.8)--(375.6, 334.0)--(375.7, 334.2)--(375.7, 334.3)--(375.7, 334.4)--(375.7, 334.6)--(375.6, 334.8)--(375.6, 334.9)--(375.4, 335.0)--(375.2, 335.2)--(375.1, 335.4)--(375.0, 335.5)--(375.0, 335.6)--(375.0, 335.8)--(374.9, 336.0)--(374.9, 336.2)--(374.8, 336.4)--(374.7, 336.7)--(374.6, 337.0)--(374.4, 337.2)--(374.3, 337.4)--(374.1, 337.6)--(373.9, 337.7)--(373.8, 337.7)--(373.6, 337.8)--(373.5, 337.9)--(373.4, 338.1)--(373.4, 338.3)--(373.4, 338.5)--(373.3, 338.6)--(373.3, 338.7)--(373.3, 338.8)--(373.4, 339.0)--(373.6, 339.3)--(373.8, 339.5)--(374.0, 339.7)--(374.2, 339.8)--(374.3, 339.9)--(374.4, 339.9)--(374.5, 340.1)--(374.6, 340.1)--(374.7, 340.4)--(374.7, 340.7)--(374.8, 341.1)--(374.9, 341.3)--(375.0, 341.4)--(375.1, 341.6)--(375.3, 341.8)--(375.4, 342.0)--(375.5, 342.1)--(375.6, 342.3)--(375.6, 342.4)--(375.6, 342.6)--(375.6, 343.0)--(375.6, 343.1)--(375.7, 343.2)--(375.8, 343.3)--(376.0, 343.3)--(376.2, 343.4)--(376.3, 343.5)--(376.4, 343.6)--(376.5, 343.8)--(376.5, 344.0)--(376.6, 344.5)--(376.7, 344.7)--(376.7, 344.8)--(376.7, 344.9)--(376.6, 345.2)--(376.5, 345.4)--(376.4, 345.5)--(376.4, 345.6)--(376.4, 345.8!
)--(376.4, 346.1)--(376.4, 346.4)--(376.3, 346.9)--(376.2, 347.1)--(376.2, 347.5)--(376.2, 347.6)--(376.1, 347.7)--(376.1, 347.9)--(376.1, 348.2)--(376.0, 348.7)--(376.0, 349.0)--(375.8, 349.6)--(375.7, 350.0)--(375.6, 350.5)--(375.6, 350.6)--(375.5, 350.9)--(375.3, 351.4)--(375.1, 352.0)--(375.0, 352.5)--(374.7, 353.2)--(374.6, 353.5)--(374.5, 353.7)--(374.5, 353.9)--(374.5, 354.1)--(374.5, 354.3)--(374.6, 354.4)--(374.6, 354.6)--(374.5, 354.7)--(374.5, 354.9)--(375.1, 354.9)--(375.7, 354.9)--(375.7, 354.8)--(375.8, 354.7)--(375.9, 354.8)--(375.9, 355.0)--(376.7, 355.1)--(377.6, 355.3)--(378.2, 355.5)--(378.4, 355.5)--(378.5, 355.6)--(378.6, 355.6)--(379.4, 355.9)--(379.9, 356.1)--(380.1, 356.2)--(380.2, 356.2)--(380.3, 356.2)--(380.4, 356.2)--(380.5, 356.1)--(380.7, 356.0)--(380.8, 355.9)--(381.0, 355.8)--(381.2, 355.3)--(381.3, 355.2)--(381.3, 355.0)--(381.3, 354.8)--(381.3, 354.6)--(381.3, 354.3)--(381.4, 354.0)--(381.5, 353.7)--(381.6, 353.3)--(381.7, 353.3)--(381.8, 353.3)--(381.9, 353.3)--(382.1, 353.4)--(382.8, 353.7)--(383.3, 353.8)--(383.5, 353.9)--(383.7, 354.0)--(384.1, 354.3)--(385.0, 354.7)--(385.1, 354.5)--(385.8, 354.8)--(386.5, 355.1)--(386.9, 355.3)--(387.0, 355.3)--(387.4, 355.4)--(387.9, 355.5)--(388.5, 355.6)--(389.1, 355.7)--(389.3, 355.8)--(389.8, 355.9)--(389.8, 355.8)--(389.9, 355.7)--(390.1, 355.8)--(390.3, 355.8)--(390.3, 355.7)--(390.3, 355.6)--(391.1, 355.7)--(391.0, 356.0)--(391.2, 356.0)--(391.2, 355.6)--(391.3, 355.7)--(391.6, 355.7)--(391.7, 355.5)--(391.6, 355.3)--(391.6, 355.0)--(391.6, 354.8)--(391.5, 354.6)--(391.5, 354.4)--(391.7, 354.3)--(392.4, 354.6)--(392.9, 354.8)--(393.0, 354.8)--(393.3, 354.9)--(394.2, 355.1)--(394.2, 355.2)--(394.2, 355.3)--(394.3, 355.5)--(394.6, 355.7)--(394.8, 355.9)--(395.1, 356.2)--(394.2, 357.5)--(395.2, 358.6)--(395.6, 358.1)--(397.2, 359.0)--(397.6, 359.3)--(398.4, 358.2)--(398.4, 358.1)--(398.6, 357.8)--(398.8, 357.4)--(399.2, 357.6)--(399.3, 357.4)--(400.0, 357.9)--(400.4, 358.2)--(401.0, 358.4)--(401.0, 358.5)--(401.5, 358.8)--(402.5, 359.!
4)--(402..2, 359.6)--(402.3, 359.7)--(401.6, 360.9)--(401.7, 360.8)--(402.0, 360.9)--(402.3, 360.9)--(402.6, 360.9)--(402.9, 360.8)--(403.1, 360.8)--(403.1, 361.3)--(403.1, 361.4)--(403.3, 361.5)--(403.5, 361.6)--(403.6, 361.6)--(403.7, 361.5)--(403.8, 361.4)--(403.8, 361.3)--(403.8, 361.2)--(403.8, 360.5)--(403.9, 360.2)--(404.0, 360.1)--(404.6, 360.2)--(405.0, 360.2)--(405.1, 359.3)--(405.1, 358.5)--(406.1, 358.8)--(406.6, 358.9)--(407.1, 358.9)--(407.5, 359.0)--(407.6, 359.0)--(407.8, 358.9)--(408.0, 358.9)--(409.0, 359.1)--(409.6, 359.2)--(409.8, 359.2)--(409.9, 359.2)--(410.4, 359.4)--(410.7, 359.6)--(411.0, 359.7)--(411.1, 359.8)--(411.7, 360.0)--(411.8, 360.0)--(412.0, 360.0)--(412.1, 360.0)--(412.5, 360.0)--(413.3, 360.0)--(413.9, 360.0)--(414.7, 359.9)--(415.3, 359.9)--(416.0, 359.8)--(416.3, 359.8)--(416.5, 359.9)--(416.6, 359.9)--(417.8, 359.9)--(418.9, 359.8)--(419.5, 359.8)--(419.6, 359.8)--(419.6, 359.9)--(419.6, 360.1)--(419.5, 360.3)--(419.3, 360.6)--(419.0, 361.1)--(418.7, 361.5)--(418.6, 361.8)--(418.4, 362.0)--(418.3, 362.3)--(418.3, 362.6)--(418.2, 362.8)--(418.1, 362.9)--(418.0, 363.0)--(417.6, 363.3)--(417.1, 363.7)--(417.2, 363.7)--(417.1, 364.4)--(416.9, 365.2)--(416.6, 366.2)--(416.5, 366.7)--(416.4, 367.1)--(416.6, 367.2)--(416.9, 367.3)--(417.6, 367.7)--(417.7, 367.8)--(418.2, 368.0)--(418.9, 368.4)--(419.4, 368.6)--(419.8, 368.9)--(420.2, 369.0)--(420.6, 369.2)--(421.0, 369.5)--(422.1, 370.0)--(422.2, 369.9)--(422.4, 369.3)--(422.4, 369.2)--(422.6, 368.8)--(422.9, 368.2)--(423.0, 368.1)--(423.2, 368.0)--(423.4, 367.8)--(423.6, 367.7)--(423.7, 367.6)--(423.8, 367.5)--(423.9, 367.5)--(423.9, 367.4)--(424.0, 367.4)--(424.1, 367.4)--(424.2, 367.3)--(424.3, 367.0)--(424.4, 366.9)--(424.4, 366.8)--(424.5, 366.8)--(424.6, 366.7)--(424.7, 366.7)--(424.8, 366.6)--(424.9, 366.5)--(424.9, 366.4)--(424.9, 366.3)--(424.9, 366.2)--(425.0, 366.2)--(425.0, 366.1)--(425.1, 366.0)--(425.1, 365.8)--(425.0, 365.7)--(425.0, 365.6)--(425.0, 365.5)--(425.1, 365.5)--(425.1, 365.4)--(425.1, 365.3)--(425.2, 365!
.3)--(425.2, 365.2)--(425.3, 365.2)--(425.5, 365.2)--(425.7, 365.1)--(425.8, 365.1)--(425.9, 365.1)--(425.9, 365.0)--(426.0, 365.0)--(426.1, 364.9)--(426.3, 364.7)--(426.5, 364.5)--(426.5, 364.4)--(426.4, 364.4)--(426.4, 364.3)--(426.4, 364.2)--(426.5, 364.1)--(426.6, 364.2)--(426.7, 364.2)--(426.7, 364.3)--(426.8, 364.3)--(426.9, 364.3)--(426.9, 364.2)--(426.9, 364.1)--(426.9, 363.8)--(427.0, 363.6)--(427.1, 363.5)--(427.3, 363.5)--(427.5, 363.4)--(427.6, 363.4)--(427.7, 363.4)--(427.8, 363.4)--(427.9, 363.1)--(427.9, 363.0)--(428.0, 362.9)--(428.1, 362.9)--(428.1, 362.8)--(428.1, 362.7)--(428.2, 362.7)--(428.3, 362.7)--(428.4, 362.6)--(428.4, 362.5)--(428.4, 362.4)--(428.5, 362.3)--(428.6, 362.4)--(428.7, 362.4)--(428.8, 362.4)--(428.8, 362.3)--(428.8, 362.2)--(428.9, 362.1)--(429.1, 361.9)--(429.2, 361.8)--(429.4, 361.9)--(429.7, 362.0)--(429.8, 362.0)--(430.1, 362.1)--(430.7, 362.5)--(431.5, 362.9)--(431.6, 362.7)--(431.9, 362.5)--(432.0, 362.3)--(432.3, 361.9)--(432.4, 361.8)--(432.5, 361.9)--(432.8, 361.5)--(433.0, 361.2)--(433.1, 361.1)--(433.0, 361.0)--(433.3, 360.6)--(433.5, 360.4)--(433.6, 360.2)--(433.7, 360.1)--(433.8, 359.6)--(433.9, 359.0)--(434.0, 358.2)--(434.6, 358.2)--(434.7, 356.9)--(434.8, 356.1)--(434.9, 355.2)--(435.0, 354.8)--(435.1, 354.1)--(435.1, 354.0)--(435.2, 353.5)--(435.2, 353.1)--(435.3, 352.9)--(435.4, 352.4)--(435.4, 352.1)--(435.4, 351.9)--(435.3, 351.8)--(435.4, 351.2)--(435.4, 350.8)--(435.4, 350.4)--(435.4, 350.2)--(435.4, 350.0)--(435.4, 349.4)--(435.3, 349.0)--(435.2, 348.7)--(435.2, 348.6)--(435.2, 348.5)--(435.2, 348.4)--(435.1, 348.1)--(435.0, 347.7)--(434.8, 347.3)--(434.6, 346.7)--(434.5, 346.5)--(434.4, 346.1)--(434.3, 345.6)--(434.3, 345.5)--(434.2, 345.4)--(434.2, 345.3)--(434.2, 345.2)--(434.2, 345.1)--(434.2, 345.0)--(434.2, 344.8)--(434.2, 344.6)--(434.2, 344.3)--(434.2, 344.0)--(434.3, 343.9)--(434.3, 343.8)--(434.3, 343.5)--(434.4, 343.3)--(434.6, 342.9)--(434.7, 342.7)--(434.8, 342.6)--(434.9, 342.3)--(435.1, 341.9)--(435.4, 341.4)--(435.5, 341.1)--(435.6, 34!
1.0)--(435.8, 340.7)--(435.8, 340.6)--(435.4, 340.4)--(435.4, 340.2)--(435.4, 340.0)--(435.4, 339.8)--(435.3, 339.6)--(435.3, 339.5)--(435.2, 339.5)--(435.3, 339.4)--(435.3, 339.5)--(435.4, 339.5)--(435.5, 339.5)--(435.6, 339.5)--(435.7, 339.5)--(435.8, 339.5)--(435.9, 339.5)--(436.1, 339.7)--(436.2, 339.7)--(436.3, 339.6)--(436.3, 339.4)--(436.4, 339.3)--(436.5, 339.1)--(436.8, 338.5)--(436.8, 338.4)--(437.0, 338.1)--(437.6, 336.8)--(437.7, 336.5)--(437.7, 336.4)--(437.9, 336.0)--(437.9, 335.9)--(438.1, 335.9)--(438.1, 335.8)--(438.3, 335.2)--(438.4, 334.6)--(438.5, 334.0)--(438.6, 333.6)--(438.6, 333.2)--(438.7, 332.7)--(438.7, 332.2)--(438.7, 331.9)--(438.8, 331.9)--(438.9, 331.9)--(439.0, 331.9)--(439.1, 332.0)--(439.1, 331.9)--(439.3, 331.9)--(439.6, 331.9)--(439.8, 332.1)--(440.1, 332.1)--(440.4, 332.2)--(440.6, 332.2)--(440.6, 332.1)--(441.2, 332.0)--(441.3, 331.9)--(441.5, 331.9)--(441.9, 331.9)--(442.2, 331.9)--(442.5, 331.7)--(442.8, 331.5)--(442.6, 331.4)--(442.5, 331.3)--(442.4, 331.3)--(442.1, 331.5)--(442.2, 331.4)--(442.4, 331.2)--(442.4, 331.1)--(442.8, 331.0)--(443.0, 331.1)--(443.2, 330.8)--(443.5, 330.6)--(443.6, 330.4)--(443.9, 330.1)--(444.1, 330.0)--(444.2, 330.0)--(444.5, 329.8)--(444.8, 329.8)--(445.1, 329.6)--(445.3, 329.4)--(445.4, 329.4)--(445.7, 329.3)--(446.1, 329.1)--(446.7, 328.6)--(447.1, 328.3)--(447.5, 328.0)--(448.1, 328.0)--(448.3, 328.1)--(448.6, 328.2)--(448.7, 328.3)--(448.9, 328.4)--(449.1, 328.4)--(449.2, 328.4)--(449.2, 328.5)--(449.4, 328.6)--(449.5, 328.7)--(449.6, 328.7)--(449.7, 328.8)--(449.8, 328.8)--(450.0, 328.8)--(450.1, 328.8)--(450.2, 328.8)--(450.3, 328.8)--(450.3, 328.7)--(450.4, 328.7)--(450.4, 328.6)--(450.5, 328.5)--(450.6, 328.3)--(450.7, 328.2)--(450.8, 328.1)--(451.2, 328.0)--(451.3, 328.1)--(451.5, 328.1)--(451.6, 328.2)--(451.7, 328.2)--(451.9, 328.2)--(452.1, 328.2)--(452.2, 328.2)--(452.3, 328.2)--(452.3, 328.1)--(452.4, 328.0)--(452.4, 327.8)--(452.4, 327.6)--(452.4, 327.4)--(452.5, 327.3)--(452.5, 327.0)--(452.4, 326.6)--(452.4, 326.5)--(452.4, 3!
26.4)--(452.3, 326.3)--(452.1, 326.4)--(452.0, 326.3)--(451.7, 326.4)--(451.5, 326.4)--(451.4, 326.4)--(451.5, 326.3)--(451.7, 326.2)--(451.8, 326.2)--(451.9, 326.2)--(451.9, 326.1)--(452.0, 326.0)--(452.1, 326.0)--(452.1, 325.9)--(452.2, 325.8)--(452.3, 325.5)--(452.2, 325.2)--(452.1, 324.9)--(452.2, 324.8)--(453.1, 323.7)--(453.1, 323.5)--(453.2, 323.4)--(453.3, 323.1)--(453.5, 323.0)--(453.7, 322.8)--(453.7, 322.7)--(453.8, 322.7)--(454.0, 322.5)--(454.1, 322.4)--(454.1, 322.3)--(454.1, 322.0)--(453.9, 321.4)--(453.9, 321.2)--(453.9, 321.1)--(453.9, 321.0)--(453.9, 320.9)--(453.9, 320.7)--(453.9, 320.6)--(453.9, 320.0)--(453.9, 319.8)--(453.9, 319.7)--(454.0, 319.4)--(454.1, 319.0)--(454.4, 318.2)--(454.5, 317.9)--(454.6, 317.9)--(454.7, 317.7)--(454.8, 317.6)--(454.8, 317.5)--(454.9, 317.5)--(454.9, 317.4)--(454.9, 317.3)--(455.0, 317.2)--(455.1, 317.1)--(455.2, 317.1)--(455.4, 317.0)--(455.5, 317.0)--(455.7, 316.9)--(455.8, 316.7)--(455.9, 316.6)--(455.8, 316.5)--(455.7, 316.6)--(455.6, 316.7)--(455.5, 316.7)--(455.3, 316.9)--(455.2, 316.9)--(455.2, 317.0)--(455.1, 317.0)--(455.1, 316.9)--(455.0, 316.9)--(454.9, 316.8)--(454.7, 316.6)--(454.6, 316.6)--(454.5, 316.5)--(454.4, 316.5)--(454.3, 316.4)--(454.2, 316.4)--(454.0, 316.4)--(453.2, 316.2)--(452.3, 316.1)--(451.8, 316.0)--(451.7, 316.0)--(451.6, 316.0)--(451.4, 316.0)--(451.6, 315.6)--(451.2, 315.4)--(450.2, 315.0)--(450.0, 314.9)--(449.7, 314.7)--(449.2, 314.4)--(448.8, 314.2)--(448.2, 313.7)--(448.0, 313.6)--(447.6, 313.2)--(447.5, 313.1)--(447.0, 312.6)--(446.7, 312.4)--(446.7, 312.0)--(446.8, 311.8)--(447.0, 311.8)--(446.6, 311.2)--(446.2, 310.6)--(445.8, 310.0)--(445.2, 309.1)--(445.0, 308.9)--(444.7, 308.8)--(444.6, 308.7)--(444.3, 308.1)--(444.0, 307.4)--(443.8, 306.8)--(443.7, 306.6)--(443.6, 306.3)--(443.2, 305.2)--(443.0, 305.1)--(442.9, 305.0)--(442.8, 305.0)--(442.5, 305.0)--(442.5, 304.9)--(442.5, 304.8)--(442.7, 304.7)--(442.8, 304.7)--(443.0, 304.6)--(443.0, 304.5)--(443.0, 304.4)--(442.7, 304.1)--(442.5, 303.6)--(442.3, 303.7)--(442.1, !
303.7)--(442.0, 303.6)--(442.1, 303.5)--(442.2, 303.4)--(442.4, 303.3)--(442.2, 303.2)--(442.1, 303.1)--(442.0, 303.1)--(442.0, 303.0)--(441.9, 302.9)--(441.8, 302.8)--(441.8, 302.6)--(441.6, 302.3)--(441.5, 302.1)--(441.4, 301.9)--(441.2, 301.8)--(440.9, 301.8)--(440.8, 301.8)--(440.6, 301.8)--(440.5, 301.7)--(440.5, 301.6)--(440.7, 301.5)--(440.8, 301.4)--(441.0, 301.2)--(441.0, 301.1)--(441.0, 301.0)--(440.9, 300.9)--(440.7, 300.4)--(440.5, 300.0)--(440.4, 299.8)--(440.3, 299.8)--(439.7, 299.5)--(438.6, 298.9)--(438.5, 298.8)--(438.4, 298.8)--(438.4, 298.7)--(438.3, 298.7)--(438.2, 299.0)--(438.1, 298.9)--(438.2, 298.7)--(437.9, 298.6)--(437.9, 298.7)--(437.8, 298.7)--(437.7, 298.7)--(437.8, 298.5)--(437.1, 298.3)--(437.0, 298.5)--(436.8, 298.5)--(436.9, 298.2)--(435.4, 298.0)--(434.3, 297.8)--(433.4, 297.7)--(433.3, 297.7)--(431.8, 297.5)--(431.4, 297.3)--(431.3, 297.3)--(431.1, 297.3)--(431.0, 297.3)--(430.8, 297.3)--(430.6, 297.3)--(430.1, 297.3)--(429.9, 297.3)--(429.7, 297.3)--(429.3, 297.3)--(427.0, 297.8)--(426.2, 298.0)--(425.0, 298.2)--(424.4, 298.3)--(423.5, 298.4)--(422.8, 298.5)--(421.8, 298.6)--(421.4, 298.6)--(421.0, 298.6)--(420.3, 298.7)--(419.8, 298.7)--(419.3, 298.7)--(418.3, 298.7)--(416.3, 298.6)--(415.7, 298.5)--(415.4, 298.5)--(415.2, 298.4)--(414.9, 298.4)--(414.8, 298.3)--(414.7, 298.3)--(414.6, 298.3)--(414.4, 298.3)--(414.1, 298.2)--(413.9, 298.2)--(413.5, 298.1)--(413.5, 298.2)--(413.0, 298.1)--(413.0, 298.0)--(412.4, 297.9)--(411.6, 297.7)--(411.1, 297.6)--(411.2, 297.5)--(411.1, 297.5)--(411.0, 297.5)--(411.0, 297.6)--(410.1, 297.3)--(409.7, 297.2)--(409.2, 297.1)--(408.6, 297.0)--(407.5, 296.9)--(406.6, 296.9)--(406.3, 297.0)--(406.2, 296.5)--(405.7, 296.6)--(405.7, 296.9)--(405.6, 296.9)--(405.6, 297.2)--(404.8, 297.4)--(404.7, 297.2)--(404.6, 297.2)--(404.5, 297.2)--(404.0, 297.4)--(403.5, 297.5)--(403.3, 297.7)--(403.1, 297.7)--(403.0, 297.8)--(403.0, 297.9)--(403.0, 298.0)--(402.9, 297.9)--(402.3, 298.2)--(402.2, 298.4)--(401.9, 298.6)--(401.6, 298.8)--(401.5, 298.9)--(401.1,!
299.4)--(400.6, 299.9)--(400.5, 300.0)--(400.3, 300.2)--(400.1, 300.5)--(400.0, 300.7)--(400.0, 301.0)--(399.9, 301.1)--(399.7, 301.0)--(399.2, 301.5)--(399.5, 301.7)--(399.4, 301.8)--(399.2, 301.6)--(399.2, 301.7)--(399.1, 301.8)--(398.7, 302.3)--(398.6, 302.5)--(398.2, 303.1)--(398.3, 303.5)--(398.4, 303.5)--(398.4, 303.6)--(398.3, 303.7)--(398.2, 303.7)--(397.5, 303.9)--(397.4, 304.0)--(396.6, 304.8)--(396.3, 305.1)--(395.9, 305.4)--(396.0, 305.5)--(395.9, 305.7)--(395.8, 305.6)--(395.7, 305.6)--(395.7, 305.7)--(395.6, 305.9)--(395.7, 306.0)--(395.8, 306.4)--(395.9, 306.9)--(396.0, 307.1)--(396.0, 307.2)--(396.2, 307.6)--(396.1, 307.7)--(396.0, 307.9)--(395.9, 308.1)--(395.8, 308.3)--(395.7, 308.4)--(395.6, 308.4)--(395.5, 308.5)--(395.4, 308.6)--(395.3, 308.6)--(394.4, 308.8)--(393.9, 309.0)--(393.8, 309.0)--(393.6, 309.1)--(393.5, 309.1)--(393.5, 309.2)--(393.4, 309.2)--(393.4, 309.3)--(393.4, 309.4)--(393.6, 309.7)--(393.9, 310.3)--(394.0, 310.5)--(394.0, 310.6)--(394.1, 310.7)--(394.2, 311.0)--(394.3, 311.2)--(394.4, 311.3)--(394.4, 311.4)--(394.4, 311.7)--(394.5, 312.1)--(394.5, 312.3)--(394.5, 312.5)--(394.5, 312.6)--(394.5, 312.8)--(394.4, 313.0)--(394.2, 313.5)--(394.0, 313.8)--(393.9, 313.9)--(393.8, 314.0)--(393.7, 314.0)--(393.7, 314.1)--(393.6, 314.1)--(393.4, 314.2)--(393.3, 314.2)--(393.2, 314.3)--(393.2, 314.2)--(392.9, 314.2)--(392.8, 314.1)--(392.7, 314.1)--(392.6, 314.0)--(392.4, 313.8)--(392.0, 313.3)--(391.9, 313.2)--(391.8, 312.9)--(391.7, 312.8)--(391.7, 312.7)--(391.7, 312.3)--(391.7, 311.4)--(391.7, 311.0)--(391.6, 310.9)--(391.6, 310.5)--(391.4, 310.2)--(391.3, 310.2)--(391.3, 310.1)--(390.8, 310.0)--(390.7, 310.1)--(390.7, 310.2)--(390.6, 310.4)--(390.7, 310.5)--(390.7, 310.7)--(390.7, 310.8)--(390.8, 310.9)--(390.9, 311.2)--(391.3, 312.1)--(391.3, 312.3)--(391.4, 312.5)--(391.5, 313.0)--(391.6, 313.5)--(391.7, 313.6)--(391.7, 313.7)--(391.8, 314.1)--(391.9, 314.2)--(391.9, 314.4)--(391.8, 314.5)--(391.8, 314.7)--(391.5, 315.0)--(391.4, 315.2)--(391.2, 315.3)--(390.7, 315.7)--(389.7!
, 316.3)--(388.8, 316.9)--(388.3, 317.2)--(387.9, 317.6)--(387.5, 317.8)--(387.0, 318.3)--(386.8, 318.5)--(386.7, 318.4)--(386.8, 318.4)--(386.9, 318.3)--(386.9, 318.2)--(387.0, 318.2)--(387.0, 318.1)--(386.9, 318.1)--(386.7, 318.1)--(386.6, 318.1)--(386.5, 318.1)--(386.4, 318.1)--(386.3, 318.0)--(386.0, 317.9)--(385.9, 317.9)--(385.9, 317.8)--(385.8, 317.8)--(385.7, 317.7)--(385.7, 317.6)--(385.6, 317.5)--(385.6, 317.4)--(385.5, 317.1)--(385.4, 316.9)--(385.3, 316.7)--(385.3, 316.6)--(385.2, 316.6)--(385.1, 316.6)--(385.0, 316.7)--(385.0, 316.8)--(384.9, 317.3)--(384.9, 317.4)--(384.8, 317.5)--(384.7, 317.7)--(384.6, 318.0)--(384.5, 318.2)--(384.4, 318.4)--(384.2, 318.7)--(384.0, 318.9)--(383.8, 319.1)--(383.6, 319.3)--(383.2, 319.5)--(382.9, 319.8)--(382.7, 320.0)--(382.6, 320.1)--(382.6, 320.2)--(382.6, 320.5)--(382.6, 320.8)--(382.6, 320.9)--(382.6, 321.1)--(382.7, 321.2)--(382.8, 321.4)--(383.0, 321.9)--(383.2, 322.3)--(383.3, 322.6)--(383.5, 323.2)--(383.5, 323.4)--(383.5, 323.8)--(383.5, 324.2)--(383.5, 324.4)--(383.5, 324.6)--(383.5, 325.0)--(383.6, 325.1)--(383.6, 325.3)--(383.8, 325.6)--(383.9, 326.0)--(383.9, 326.4)--(384.0, 326.5)--(384.0, 326.6)--(385.3, 327.1)--(385.4, 327.2)--(385.5, 327.3)--(385.7, 327.4)--(386.4, 327.7)--(386.8, 327.9)--(386.9, 327.9)--(387.1, 328.0)--(387.1, 328.1)--(387.2, 328.2)--(387.3, 328.4)--(387.5, 328.5)--(387.7, 328.6)--(387.9, 328.7)--(388.5, 329.1)--(388.6, 329.2)--(388.8, 329.4)--(388.8, 329.5)--(388.8, 329.9)--(388.8, 330.0)--(388.9, 330.2)--(388.9, 330.4)--(389.0, 330.6)--(389.0, 330.7)--(389.2, 331.0)--(389.3, 331.1)--(389.4, 331.4)--(389.4, 331.6)--(389.5, 331.7)--(389.3, 331.8)--(389.3, 331.9)--(389.2, 332.1)--(389.1, 332.2)--(389.1, 332.4)--(389.0, 332.5)--(389.0, 332.3)--(388.9, 332.2)--(388.8, 332.1)--(388.8, 332.0)--(388.6, 331.6)--(388.5, 331.2)--(388.3, 330.7)--(388.3, 330.6)--(388.2, 330.5)--(388.2, 330.4)--(388.1, 330.1)--(388.0, 330.0)--(388.0, 329.8)--(387.9, 329.7)--(387.9, 329.4)--(387.8, 329.3)--(387.8, 329.2)--(387.7, 329.1)--(387.7, 329.0)--(387.!
6, 329.0)--(387.4, 329.0)--(387.4, 328.9)--(387.1, 328.6)--(387.0, 328.4)--(386.9, 328.2)--(386.8, 328.1)--(386.4, 327.9)--(386.3, 327.9)--(386.2, 327.8)--(386.0, 327.8)--(385.9, 327.8)--(385.8, 327.8)--(385.7, 327.8)--(385.7, 328.0)--(385.6, 328.0)--(385.5, 327.8)--(385.5, 327.6)--(385.4, 327.5)--(385.2, 327.4)--(385.2, 327.3)--(385.0, 327.2)--(384.9, 327.2)--(384.7, 327.1)--(384.4, 327.0)--(384.3, 327.0)--(384.2, 327.0)--(384.1, 327.0)--(383.9, 327.1)--(383.8, 327.1)--(383.8, 327.2)--(383.7, 327.4)--(383.7, 327.5)--(383.5, 327.9)--(383.3, 327.9)--(383.2, 328.0)--(383.0, 328.1)--(382.9, 328.0)--(383.0, 327.9)--(383.1, 327.6)--(383.2, 327.5)--(383.3, 327.4)--(383.3, 327.2)--(383.4, 327.2)--(383.6, 326.8)--(383.6, 326.7)--(383.6, 326.6)--(383.6, 326.4)--(383.5, 326.2)--(383.4, 326.0)--(383.2, 325.4)--(383.2, 325.1)--(383.1, 325.1)--(383.1, 324.9)--(383.2, 324.3)--(383.2, 324.0)--(383.2, 323.6)--(383.1, 323.6)--(383.1, 323.7)--(383.0, 323.7)--(383.0, 323.5)--cycle;
@@ Diff output truncated at 1234567 characters. @@
More information about the tex-live-commits
mailing list.