summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2009-05-27 14:02:03 +0000
committerTaco Hoekwater <taco@elvenkind.com>2009-05-27 14:02:03 +0000
commit4634529c1714116c9bdb794a60ce12a9f20ae463 (patch)
tree6b29683be6c6c2a35d06589bb06825df2be66ba1
parent30d91185abefb047f73a3cf6f7c69b13fa2391f6 (diff)
second part of the new metapost documentation:
* rename source to source-manual * add source-tutorial * update the pdfs and index.html * remove superfluous Makefile git-svn-id: svn://tug.org/texlive/trunk@13496 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/metapost/base/Makefile61
-rw-r--r--Master/texmf-dist/doc/metapost/base/index.html20
-rw-r--r--Master/texmf-dist/doc/metapost/base/mpboxes.pdfbin368528 -> 365222 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/base/mpgraph.pdfbin464425 -> 460975 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/base/mpintro.pdfbin197023 -> 230076 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/base/mpman.pdfbin774482 -> 843779 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/Makefile (renamed from Master/texmf-dist/doc/metapost/base/source/Makefile)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/README (renamed from Master/texmf-dist/doc/metapost/base/source/README)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/TODO (renamed from Master/texmf-dist/doc/metapost/base/source/TODO)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/agepop91.d (renamed from Master/texmf-dist/doc/metapost/base/source/agepop91.d)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/agepopm.d (renamed from Master/texmf-dist/doc/metapost/base/source/agepopm.d)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/cm2lm.map (renamed from Master/texmf-dist/doc/metapost/base/source/cm2lm.map)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/countries.d (renamed from Master/texmf-dist/doc/metapost/base/source/countries.d)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/ctabbing.sty (renamed from Master/texmf-dist/doc/metapost/base/source/ctabbing.sty)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/demo.ms (renamed from Master/texmf-dist/doc/metapost/base/source/demo.ms)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/energy.d (renamed from Master/texmf-dist/doc/metapost/base/source/energy.d)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/examples.mp (renamed from Master/texmf-dist/doc/metapost/base/source/examples.mp)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/figs.1 (renamed from Master/texmf-dist/doc/metapost/base/source/figs.1)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/figs.mp (renamed from Master/texmf-dist/doc/metapost/base/source/figs.mp)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/grdemo-doc.ms (renamed from Master/texmf-dist/doc/metapost/base/source/grdemo-doc.ms)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/grdemo-doc.ps (renamed from Master/texmf-dist/doc/metapost/base/source/grdemo-doc.ps)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/grdemo.eps (renamed from Master/texmf-dist/doc/metapost/base/source/grdemo.eps)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/grdemo.mp (renamed from Master/texmf-dist/doc/metapost/base/source/grdemo.mp)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/grdemo.ms (renamed from Master/texmf-dist/doc/metapost/base/source/grdemo.ms)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/lead.d (renamed from Master/texmf-dist/doc/metapost/base/source/lead.d)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/manfig.mp (renamed from Master/texmf-dist/doc/metapost/base/source/manfig.mp)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/matmul.d (renamed from Master/texmf-dist/doc/metapost/base/source/matmul.d)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mp.1 (renamed from Master/texmf-dist/doc/metapost/base/source/mp.1)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.bib (renamed from Master/texmf-dist/doc/metapost/base/source/mpboxes.bib)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.mp (renamed from Master/texmf-dist/doc/metapost/base/source/mpboxes.mp)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpboxes.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.bib (renamed from Master/texmf-dist/doc/metapost/base/source/mpgraph.bib)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.mp (renamed from Master/texmf-dist/doc/metapost/base/source/mpgraph.mp)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpgraph.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpintro.bib (renamed from Master/texmf-dist/doc/metapost/base/source/mpintro.bib)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpintro.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpintro.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mplibapi.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mplibapi.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-legacy.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpman-app-legacy.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-optab.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpman-app-optab.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-refman.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpman-app-refman.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman-optab.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpman-optab.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman.bib (renamed from Master/texmf-dist/doc/metapost/base/source/mpman.bib)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman.ist (renamed from Master/texmf-dist/doc/metapost/base/source/mpman.ist)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman.mp (renamed from Master/texmf-dist/doc/metapost/base/source/mpman.mp)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/mpman.tex (renamed from Master/texmf-dist/doc/metapost/base/source/mpman.tex)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-manual/timepop.d (renamed from Master/texmf-dist/doc/metapost/base/source/timepop.d)0
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/Makefile66
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/abstract.tex17
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/annulus.mp92
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/arrows.tex34
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/biblio.tex3
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/circles.mp22
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/commands.tex13
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/compilation.tex56
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/conclusion.tex13
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/data.d6
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/data.mp26
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/data.tex159
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/draw.mp44
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/draw.tex46
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/fill.mp22
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/fill.tex108
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/graph.tex52
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/inclusion.tex23
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/intro.tex56
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/label.mp63
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/label.tex99
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.bib35
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.ltx181
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/paperclip.mp25
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/parabola.mp45
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.eps378
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.pdfbin0 -> 20074 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.pngbin0 -> 16035 bytes
74 files changed, 1696 insertions, 69 deletions
diff --git a/Master/texmf-dist/doc/metapost/base/Makefile b/Master/texmf-dist/doc/metapost/base/Makefile
deleted file mode 100644
index 0ee0685b746..00000000000
--- a/Master/texmf-dist/doc/metapost/base/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# Makefile for texmf/doc/metapost. Public domain.
-
-MP = mp
-
-#DVIPS = dvips -Pold
-DVIPS = dvips -Pold -D300
-
-TROFF = troff -Tpost -ms -mpictures | dpost
-GROFF = groff -Tps -mgs
-
-### troff and/or groff example
-
-grdemo.ps: grdemo.ms figs.1
- cat grdemo.ms | $(GROFF) > grdemo.ps
-
-demo.ps: demo.ms figs.1 /usr/lib/tmac/tmac.pictures
- cat demo.ms | $(TROFF) > demo.ps
-
-figs.1: figs.mp
- test -d /usr/lib/font/devpost || $(MAKE) /usr/lib/font/devpost
- test -d /usr/lib/font/devpost && $(MP) -T figs.mp
-
-/usr/lib/tmac/tmac.pictures:
- @echo
- @echo "WARNING: You don't seem to have the troff \`mpictures' macros"
- @echo "which are needed to typeset the \`demo.ps' example document."
- @echo "If your troff implementation doesn't provide these macros"
- @echo "you're out of luck, I'm afraid. Sorry, I can't help you!"
- @echo
- @echo "Perhaps you may want to try \`grdemo.ps' as an alternative"
- @echo "if you have GNU groff installed on your system?"
- @echo
- @false
-
-/usr/lib/font/devpost:
- @echo
- @echo "WARNING: You don't seem to have a suitable troff implementation"
- @echo "on your system that matches the assumptions built into the"
- @echo "MetaPost support programs. To run MetaPost in troff mode"
- @echo "you'll probably need a troff implementation from Bell Labs."
- @echo "Using GNU groff as an alternative won't work, I'm afraid."
- @echo
- @false
-
-
-### pattern rules
-
-.dvi.ps:
- $(DVIPS) $< -o $@
-
-### cleanup targets
-
-clean:
- rm -f $(MPMAN_FIGS) $(MPGRAPH_FIGS) $(EXAMPLE_FIGS)
- rm -f *.mpx *.log *.aux mpxerr*
-
-distclean: clean
- rm -f mpman.ps mpgraph.ps mpintro.ps
-
-.PHONY: clean
-.SUFFIXES: .dvi .ps
diff --git a/Master/texmf-dist/doc/metapost/base/index.html b/Master/texmf-dist/doc/metapost/base/index.html
index c09e0f6c063..10e7a00f63e 100644
--- a/Master/texmf-dist/doc/metapost/base/index.html
+++ b/Master/texmf-dist/doc/metapost/base/index.html
@@ -27,13 +27,14 @@ page</A>.
<H2>Index</H2>
<DL>
<DT><A HREF="mpintro.pdf">
- <CITE>The MetaPost System</CITE></A> (PDF)<BR>
- <DD>Introduction to MetaPost, and also an example document for using
- MetaPost with LaTeX.
+ <CITE>A Beginner's Guide to MetaPost</CITE></A> (PDF)<BR>
+ <DD>Troy Henderson &amp; Stephan Hennig, 2008-2009.<BR>
+ Introductory tutorial for using MetaPost and integrating
+ its output into LaTeX documents.
<DT><A HREF="mpman.pdf">
- <CITE>A User's Manual for MetaPost</CITE></A> (PDF)<BR>
- <DD>AT&amp;T Bell Labs, CSTR 162, by John Hobby, 1992.<BR>
+ <CITE>MetaPost - A User's Manual</CITE></A> (PDF)<BR>
+ <DD>John D. Hobby and the MetaPost development team, 1992-2009.<BR>
The primary manual for the MetaPost system, which includes
a description of most standard MetaPost macro packages.
@@ -48,15 +49,18 @@ page</A>.
<CITE>MetaPost with groff</CITE></A> (PDF)<BR>
<DD>Example of using MetaPost with groff.
- <DT><A HREF="source/">source</A><BR>
- <DD>Subdirectory with all the MetaPost, TeX, and roff sources.
+ <DT><A HREF="source-manual/">source-manual</A><BR>
+ <DD>Subdirectory with the MetaPost, TeX, and roff sources for the manual.
+
+ <DT><A HREF="source-tutorial/">source-tutorial</A><BR>
+ <DD>Subdirectory with the MetaPost and TeX sources for the tutorial.
</DL>
<BR>
<!-- hhmts start -->
-Last modified: $Date$
+Last modified: Wed May 27 15:58:22 CEST 2009
<!-- hhmts end -->
</BODY>
</HTML>
diff --git a/Master/texmf-dist/doc/metapost/base/mpboxes.pdf b/Master/texmf-dist/doc/metapost/base/mpboxes.pdf
index 0cea91c035b..ac5c30b2d19 100644
--- a/Master/texmf-dist/doc/metapost/base/mpboxes.pdf
+++ b/Master/texmf-dist/doc/metapost/base/mpboxes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/base/mpgraph.pdf b/Master/texmf-dist/doc/metapost/base/mpgraph.pdf
index 7d3040be511..07c39ae7eeb 100644
--- a/Master/texmf-dist/doc/metapost/base/mpgraph.pdf
+++ b/Master/texmf-dist/doc/metapost/base/mpgraph.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/base/mpintro.pdf b/Master/texmf-dist/doc/metapost/base/mpintro.pdf
index 52ac497e6d5..28424a18ff9 100644
--- a/Master/texmf-dist/doc/metapost/base/mpintro.pdf
+++ b/Master/texmf-dist/doc/metapost/base/mpintro.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/base/mpman.pdf b/Master/texmf-dist/doc/metapost/base/mpman.pdf
index 2702d9786df..4879cbad7f7 100644
--- a/Master/texmf-dist/doc/metapost/base/mpman.pdf
+++ b/Master/texmf-dist/doc/metapost/base/mpman.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/base/source/Makefile b/Master/texmf-dist/doc/metapost/base/source-manual/Makefile
index 21eaebfcf74..21eaebfcf74 100644
--- a/Master/texmf-dist/doc/metapost/base/source/Makefile
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/Makefile
diff --git a/Master/texmf-dist/doc/metapost/base/source/README b/Master/texmf-dist/doc/metapost/base/source-manual/README
index 61cdd102fc8..61cdd102fc8 100644
--- a/Master/texmf-dist/doc/metapost/base/source/README
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/README
diff --git a/Master/texmf-dist/doc/metapost/base/source/TODO b/Master/texmf-dist/doc/metapost/base/source-manual/TODO
index 4aea80f9d41..4aea80f9d41 100644
--- a/Master/texmf-dist/doc/metapost/base/source/TODO
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/TODO
diff --git a/Master/texmf-dist/doc/metapost/base/source/agepop91.d b/Master/texmf-dist/doc/metapost/base/source-manual/agepop91.d
index 2dcd5dc0da3..2dcd5dc0da3 100644
--- a/Master/texmf-dist/doc/metapost/base/source/agepop91.d
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/agepop91.d
diff --git a/Master/texmf-dist/doc/metapost/base/source/agepopm.d b/Master/texmf-dist/doc/metapost/base/source-manual/agepopm.d
index 7451d4601b5..7451d4601b5 100644
--- a/Master/texmf-dist/doc/metapost/base/source/agepopm.d
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/agepopm.d
diff --git a/Master/texmf-dist/doc/metapost/base/source/cm2lm.map b/Master/texmf-dist/doc/metapost/base/source-manual/cm2lm.map
index 44228da8144..44228da8144 100644
--- a/Master/texmf-dist/doc/metapost/base/source/cm2lm.map
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/cm2lm.map
diff --git a/Master/texmf-dist/doc/metapost/base/source/countries.d b/Master/texmf-dist/doc/metapost/base/source-manual/countries.d
index 2b372f882c9..2b372f882c9 100644
--- a/Master/texmf-dist/doc/metapost/base/source/countries.d
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/countries.d
diff --git a/Master/texmf-dist/doc/metapost/base/source/ctabbing.sty b/Master/texmf-dist/doc/metapost/base/source-manual/ctabbing.sty
index b61ec6ed784..b61ec6ed784 100644
--- a/Master/texmf-dist/doc/metapost/base/source/ctabbing.sty
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/ctabbing.sty
diff --git a/Master/texmf-dist/doc/metapost/base/source/demo.ms b/Master/texmf-dist/doc/metapost/base/source-manual/demo.ms
index 736c8641fbd..736c8641fbd 100644
--- a/Master/texmf-dist/doc/metapost/base/source/demo.ms
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/demo.ms
diff --git a/Master/texmf-dist/doc/metapost/base/source/energy.d b/Master/texmf-dist/doc/metapost/base/source-manual/energy.d
index 0a8fa42d584..0a8fa42d584 100644
--- a/Master/texmf-dist/doc/metapost/base/source/energy.d
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/energy.d
diff --git a/Master/texmf-dist/doc/metapost/base/source/examples.mp b/Master/texmf-dist/doc/metapost/base/source-manual/examples.mp
index 2f58ad0f9c4..2f58ad0f9c4 100644
--- a/Master/texmf-dist/doc/metapost/base/source/examples.mp
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/examples.mp
diff --git a/Master/texmf-dist/doc/metapost/base/source/figs.1 b/Master/texmf-dist/doc/metapost/base/source-manual/figs.1
index b47233e3adb..b47233e3adb 100644
--- a/Master/texmf-dist/doc/metapost/base/source/figs.1
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/figs.1
diff --git a/Master/texmf-dist/doc/metapost/base/source/figs.mp b/Master/texmf-dist/doc/metapost/base/source-manual/figs.mp
index c8e87ba5629..c8e87ba5629 100644
--- a/Master/texmf-dist/doc/metapost/base/source/figs.mp
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/figs.mp
diff --git a/Master/texmf-dist/doc/metapost/base/source/grdemo-doc.ms b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo-doc.ms
index 19c0ed030d7..19c0ed030d7 100644
--- a/Master/texmf-dist/doc/metapost/base/source/grdemo-doc.ms
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo-doc.ms
diff --git a/Master/texmf-dist/doc/metapost/base/source/grdemo-doc.ps b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo-doc.ps
index f60e465bf14..f60e465bf14 100644
--- a/Master/texmf-dist/doc/metapost/base/source/grdemo-doc.ps
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo-doc.ps
diff --git a/Master/texmf-dist/doc/metapost/base/source/grdemo.eps b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo.eps
index ae476c19730..ae476c19730 100644
--- a/Master/texmf-dist/doc/metapost/base/source/grdemo.eps
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo.eps
diff --git a/Master/texmf-dist/doc/metapost/base/source/grdemo.mp b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo.mp
index 14fb7609259..14fb7609259 100644
--- a/Master/texmf-dist/doc/metapost/base/source/grdemo.mp
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo.mp
diff --git a/Master/texmf-dist/doc/metapost/base/source/grdemo.ms b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo.ms
index fbcbfaceff4..fbcbfaceff4 100644
--- a/Master/texmf-dist/doc/metapost/base/source/grdemo.ms
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/grdemo.ms
diff --git a/Master/texmf-dist/doc/metapost/base/source/lead.d b/Master/texmf-dist/doc/metapost/base/source-manual/lead.d
index 2d09412438e..2d09412438e 100644
--- a/Master/texmf-dist/doc/metapost/base/source/lead.d
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/lead.d
diff --git a/Master/texmf-dist/doc/metapost/base/source/manfig.mp b/Master/texmf-dist/doc/metapost/base/source-manual/manfig.mp
index f9665370b0d..f9665370b0d 100644
--- a/Master/texmf-dist/doc/metapost/base/source/manfig.mp
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/manfig.mp
diff --git a/Master/texmf-dist/doc/metapost/base/source/matmul.d b/Master/texmf-dist/doc/metapost/base/source-manual/matmul.d
index 6a0afe941ce..6a0afe941ce 100644
--- a/Master/texmf-dist/doc/metapost/base/source/matmul.d
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/matmul.d
diff --git a/Master/texmf-dist/doc/metapost/base/source/mp.1 b/Master/texmf-dist/doc/metapost/base/source-manual/mp.1
index 76df137ca79..76df137ca79 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mp.1
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mp.1
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpboxes.bib b/Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.bib
index 6adf4cd1c7a..6adf4cd1c7a 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpboxes.bib
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.bib
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpboxes.mp b/Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.mp
index 10ec530dbe4..10ec530dbe4 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpboxes.mp
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.mp
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpboxes.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.tex
index a167df8e267..a167df8e267 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpboxes.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpboxes.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpgraph.bib b/Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.bib
index 27ef07de1ff..27ef07de1ff 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpgraph.bib
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.bib
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpgraph.mp b/Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.mp
index 2c94edfe549..2c94edfe549 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpgraph.mp
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.mp
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpgraph.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.tex
index 759c6e85061..759c6e85061 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpgraph.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpgraph.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpintro.bib b/Master/texmf-dist/doc/metapost/base/source-manual/mpintro.bib
index 4b1c745c88e..4b1c745c88e 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpintro.bib
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpintro.bib
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpintro.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpintro.tex
index 559456af209..559456af209 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpintro.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpintro.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mplibapi.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mplibapi.tex
index a18e5e01fb0..a18e5e01fb0 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mplibapi.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mplibapi.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman-app-legacy.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-legacy.tex
index 02531611d72..02531611d72 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman-app-legacy.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-legacy.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman-app-optab.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-optab.tex
index d0da5811299..d0da5811299 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman-app-optab.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-optab.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman-app-refman.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-refman.tex
index 4eba05ddc38..4eba05ddc38 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman-app-refman.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-app-refman.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman-optab.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-optab.tex
index bd0a2868ea5..bd0a2868ea5 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman-optab.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman-optab.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman.bib b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.bib
index c476a028e02..c476a028e02 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman.bib
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.bib
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman.ist b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.ist
index 9238679ce08..9238679ce08 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman.ist
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.ist
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman.mp b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.mp
index d4e81d0d08c..d4e81d0d08c 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman.mp
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.mp
diff --git a/Master/texmf-dist/doc/metapost/base/source/mpman.tex b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.tex
index 0f689273db3..0f689273db3 100644
--- a/Master/texmf-dist/doc/metapost/base/source/mpman.tex
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/mpman.tex
diff --git a/Master/texmf-dist/doc/metapost/base/source/timepop.d b/Master/texmf-dist/doc/metapost/base/source-manual/timepop.d
index c8b2bae7a04..c8b2bae7a04 100644
--- a/Master/texmf-dist/doc/metapost/base/source/timepop.d
+++ b/Master/texmf-dist/doc/metapost/base/source-manual/timepop.d
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/Makefile b/Master/texmf-dist/doc/metapost/base/source-tutorial/Makefile
new file mode 100644
index 00000000000..cc493784aaf
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/Makefile
@@ -0,0 +1,66 @@
+MAKE=make
+MPOST=mpost
+LTX=latex
+DVIPS=dvips
+PDFLTX=pdflatex
+BIB=bibtex
+
+SRC=mpintro.ltx
+INCL=$(wildcard *.tex)
+MYBIB=mpintro.bib
+MPMPS=annulus-1.mps annulus-2.mps annulus-3.mps circles.mps data.mps draw-1.mps draw-2.mps fill.mps label-1.mps label-2.mps paperclip.mps parabola.mps
+MP=$(patsubst %,%.mp,$(patsubst %.mps,%,$(filter-out -%,$(subst -, -,$(MPMPS)))))
+MPLOG=$(patsubst %.mp,%.log,$(MP))
+MPMPX=$(patsubst %.mp,%.mpx,$(MP))
+RASTEPS=previewer.eps
+RASTPDF=previewer.pdf
+
+BASE=$(patsubst %.ltx,%,$(SRC))
+DVI=$(BASE).dvi
+PDF=$(BASE).pdf
+PS=$(BASE).ps
+
+.PHONY: clean distclean
+
+pdf:
+ $(MAKE) $(PDF)
+
+ps:
+ $(MAKE) $(PS)
+
+all: pdf ps
+
+$(DVI): $(SRC) $(MYBIB) $(INCL) $(MPMPS) $(RASTEPS)
+ $(LTX) $<
+ $(BIB) $(BASE)
+ $(LTX) $<
+ $(LTX) $<
+
+$(PDF): $(SRC) $(MYBIB) $(INCL) $(MPMPS) $(RASTPDF)
+ $(PDFLTX) $<
+ $(BIB) $(BASE)
+ $(PDFLTX) $<
+ $(PDFLTX) $<
+
+$(PS): $(DVI)
+ $(DVIPS) -o $@ $<
+
+$(RASTEPS): $(patsubst %.eps,%.png,$(RASTEPS))
+ sam2p $< EPS: $@
+
+$(RASTPDF): $(patsubst %.pdf,%.png,$(RASTPDF))
+ sam2p $< PDF: $@
+
+%.mps: %.mp
+ $(MPOST) $<
+
+%.mps:: $(patsubst %,%.mp,$(patsubst %.pdf,%,$(filter-out -%,$(subst -, -,$(MPPDF)))))
+ $(MPOST) $(patsubst %,%.mp,$(patsubst %.pdf,%,$(filter-out -%,$(subst -, -,$@))))
+
+clean:
+ rm -f $(MPLOG) $(MPMPX) $(MPPDF) texnum.mpx
+ rm -f $(BASE).aux $(BASE).bbl $(BASE).blg $(BASE).log $(BASE).out
+
+distclean:
+ $(MAKE) clean
+ rm -f $(DVI) $(PS) $(PDF) $(MPMPS) $(RASTPDF) $(RASTEPS)
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/abstract.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/abstract.tex
new file mode 100644
index 00000000000..6f1631dc26c
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/abstract.tex
@@ -0,0 +1,17 @@
+\begin{abstract}
+ Individuals that use \TeX{} (or any of its derivatives) to typeset
+ their documents generally take extra measures to ensure paramount
+ visual quality. Such documents often contain mathematical expressions
+ and graphics to accompany the text. Since \TeX{} was designed ``for
+ the creation of beautiful books\Dash and especially for books that
+ contain a lot of mathematics''~\cite{knuth:texbook}, it is clear that
+ it is sufficient (and in fact \textit{exceptional}) at dealing with
+ mathematics and text. \TeX{} was not designed for creating graphics;
+ however, certain add-on packages can be used to create modest figures.
+ \TeX{}, however, is capable of including graphics created with other
+ utilities in a variety of formats. Because of their scalability,
+ Encapsulated PostScript (\EPS) graphics are the most common types
+ used. This paper introduces \MP{} and demonstrates the fundamentals
+ needed to generate high-quality \EPS{} graphics for inclusion into
+ \TeX-based documents.
+\end{abstract}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/annulus.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/annulus.mp
new file mode 100644
index 00000000000..63cea69cfae
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/annulus.mp
@@ -0,0 +1,92 @@
+prologues:=3;
+
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j-%c.mps";
+
+verbatimtex
+%&latex
+\documentclass[11pt]{article}
+\usepackage[charter]{mathdesign}
+\usepackage[T1]{fontenc}
+\renewcommand*{\ttdefault}{lmtt}
+\begin{document}
+etex
+
+% Set unit size to 54bp = 3/4in
+u:=54;
+
+path p,q;
+% Define circle of radius 3/4in
+p:=fullcircle scaled (2*u);
+% Define circle of radius 3/8in
+q:=fullcircle scaled u;
+
+beginfig(1);
+ % Fill annulus
+ fill p withcolor (3/5,4/5,1);
+ unfill q;
+
+ % Draw big circle
+ draw p;
+ % Draw small circle
+ draw q;
+endfig;
+
+beginfig(2);
+ % Fill annulus
+ fill p--reverse q--cycle withcolor (3/5,4/5,1);
+
+ % This loop draws arrows around the big circle
+ N:=12;
+ for n=1 upto N:
+ drawarrow subpath ((n-1)/N*length(p),n/N*length(p)) of p;
+ endfor;
+
+ % These 3 commands draw the "cut"
+ drawarrow (u,0)--(5*u/6,0);
+ draw (5*u/6,0)--(2*u/3,0);
+ drawarrow (u/2,0)--(2*u/3,0);
+
+ % This loop draws arrows around the small circle
+ for n=1 upto N:
+ drawarrow subpath ((n-1)/N*length(p),n/N*length(p)) of reverse q;
+ endfor;
+
+ % Label p and q
+ label.urt(btex \texttt{p} etex,(u/sqrt(2),u/sqrt(2)));
+ label.llft(btex \texttt{q} etex,(u/2/sqrt(2),u/2/sqrt(2)));
+endfig;
+
+beginfig(3);
+ % Fill annulus
+ fill p--reverse q--cycle withcolor (3/5,4/5,1);
+
+ % Draw big circle
+ draw p;
+ % Draw small circle
+ draw q;
+
+ % Above is used to determine the bbox of the annulus
+ picture h;
+ h:=currentpicture; % Store the currentpicture
+ currentpicture:=nullpicture; % Clear the currentpicture
+
+ % Create magenta background
+ fill bbox h withcolor (1,0,1);
+
+ % Fill the big circle
+ fill p withcolor (3/5,4/5,1);
+
+ % Unfill the small circle
+ unfill q;
+
+ % Draw the big circle
+ draw p;
+ % Draw the small circle
+ draw q;
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/arrows.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/arrows.tex
new file mode 100644
index 00000000000..2fcf6a8e8d7
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/arrows.tex
@@ -0,0 +1,34 @@
+\subsection{Arrow commands}
+
+When drawing simple graphs and other illustrations, the use of arrows is
+often essential. There are two arrow commands in \MP{} for
+accommodating this need\Dash |drawarrow| and |drawdblarrow|. Both of
+these commands require a path argument. For example,
+
+\begin{lstlisting}[style=MP]
+drawarrow (0,0)--(72,72);
+\end{lstlisting}
+draws an arrow beginning at |(0,0)| and ending at |(72,72)| along the
+line segment connecting these points.
+
+The path argument of both |drawarrow| and |drawdblarrow| need not be
+line segmented paths\Dash they may be any \MP{} path. The only
+difference between |drawarrow| and |drawdblarrow| is that |drawarrow|
+places an arrow head at the end of the path and |drawdblarrow| places an
+arrow head at the beginning and the end of the path. As an example, to
+draw the curved path in \autoref{fig:draw1} with an arrow head at the
+end of the path (i.e., at |z3|), the following command can be used
+
+\begin{lstlisting}[style=MP]
+drawarrow z1{right}..z2{dir 45}..{up}z3;
+\end{lstlisting}
+and is illustrated in \autoref{fig:draw2}.
+
+\begin{figure}
+ \begin{withattachment}{draw.mp}
+ \centering
+ \includegraphics{draw-2.mps}
+ \end{withattachment}
+ \caption{Using \texttt{drawarrow} along a path}
+ \label{fig:draw2}
+\end{figure}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/biblio.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/biblio.tex
new file mode 100644
index 00000000000..f158bfccafb
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/biblio.tex
@@ -0,0 +1,3 @@
+% \newpage
+\bibliographystyle{plain}
+\bibliography{mpintro}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/circles.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/circles.mp
new file mode 100644
index 00000000000..ef7eadc7658
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/circles.mp
@@ -0,0 +1,22 @@
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j.mps";
+
+beginfig(0);
+ % Use 8 circles
+ N:=8;
+
+ % Compute the "correct" radius
+ r:=54*sind(180/N)/(1+sind(180/N));
+
+ % Define one of the cirlces
+ path p;
+ p:=fullcircle scaled (2*r);
+
+ % Draw all 8 circles
+ for n=0 upto N-1: draw p shifted (r/sind(180/N),0) rotated (360/N*n); endfor;
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/commands.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/commands.tex
new file mode 100644
index 00000000000..b3d4d16af36
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/commands.tex
@@ -0,0 +1,13 @@
+\section{Common commands}
+\label{sec:commoncmds}
+
+The \MP{} manual~\cite{hobby:user} lists 26 built-in commands along with
+23 function-like macros for which pictures can be drawn and manipulated
+using \MP. We will not discuss each of these commands here; however, we
+will focus on several of the most common commands and provide examples
+of their usage.
+
+\input{draw}
+\input{fill}
+\input{arrows}
+\input{label}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/compilation.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/compilation.tex
new file mode 100644
index 00000000000..df6a389c1a0
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/compilation.tex
@@ -0,0 +1,56 @@
+\begin{figure*}[tp]
+ \centering
+ \includegraphics[width=\textwidth]{previewer}
+ \caption{\MP{} Previewer}
+ \label{fig:previewer}
+\end{figure*}
+
+\section{\MP{} compilation}
+\label{sec:mpcompilation}
+
+A typical \MP{} source file consists of one or more figures.
+Compilation of the source file generates an \EPS{} graphic for each
+figure. These \EPS{} graphics are self-contained (i.e., the fonts used
+in labels are embedded into the graphic) provided that |prologues:=3| is
+declared.
+
+If \File{foo.mp} is a typical \MP{} source file, then its contents are
+likely of the following form:
+
+\begin{lstlisting}[style=MP]
+prologues:=3;
+outputtemplate:="%j-%c.mps";
+beginfig(1);
+ |\normalfont\textit{draw commands}|
+endfig;
+beginfig(2);
+ |\normalfont\textit{draw commands}|
+endfig;
+|\dots|
+beginfig(|\normalfont$n$|);
+ |\normalfont\textit{draw commands}|
+endfig;
+end
+\end{lstlisting}
+
+Executing
+
+\begin{lstlisting}[style=text]
+mpost foo.mp
+\end{lstlisting}
+yields the following output:
+
+\begin{lstlisting}[style=text]
+This is MetaPost, Version |\normalfont$\langle$\textit{version}$\rangle$|
+(foo.mp [1] [2] |\normalfont\ldots| [|\normalfont$n$|] )
+|\normalfont$n$| output files written: foo-1.mps .. foo-|\normalfont$n$|.mps
+Transcript written on foo.log.
+\end{lstlisting}
+
+For users who just want to ``get started'' using \MP{}, a \MP{}
+previewer is available at \url{http://www.tlhiv.org/mppreview}. This
+previewer (illustrated in \autoref{fig:previewer}) is simply a graphical
+interface to \MP{} itself. It generates a single graphic with the
+option to save the output in \EPS{}, \PDF{}, and \SVG{} formats. Users
+may also choose to save the source code and can view the compilation log
+to assist in debugging.
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/conclusion.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/conclusion.tex
new file mode 100644
index 00000000000..4caa87bcc71
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/conclusion.tex
@@ -0,0 +1,13 @@
+\section{Conclusion}
+\label{sec:conclusion}
+
+\MP{} is an elegant programming language, and it produces beautiful
+graphics. The graphics are vectorial and thus can be scaled to any
+resolution without degradation. There are many advanced topics that are
+not discussed in this article (e.g., loops, flow control, subpaths,
+intersections, etc.), and the \MP{} manual~\cite{hobby:user} is an
+excellent resource for these advanced topics. However, the \MP{} manual
+may seem daunting for beginners. There are many websites containing
+\MP{} examples, and several of these are referenced at
+\url{http://www.tug.org/metapost}. Finally, we mention that Knuth uses
+nothing but \MP{} for his diagrams.
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/data.d b/Master/texmf-dist/doc/metapost/base/source-tutorial/data.d
new file mode 100644
index 00000000000..f7313d919f8
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/data.d
@@ -0,0 +1,6 @@
+0.0 0.0
+0.2 0.447214
+0.4 0.632456
+0.6 0.774597
+0.8 0.894427
+1.0 1.0
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/data.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/data.mp
new file mode 100644
index 00000000000..f6f0a1feb95
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/data.mp
@@ -0,0 +1,26 @@
+prologues:=3;
+
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j.mps";
+
+verbatimtex
+%&latex
+\documentclass[11pt]{article}
+\usepackage[charter]{mathdesign}
+\usepackage[T1]{fontenc}
+\renewcommand*{\ttdefault}{lmtt}
+\begin{document}
+etex
+
+input graph;
+Fmfont_:="bchr8r";
+beginfig(0);
+ draw begingraph(144bp,89bp);
+ gdraw "data.d";
+ endgraph;
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/data.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/data.tex
new file mode 100644
index 00000000000..421b92bdc37
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/data.tex
@@ -0,0 +1,159 @@
+\section{Data types}
+\label{sec:datatypes}
+
+\subsection{Standard data types}
+There are ten data types in \MP{}: \textit{numeric}, \textit{pair},
+\textit{path}, \textit{transform}, \textit{rgbcolor},
+\textit{cmykcolor}, \textit{string}, \textit{boolean}, \textit{picture},
+and \textit{pen}. These data types allow users to store fragments of
+the graphics for later use. We will briefly discuss each of these data
+types and elaborate on how they are used in a typical \MP{} program.
+
+\renewcommand{\labelitemi}{$\diamond$}
+\begin{itemize}
+\item \textit{numeric}\Dash numbers
+\item \textit{pair}\Dash ordered pairs of numerics
+\item \textit{path}\Dash B\'{e}zier curves (and lines)
+\item \textit{picture}\Dash pictures
+\item \textit{transform}\Dash transformations such as shifts, rotations,
+ and slants
+\item \textit{rgbcolor} or \textit{color}\Dash triplets with each
+ component between $0$ and $1$ (red, green, and blue)
+\item \textit{cmykcolor}\Dash quadruplets with each component between
+ $0$ and $1$ (cyan, magenta, yellow, and black)
+\item \textit{string}\Dash strings of characters
+\item \textit{boolean}\Dash ``true'' or ``false'' values
+\item \textit{pen}\Dash stroke properties
+\end{itemize}
+
+Virtually all programming languages provide a way of storing and
+retrieving numerical values. This is precisely the purpose of the
+\textit{numeric} data type in \MP. Since graphics drawn with \MP{} are
+simply two dimensional pictures, it is clear that an ordered pair is
+needed to identify each point in the picture. The \textit{pair} data
+type provides this functionality. Each point in the plane consists of
+an $x$ (i.e., abscissa) part and a $y$ (i.e., ordinate) part. \MP{}
+uses the standard syntax for defining points in the plane, e.g., $(x,y)$
+where both $x$ and~$y$ are numeric data typed variables.
+
+In order to store paths between points, the \textit{path} data type is
+used. All paths in \MP{} are represented as cubic B\'{e}zier curves.
+Cubic B\'{e}zier curves are simply parametric splines of the form
+$(x(t),y(t))$ where both $x(t)$ and $y(t)$ are piecewise cubic
+polynomials of a common parameter $t$. Since B\'{e}zier curves are
+splines, they pairwise interpolate the points. Furthermore, cubic
+B\'{e}zier curves are diverse enough to provide a ``smooth'' path
+between all of the points for which it interpolates. \MP{} provides
+several methods for affecting the B\'{e}zier curve between a list of
+points. For example, piecewise linear paths (i.e., linear splines) can
+be drawn between a list of points since all linear polynomials are also
+cubic polynomials. Furthermore, if a specific direction for the path is
+desired at a given point, this constraint can be forced on the
+B\'{e}zier curve.
+
+The \textit{picture} data type is used to store an entire picture for
+later use. For example, in order to create animations, usually there
+are objects that remain the same throughout each frame of the animation.
+So that these objects do not have to be manually drawn for each frame, a
+convenient method for redrawing them is to store them into a picture
+variable for later use.
+
+When constructing pairs, paths, or pictures in \MP{}, it is often
+convenient to apply affine transformations to these objects. As
+mentioned above, \autoref{fig:circles} can be constructed by rotating
+the same circle several times before drawing it. \MP{} provides
+built-in affine transformations as ``building blocks'' from which other
+transformations can be constructed. These include shifts, rotations,
+horizontal and vertical scalings, and slantings.
+
+For creating colored graphics, \MP{} provides two data types:
+\textit{rgbcolor} and \textit{cmykcolor}. These data types correspond
+to the two supported color models \RGB{} and \CMYK. While using the
+\RGB{} color model, fractions of the primary colors
+\textit{red}~\showcol{red}, \textit{green}~\showcol{green}, and
+\textit{blue}~\showcol{blue} are ``additively mixed''. Similarly, in
+the \CMYK{} color model, the primary colors
+\textit{cyan}~\showcol{cyan}, \textit{magenta}~\showcol{magenta},
+\textit{yellow}~\showcol{yellow}, and \textit{black}~\showcol{black} are
+``subtractively mixed.'' The former model is suitable for on-screen
+viewing whereas the latter model is preferred in high-quality print.
+Both color types are ordered tuples, $(c_1,c_2,c_3)$ and
+$(c_1,c_2,c_3,c_4)$, with components~$c_i$ being \textit{numeric}s
+between $0$ and $1$. For example, in the \RGB{} color model, a light
+orange tone can be referred to as |(1,.6,0)|~\showcol[rgb]{1,.6,0},
+whereas in the \CMYK{} color model |(0,.6,1,0)|~\showcol[cmyk]{0,.6,1,0}
+corresponds to a clearly different orange tone. If a particular color
+is to be used several times throughout a figure, it is natural to store
+this color into a variable of type \textit{rgbcolor} or
+\textit{cmykcolor}.
+
+The data type \textit{color} is a convenient synonym for
+\textit{rgbcolor}. Additionally, there are five built-in \RGB{} colors
+in \MP{}: |black|, |white|, |red|, |green|, and |blue|. So, the
+expression |.4(red+blue)| refers to a dark violet~\showcol[rgb]{.4,0,.4}
+in the \RGB{} color model and in the example above |(1,.6,0)| could be
+replaced by |red+.6green|.
+
+The most common application of \textit{string} data types is reusing a
+particular string that is typeset (or labeled). The \textit{boolean}
+data type is the same as in other programming languages and is primarily
+used in conditional statements for testing. Finally, the \textit{pen}
+data type is used to affect the actual stroke paths. The default unit
+of measurement in \MP{} is $1\,\mathrm{bp}=1/72\mathrm{\ in}$, and the
+default thickness of all stroked paths is $0.5\,\mathrm{bp}$. An
+example for using the \textit{pen} data type may include changing the
+thickness of several stroked paths. This new pen can be stored and then
+referenced for drawing each of the paths.
+
+The following code declares a variable of type \textit{numeric}, one of
+type \textit{pair}, and two \textit{string} variables:
+
+\begin{lstlisting}[style=MP]
+numeric idx;
+pair v;
+string s, name;
+\end{lstlisting}
+
+Note, variables of type \textit{numeric} need not necessarily be
+declared. A formerly undeclared variable is automatically assumed to be
+\textit{numeric} at first use.
+
+
+\subsection{Arrays}
+Just like many other programming languages MetaPost provides a way to
+access variables by index. After the following variable declaration
+
+\begin{lstlisting}[style=MP]
+pair a[];
+\end{lstlisting}
+it is possible to store points in the ``array''~|a| with numeric values
+as index. The console output of
+
+\begin{lstlisting}[style=MP]
+a[1] := (0,1);
+a[2] := (0,5);
+a[3] := (10,20);
+show a[1];
+show a1;
+j := 2;
+show a[j] + a[j+1];
+\end{lstlisting}
+is
+
+\begin{lstlisting}[style=text]
+>> (0,1)
+>> (0,1)
+>> (10,25)
+\end{lstlisting}
+
+Notice, the point stored at array index~1 can be referred to as~|a[1]|
+as well as just~|a1|, omitting the brackets. The latter
+convenient---and often practised---notation works as long as the index
+is a plain numeric value. If the index is a numeric \emph{variable} or
+an expression, however, the brackets have to be present, since, e.g.,
+|aj| would clearly refer to an unrelated variable of that name instead
+of index~|j| of variable~|a|.
+
+Aside, MetaPost, as a macro language, doesn't really provide true arrays.
+However, from a user's perspective, the MetaPost way of indexing
+variables perfectly looks like an array.
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/draw.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/draw.mp
new file mode 100644
index 00000000000..8b3affb5d96
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/draw.mp
@@ -0,0 +1,44 @@
+prologues:=3;
+
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j-%c.mps";
+
+verbatimtex
+%&latex
+\documentclass[11pt]{article}
+\usepackage[charter]{mathdesign}
+\usepackage[T1]{fontenc}
+\renewcommand*{\ttdefault}{lmtt}
+\begin{document}
+etex
+
+% Set unit size to 72bp = 1in
+u:=72;
+
+beginfig(1);
+ % Draw line segmented path
+ draw (0,0)--(3*u/4,u/4)--(u,u) dashed evenly scaled 0.6;
+
+ % Draw curved path
+ draw (0,0){right}..{dir 45}(3*u/4,u/4){dir 45}..{up}(u,u);
+
+ % Label the 3 points
+ label.bot(btex \texttt{z1} etex,(0,0));
+ label.lrt(btex \texttt{z2} etex,(3*u/4,u/4));
+ label.rt(btex \texttt{z3} etex,(u,u));
+endfig;
+
+beginfig(2);
+ % Draw arrow around curved path
+ drawarrow (0,0){right}..{dir 45}(3*u/4,u/4){dir 45}..{up}(u,u);
+
+ % Label the 3 points
+ label.bot(btex \texttt{z1} etex,(0,0));
+ label.lrt(btex \texttt{z2} etex,(3*u/4,u/4));
+ label.rt(btex \texttt{z3} etex,(u,u));
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/draw.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/draw.tex
new file mode 100644
index 00000000000..9ed9b3c1ed0
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/draw.tex
@@ -0,0 +1,46 @@
+\subsection{The \texttt{draw} command}
+
+The most common command in \MP{} is the |draw| command. This command is
+used to draw paths or pictures. In order to draw a path from
+|z1:=(0,0)| to |z2:=(54,18)| to |z3:=(72,72)|, we should first decide
+how we want the path to look. For example, if we want these points to
+simply be connected by line segments, then we use
+
+\begin{lstlisting}[style=MP]
+draw z1--z2--z3;
+\end{lstlisting}
+
+However, if we want a smooth path between these points, we use
+
+\begin{lstlisting}[style=MP]
+draw z1..z2..z3;
+\end{lstlisting}
+
+In order to specify the direction of the path at the points, we use the
+|dir| operator. In \autoref{fig:draw1} we see that the smooth path is
+horizontal at |z1|, a 45\textdegree\ angle at |z2|, and vertical at
+|z3|. These constraints on the B\'{e}zier curve are imposed by
+
+\begin{lstlisting}[style=MP]
+draw z1{right}..z2{dir 45}..{up}z3;
+\end{lstlisting}
+
+\begin{figure}
+ \begin{withattachment}{draw.mp}
+ \centering
+ \includegraphics{draw-1.mps}
+ \end{withattachment}
+ \caption{\texttt{draw} examples}
+ \label{fig:draw1}
+\end{figure}
+
+Notice that |z2{dir 45}| forces the \textit{outgoing} direction at |z2|
+to be 45\textdegree. This implies an \textit{incoming} direction at
+|z2| of 45\textdegree. In order to require different incoming and
+outgoing directions, we would use
+
+\begin{lstlisting}[style=MP]
+draw z1{right}..{dir |$\theta_i$|}z2{dir |$\theta_o$|}..{up}z3;
+\end{lstlisting}
+where $\theta_i$ and $\theta_o$ are the incoming and outgoing
+directions, respectively.
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/fill.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/fill.mp
new file mode 100644
index 00000000000..d4c52c4e9eb
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/fill.mp
@@ -0,0 +1,22 @@
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j.mps";
+
+beginfig(0);
+ % Set unit size to 72bp = 1in
+ u:=72;
+
+ % Define path
+ path p;
+ p:=(0,0){right}..{dir 45}(3*u/4,u/4){dir 45}..{up}(u,u)--cycle;
+
+ % Fill the path
+ fill p withcolor red;
+
+ % Draw the path
+ draw p;
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/fill.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/fill.tex
new file mode 100644
index 00000000000..13fd41557a5
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/fill.tex
@@ -0,0 +1,108 @@
+\subsection{The \texttt{fill} command}
+
+Another common command in \MP{} is the |fill| command. This is used to
+fill closed paths (or cycles). In order to construct a cycle, |cycle|
+may be appended to the path declaration. For example,
+
+\begin{lstlisting}[style=MP]
+path p;
+p := z1{right}..z2{dir 45}..{up}z3--cycle;
+fill p withcolor red;
+draw p;
+\end{lstlisting}
+produces \autoref{fig:fill}. Notice that |p| is essentially the same
+curved path as in \autoref{fig:draw1} with the additional piece that
+connects |z3| back to |z1| with a line segment using |--cycle|.
+
+\begin{figure}
+ \begin{withattachment}{fill.mp}
+ \centering
+ \includegraphics{fill.mps}
+ \end{withattachment}
+ \caption{\texttt{fill} example}
+ \label{fig:fill}
+\end{figure}
+
+Just as it is necessary to fill closed paths, it may also be necessary
+to \textit{unfill} closed paths. For example, the annulus in
+\autoref{fig:annulus1} can be constructed by
+
+\begin{lstlisting}[style=MP]
+color bbblue;
+bbblue := (3/5,4/5,1);
+path p,q;
+p := fullcircle scaled (2*54);
+q := fullcircle scaled (2*27);
+fill p withcolor bbblue;
+unfill q;
+draw p;
+draw q;
+\end{lstlisting}
+
+The |fullcircle| path is a built-in path that closely
+approximates a circle in \MP{} with diameter 1\,bp traversed
+counter-clockwise. This path is not exactly a circle since it is
+parameterized by a B\'{e}zier curve and not by trigonometric functions;
+however, visually it is essentially indistinguishable from an exact
+circle.
+
+\begin{figure}
+ \begin{withattachment}{annulus.mp}
+ \centering
+ \includegraphics{annulus-1.mps}
+ \end{withattachment}
+ \caption{\texttt{unfill} example}
+ \label{fig:annulus1}
+\end{figure}
+
+Notice that |p| is a |fullcircle| of radius 54\,bp (3/4\,in) and |q| is
+a |fullcircle| of radius 27\,bp (3/8\,in). The annulus is constructed
+by filling |p| with the baby blue color |bbblue| and then unfilling |q|.
+The |unfill| command above is equivalent to
+
+\begin{lstlisting}[style=MP]
+fill q withcolor background;
+\end{lstlisting}
+where |background| is a built-in color which is |white| by default.
+
+Often the |unfill| command appears to be the natural method for
+constructing figures like \autoref{fig:annulus1}. However, the |fill|
+and |unfill| commands in \autoref{fig:annulus1} can be replaced by
+
+\begin{lstlisting}[style=MP]
+fill p--reverse q--cycle withcolor bbblue;
+\end{lstlisting}
+
+\begin{figure}
+ \begin{withattachment}{annulus.mp}
+ \centering
+ \includegraphics{annulus-2.mps}
+ \end{withattachment}
+ \caption{Avoiding an \texttt{unfill}}
+ \label{fig:annulus2}
+\end{figure}
+
+The path |p--reverse q--cycle| travels around |p| in a counter-clockwise
+directions (since this is the direction that |p| traverses) followed by
+a line segment to connect to |q|. It then traverses clockwise around
+|q| (using the |reverse| operator) and finally returns to the starting
+point along a line segment using |--cycle|. This path is illustrated in
+\autoref{fig:annulus2}. One reason for using this method to construct
+the annulus as opposed to the |unfill| command is to ensure
+\textit{proper transparency} when placing the figure in an external
+document with a non-white background. If the former method is used and
+the annulus is placed on a non-white background, say magenta, then the
+result is \autoref{fig:annulus3}.
+
+\begin{figure}
+ \begin{withattachment}{annulus.mp}
+ \centering
+ \includegraphics{annulus-3.mps}
+ \end{withattachment}
+ \caption{Improper transparency using \texttt{unfill}}
+ \label{fig:annulus3}
+\end{figure}
+
+It may be desired to have the interior of |q| be magenta instead of
+|white|. This could be accomplished by redefining |background|;
+however, the latter method described above is a much simpler solution.
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/graph.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/graph.tex
new file mode 100644
index 00000000000..b9d2e0503d4
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/graph.tex
@@ -0,0 +1,52 @@
+\section{Graphing functions}
+\label{sec:graphing}
+
+Among the most common types of figures for \TeX{} users are those which
+are the graphs of functions of a single variable. Hobby recognized this
+and constructed a package to accomplish this task. It is invoked by
+
+\begin{lstlisting}[style=MP]
+input graph;
+\end{lstlisting}
+
+\MP{} has the ability to construct data (i.e., ordered pairs) for
+graphing simple functions. However, for more complicated functions, the
+data should probably be constructed using external programs such as
+\acro{MATLAB} (or Octave), Maple, Mathematica, Gnuplot, et. al.
+
+A typical data file, say \File{data.d}, to be used with the \File{graph}
+package may have contents
+
+\vspace{8pt}
+\noindent%
+\begin{tabular}[b]{@{\hspace{48pt}}l@{}}
+ \lstinputlisting[style=text, boxpos=b]{data.d}
+\end{tabular}%
+\qquad%
+\attach[subject={Graph data}]{data.d}
+\vspace{8pt}
+
+This data represents the graph of $f(x)=\sqrt{x}$ for six equally spaced
+points in $[0,1]$. To graph this data, the size of the graph must first
+be decided. Choosing a width of $144\mathrm{\ bp}$ and a height of
+$89\mathrm{\ bp}$, a minimally controlled plot (as in
+\autoref{fig:data}) of this data can be generated by
+
+\begin{lstlisting}[style=MP]
+draw begingraph(144bp,89bp);
+ gdraw "data.d";
+endgraph;
+\end{lstlisting}
+
+The \File{graph} package provides many commands used to customize
+generated graphs, and these commands are fully documented in the
+manual~\cite{hobby:graph} for the \File{graph} package.
+
+\begin{figure}
+ \begin{withattachment}{data.mp}
+ \centering
+ \includegraphics{data.mps}
+ \end{withattachment}
+ \caption{$f(x)=\sqrt{x}$ using the \texttt{graph} package}
+ \label{fig:data}
+\end{figure}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/inclusion.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/inclusion.tex
new file mode 100644
index 00000000000..9ba1f3051b7
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/inclusion.tex
@@ -0,0 +1,23 @@
+\section{Including \MP{} figures in \LaTeX}
+\label{sec:latexincl}
+
+In order to include a \MP{} figure in \LaTeX{}, the \File{graphicx}
+package is suggested. Below is an example of including a \MP{} figure
+(with name \File{foo-1.mps}) in a \LaTeX{} document.
+
+\begin{lstlisting}[style=LaTeX]
+\documentclass{article}
+\usepackage{graphicx}
+\begin{document}
+|\dots|
+\includegraphics{foo-1.mps}
+|\dots|
+\end{document}
+\end{lstlisting}
+
+Having a \File{.mps} file extension on the graphic allows the same
+graphic to be included in both \LaTeX{} and \PDF\LaTeX{} documents.
+When using \PDF\LaTeX, the EPS graphic (with file extension \File{.mps})
+is converted to \PDF{} ``on the fly'' using Hans Hagen's \File{mptopdf}.
+This conversion is necessary since \PDF\LaTeX{} performs no \PS{}
+processing.
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/intro.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/intro.tex
new file mode 100644
index 00000000000..d7e8964dd96
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/intro.tex
@@ -0,0 +1,56 @@
+\section{Introduction}
+\label{sec:introduction}
+
+To accompany \TeX{}, Knuth developed \MF{} as a method of ``creating
+entire families of fonts from a set of dimensional parameters and
+outline descriptions''~\cite{beebe:mf}. Approximately ten years later,
+John Hobby began work on \MP{}\Dash ``a powerful graphics language based
+on Knuth's \MF, but with PostScript output and facilities for including
+typeset text''~\cite{hobby:user}. Although several packages (e.g.,
+\PiC\TeX, \Xy-pic, and the native \LaTeX{} picture environment to name a
+few) are available for creating graphics within \TeX-based documents,
+they all rely on \TeX{}. Since \TeX{} was designed to typeset text, it
+seems natural that an external utility should be used to generate
+graphics instead. Furthermore, in the event that the graphics require
+typeset text, then the utility should use \TeX{} for this requirement.
+This premise is exactly the philosophy of \MP.
+
+Since \MP{} is a programming language, it accommodates data structures
+and flow control, and compilation of the \MP{} source code yields \EPS{}
+graphics. These features provide an elegant method for generating
+graphics. \autoref{fig:circles} illustrates how \MP{} can be used
+programatically. The figure is generated by rotating one of the circles
+multiple times to obtain the desired \textit{circular chain}.%
+\footnote{All graphics in this tutorial (except \autoref{fig:previewer})
+ are created with \MP{}, and the source code and any required external
+ data files for each of these graphics are embedded as file attachments
+ in the electronic \PDF{} version of the article. Attachments are
+ indicated by a paper clip icon.
+
+ \vspace{-\baselineskip}
+ \noindent%
+ \raisebox{0pt}[0pt][0pt]{%
+ \makebox[0pt][r]{%
+ \notextattachfile{\paperclip}%
+ \hspace*{\marginparsep}%
+ }%
+ }%
+}
+
+\begin{figure}
+ \begin{withattachment}{circles.mp}
+ \centering
+ \includegraphics{circles.mps}
+ \end{withattachment}
+ \caption{Rotated circles}
+ \label{fig:circles}
+\end{figure}
+
+The programming language constructs of \MP{} also deliver a graceful
+mechanism for creating animations without having to manually create each
+frame of the animation. The primary advantage of \EPS{} is that it can
+be scaled to any resolution without a loss in quality. It can also be
+easily converted to raster formats, e.g.\ Portable Network Graphics
+(\PNG) and Joint Photographic Experts Group (\JPEG), et al., or other
+vector formats including Portable Document Format (\PDF) and Scalable
+Vector Graphics (\SVG), et al.
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/label.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/label.mp
new file mode 100644
index 00000000000..da0afcbf899
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/label.mp
@@ -0,0 +1,63 @@
+prologues:=3;
+
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j-%c.mps";
+
+verbatimtex
+%&latex
+\documentclass[11pt]{article}
+\usepackage[charter]{mathdesign}
+\usepackage[T1]{fontenc}
+\renewcommand*{\ttdefault}{lmtt}
+\begin{document}
+etex
+
+% Determine the size of the default font
+w:=fontsize defaultfont;
+
+beginfig(1);
+ % Place a "point" at (0,0)
+ fill fullcircle scaled 3;
+
+ % Draw a square around the point
+ draw (-7*w/16,-7*w/16)--(7*w/16,-7*w/16)--(7*w/16,7*w/16)--(-7*w/16,7*w/16)--cycle;
+
+ % Draw vertical and horizontal lines through the point
+ draw (0,-7*w/16)--(0,7*w/16);
+ draw (-7*w/16,0)--(7*w/16,0);
+
+ % Label the 4 positions
+ label.lft(btex \texttt{lft} etex,(-w/4,0));
+ label.rt(btex \texttt{rt} etex,(w/4,0));
+ label.bot(btex \texttt{bot} etex,(0,-w/4));
+ label.top(btex \texttt{top} etex,(0,w/4));
+
+ % Manually set the bbox
+ setbounds currentpicture to (-2*w,-2*w)--(2*w,-2*w)--(2*w,2*w)--(-2*w,2*w)--cycle;
+endfig;
+
+beginfig(2);
+ % Place a "point" at (0,0)
+ fill fullcircle scaled 3;
+
+ % Draw a square around the point
+ draw (-7*w/16,-7*w/16)--(7*w/16,-7*w/16)--(7*w/16,7*w/16)--(-7*w/16,7*w/16)--cycle;
+
+ % Draw diagonals of the square through the point
+ draw (-7*w/16,-7*w/16)--(7*w/16,7*w/16);
+ draw (-7*w/16,7*w/16)--(7*w/16,-7*w/16);
+
+ % Label the 4 positions
+ label.llft(btex \texttt{llft} etex,(-w/4,-w/4));
+ label.ulft(btex \texttt{ulft} etex,(-w/4,w/4));
+ label.lrt(btex \texttt{lrt} etex,(w/4,-w/4));
+ label.urt(btex \texttt{urt} etex,(w/4,w/4));
+
+ % Manually set the bbox
+ setbounds currentpicture to (-11/4*w,-2*w)--(11/4*w,-2*w)--(11/4*w,2*w)--(-11/4*w,2*w)--cycle;
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/label.tex b/Master/texmf-dist/doc/metapost/base/source-tutorial/label.tex
new file mode 100644
index 00000000000..6377deb6cb9
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/label.tex
@@ -0,0 +1,99 @@
+\subsection{The \texttt{label} command}
+
+One of the nicest features of \MP{} is that it relies on \TeX{} (or
+\LaTeX) to typeset labels within figures. Almost all figures in
+technical documents are accompanied by labels which help clarify the
+situation for which the figure is assisting to illustrate. Such labels
+may include anything from simple typesetting as in
+Figures~\ref{fig:draw1}, \ref{fig:annulus2}, and~\ref{fig:draw2} to
+typesetting function declarations and even axes labeling.
+
+The |label| command requires two arguments\Dash a string to typeset and
+the point for which label is placed. For example, the command
+
+\begin{lstlisting}[style=MP]
+label("A", (0,0));
+\end{lstlisting}
+will place the letter ``A'' at the coordinate |(0,0)| and the box around
+this label is centered vertically and horizontally at this point.
+Simple strings like \lstinline[style=text]{"A"} require no real
+typesetting to ensure that they appear properly in the figure. However,
+many typeset strings in technical figures require the assistance of
+\TeX{} to properly display them.
+
+\begin{figure}
+ \begin{withattachment}{parabola.mp}
+ \centering
+ \includegraphics{parabola.mps}
+ \end{withattachment}
+ \caption{Labeling text}
+ \label{fig:parabola}
+\end{figure}
+
+For example, \autoref{fig:parabola} is an example where typesetting is
+preferred. That is, the axes labels and the function declaration look
+less than perfect if \TeX{} is not used. For reasons such as this,
+\MP{} provides a way to \textit{escape} to \TeX{} in order to assist in
+typesetting the labels. Therefore, instead of labeling the ``A'' as
+above,
+
+\begin{lstlisting}[style=MP]
+label(btex A etex, (0,0));
+\end{lstlisting}
+provides a much nicer technique for typesetting the label. The
+|btex ... etex| block instructs \MP{} to process everything in between
+|btex| and |etex| using \TeX. Therefore, the function declaration in
+\autoref{fig:parabola} is labeled using
+
+\begin{lstlisting}[style=MP]
+label(btex $f(x)=x^2$ etex, (a,b));
+\end{lstlisting}
+where $(a,b)$ is the point for which the label is to be centered.
+
+Since many \MP{} users prefer to typeset their labels using \LaTeX{}
+instead of plain \TeX, \MP{} provides a convenient method for
+accommodating this, done in the preamble of the \MP{} source file. The
+following code ensures that the |btex ... etex| block escapes to
+\LaTeX{} (instead of plain \TeX) for text processing.
+
+\begin{lstlisting}[style=MP]
+verbatimtex
+%&latex
+\documentclass{minimal}
+\begin{document}
+etex
+beginfig(|$n$|);
+|\quad$\langle\mbox{\normalfont\textit{draw commands}}\rangle$|
+endfig;
+end
+\end{lstlisting}
+
+Often times it is desirable to typeset labels with a justification that
+are not necessarily centered. For example, one may wish to place an
+``A'' centered horizontally about |(0,0)|, but placed above
+|(0,0)|. \MP{} provides eight suffixes to accommodate such needs. The
+suffixes |.lft|, |.rt|, |.bot|, and |.top| align the label on the left,
+right, bottom, and top, respectively, of the designated point. A hybrid
+of these four justifications provide four additional ones, namely,
+|.llft|, |.ulft|, |.lrt|, and |.urt| to align the label on the lower
+left, upper left, lower right, and upper right, respectively, of the
+designated point. For example,
+
+\begin{lstlisting}[style=MP]
+label.top(btex A etex, (0,0));
+\end{lstlisting}
+places the ``A'' directly above |(0,0)|. \autoref{fig:label}
+demonstrates each of the suffixes and their corresponding placement of
+the labels.
+
+\begin{figure}
+ \begin{withattachment}{label.mp}
+ \hfill%
+ \includegraphics{label-1.mps}%
+ \hfill%
+ \includegraphics{label-2.mps}%
+ \hfill\mbox{}%
+ \end{withattachment}
+ \caption{Label suffixes}
+ \label{fig:label}
+\end{figure}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.bib b/Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.bib
new file mode 100644
index 00000000000..3915cdd2256
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.bib
@@ -0,0 +1,35 @@
+@book{knuth:texbook,
+ author = {Knuth, D. E.},
+ title = {The \TeX{}book},
+ series = {Computers and Typesetting},
+ volume = {A},
+ publisher = {Addison Wesley},
+ address = {Boston},
+ year = {1986}
+}
+@misc{beebe:mf,
+ author = {Beebe, N. H. F.},
+ title = {Metafont},
+ year = {2006},
+ howpublished = {\url{http://www.math.utah.edu/~beebe/fonts/metafont.html}}
+}
+@techreport{hobby:user,
+ author = {Hobby, J. D.},
+ title = {A User's Manual for {\MP{}}},
+ series={Computing Science Technical Report},
+ number={162},
+ institution={AT\&T Bell Laboratories},
+ address={Murray Hill, New Jersey},
+ year={1992},
+ note={Also available at \url{http://www.tug.org/docs/metapost/mpman.pdf}}
+}
+@techreport{hobby:graph,
+ author = {Hobby, J. D.},
+ title = {Drawing Graphs with {\MP{}}},
+ series={Computing Science Technical Report},
+ number={164},
+ institution={AT\&T Bell Laboratories},
+ address={Murray Hill, New Jersey},
+ year={1992},
+ note={Also available at \url{http://www.tug.org/docs/metapost/mpgraph.pdf}}
+}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.ltx b/Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.ltx
new file mode 100644
index 00000000000..223487790d8
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/mpintro.ltx
@@ -0,0 +1,181 @@
+% This document is in the public domain.
+% Originally written 2007, 2008 Troy Henderson.
+\documentclass[11pt]{article}
+\usepackage[T1]{fontenc}
+\usepackage[charter]{mathdesign}
+\renewcommand*{\ttdefault}{lmtt}
+\linespread{1.05}
+\usepackage{textcomp}
+\usepackage{mflogo}
+\usepackage{microtype}
+\usepackage{ifpdf}
+\ifpdf\microtypesetup{expansion=true}\fi
+\usepackage[margin=1.25in,letterpaper]{geometry}
+\usepackage[rgb,x11names]{xcolor}
+\usepackage{graphicx}
+\usepackage{listings}
+\lstloadlanguages{MetaPost, [LaTeX]TeX}
+\lstdefinelanguage[ext]{MetaPost}[]{MetaPost}{
+ morekeywords={verbatimtex},
+ morekeywords=[2]{blackpart, cmykcolor, colormodel, colorpart,
+ cyanpart, greypart, magentapart, rgbcolor, yellowpart},
+ morekeywords=[3]{filenametemplate, withcmykcolor, withgreyscale,
+ withoutcolor, withpostscript, withprescript, withrgbcolor},
+ morekeywords=[5]{defaultcolormodel, mpprocset, outputformat,
+ outputtemplate},
+ morekeywords=[6]{mpversion},
+ morecomment=[s][basicstyle]{\%}{&},
+ deletekeywords=[4]{z}
+}
+\lstset{
+ basicstyle=\normalfont\ttfamily,
+ columns=flexible, breaklines=true, breakatwhitespace=true,
+ escapechar=|,
+ aboveskip=8pt, belowskip=8pt,
+ frame=leftline, framerule=32pt, framesep=16pt, xleftmargin=48pt
+}
+\colorlet{mpcolor}{Chartreuse3!50!white!95!black}
+% \colorlet{testcolor}{mpcolor!90!black}
+% \extractcolorspec{testcolor}{\testcol}
+% \show\testcol
+\lstdefinestyle{MP}{
+ language=[ext]MetaPost,
+ keywordstyle=\bfseries\color{mpcolor!75!black},
+ commentstyle=\itshape,
+ rulecolor=\color{mpcolor}
+}
+\lstdefinestyle{LaTeX}{
+ language=[LaTeX]TeX, keywordstyle={}, commentstyle=\itshape,
+ rulecolor=\color{PeachPuff2}
+}
+\lstdefinestyle{text}{
+ keywordstyle={}, commentstyle={},
+ rulecolor=\color{Snow2!95!black}
+}
+\lstMakeShortInline[style=MP, keywordstyle={}, commentstyle={}]|
+\newcommand*{\File}[1]{\texttt{#1}}
+\usepackage{float}
+\floatplacement{figure}{htp}
+\floatplacement{table}{tp}
+\usepackage{hyperxmp}
+\usepackage{hyperref}
+\hypersetup{
+ pdfstartview=FitH,
+ pdfpagemode=UseNone,
+ colorlinks=true,
+ linkcolor=RoyalBlue3,
+ urlcolor=Chocolate4,
+ citecolor=DeepPink2
+}
+\usepackage{attachfile2}
+\attachfilesetup{
+ mimetype={text/plain}
+}
+\newcommand*{\paperclip}[1][]{\includegraphics[#1]{paperclip.mps}}
+\newcommand*{\attach}[2][]{%
+ \textattachfile[description={#2},#1]{#2}{\paperclip}%
+}
+\newlength{\attachmentraise}
+\newenvironment{withattachment}[2][0pt]
+{%
+ \setlength{\attachmentraise}{#1}%
+ \addtolength{\attachmentraise}{6pt}%
+ \makebox[0pt][l]{%
+ \raisebox{\attachmentraise}[0pt][0pt]{%
+ \makebox[32pt][c]{%
+ \attach[subject={MetaPost source file}]{#2}%
+ }%
+ }%
+ }%
+ \begin{minipage}[b]{\linewidth}%
+ }{%
+ \end{minipage}%
+}
+
+%%% Definitions copied from ltugboat.cls.
+\makeatletter
+\DeclareRobustCommand\SMC{%
+ \ifx\@currsize\normalsize\small\else
+ \ifx\@currsize\small\footnotesize\else
+ \ifx\@currsize\footnotesize\scriptsize\else
+ \ifx\@currsize\large\normalsize\else
+ \ifx\@currsize\Large\large\else
+ \ifx\@currsize\LARGE\Large\else
+ \ifx\@currsize\scriptsize\tiny\else
+ \ifx\@currsize\tiny\tiny\else
+ \ifx\@currsize\huge\LARGE\else
+ \ifx\@currsize\Huge\huge\else
+ \small\SMC@unknown@warning
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+\newcommand\SMC@unknown@warning{\TBWarning{\string\SMC: nonstandard
+ text font size command -- using \string\small}}
+\newcommand\textSMC[1]{{\SMC #1}}
+\newcommand\acro[1]{\textSMC{#1}\@}
+\def\endash{--}
+\def\emdash{\endash-}
+\def\thinskip{\hskip 0.16667em\relax}
+\def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces}
+\def\Dash{\d@sh\nobreak\emdash}
+\def\JPEG{\acro{JPEG}}
+\def\PiC{P\kern-.05em\lower.5ex\hbox{I}\kern-.07emC\@}
+\def\PNG{\acro{PNG}}
+\def\PS{\acro{PS}}
+\def\SVG{\acro{SVG}}
+\makeatother
+
+\def\EPS{\acro{EPS}}
+\def\PDF{\acro{PDF}}
+\def\SVG{\acro{SVG}}
+\def\Xy{\leavevmode
+ \hbox{\kern-.1em X\kern-.15em\lower.4ex\hbox{Y\kern-.05em}}}
+\def\textdegree{$^\circ$}% real \textdegree is too small
+\def\RGB{\acro{RGB}}
+\def\CMYK{\acro{CMYK}}
+
+\iffalse
+% workaround for acrobat 7+8 bugs in printing
+ \let\origtextattachfile=\textattachfile
+ \renewcommand{\textattachfile}[3][]{%
+ {\notextattachfile[#1]{#3}}%
+ \origtextattachfile[#1]{#2}{#3}%
+ }
+\fi
+
+\newcommand*{\showcol}[2][named]{%
+ \begingroup%
+ \setlength{\fboxsep}{0pt}%
+ \setlength{\fboxrule}{0.2pt}%
+% \raisebox{1pt}{%
+ \fcolorbox{gray}[#1]{#2}{%
+ \makebox[1.5em]{\rule{0pt}{1.25ex}}%
+ }%
+% }%
+ \endgroup%
+}
+
+\begin{document}
+
+\hypersetup{
+ pdftitle={A Beginner's Guide to MetaPost for Creating High-Quality Graphics},
+ pdfauthor={Troy Henderson, Stephan Hennig},
+ pdfsubject={MetaPost},
+ pdfkeywords={graphics, MetaPost, TeX, LaTeX, PostScript},
+ pdfcopyright={Public Domain}
+}
+
+\title{A Beginner's Guide to \MP{}\\for Creating High-Quality Graphics}
+\author{Troy Henderson \and Stephan Hennig}
+\maketitle
+
+\input{abstract}
+\input{intro}
+\input{compilation}
+\input{data}
+\input{commands}
+\input{graph}
+\input{inclusion}
+\input{conclusion}
+\input{biblio}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/paperclip.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/paperclip.mp
new file mode 100644
index 00000000000..6d20f9ce3e1
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/paperclip.mp
@@ -0,0 +1,25 @@
+prologues:=3;
+
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j.mps";
+
+beginfig(0);
+ path p;
+ p := (0,3/16)
+ --(halfcircle rotated 180 scaled (1/4) shifted (1/8,-1/4))
+ --(halfcircle scaled (3/8) shifted (1/16,3/8))
+ --(halfcircle rotated 180 scaled (1/2) shifted (1/8,-1/2))
+ --(3/8,3/16);
+ draw p scaled 18 withpen pencircle scaled 1.25bp
+ withcolor (0.5985,0.7712,0.4275);
+% For the color specification cf. mpintro.ltx:
+% (0.5985, 0.7712, 0.4275) = mpcolor!90!black
+% with mpcolor being defined as
+% \colorlet{mpcolor}{Chartreuse3!50!white!95!black}
+% and Chartreuse3 = (0.4, 0.804, 0)
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/parabola.mp b/Master/texmf-dist/doc/metapost/base/source-tutorial/parabola.mp
new file mode 100644
index 00000000000..f508df4fd7a
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/parabola.mp
@@ -0,0 +1,45 @@
+prologues:=3;
+
+if scantokens(mpversion) > 1.005:
+ outputtemplate :=
+else:
+ filenametemplate
+fi
+"%j.mps";
+
+verbatimtex
+%&latex
+\documentclass[11pt]{article}
+\usepackage[charter]{mathdesign}
+\usepackage[T1]{fontenc}
+\renewcommand*{\ttdefault}{lmtt}
+\begin{document}
+etex
+
+beginfig(0);
+ % Set unit size to 108pt = 3/2in
+ u:=72;
+ v:=2*u/(1+sqrt(5));
+
+ % Determine the size of the default font
+ w:=fontsize defaultfont;
+
+ % Draw the parabola
+ draw (-u,2*v){dir -angle(1*u,4*v)}..(-u/2,v/2){dir -angle(1*u,2*v)}..(0,0){right}..(u/2,v/2){dir angle(1*u,2*v)}..(u,2*v){dir angle(1*u,4*v)} withcolor red withpen pencircle scaled 1bp;
+
+ % Label f(x)
+ label.lft(btex $f(x)=x^2$ etex,(sqrt(3)/2*u,3/2*v));
+
+ % Draw x and y axes arrows
+ drawarrow (-u,0)--(u+w/2,0);
+ drawarrow (0,0)--(0,2*v+w/2);
+
+ % Label the x and y axes
+ label.rt(btex $x$ etex,(u+w/2,0));
+ label.top(btex $y$ etex,(0,2*v+w/2));
+
+ % Pad left size to horizontally center figure
+ label.lft(btex $\phantom{x}$ etex,(-u-w/2,0));
+
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.eps b/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.eps
new file mode 100644
index 00000000000..13407ae1508
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.eps
@@ -0,0 +1,378 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Pages: 1
+%%BoundingBox: 0 0 974 583
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%Page: 1 1
+save 9 dict begin
+{/T currentfile/ASCII85Decode filter def[/Indexed/DeviceRGB 255 T 768 string readstring pop]setcolorspace
+/F T/LZWDecode filter def
+<</ImageType 1/Width 974/Height 583/BitsPerComponent
+8/ImageMatrix[1 0 0 -1 0 583]/Decode
+[0 255]/DataSource F>> image
+ F closefile T closefile}
+%%BeginData:;
+exec
+!!*)Um/I1h#I!.df\smX!W["XI/jKZ$5"1'1-SNHI#4oM-?756EA&4c:n#Jt"q`uFlMfH%oILFU!X9
+<O[-(5nkJac7"qNE%k5,T0IUjE-gZ%_Cai8R582l.HLXu+Je"a%AQs<s%3&3'%%grXM"remD1ItkhO
+L)@(["O-b2`Wc;*utgs#!bmgH]=c"I6$!DjI;6_:/=P1*#.&Zf7eTk84Z1<YK,eqr(K4+ABX\gVFGk
+U&-b(qMD5l:'acO*ad#[G$l)^UYF79k'6pG1a085A%3T/Gb1GC_Vj`Db#m:>;-)H?('a=aL.^*/J/0
+.[%\WKE@O476jd<o+]05RuB`-c/[)PpXah:7J5e?0-1Pak2`#omg6k1RG65/*FoeC'^\'+7o_O/^.T
+cdL-mG\79n7F/haa3WD8Vk_o*d3Vb?APFGFZFma$o2d%E'K`2&L,>p7n<qr)Ld;om[&7_WCHE%37:U
+re7\nhmauiXAc,4IKEaq.q`K$";-m'&8k33C7P/=JRSABVST3.DGPI$sj$Qoih&e8MdACB?23J4mS,
+Z27i]Qm9q-;T[\+UlN)Rp:*2\Z;>d5<R`XgFX]i!!`"<JG0Zt/s0c<&JFY1Fo&eJp,PY9Q)FMlQLfr
+Xoee;mF)Ue#+nKZ=rKWK?6YH4#-1Q7.nRAm*E(BFd\,'E37Q*="a0YJ!<qom!ofn'*Y'fl_cM3-h7o
+(TI0/GLd<`@;^Xt2.T+',I]?;DXp5sI(N/U"N@+XX,7^YRGUF"eBYgYIpJb)j*Z+;kD0,pWEhr:0CJ
+kN_65YH4=fS9o[1(DmnZp@C!p0_kM=FEV`cjl5Rch;[2<ahY6EKQ@+jqUa-N][ba](D(MucEP.._P)
+At:F,Mul\!@2IriaT<h76tETben,q;cg4;Uj@,&!.>>I)QGmFpUD?fJh]T!l8TM)FkhbamSYmc1Z'H
+=)*2OnS;5C0cc`*uXY6il^Q`J,g]g3$]7K#D>EP:q1$o*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'n
+b-^757;Rkop>q_R=AlC^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/m<k<ioGu5cYX2j`
+\=EYZP^B4!g3;B=(iZ<k:G/fl+B*DHAorf'R[o?>ioU`Obkp^gM+`4=1jRLW!S=fUQP4*KS9PE`kN$
+P8BM.Aoh+fk'&t\[,pou4XQLi7>#=I>.[gn=g,J(^d'oQ&.8`=!Ol:E<%&4^"G22J%GpZ*^>Nt5HC]
+gMSQOKbqGt*k12%,M;E:;HE&\qGmE]5>l]6h!kO_e?*hR#<&.f,kJjDTF[L9d(K`\[>2!uLb/e@:&!
+PjPmUB87=U(Rh\5e7Tr+HOA\$j/!?"Iu2?U_=3TMl[F!`!T*L%44?q*rA8Y'CM1hJET,MTRcql'rT@
+4>8Ns;PX?J3M]=r&a:YE`",$u26A6b:i'\01JLF1oK],0opnfH].KG&d:f\0^JS8=:JH7`:(eX%VqA
+>m1,%;Do@A%?O!)eKj.OJT.DB)C/.t.VTi%T45!&Cj&1X.A$;B5sMfLjnq;H0&38eRBh!5Z`!GaX>c
+/;fc\oQ6QMatfDr+!?.2@NZeXg0=\%[(9aC;ABWfQdGA!(A5a+b(Cef<U:-GLaX*nQj@@BM#dmV1(k
+!$nu<WZM$RLP,pmQoQ@arBLmTN_,'BiP$0$OP.+$On#9"o^\d<3(LaZd_>lY=tA_F&0k(3qSSOm<rY
+tAMOTb_*Hll]]Q@eq3edTpOZ?kgbM?jJq"1L8UdrEj%@]m5RsLbPcYM))SPE?ITKqBs8g8-CGMW*Q'
+O@97>!QNB]+"IKP[BX!k^3D's*Am'9&REHJV>(I&W%T%l@Bn3XD$.PG\JdT(PE0t?Q<goA5PgWkjTV
+D!b0;*q!A$"cpAXn?d2i]o-h7JF'MBIN]8-!Ct#fM:GJBQ.kTth?9:0bRE(kr*OVQ?1k=TVsG+kon#
+IGB.S&Vm77[B[n:I"E6P-0$:TR.#Ca+2@;-*3m,+&7u_p:4k.fQugto<Pfo+T66.f;@?F/+@78XfcX
+A>_AQRFBZr8a,='_M%9/iM22)']E\i>u#WO^O\?Z>)EG:BYJk\UV=9&fj3$\uo(<"DII3=TZ3/(e6T
+qH79)M(5&S?O[S6]s#1,e;tI5QpZ7CX4,a7$iZa#TX5/-6R7nnA%PW5bL3_H-\c;3C!SDM0$I4,e,P
+7j]hdn/'<K@."T1RK#(gt!dCcghEs,EC0_DR"9E*HSek!af(gt/j:U!1p9%0,P(eLdh4FZMF<*n#6r
+&8)#;nhSc]sr$%a.k]1cP&b&Tg`Z,T$jnEb>p('L=%m%"Z?!d,/%(UOoW3K#XGc)[I-HM@d.]X:P@8
+#TJ$uE#CFNJ,p[c_l[\$Q5_p<CEl[Wb^r([3X:6@fouj-K>9a?7$UCD;##;H5`m]N\NiLnciJdI.$u
+u7"IaiHHQ[n/1S<mBL'WI3G7+\F8\$lJ@/p=]Yn3891'DtN3A?fAY$a:'$>flb!tV?I&2`q_/1"-rP
+ERat`+=]L)k;tZ#]/WP=T6HJ)<#!,4lJmd?lu!39U+Te!#"PI5b(a:+L>kac!gq^',#bP1@B-MC$=s
+FbTeHUgkO,&>cJ&K@X)Dqn4,56'*(;UOB==JL]N24M6Kg\"H`fp#2ipG<)NugKgMG/Gk;U^)hWqkE`
+k5j;(7c&jc\;=^0raa9]hOA[,,d_Qb_c_g%>8p6(q-=PZ_fD(EJ*^!\gWBC^V>a"XMUn0Z`udO&]sl
+:iJTk;1d8-TdVT%2K#VGcfZ`G>%M!C==]J0bbi@"JlO%/#Ug&JA:fBXnp?)QoDlTlLX8qd"LeL7K4'
+93Q6:H]`89RZHbC@aU![QGRU%d1!N4I_opX]Z(9NgR"!g]Zenb<k]"o[3-m1bkA,tCEFW`Xd&defan
+Gj%50$bg]+@NW1^^gm_RT?rrSmB+=.-B<o;6eZS##tZlJ,uhV(N5f6_Mh;i!!Y.a28Ki2]A#N'4DO3
+Eik>kL%g50P<#3tLOE;QM67KLI-*[F`YgbqZj)CSGY6mlWTZJB90Y!,e<i$pX_DW^5^k,;f"[j4"*"
+[ocqWu*mN'<RrkhK(SUsEF*o:VbWhVLclj&1l@80A%%X?lU_bFi;AL6G.9e3+g=;Y7^X9CV;c1/,#1
+::LQ8.1In$/7\%7a2)d)kJ,I3I$Cn7E_M:^YB!`4`R2oc*QtHFG`pBD)t'+%X2kE3+JMO12U#P<'ED
+!eJf'*%.$>;VJ-/e*g/0YX@m!HX<EE3K['a+?<]-%>\-j]81>9cEWX9uI6'2ls^aM&h@3Dfl!XT?V2
+%Z#_W%c$G=XZ)UKb83K2AnP)1Rhi$G%+NPf4ZIVPh5U;hLZ>uE`0DP80,d9>fehPJe=q+$HO?K7?73
+ef7HeD=#;49Jmc)7?\;cH<5fB'6dZlD!DVB$)'Q;1p`,FS#WO^OTic:phgc*]JW^eYJqF[\3$_''9&
+2!E-,X\pK+6j#+qBV=0IZu,_FRuM@l?V!SKOYI:Qb\q1uiN*RVjUiiu$?-O(84p6i_i(QE^kFRYEJh
+C7+ueP6\&W/;6m1h64#T?l#Suj1?A9Qsk?MmkA/h`qR2A)K$piTgKc=O^<k5U4k?PO9K4Ba^57jMUa
+KS3[FVY&&_]-Fhti`$r4(9TW&?^=7aVd6kH-ARM5fJe+uef/m%.5^@o7H6+qI?f63\XS#T.0^e"/fX
+X!bb$&^%F[i9mpUmgpJ,h0]/HmHEZ%[_Ii+**A94ShktUXl>7^nG*/:6Wk.*_(d7ktfXYGQ$^fqBoV
+4lhl5sP$&k4Uo@W++=Ub%Vk3Sf:mOa>#YUgk#53m59R.m',_D@6>_'Y4,g[.`4dQ*C$#BNj&."LGir
+6Dh'7,<8C&kBf/jS%H?R00^'U:(Irnl3aLBV]<_mf:@TOYM;6=<:b5Y;?53!TTE]JBYTY"$3g1D;-8
+K"7$Y-A2Yo"jnGWQUdGAeaP@!JCGA8=HEjjKI-[BTL"Cl=:IPN\N']gi0(%2'M(&[;!r1u8"rWf@N7
+gmnKoR#e3H<Oo:0lAqBA=@OV4Bs.;[-tkK+>B&nE0JLf,ijaQT*(U#_haOa9hr3CtZ21oHTOV1ZKb<
+@_X&YEfg@=\CQ[.j_"#QP/Fd9=]<'jV5Cq'*_l=3JfI_"M^>Q-=ol]R58EEaI1LHBh^Ue2-\#GRaYk
+c9t@en9m#$WdtVj;3QX9gjL1T-V$9'8H7((^lCJX&E).A8BP1a4S^Z_L:SUuT8Ncu/'EWU-3Cc3q,m
+Pghgm_*N)*?)C![DePU/<BP7:3/$U=<dYc@Tj[B_<F=1k(K]g)N[tTgGRIC6_C03D/OU2B[N@1kSU-
+-\T$@$ApBtX0jcVktM'iidac2&iM.l*C:GAN)C7m907h.-)mVZVimJt7"m=m'EWe`M:8(]Kg;UNJtu
+BZED9O=8>-)B>-(`(\Oi]I6)\<B<Rlu&.E,fI!&Y[j<2*)gX#4C`p'"MqgBD"qb:Xp@6i_rWB\`s)k
+p=jYG7*$p;#gloTq\cNe0-fV`H:OP"JVpE;'/mffV^tJk/pJn?:dS=q\4,Zda6076u8EZZLftUOh3>
+8/Ch0BQEGVhgC8."h8Zu8BE8A-$nR;K%fe<!!#Y2,)iBK&Z8@l]c]Mfe77C]%PN5o(d;<jD<Nd'fe:
+e2(o""(*S>9,9P1m0+-u/\J]gO>u?9:h18DW7>(Qs4YX6G&72>I5.lL*Kt"(qcXhPg/7!8n76J>[P.
+_)I0FhqO?M>im*G#j(dlTOL1I2uuUi0EA/d:.oDgkp4i-:())#/gkf@!$^QQPgMo]KfqVn\.9TTj=u
+!/EM']?#9sPl2iP#8$HCRW+c4F$5&s*e,h?s-)>p%bEP9/nfe3p!1`Mi;$'HNNZiE"7!j[=W%o67o(
+L=*!?8-7b,C,1K@;l=-Yf3?X1]jW:'leS<"e3gSY<ch63MC)/G/dN-<!l!HB+\Hr_`:X_k%m=Q2!"r
+bMab)e]N?"CN0Ydb]kcZ?hbeCeG8$-GrF\h\PVd!4eiI_Ce_2%.F=+?G,a;PkH1iX=-EPg',?j@04/
+]Mtp!!uNMQMIK!/8f&\sI%VBFVCAFLHIh(3!/HiC6Hl*o#%c`fDd1+[EL8MP8e&F`,H;6A<L]'`u[Y
+&?XiQW#"dW]0=$smKG]Y-6iLMPQ51Cnc0nZ!*:+SWbY;?XfDaS\$g@6nNFL]nsgP,@]s'R]_adrGQH
+FNg3iGk3QSW0-fc4"MXl_@bP<4`YZqj3:1Tu</o_!=5R#Z!5h&JIGpgIqNq2AX_1;(]*Tk-Ai<mdP:
+q7SJkr;lBc^q'b.R)[g[G$[[WZBZ:=Id8K"/p:P?-^&miujX1Jlna>7K<LdeN=&"gY)=>aY#?O4.BD
+X.nrAl^"U.9F2DH/Dl.1)-h!8b^N*+!gZ`'_o$_oPL`0u%U2/@rKWCl2MY0rLk=D4*gMTgbkuI";h1
+H`HP?(k`=t<[X'>DLj$F+CsI=7e4?C%D:]j'NEbnfmm*eC-PH>E'l;u'chg\d\?3^\^?(Nr(HLLEbh
+oDdA=%GU/s*oKRHOf"a;KCf(<fW.4Ym@0m[$4$I`CFX:urkHAL.^.b/s7?9+!=;!W!5Ki]^bNSh49W
+H!"d"B<^gm\cKF"g[#sb9n^p3bf,R_E8VEio9^iU'_M746[1(+[]SC$'(nsD\`T`s@\$1M8PWVaM_=
+2C>+"n3O`E!cV5R)&i=_#,7ME.S\;K`f2G%B483BO?XQ?pRV`(t*a6nb[h>.%`%>Q$=pLTG*"2!!5g
+k_?+>cr%Fm;JUf-L$n4[HTalX8@"B^,"qW((3@4kg&clqP!_>K`q([Kf/dU)RL)MUt&U4G_@DaJrS<
+=tj@Mgg[.ZDS/_e_8kX?Q\5g-coI`&UIXoKX4CJV#9p!"]Au:]QDnqo'HD`@-onJ7:5Wl,+2W6!RHf
+(kJ:c*(?6d!RpCcTO%\M!>7?lL#@NuC_m'W3e3l4L&!a3Uch*'!/*>1_U&9Oi.VNZ:I[D17JHjP#a:
+2:Sd9s+J;d]k<*_tLid`EjL%s@kS8,A]Ak$ko`uHi=.@LoYG!O0_'mQgA`'([_==07da5Tu&*&IjV1
+5!*.$hQ4T$pBj&=+`cD*GMlM!+%ug!(()k)Gl,:aZkZ=]7>uJ_Dmd2d")IJ2%4kb_`:DM6raSE!(c1
+3%Od<mTL_Vhp5MA[*CqHEF;#/+D2rT!$UfKAFFQma:Pn-VQVe_/iFa%`O,2FuJ_1Tn'VC=$'7i][8D
+&V3aM%jD`;iFb$ZpNJ5feSN)&]*18l1+ti.7,gXam4Mb5!d7\LJ"ae4AQd,nt\J.&`%HZUt(gVHfff
+nf3MI&k7D78k`nf$l4aE=-cZ._.aCMbdbg>X9#gL&[[7kBYaaAXU,;H!#3A*i22ca),.-Ta'?_ZS<q
+D#*@Ei9#rI#8<..FK^VtTRV83Yagj+b7rI>Hj#"W;s=\9$Wlia]:-Ua?DR77B_Kb5lMbD;CN5\<*fK
+h^Xc:'B)QguYVBBLc=g!",6\@55s1nqLgic"-F%<)gh@CsB7p9E9SC?r/g.((CM%6=E^#A2YG=LdY]
+L32BS,(Q:gn:f%,n"<9pb?r>8V8Tk(70,^E\N"!i/:G3NG.=!4g:6GTi0P!-W!%1L`!jXLHnX';#9;
+W@N5fPhb42@Z?M,^cN*eFA?[!GF2YQ:?AkTD>qH3ZN`0j(^8;\lP=[9G4Z.u48]!\T]g5QXId2h/VN
+E*,4L(Cc/<@Uk]$<];%[aCK<o4Jj_A3A@[*THHLmNrr$%kLG1M$jsiVc>=+j.h#Yf@;"Lb0rPd7%L;
+2S>.>GnHshP<F*ZT-YA(H#>Msh`I`B]@hH-]QY(ofPeq(#[HLXJf/)Ti@HsT#a-_oeqH@9,7B=H^cp
+j@Nt5H!*BkPK^X?bbdur;XPD$j?[F:W*PA_%99T"i6::*='Fe1^s`-OK:#A_[t$L%Df9=3=j%?$q1c
+HOXs2LZ&q.K'uc;O>o1Kk'Km;QOfWC=`t?Na)95V@I36NC%#"7COrTH+aV%:4-,NMQR4$,iN27uB;C
+ndtb7`%,/\Y,i\M)/49<BqmP:Xs7bnEe$29h>$h)EUmN9*(FPH=.5cP+Oq1V@c#_`uK*!M)O'PV!>3
+d1f:i7F@?:*CnNlN?q0EPcZN1dhL%a:",?o3@?SGo`7q5F;6r;eJ1eY<Rm@O?!#SlN@.OXFVRJPb*=
+hq?.YA/I:(VB%>@O-N0S6b=V?.*@G-r`S7``%H([kF6*NBh>)%a+BA8a>I:BK?4d0m-(1"Uph%Z9K1
+`@^'#&049Te]uDJMc-q)MRuB?BN6q#&+u#6(`8WQn9=t1)CQAl+OT<abR122@YMtVQJK:O$TIg7aH-
+A)J]P0d0G2jpngc(@17T!LZL/cTnm:s%SrMF+gIaVQ_nWe1m+YK=<%HRdBIEjH79T(NOh+bU4mn2*"
+dr,@@N9O+YfElKk?-XRVS2V>/oZ;G/!J4H&g+-i`bd#:Bnh$*,B2.-EJ1!_-#D_#0)Bj:7C<qcq+\?
+=WADo;_Um\&]U-G[IKMGb/?V[nt)qo9$;K-EdY>AST9V!d-Pha@QCdeN"4=Vob;tK'a8$cWA0+#Tr'
+`#VTjd1K;3.X)?mGr)B8okQ3Yq7Pa<H/ng_M"eL^]<6BV*!inh\#?E^#\F$21`_0#Z0]g8*\;"S,_.
+X;q+O$lf+iS=]_3^jQIcX*N&`VB'?)SZ7E6hp,a&G7*'!I@OJ!^-Zak2(1[/Bf\#R:iu2aP5O#DD3m
+Q0Q?hYkeD*i/ZuP0*&#bX-3jS\1dO(ms%Fr*F=q"L^_dR^i%ppTY'LdEp`U*fU_8@)S7dT'7Pt[_+r
+Xjgp,kiG1uPpq"e^f4`)q3:TrEZu:IZ*^p_<=.HjXF8JMJAsE>RTX:Mir#)F8qU1rPT)M;qi4%=tVm
+6)7569m.qua8U/<'Ej-ZXQ:4-Wtca.;)N@E0JaPg*7j?")Gua`NC]En,XR;*&GdM65\N!KFHKia&AU
+DpZO@i'?86@qah:dg%3_NI+`'1Y86K2#jO45MTsc52nX;;Mm'0E\FD6]_V[.ojq3OaG:)E]&_GQQ$R
+71^rXjB*MT:EBDZSb7-M0a9^BR6"$;.iR),9>!-=(Ti5E_(JcX2][BKEXJFNB*mse;VtLA9;Sm3?^L
+#"PtA%*QUjj_*4b@UR]fl</DcEgh+e!TScE"9aBkf`0C^3PQC,J8cqN.r<&cdBPN@&HrIksD2hM38e
+$&ZFN/!OQrK2K;.;*/BZ2\k'P`p_6*`?'GV').C7;,q1c4%Q*>,&@gJcX"98K](VH#2Gdn5RoJES4q
+,%MEfof<G5bn$:d=\VkOF'"Drr\;_K4?tC3oW(,K4I%t1."S-o8E_B'F=O_uT[?_rGaTI-eP"JV+]=
+s^'3#[VYL,ta=tC!BYr/K_f#mbDL5^$qUJP[NHQK(SKfCOA>.rU3,@?jM!04Jt.5iPIp$3osKsn#$0
+cN6Mm#8BL<kVI0g4B;/[8jYm1=d#TB(f]_TQ3g\)-eOSFI@D"\P?0@SG+fJmR3cn17?BWH^*[RrPp'
+^p=>gNG+u*q*<i31Okoa+,-APh]ZMGd?+@?F@^HVjOLWKk-`qF7V9P&tgAJC9:O\EoIXu^gm\+D:;1
+V`1!#L[dhR,I'mm0_QQKnbale7`("B`AtDK/iR3GK^jHbQnV<o$nCM"*b:YkS+^?rSY-l!S00"[!QV
+X;cjn4qP0\ijr@,08d!X0ts$)+lEW=MX_0GT?nYH&UU^'YuW!)onsV/]O=3_aGq_0;]B5#@>#o)-5"
+g5+",iqk:l<"Yjr#5ap^S)0B8A>[P&b6f12;$V=;bBk;QsO&XDOpeHKdU'+HrXQ^)71)Jnb0LcfT_1
+&_3=H0PRc)#jTkrb^+%^/N*82e#p:B[-AD).Y9'M/n?"5<8jeL>-T!C$(4QU1dlVCHH>(MG8YbP5j=
+\[4,Z._7A5D1hB@KP2-$aJ$P8;l'i9)o<qNH<ArH]C>]'mAR!_Xp^Vnuo*6gq\Uha68F@r$@(/>K5?
+b?u%=JJ+K5TFHR_$"\]cU+\2.bR#K`:>Oe%1UKm#sb.O+LfF9)"Lc)<5.rMu"Zo1GSX]S-K_=/OdH7
+%<WQaBT@\gHbrepBYd"s6do?4+*bgT9=;,bjrGJ`(?j?]D!YnT)S*u^Y:A^*]7E>ST<1ZJ1oS('D[E
+(M;oS2OU0Q]nF2"3U.X7,T4P-;]?<_ZaI6Hh[Jn">3SsXfhqAQ,:Vh7[beQ5#_ki?i%DgC<mpm$?Nh
+0tc8(VCY6==+VcTp#bb)oq-^E.p5H\bA]Nh4>uMj1BrX0OSb,J,go-FL/f#.uU9BIE[s3VGf_gT6)A
+hbNn"&(O1]R1bkVb)L]6;Y&UY>aQPVJ;`DkpC=.r^4p0:p-PZCQc0d?:Ula(s%b))[[_6H(ppZ0sHV
+Pf/odkX<?ME2j8O8en+2UI\RC*JNFq$U,a^Cl.[=Vh`6N+(83kg@tI_D<LFWSTV?YQip`b75Si$JVW
+M8nuQ!"mOZOUomYDg&o,Gdr`(MbEco%/0[T*ra/S'2'ShNjA\>eceOA"cZu\O9X-/Us7.:bqH$#%7'
+bbRfUHk!X:(U%Q`fm/9-4tnc9[2WJ:SXFHg_Oo5068/4B]$Ge0jN"Ro5Ycr=Dur$/EH"m:[[n+-D@W
+<U_)$7S$)Nl^cFSI%fDqnbB4E1ZmpV$lIrQsm#Y&8)@UoFaWl(Tn=40VJmdgl*[k)@mr.Y8IbhL^a]
+C"cglgE8(ikr+1^o#0K.@;!`dQj<LnmQ8&1HnJJlP1]su2%<2`%d)N"[OGWKD&[=/;M'<*mFrM#?N)
+6MWbUAEHqYf`1iitE+d#(ubU1\B<'I^m2C?!h70al>7!H5-Jd8nDp>$7NP?I-k38J)=q9]j`?7S(&=
+br5Zb%2Z%p(ZgDXi(Y!7Ll(YS$IMQa#t2BX.fN4)oM7m4;4rLQUf]?bnhEcUkf"4P3q?s.'^SpalpR
+@>FH6ue*2Kn\jaIAJis(XuN'S_%@5ArZ\GE7]"7P0sn/EHHb_4Bl&[<u3.!DE1'`Vho&T<%W:ib1WE
+7<5TLCs;_JJ>%YRj*X%VWfQkEFOUl%ZAYP\g[^]Y^4Uc6AG&#<^EPpdSV,Y(l0@t$Ko):lVQ7i)'71
+op@<*Pno@bC?LfiP-`;h>i<H(@6QORT-..tR%J4(j&I39(fPlH>16tBBRT7e@*HItdi>dIPX9;t&/L
+S:H1<U'rc;g#3nhI6uB,V]IV"+Z8RrY)'d\:T!kq9380'-%7Z%X&.pi2ua)\Q1G!N],&Z4XB;As3`[
+&5b/N:`Cm:-rV1(?q*l>73nrN"ihK:F#a/_4B'(fST6GAB,DNig_$e;+2@jmn%rVa=Z*C:2<?e9lJN
+9'BQZ+'9p%\<%QF\)!b-5#3"HHX75j1W1HG&e@)9$,,h3C$#<7g,FV9MYA)bXfp1:,@KaPd@1Sg:Sq
+L^SN4!lC<ACLhf(H*I!2JAd1nXg]=<:3CSX_fpYU[E,Pg:U?a5"=-fK[DGa$l^WG6,l\F;okU'!0a2
+#_pet(`mlf),9h4DD*b>g"NgnP"%0ju1F<JC-SX3ajNW[ApIg>X1gMH1T_(%kEfWDr0/Udar>[Pa/<
+O!pKe+,IHRgp>G_)mKjN0VT(Fe=44seTFNQ1^3ErbbE+YiFT&/cOi(E%5^`Jim+biH<TP=tO+S0lbY
+1n@2bf1Ba)DG^%(;fi5-pFBhkaG_u"Cln`lk0L/$.8@iYPdpIHL<gRTeMP_>#.[L9giYI3!!+hmo=4
+#g,u'3[5EZf3ELBYiUps;?:^o!H&9ulhUBFR0du\\Q1kcOKLf.V\&JV'=l"$pt14M+t.J!mD6(XFj8
+8FCQ"A#j%FSc2`;YRQ$c`h`leI<=2oh/;U5ID:7AnD]G3CPf=EKqbLjU#!3ISt^C?GRQ_F+$t[Uqa3
+uPtU99bjd+cMc`cM=S8(^'O\="j&&gRFN.o2X!KLNZMsN6%<NI6V'RL)EB=>r0^sQC1;n7\I#h&Yp[
+*5q_m)]$^JscaqJ^j-eaZuqN+Qre%orUG63,P0J,fnAX#^h!B/S%LW)Pr(&P#+t;&HZH0c>s?5QDYn
+IR,->8E>q:,SEfqNlkprflXr:0p>5l;d$JZBfDSXkEFTkrddA/;!/G%2'.krBYak3H;-Ss;5mO[Q!1
+S%YnhmV+Ouj+?*+5E=0.Nubn=M7QeCaAgN7bpDk#O"='N)hnThf?XLHhT6)XcQVQ\WW2BNNf`)bg#H
+n&hK!,=>F<K!^?")>7+1QsB@G"\ISB_7a!2;A4tX,S6Vh,_:!Z.WQjQ/"Gn#W15aEqd6_T7Oi;E;5r
+02#gLdUnXN?hH)q8dHPLffS/Z(V:(@lDd33*J&1+6Gl3dY:MML?'*&3;s$si_nZ6jg\,ZMrD=WL,00
+SbSrr>;<'F*JXn'Vse+G>si#!oJ6')FIRP*i.5YN#'O,O::@QG\W62WDV.,Y&J8X0`<6)JC;!#K<rh
+d0R/?dKgT(d.6K7/dYJQd'UulD\GYs'Sa$3UI3U>_QeKT-8k=PS6s"j6nHg-/Bi;H8$+=l,"o66^EU
+LU851PTZS]tEamFbA!!SO]I1*.?l3Np*PEJd'cABFohp1iC1so(Ge287B$!d^$ZW"760N#3"*>C[I?
+iXoc'X]QobtX&!Jg&K'J@E\L\oC*eYl+l,eJ1eK<DSlXBin"B*=XO$<OH=;cZFSZ?:<;$ctp!7CTC-
+2[PBd92C>Dl_&G6/Wt%n4eYQ;CG."A2=&k\V3M^hp%mnuneZ3]A[l)J$fC%*i!'tckhfp=\94Sbt[X
+@#">*YWpCYKXG@;OI0bX$eaFBu^`ZLns[L1.1FeEEl>!(V:n[uKP'KPM7o:bC=*ohjY7:&f*AQR07H
+A2lH[P@Z^s?^NYeK:Z_[/=nG`=Lc7\BJM5Vjc6IQ?!2\XoijYB?o:XnUL^rA\"[(%"j<:u]!QGP7UQ
+=(SEmLFG29V-"BbH_.n5;E:\4f*4_Zi+rG5:l<njQi3(<_P?b3uG^*l"2G4bh9`kB5\Rfen+KZk\"Z
+RD7_aI;<TCIcM8]XKN'4tU:7_Xk!]%cqX^G8Y'@)"+9G^`9O4enY*ZAI3kmY<CT(>m$_$?-c#ATQ0m
+]=ahuOj>#Wd^,@"`[OVY&pNF8m@"GSeG'X-,h'MUOq``W?\\7kP#Nu";O)F0CDStAkVnMi8p3jToP1
+=0;!LkB_?aF233[VP-C06LKkpMOopHU\DbTDD$76gid^N^TZSr'mEbXi_DVuTTN'Es+#AR3)m&i:,'
+K7U7[`PD6GMd/i<3`&eH6$Ie_Tl_qQ0Q=rZ^]9d2'K7SHjS+C^<s9Tn2MFuE+[e*I%#d"a@W:<Q($K
+ae%_*j>&,mZ72WjL-j(qO(&hQPY:iqr^S;D6=W^P=p%iZK;MI`8V/!Y#g@:WW'&]BpP@f6oVUgfAg6
+8BW"T+k%"6&5bc[kcKL*2GEHJ1!c'`X)/\<^\38Z'hm;q#KJd'NSc8@M[%A3@@BYcl4@8436YW7H<(
+tO0M:C-)Oep'I8s-d`(WE6H^S!bb^X/5#\)HD%C0QBdE&)V_o2p/>b80QA'WH9:;/6-/&T65agc(\R
+8T>Mg:3FOuB>NO#LT+aX\L8qoa8S.;!l2Q_4BK8,7]pVf_BZa!b_j(IpJs,j.IJYSOuP@l7OKrgjf.
+3)0OXfRW>^T(51;3u5>BkQ:RRoEpFC.L9%4$>uOM2LHY400:Ic';Q=qU741]7Us[^6.?ff:>/-0BFP
+\+PNmTpBQ$KSFRoJ:lA&9T3he'G5@Lq7WD8l59d3Rq61]m4:.&GX?3Gj-b=5m*[-JJW"]n)=c:,u=N
+<lON%iOQ58^uI=Y#Pl2?VM<;<jW3ML8g:IeTMp4oNFZ$D)3nH3]Y^m;$Eg9;QZ5fdSqE`)b;54Y#$m
+b,1&Ad9pL$^Oj7dO[c!`\7?`Vo$D05b6IMq;0!JB1Z^W(Vok[;FZ"UZr_@"CTf(<aID%WSEL@j=HbE
+0'YDUD[t*,J$kS[A)?Kg$<s!$#.FZ3H&t2%,gbmW:$qD;I0Pqg!=$)6cP.9&RI";N'O&'=ejDc`hb5
+0WoeVAQMdbh.t[39o(BX2f8'?e<Y6nD#M">q;9li#AnD."hdu8p>@qDCY,TR^/$rh,eOUhmgZF#9eh
+(NH_0L@Q"jhuZOL;93+n5)p;&CD"f0?#4\W!"NE,C_;sQ:a0XR6D'q3?V/5_18FbD19KE,<e6K)o&9
+Y30$`8a`q&826S6aF0?A?of_gD,ObX`kk_aN[(fc1rqH\E$tQ=b*ei?ZRQmedMDNO00H^=d84cjba!
+q%lKiGR27L<%-`cXhE"QFQRQNkEKEmq6sH)^3bU='SVYimcV3LNVL5G:o4E[($:?O44VH$s>%l/A3s
+\QX&#XOCT@=d7;//6cWHC+seJb>cC;!cNF`st>)TPur4^V/^Y'ABr=%fELrK[$/)V7%U@2*@"Tnp[B
+L:[n)9<kWDK@#7n"#r+=Yk/:lEgO&5D`-kY_m6`Ehq4f*edUBKV<-@V)T,Z?/B;?YK[?+i^sG4G0cD
+BZ&nY:6R)A,=.(?:(FPOM4kO&ur2:#Uri(5P6K0_7k[`UH0U,5A&cr>U4MO0HJi4e[(ijT2R`Zads3
+tSPbYmojrWP"n!^B+[-GqUd=*5$rF?<b9CIfqJ9a(t9W>;PV\AK'V@7YZI4G">(-dY_B6]<1gPQ2_u
+fKd3MIRAa#/&dCJ],h2DAZcfrS1Zf\I2rIeMIGlhgG1lA`!]sL?e"A%hCTrDiNH('VG9>^j9>"e!X5
+8Zk)!bK5]o;(se2ortk6<!XpiIN:pb`M>^]>^BVDN_t@V?m&>J"ai1X%j\>NWX5Of9E0_>GZXoc/Y`
+nr@;Gq,a<_4bJoDo$,ChHAhH&ce/,U!6k;[Vsf*3_>)/rqM[tu+I*c&*uXR$ieir9"=RpmJK7&-/P;
+)D(QM0l5No]YhY81JXn+`ahu-@0p0QqNT>!\gIo#Ft5Cg(i5N2H'7lC;eGJJR_4j8<^com<]^04Mu+
+N$$(!KVhlJQe!<6d!2QS2=ot51pN4F7bt!n\4PF\Vp'oZhM0J%RB@O^%dN$$kU0Q%m<;m_'BXZ)lL=
+^nj,A@..dS".?-!n)'4=24#j0l;_'MP8fSthV&7*8R,5WZnMpE759(+u4:T','0m5Z5MQ1R/,$aTg:
+a8_4ld>BUZ%6g.)Ci^/:1S05esnB0b/fbXndsFnVmaJc'$j,5st`<PS_3<(rG>F_ot50Hmbbd,JT06
+6ehLQ1d8eS5sl&;0ROcHlYNl674WGe$H]OQ"+-E9A2]7L_CHtJ"=q?*(dF6"]hAF;S.Ini4[g%Q_#+
+R-oKGF%r5:,=]!M?($kBp,83%)6$o(>>FBh4m*=OaHZQ[1Q=\h@/]>#U"6dsgZKNQ5f6pri^_K48H,
+\fL7Bfu:L6_iDIi/KlEf#G'I7\!CGn?P/I^G,k3T>X;.oH1S/Y/1kZ7RVAe42+*>H4%l;MsD"r^ril
+d25!gl[iBZUjBK1%K0uGfa69Qod'<k.jN(L:`W4bWU[4DkilJKJ8">COA*lB0NXGE5MXcNe[#cHTFp
+fR(*:n!>>[ti+P=^=_aUkPJqi+1'WA9uf*:R^D';im!S&tb*8XQRj85./49Z]Q*-VT&\oV0J"35jmQ
+b)n#C(ooVO1Wl5X8k?6OKT)>CR`TZM%1Fm.ncQE)s2)t2_n9XiPMO)TXN/Oj6u'b8J>]cePoZW18Lo
+eAgf(Hch8N<r]`_;)bX'EW]"4-:$Rr>1AAec&?-1LJ,;Z)&oM*LKH`l.(`r&Y$9X`.J0$J:58uSc5"
+OPA?Xc"`cLa8:VoW,#49h1^j5QiQ*Zt.%ccb4te7bE_p"4fW2gqX$Lc21s8r/\_EhaX^+]i7;=9S>k
+,d>F[H][YC9_d/";,R1WF)9^"5e7:u>:<X,.7:]4UbR1rJnO6.B_ZWiRjR9_QC-)!)912^noS#sQh+
+K$Y7eFY-,^@Y^X\D'q"OLhugbt+UYcJg)6mVXk"2RDW_Ed0a79ip59X[c'##MANbiAUs*;.MI0#;YR
+:\_7li2k1%j\Zq/:^Z-p`9tbF'gZs!4`oCQCd-&_AO?#S5nm,0>JS6gdmA`q7jSPio\N(@g<iIYd3u
+(VeKg61's7q@d<)WWm2/[L=2VCK:ji+-m0UK0O4*,2dMs^T'QMO^0[G,#c?+ccJ>k.P?IDO5+V\D6S
+HQmlB$s+!:F&f`bPbAY&5`98:K9,K$the@<BVnY;Cdr/]F\"H85j3#X0j;ZFZCVTotroE8c7LCqpSK
+_+B%"m;XA<qr>`<Mp<t$;5O<Af2%*:jcpn79dWJ*<J:YL`s4"=nM[Z@SXM1E.>L\!5ccm0STVoil'\
+1>FNk9=3m7j8gk"!O'(KFk\7:M-Bf2b<g1$m?<eLENK*(JF%<hkZ'"\LeG-&T)k<Q/f0lJes/NE11C
+=-[[$Lq_;RrDlN:(mE.dNHj'GJ%S3l$EO?S212,t#hPcm:f;s>21Q`jCC3,!7's&J1*o#'*S,(G$ff
+l+AE$9FgBt%m0g+P\eT&[tP12V@<IIbJ//Q@oL^Gst:8NiB>.@\Z4&!=Sg!u?f<M%,<Ef@Dkd@@Ye%
+(/Ap%+ZEE75^.D'po9_>?EJ#1p(':]nK(<$sF@jg.Xo`2,qg8Ti&V'b<6lr*>)!\;VO(+fFY&>bf<k
+\0Wcm7fL_K5>U[.Ygso]4;74&7"Bs'?gIjs1e5Z3(N,6)=^t^e5`N.tHr>\/Z/DJ)@eqI6l*N'1ms%
+BK'UCEVaj`ne9/C,WFd*7\Ih3?Y_ZG=Zn:TOBK<CL1uq:]@F73l]u76SMXj4WNb>?IlHmEF:J@&.).
+gSLsfKHo>2]g[$V`GO>S']N"2O4?\):i/ZtN#'nhg=%>ZhF&5dY`)\r*_M^B,8H&?m>X*u#i!#.<t2
+7]FMC/-leDZk5FbnAA8AlcECR(q;C1G]`"l66pW$;%LqRq'Sadp:8_8B>h_L>Am6=c;%,(#^hGs>W/
+Zcrkj&u'Sc].m(L&Knp%+EF@i"1f<AVsdj@E[3lfu*78K_&*lmGQP,^pH8`IDsK:,[[ZThkgBPoIX<
+ZqGP$)g"ejM"sLSo&VuDq?OdaX*IHCm"h"U,4WJ9I'L:$)s'h3*b>fEb*EH/,P$(4N=QL"I<K9gCeQ
+WLod&gF(gV`#9Lfbpq?nsjs7$,sh-J:8[@PdBe4j#rp2i)l@b!%h\bN($O'jA#8PdW]:G"+IIguJ@h
+MN.1:Q6nN_n)QprjAn_1E<]t@U>UaJjH-;_9o6qt66pGB>FM/<XbUJ0[cJ@(Tr(H'S6RB6-fJ?LjaL
+L[(0HGh=il\',pljV[=;cM@u08S$:'H!2IPUPJQ0W_j^mF`7V^<qisRG1aYmQR/Xp<SLZNDhB+pG?:
+nuh,Nb79Kgr<g_K5TinGLo#p8P&PH#'?[kpd-#*A^-4tL3R5/Kh"gmRaMI3`FJ#L7,_a,k8o,/:4UD
+g)<`E!J-13.[QE\RA*@G-kG42-b^*pABkIWbBYKF</XXmKOg,C=kLP;tes'c9N.uLmBl`V'p4MGWK^
+#(6l%Weab3e>ODiDUAC$q-sOKW7#TrXJgBjR:nDPUA=Qteg_.AiqTY%)438nj#XlFN0j<h!]m:$UT:
+Bdeu%VQcsNY30DFh`eAJ2OJ"j[O,lZ;+@SKCX27#Z"bg]X?O7nAif3`YNa'@:Y(nB<l$(/-YlJCBBI
+*J*jLON7r2X4@8<I)p2KAW`+ar-Cq^"--3WY3[:!Ukb]]@h7aWD\ZKt>`CgPR`L6r0fhX+bu?4N'3%
+a/^JT^?ofD7Tr75-JZ1Y\i0gD0<;T$4tsOiG8^qmOXjpF3O&U&DF#8Cp&n<I#r2ghX7B4l)ro\Y3Ko
+L2Jd>lD+<ubVUFf0hs:jDD[*l?dq%oEg?\J(mdB"OI!TXQ`,DWl=5N"V7ceR6!:L2Pm+23*m^MPUmd
+7Ib?.S]V`GBKjY?'fRDP$]DI;86WN9E2-R'gMSY/P0`%;!!VLrH<4!K1iUl#9,\E@t+-@'"(/'pjBA
+nNd*C:Dc8Bf*6F$ENr2V*n9UQea_N46t!+b`upR0_XKc.EE=AFk8[>`-5=-/n)jH7:FK[:&I?D4Ej6
+GK`sH`]$?FmPEPQ3^QS=U[mW+p+nuji/%l*R72CZAmELGg,?T9qc1!F8l&T#S97h9GI4`bNm#enB%!
+=%n_2"LZ(oIF>@*sZmirH!HAE`Xr:HURHBB+RdAoVhCSG<YCq&+nUbFMCB>#j9=jXDmW(oD_^qY=lt
+b<Y![no_0I##?We69CdR:%YTd5IaDPb?$*PA#fdAI!80mb?M!nup+%Q`\7\+:AW>S!FI,%1Ve@RKB#
+WqK%>Q"q:MOuQD(7JVmuMEQ2SJfS<H_Ga/O*j%F>J,;`H(E-NCOo]I>2nVN-9\sN'D$"T6^%3I3rTM
+@ul-IpMooqIs/#I--(1Oc\2`#.<e![F^KnO06RPD1jG[omW:F2p31c-MYFW>,5hT<pnU!QJnqMbq(>
+,3#`J7,Q&8?_Fe8U'#FK*FQADoKa+'Qc5oH`8?[5G=GRp;M[q#7GV"Q1(ntuG53\bl`B10e;MEaFPk
+@FA^WHrc_#`k2Ga,pnH;g:;9pSY0eDl8>6UO+,ADC;IY8#uMZ)uDRFqfmd?Vm^i:FShVAqU_j1><Mf
+(KXL9AGj`1js1!F.M#0]Wqd6s\Vcs!Iqti'[H^D,72cT[h[sWJkI#kFWT>:@@X*c;=TP)?#G)(F9O2
+PDAq,brepD/]HR<p=6Gt6D5B<qFpMg\++rAW("Dp\H^nGOJBI.seHqYY*;hjjH!p?/=)GN3u[jF#S6
+Lpo/:IuH59kPg*brfDs4O0X,9li!aJrn#a13,@s>W@P@CH<2tMBCSVJm>-Y%r[0^S:XFMspO772NJa
+HVk^X#U!!0De%0qPQ@8OIE24OXH`*uS'UfK&`N()ZEO9@U-+-9$(;E6"g9dc/tAQ$'L[TtPR9P(I7b
+gn-^R7N'_!Gc"_5G1hd<&u<@N=0O0!"7LC.VUf><+aOf`8[7fXB'+:]&e+K0rNNr<O@u!gL%<kD-"8
+Z3Mcfff'G:FV2D6^[bbq(]B/bb/@jSG<GK]Z!%bnEEEKk`3t7"V@'WcO]NY]%b[tp!]]=\IP0;DCi!
+YQh9rHK5CnM/"7jkL?kO<egVUo[oU[5.p)Jp`"1u*%p=ioIm\[pF(o!)K`&"V&1E-W77lj='Hlum1)
+BGqAme)]rm*8];6c0)N[16pF@QiJB'I"#!/kQ"<&n+_B0*aDXbq7mOM"ID8DKDqVV:U1?/_2rCG1a$
+DI]`Pr`S&Yb$&Bltc6A_cRU:maX2\Ec"W(^kkE3$kTVXYp;(VXkR33Se_<+-`Vd!u-'757_L(,g0NK
+d"$'e3=L-c\.-$[.,tM*llQ*0.';SX"bJAX$g^gb0oSh*Cl9GU;9A2jLm@o%nqqh6n2`r2m%+@d4@t
+-*2bbl'?Z4o1<WA"1f%'XYR\N#9_g`nTF?lI;3YiZ29h2%1Ik?#!AaODlMV5Jd55,Z:XYK_>-s`3)5
+C#.$!F!RKkj[W+&fRAAQ`%)1=Bg77V[?Sf80O2AuCBc>ro>+]mF8926@S#Zu5Q!B;$RhbdH,"h.(,&
+'2=`f.-rZ-9\VGhTLQ0W<J^07G7E(PgM:;"4^E3p*4T8*3pgE`2p>]RXbk\)"lE;Sd.^8cV<kcsp^S
+#NhhtTQpBMO@.nbQ6dbANXf>]+r^fY@'/[`+Lo[0+Cc7p'o=Vb!.j3(;k(4ZUc_3N7=)L20hpc\(fk
+*bPYQE=.l7A!94)?pp0=Z_h#kaH:XTIis<!(gnQW)S?+\^#<>ANI!,e7o@_ZZ6ql(;D"2[KXCYku%G
+lZgJ7I_R,Fr*_X#_'%mu5D688T]Pn9sk-Ti'[/n(\GSgHQn!`+DSoGa-s1tfW;1DmB:gpA2`nYJQ$Z
+[657BL9>oh-=tE#]Jj<NGQb.<I^KAMJ,HnZTgpI@K?!Yl)Moch%jrFlBk&K):>crZfR!.9Nc$i'Z7K
+Q0G4eU=HiSI\X-<J-M2Nf@[ct[IL,#ZISAih]mg%\/t[CNd>&6jHP&8:RD+o\@:VSP>?@4@\3^4IP:
+*j&f9h:?/R8XckO`a;[`XE6i_Yt`UQ47/4\VYBjP0I7mV2V#1nEaJ1I>P60M!4TZLjcn3-E\Eu&HI;
+2g0E+p#RE0+(?;RTtB2_o#s]#@HuRE)95f6Wea;@DQU\8%<0;LlPerK.mGT7N"T]/J4_(o8+cdlS06
+^?9uH0DGaNu7>S\R,2$Xg0![:!Z`O%%]OX7SRPqiMdT=G7^]_fO3gJi]'26n3B5j/#_.`7<ge]=SZ4
+sCY#7P5*&Q3Q<1&]16^<hV16B[$Z)a)dK+CgNmNfn848RfDVL&=]1Ka;>%^]:^:KV;/f<`R1QN+V##
+R=TD.R#Q5A#7WMPEUj`K4ul;<`k6)>ZP8q:@t-,kN3Z;YNb18-NufTgXdZ&s<(a-"1o-YrG]R,nNL!
+rP)r0F!DdX@&WIm%)S@"h^NcI[HG0"<a,n6XY7`3p:3$tHsC\-&ZM'LgtkRf'Y1``S7R=p-i%1-au&
+?j$Ym1h%3%\h?Eg<fSG?7=!rU68i;;A'p7O0kOQe&$(PB*1]Iq4eP-/sd,W3k5].\"h8=GuIbi9FC[
+LT="B+#)[C]9sm'3'_\7Y>(B]*PPD#>At,@@Ma/b'9kh"!;ii\-6YO^mNKmgQ;VJM0Wo['Xe7*gQBj
+PcD<"t^bStF2IE&=LUpmj^ZK>Q?a-u1\^X**(M=2XE4VVQJ\e`bdi(lMF2'.^12VM3Q7`DgO0c`tl(
+aB99IABR\V9JZ*Q]"5UtCtrU.[X!kd!n1.Dqdu+'4ml6)Z"dd>X0mm=f+sHaYRETLOJ>+s%+YE#/]=
+Bm<pbFlfBk6-D#TKhU2u0\K[]0s&\3h"k8'2[e:_[HNhEDB!]crt.`HJ@Csqa;VbRQ"6s1*l\,\I2I
+s,^8lWn_A[90@fH/UI-K6P-'>a]5NYLT8LLL`tTJZSjEn="pg;Xn+@dmu/em(m=F9fmnF>9NV"+CML
+!1<]3>0Zt*DKs5@N3OK*P[Jr]UT+#2!'T16HrWa*^rJ_*6$*7_c_Wge6=Y)IVK13QZ[8$H'.F'_eOn
+$6-o'KsfH&Belcc>'A!'EQMQHfCkb#m+:AS*rg$eU*GK3I<K5]$V>2+V5fOQL.kDWsu2B[.L;j^0bJ
+Rh0aASiEK,?bDDHZM=S&!93=U4FNrY`a-f6%m&oZ<M@a1:*=%F+M!Tf;MjNN6(/.rl".2i$i&&9g+N
+^lOYn''IUYQgP:Gj//#j"KdF8/`60T_r2=jk<V+>6&?_)#528P+en8&(6Cm`nkm&g<hlWG@dMkN$ic
+e0WqB[uLKgdZO7^4QAtlqHVm[`\I$AghGH]BBWElTH.ilkSjR8%I.kl-S)A*!9o(@J;8r&l:en,V?3
+ZGLG."Ai+2V!gfrj&2nlc!+tRTpV%7N$!]SD`p=%O$&5&%?6_RK?U5X7;I9[Q]PE48KLdp&Fn?T(.s
+ih-4]d;[NT0e5FE5W%bE6aWec<1J09NC]V`p$].1_\X?@9+>iLC'Hi1>$jZdJV?/ArO+N%8e<[^lN!
+l?XtTF&a111fmjT*B0S_oo[`u5@Yga'%nasT@,es>@!eBAbPQLfMWP9i.<e"i`.Bb7`@>@rTPhUc1B
+hu^OSk*X+,_/8&/&R*<^T87JOg5j1*Es<dhd<#*1^;K[1E.j%%7D5*iXhinX/tkL(;hTJZRC/K0"&/
+r?:"dX3E'p)N\Eq`U)&P-EIK>WYB/hWg9DW,:)c!+1PcT!Ed*`q4a(0*s:-56KN)6st+"Gcr]tP\6Z
+The>o6;k>e`*sCSU:Y2:jcnt`0ee)/Fm!MSqrJb^lK\d.Kb0a#IrhKMrYOMV/)@oXU;6SL<YQ.Vjgc
+H[^%A7D+N[PhW`<*h9)\8;=^h=1[bl=]cf!$JlO=EAdT*#W]&YXLh:CK;cZ5Q#TnO)[HDtsHqZNW#a
+hhA<=TmHl;W#G_9qVuH3TMuj>UoV=X%Bt$Nn,3-'I/P`%;LtDX+WT_r]FuHc"]'e-+eT!)V@tY>"ec
+nS0VVU0HO?u#$KXMW_$1,ULuNt*)GJj>J8?,i*;PK)#6>&?/%H+nge^gJ6*QRm!Ncj*)A=7c&O8De@
+^[043Y=XL'/4C+_6"!iOBsUbp/)/gOUa`%Se=:h#)tnKcK5?4YSoeR#%F_S+X@slYQk`M!5YT<J6!:
+[,j4Zp!`;9[;+<s8p(>)C%]pEJ_3u#\*!L=e%0<.*V0j4)d2$+j&]$4?Z&l$%=Uss)cKbK7&V<E5L.
+:,Y)B`&sTmn#$<!:!?)Sg:p@2p3eYSpnM"^r,f+PRt]'cu>3*e>:ITPtgb>9/e6"MoO'TN2saG\E4(
+*,nSAk5lR[cl+&3)Zb7'd5)M83?tgm,NnP7_0R%$"r\W3)H";19hQZ?pBV!l);rjF6)5'#V][-<(Z8
+LBE^5*S=r6-Q(SMfe@0RW8<"0FcWR2"uO+tscj;O_`)<!Cc5\pOqD(7<5';q`Onrul]b:@06(\'dA`
+*Fn!`(k?:/@&J/P0k84cRj%EAJ02>1?C-/kq9:/0(SNc1A*;@q(K&P0Co2u1BfIQq(8o-l&"@R1DMW
+c))8H<1%QO7D@nSo&Mc-o1@m4V1Gpt0)H3sK1\3mh1IX-A8MmbJ2"OR%1-[RY=Z*Nk2=k67.[N%lBf
+<;72Y1oI1NbWtGrN'I;)<V[1PIf0M)_i$3:i7m.'5HBPrZ1A3V/q*1Sm-RW>G0,3qKU<1UT;c\N@-E
+3JK=P'>6MLaZQoS4S-r\Zc"e3DBi*/4nIVr1Z^fAkqSCQ@2%BZZh6P(q*24a5NrAQ'D"I'#sbj,5kG
+XLo9fTr#+B#='hkSn'Guj>+[P`66M*!"1c7X6aZ'@$6fO[aK'u%D/3h>h6^1G:1fZtd=HZ%L7$M+FA
+JIAX)b*e27eC[j1j)%t4[Kiq7^P]NP\EZfD+A]-8G&$91UBHu91Tb-2H5<"Pa+j_WCjP"2q/X8e:C"
+eUIk)F9=1lr1rW.1aY>Tf6?Ih,<.@M>9U%k&9GGZF2!%JSkX)WDF7eEd[.R4:q+n)jS.qSkeHJcl#u
+#I/>kEG6[0oiS),[bF;"Yi,2'l.C"]?'a;Y;bC1p'[+2,gnG;tO'gKKW9L8Q<)l4Z,VPPttD&=]Mf-
+<?eJDeR_d(BfK'.9iQgJ'I-WnCKIol=7T?[oXRciM*uK;=S7eZ1[RX&o0tSP=]M/!25FkaHVG6E8@>
+@"276Y%"]T!">4nLlQ,R!NaL=%?8+^4lFj"'5firRE<ts+Xp"Neqkuflh?FB<123D5<oj>-*<RpnPp
+'"iH4^^/S@.k10edZ%G).BoJ@<NZ#2C22E"_)X,@e:1?(,9<B3CT5kA%"[61bWA47:`i$5IO-op/P[
+Fhdn]KAbKOoQ<e)\BkF]HAp/$(2K_!fEG'HCBCg1W[Xi+8M)Ek<BXX%;1F$T,Q"d[t3nBp<2Pi;)R;
+-oIC?6%:[]sUk\>/c0C\GS<f!T<Pa_Q(#Cpq`.(=-hUfk^<5D78D<p>9aGl"TkSDRT(L(@Q0"q.KEq
+DmoaZeaG@o"\b6h0=@-co&XQ:'f5$HEOR):'-J5;Zl=3@Eq_;02`5Z#3HMYmF8%tB+gr=UZ3O;ME,q
+^r2cY!E=`q2ZFn]<f2cjg:a8d#fG5$!#2e@0!D0K'0GP>6`M'[B_M0QLWVg!K4f9LW*R<>ul+sAcU5
+m@cWWHu%UHM=[k2mn!V\U1g!Hf/cQ@CR7X:0Vq3I.r\@f?o"j?[%jiI2AJ?fAD%$EHrAbIeW=F=.TM
+E3ZFcU-c*KH3!FhW$%TMpJG9_-3#.!h'dA0G%2V_p\'9C]l$ag+"+e4>+he&BT6WCFH+2U^pORq74b
+Qp%Ib7AK2iDt?Zj(aR)Yd`q3+[hhBnj-7LA5bD3-C"$?k!XK1"T9U=?Uqs80U#I)B`Vri,/a-UP!X<
+H$G)o32:lr6\SV-B\5h4fWKH9Vi+W#Lf594@Cq;^ac*aSN.JJVfZG*5\f/)0Jp1H/D%m&%:`L:9"1Q
+m<\1e+qU`4Pd)e#NH@!.&F-3dm:!2'f)i*HoO!XJdr![9#s5bJU=,TD;F*'"Q2+Nt<o+cEg/$pXe*(
+Ya5f.mDQnN^<pMi"?oPWHS&o.^r^h_$tNp^'k$"Nu+.C=RCPR+-cQ`Njq<=%29dbDi>>J)dq-Rq3@@
+nQ]3uU%630q7#dPL`WMlk#U"tHEiY,MoeO@t#'eQ>+XN4:-jCe(%tJ[1+U/0ZGQ9_a!l?>jTE1UV!Z
+Z^t!Pi-7+g;9GUQ`/t"(BBB2dM;d4c1+OFnk'eT^iIU+dKN\M\fV'TIH491`Khk&6I2E=S%lj&-*TK
+Red2;3YDP+8/X@ORs/q!pr"*0X/3C5V>=Vt3b>17A,mN^VYXYsg1?7)@N-JsVI@`/\DNa$4-s?$!;]
+@h!QYP^$5k"q"2IM0!<8k1l_G[$$5n\E\t>u`V@u4WTqO?.)2Jg=$68fp1*AOp+@I*`WXhCo)M%H^5
+XY^b#QPtpP(G.b5ai(t-jRO1+s92PTdc-+,R-Q^T@[HR+9WOsTrcjD$K,.q+B*PI+gP0q(uV1n^^q$
+F9n-?4!'u=*HBnQ(&03]<MRQfb>.ahQGH6%dZb&`7ZD4h]]73Wd[/(qg\h0ZiU&t0=Ip6Qc)dfZ"_5
+op[XIC5Q4&pDb0sb(EZ25cOHZ=t3IAkk]'3gs4HTD--e/UKp]6@8!]=GQ.T65LIMHcd[gX1.*`O'r^
+\6EaAGf,Jd?laMkPs>`^>&h<'CVQ<VVcmT.RU-pVX;]fBVE!7t24(8/j0b&E#ojob!S@l*\/?EE_I9
+qeHV=gYbJE,-WA:6cr$fNL1^SOL*MF;eJM[gDS[rkaS)u745Xq0\i"K87,!ZJB@P/$r-j(Y=$"+)@J
+g(T\"9<L%TV41C\Rl6.JTW(R&g60>U"sq*T?99o.Nn9(!/^i*<I\7#&j[n2@5JL'h?0GA)-gH@gT.j
+C-`d>+`*>+*grIXOcbqq#`0kL"RRtadO*2CVFWc7Z=*r448]99K`>hmsQW^u[29S+WbEAXCT_$>&ca
+oR'_>G>$gpbJ"!R!`\PZr^PR&/9f6$6HNb+,0RHc<WWV8F9)cMZe<=c\M^T@UXANkj!JJT_+r$eE">
+fDU9Q4a[5ML"O(ifU[YS4ak+r>92\/fE&=W=enK6eec-bTKiO__2lLGYQGN4"(8A`+Fk!7dG')WgVG
+]P+lUXRF9>d2$f(P4J\D?JHlAMeds0E2+sme--j;Uj,(R`7!3.5.l2V\=!$LtD'04/Te.Y)"!uj90\
+VLnaZZj,0.R#Ap!"7dol4$jlZ,!pW185*o.GcPtQbZ8t^^:/Ea!s6sjk\>FQW</G]@:"+27a,&+9de
+]\(uC^k(/TL*Z>Q;gYMfE_:tC<Ehh[#UZ28%TX[k8\F&#'ZeKphj4Et`@'eT.=mJ7+UcXf)hG`5O/a
+H\Dk2!B*h7;`59U]-dfDFn=?"tE'Je,/Y*]kJF!6ltOj:,"ZSjCX>iSjjNH2n!.#f$QDh0Kt;Oma5H
+mrG!?6&2d3s6`dWZ2m&gI?E/&PpuV:"EL(:Hk"^+UVTkFLccX<+:8rg=asX;ikA@Q+9h"TZ`=!PG2H
+a%5@tQo^(6mJ$/Rud+FVbKSME@khQ_(X+g*"s\d6.W#p<OTi[,)J'I"ZPqOdli\bj^^?4/k[.NnKKg
+7'Q7rHH#s\GpR5!7h-RPI%qh#_/KO+5Q_,:RAo]&jW#gTGQW0`#o+i0F9S)+d,:S#"iR7!.dD.OAH&
+q.2@_j!&9kjDE/_u8)t:#'Qti>M\'!IUC^lMRYepjn2MkEqHYHb8M$"p6;2.p3$PT\!bg-dKn3g5kq
+&8L,H"K#FLl#Z"9i3hiKO$g()?nGKd'B=Q%"#ZH6fU.'\+B89!qj'crl#c,>=G'0,L#iD7\>3hs^!;
+!6YAgHBN4.oSKh('4NcS^]Z/Ng5O(bM:_5!Z,V5aTsIjk?8iqOFW=OEjot_KO`@Rq^^Mh1\B_lH"aE
+mK6Y>%i[;T:k'P%4]iRDbq].uq1@_$OH#q.6E$Ki[-/25gC7LD:&%nk$=$_3mQjPBV1S&9VcRV*\O]
+Mm9>1c$.B!_1Yf$jm4aUI1s[&-*pt!%Oa/.&)\008ke^60S`PP7-;0*WhGE.bIHIb?C'qX%FRpQT<"
+30L1esUX'03&RY\I,0BD1/V474[-5(l/56g/0&"a_`DLH'W(#pS)Boh[fmnrIna(5`4:`+Ho0s;oSt
+W3HlJ!LSEY=op\P##R.k>TPish_4P"RSAbGm!.U<+rD%S\I$D!j;<>e9S]Mt7:l0T6%n_4JrQ=>_bl
+.H"ip-."Kd$d@#d^Rkp#T%Qqq4Ug#L!5e^EdjBDF9s<rd7oL;mo79%k%P:fSc1?N8@t:J/Qlc\;"I-
+.AFfHu(J4%1u0:sA]>.[Qf>LX-$+VC5ZO%,hA4W:2:6k6rpq0XRrLsQD/JUe$7$3M^'p+R^ViPoku(
+.FDFbN@HGE<TF;%LOTd.E(DB\'=YMhaGiV2+R.uNj):qF,quQOTVRdf8`T79k"Dc2'?<dFr!dT+=Zs
+Ja`s@iP?7Ga2.>.<.Y`Q4kUm$f?jLX'N&_AB@9ET?#$dL,&ihcqW-ODH\S%kDCpdWMapXj!E?82D4S
+%WHiD56cX/aMBZ1gNg6K8<OJ4=hXG)rQ:SOsdahQ#7D['nJ4l_0WZYb(pc_A<Bk(9.G))QD]rCHBXS
+^i4Z);lM`VC`eApdJ/G%%Nsu&INjCU+=LV9D]Qo>8>%>kLS6CZW*R%sn.#Y5Oe($FA<:D=Ud>%aNJG
+DJ,RKKefY.@dB]-AJFK$7o*iCEbp-B?WBd,NmXbmMIq0m$74F'7D*J-Xd=!/mKGXm:^nT(RY0He$[,
+KZ#'a?/eeS:Ab?%qg,J%d%*j?)Rj9Ar4b1]]'=F*bRb%M^\4(J>dJ$-`H^06e$E4*Uc/r<(.jtbCN-
+"jbpEB-@u59&l15>%`g:-=t3N(:Hf:#=>pIkM,J`)p'3f[SmM]nJ85Tr_i4<IeOPg2+)*hj&$X3@Rr
+_VKj6aV!QF.5-5^X21TFSn:$J\/+IW0r,_)5/13LZo/2f9>e_[!pEbKLMC`COisi(=$d31"7?@'rIK
+di-<#5\0qK!!S-J(^nD)#=-LI%C*&n`n2I>@m+W?T]ASYcl3#hC^Yao&c_sk)e4Ir#a)TE*hN2L#KU
+;1Kt#&KK"*E>+Xj203D)k43)Tpq+?gFfkVg94Be&T"9bGIfF3c[^NDZua91#j0V;uY>USo)]<YlUL\
+mB+SVuRLN5qo'%]oI*`4-_W@!$<2]Q*S&[8q9g/@k8-jn<'!Ya^$G&:uMJ>GYJ@jpa:SqC7TFR@j^H
+b.HMi63ci;dU\TZa*ph&pd)m7ak5#WVkke2/M5lV5eC@()!Xn!RYq/A^&Xpp4DtGrCd1Q*e>,tqDYm
+%2H<sKJ\f\.7ZN,oJ:7Q#qM?<'r9P"_[,1MPB$Vj-nF;da\WSS0qdm\"@:E\mq%pb31$ZmbtT5"<AM
+9`P0&99HHM!C1TX#9h#OO3f=MM$"Zo[?e-2HGn&Y4_q.+rj9k+fj&<K=aQ7Ddah$9?4m-WY-lA2<q8
+.,h/rrB")Mh-_0-"c.oe;kN7'Rkp2sg0TnnqN+kYNk&-mG<K@E$8)[]F".9.l:^pFm+-O)J[SMdV],
+kY6=rG5);DQ!R#5h$E1%E-=6!!"-M"JRpn^]7:X_f/`g'D_bt1l8FOWnCYQD,%-dd'#AdSD?iB-A*E
+p"/-E7a,1)[m[KuT29,%>gV7oKU\1iY?A"bE%K\mP;PB84"9rTrfRT`E*tdAPhtW'lYI4.?UWaq_.H
+M.3oV`&hKtrZ1$8nqSWO6qQ(LFHnG&Z!<_Us%:?9C/BY&5B#1QN&TS4dZc+I`A=.XU/imrRlN,U/VZ
+(5MfpCp:gmYX@iFj8=IiEY_$`R27)YI#`&a'o'eqWn(5J>^CCe.AqFZ'BO=gPk(YoXZ:/2j_R/Io+k
+`V=c5(;m)[E;&ChlU[l7psiLFtTF3^3*4(hK-Sb%;G_V%A3Ap^MGElN`;q?&Q`4UlOU-#h6kCI'q>)
+l.(`O'UGB4_]=!VKC2acT5Q"?#9GNk0BaOR[6rfI8R"?Nf2GH@o[:B@B=T8,M$&M>>:Yl7^]tBf:'\
+aleR,rFr$jief8>e]ofUD7\/!$+"-1+.B[i[e(U9mCMeL)[W^-V)aK39%B[IVG8B5oS!S26IF5WM6+
+,NQL^o9$T83-#gYSFOHZ+?&^3A0*9;?#SD;hcW3#;\TS/6fsIM'GA<t!uW1OfHL2,Z2aoA?'>MfF2#
+`d$)SMu`'Y"(<ks3>Wq$S<oF[ISn75="EC&ZmH*0CbtSKU#VM^%LrDV2o+T6kFD:=F8g^aJ^Ds2SJS
+&CIZ`')=%heK2lCcsMo;`9'^-tNRuItl;$!'3k?V/mFoK50HP^1H*7M2S?>gp]"G.O^gSl8+%KZYr&
+(a>hNI]OMENVb#\UC*bGQ.^%HkrjNh@3JV_eSJm;m#HGoJhU<'HY&_G;t*Q#S6J`h?_cpX&X*uNI[I
+L]JlVXSsRoPF]m6X5oWsB2oRhcXi.@[)F0u%iW=W<<(P?(,;N<#OcX*74^Z,%T,6O4*t.V^dHj$Q^"
+"33AT8!s&c`u/!!FG6':0gBpOEG'43s2eIi%/CS7CXZ;FEI[\C^Q%W,%-S?;uB8!=QWd(Bbt]\3Am^
+>i2=V5PtLH$UMNi!=7HQ5@aE%Hhb"siW.mHK$XUqS,7^A+b69C53W3c/.Fl"%RB9;]i3oSA+ktVq^'
+&_V(5h7YQ=lV?pE<I4V.UT@o^>:)F:GD6+[N@_q#T6&\X',"6jq13a=hSmJme[^?bcSa`NkS&4+en6
+@:1AoE%;:e"'.`SSSJF@#r%3N.VB_KBqs>q;/u).)RSl6T]Y3S.27R[3Q)FUarphS0<^8(k</W&9H_
+S`%j\J5""[$1gDn'g7YGaU4e])M"CKM,U*3o)$$-SWlhHDlE@5s5K'Wr7([e6$k=`ogU`V$6psIo#V
+%Y%]e2sl`5GVD9N=I`4iLZ-7=83+MG6Lg=[fDr7D)kU]N3"q?:F3f7H@W@r*`&7@R]os`[kXi9P$W1
+A&_bd7XSl8`+I#JC.>:?5:gNg]PU-nDEStU`p@Y7$un<:DoWi=7m(lPe8iT'G"6@m29^3`I!J5PH8h
+(7a1Qdib7hpTI7NXR8,:(lgjhp8Jk,0V81]Eb9S5kMKh-$87gibHN/:)qMFah,8A'mPb`,0KN_&Mt8
+GnQ@%$=+$P"@3g8N`4C#Q~>
+%%EndData
+end restore showpage
+%%Trailer
+%%EOF
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.pdf b/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.pdf
new file mode 100644
index 00000000000..e2fea7a7a5c
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.png b/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.png
new file mode 100644
index 00000000000..4bf6fb95f69
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/base/source-tutorial/previewer.png
Binary files differ