summaryrefslogtreecommitdiff
path: root/graphics/minim-hatching
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-10 03:01:49 +0000
committerNorbert Preining <norbert@preining.info>2021-06-10 03:01:49 +0000
commit2bd77f5a4d02b0d1649589aa7a548e79b198f6af (patch)
tree04786bcca2c349d0cb1373335978e03bb117df7b /graphics/minim-hatching
parentf7fc4ad3995d7f6ebbed20c20bf06e3a9176ea04 (diff)
CTAN sync 202106100301
Diffstat (limited to 'graphics/minim-hatching')
-rw-r--r--graphics/minim-hatching/EUPL-1.2-EN.txt287
-rw-r--r--graphics/minim-hatching/README24
-rw-r--r--graphics/minim-hatching/minim-hatching-doc.mp117
-rw-r--r--graphics/minim-hatching/minim-hatching-doc.pdf1402
-rw-r--r--graphics/minim-hatching/minim-hatching.mp225
5 files changed, 2055 insertions, 0 deletions
diff --git a/graphics/minim-hatching/EUPL-1.2-EN.txt b/graphics/minim-hatching/EUPL-1.2-EN.txt
new file mode 100644
index 0000000000..4153cd3775
--- /dev/null
+++ b/graphics/minim-hatching/EUPL-1.2-EN.txt
@@ -0,0 +1,287 @@
+ EUROPEAN UNION PUBLIC LICENCE v. 1.2
+ EUPL © the European Union 2007, 2016
+
+This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined
+below) which is provided under the terms of this Licence. Any use of the Work,
+other than as authorised under this Licence is prohibited (to the extent such
+use is covered by a right of the copyright holder of the Work).
+
+The Work is provided under the terms of this Licence when the Licensor (as
+defined below) has placed the following notice immediately following the
+copyright notice for the Work:
+
+ Licensed under the EUPL
+
+or has expressed by any other means his willingness to license under the EUPL.
+
+1. Definitions
+
+In this Licence, the following terms have the following meaning:
+
+- ‘The Licence’: this Licence.
+
+- ‘The Original Work’: the work or software distributed or communicated by the
+ Licensor under this Licence, available as Source Code and also as Executable
+ Code as the case may be.
+
+- ‘Derivative Works’: the works or software that could be created by the
+ Licensee, based upon the Original Work or modifications thereof. This Licence
+ does not define the extent of modification or dependence on the Original Work
+ required in order to classify a work as a Derivative Work; this extent is
+ determined by copyright law applicable in the country mentioned in Article 15.
+
+- ‘The Work’: the Original Work or its Derivative Works.
+
+- ‘The Source Code’: the human-readable form of the Work which is the most
+ convenient for people to study and modify.
+
+- ‘The Executable Code’: any code which has generally been compiled and which is
+ meant to be interpreted by a computer as a program.
+
+- ‘The Licensor’: the natural or legal person that distributes or communicates
+ the Work under the Licence.
+
+- ‘Contributor(s)’: any natural or legal person who modifies the Work under the
+ Licence, or otherwise contributes to the creation of a Derivative Work.
+
+- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of
+ the Work under the terms of the Licence.
+
+- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending,
+ renting, distributing, communicating, transmitting, or otherwise making
+ available, online or offline, copies of the Work or providing access to its
+ essential functionalities at the disposal of any other natural or legal
+ person.
+
+2. Scope of the rights granted by the Licence
+
+The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+sublicensable licence to do the following, for the duration of copyright vested
+in the Original Work:
+
+- use the Work in any circumstance and for all usage,
+- reproduce the Work,
+- modify the Work, and make Derivative Works based upon the Work,
+- communicate to the public, including the right to make available or display
+ the Work or copies thereof to the public and perform publicly, as the case may
+ be, the Work,
+- distribute the Work or copies thereof,
+- lend and rent the Work or copies thereof,
+- sublicense rights in the Work or copies thereof.
+
+Those rights can be exercised on any media, supports and formats, whether now
+known or later invented, as far as the applicable law permits so.
+
+In the countries where moral rights apply, the Licensor waives his right to
+exercise his moral right to the extent allowed by law in order to make effective
+the licence of the economic rights here above listed.
+
+The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to
+any patents held by the Licensor, to the extent necessary to make use of the
+rights granted on the Work under this Licence.
+
+3. Communication of the Source Code
+
+The Licensor may provide the Work either in its Source Code form, or as
+Executable Code. If the Work is provided as Executable Code, the Licensor
+provides in addition a machine-readable copy of the Source Code of the Work
+along with each copy of the Work that the Licensor distributes or indicates, in
+a notice following the copyright notice attached to the Work, a repository where
+the Source Code is easily and freely accessible for as long as the Licensor
+continues to distribute or communicate the Work.
+
+4. Limitations on copyright
+
+Nothing in this Licence is intended to deprive the Licensee of the benefits from
+any exception or limitation to the exclusive rights of the rights owners in the
+Work, of the exhaustion of those rights or of other applicable limitations
+thereto.
+
+5. Obligations of the Licensee
+
+The grant of the rights mentioned above is subject to some restrictions and
+obligations imposed on the Licensee. Those obligations are the following:
+
+Attribution right: The Licensee shall keep intact all copyright, patent or
+trademarks notices and all notices that refer to the Licence and to the
+disclaimer of warranties. The Licensee must include a copy of such notices and a
+copy of the Licence with every copy of the Work he/she distributes or
+communicates. The Licensee must cause any Derivative Work to carry prominent
+notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes or communicates copies of the
+Original Works or Derivative Works, this Distribution or Communication will be
+done under the terms of this Licence or of a later version of this Licence
+unless the Original Work is expressly distributed only under this version of the
+Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee
+(becoming Licensor) cannot offer or impose any additional terms or conditions on
+the Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes or Communicates Derivative
+Works or copies thereof based upon both the Work and another work licensed under
+a Compatible Licence, this Distribution or Communication can be done under the
+terms of this Compatible Licence. For the sake of this clause, ‘Compatible
+Licence’ refers to the licences listed in the appendix attached to this Licence.
+Should the Licensee's obligations under the Compatible Licence conflict with
+his/her obligations under this Licence, the obligations of the Compatible
+Licence shall prevail.
+
+Provision of Source Code: When distributing or communicating copies of the Work,
+the Licensee will provide a machine-readable copy of the Source Code or indicate
+a repository where this Source will be easily and freely available for as long
+as the Licensee continues to distribute or communicate the Work.
+
+Legal Protection: This Licence does not grant permission to use the trade names,
+trademarks, service marks, or names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the copyright notice.
+
+6. Chain of Authorship
+
+The original Licensor warrants that the copyright in the Original Work granted
+hereunder is owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each Contributor warrants that the copyright in the modifications he/she brings
+to the Work are owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each time You accept the Licence, the original Licensor and subsequent
+Contributors grant You a licence to their contributions to the Work, under the
+terms of this Licence.
+
+7. Disclaimer of Warranty
+
+The Work is a work in progress, which is continuously improved by numerous
+Contributors. It is not a finished work and may therefore contain defects or
+‘bugs’ inherent to this type of development.
+
+For the above reason, the Work is provided under the Licence on an ‘as is’ basis
+and without warranties of any kind concerning the Work, including without
+limitation merchantability, fitness for a particular purpose, absence of defects
+or errors, accuracy, non-infringement of intellectual property rights other than
+copyright as stated in Article 6 of this Licence.
+
+This disclaimer of warranty is an essential part of the Licence and a condition
+for the grant of any rights to the Work.
+
+8. Disclaimer of Liability
+
+Except in the cases of wilful misconduct or damages directly caused to natural
+persons, the Licensor will in no event be liable for any direct or indirect,
+material or moral, damages of any kind, arising out of the Licence or of the use
+of the Work, including without limitation, damages for loss of goodwill, work
+stoppage, computer failure or malfunction, loss of data or any commercial
+damage, even if the Licensor has been advised of the possibility of such damage.
+However, the Licensor will be liable under statutory product liability laws as
+far such laws apply to the Work.
+
+9. Additional agreements
+
+While distributing the Work, You may choose to conclude an additional agreement,
+defining obligations or services consistent with this Licence. However, if
+accepting obligations, You may act only on your own behalf and on your sole
+responsibility, not on behalf of the original Licensor or any other Contributor,
+and only if You agree to indemnify, defend, and hold each Contributor harmless
+for any liability incurred by, or claims asserted against such Contributor by
+the fact You have accepted any warranty or additional liability.
+
+10. Acceptance of the Licence
+
+The provisions of this Licence can be accepted by clicking on an icon ‘I agree’
+placed under the bottom of a window displaying the text of this Licence or by
+affirming consent in any other similar way, in accordance with the rules of
+applicable law. Clicking on that icon indicates your clear and irrevocable
+acceptance of this Licence and all of its terms and conditions.
+
+Similarly, you irrevocably accept this Licence and all of its terms and
+conditions by exercising any rights granted to You by Article 2 of this Licence,
+such as the use of the Work, the creation by You of a Derivative Work or the
+Distribution or Communication by You of the Work or copies thereof.
+
+11. Information to the public
+
+In case of any Distribution or Communication of the Work by means of electronic
+communication by You (for example, by offering to download the Work from a
+remote location) the distribution channel or media (for example, a website) must
+at least provide to the public the information requested by the applicable law
+regarding the Licensor, the Licence and the way it may be accessible, concluded,
+stored and reproduced by the Licensee.
+
+12. Termination of the Licence
+
+The Licence and the rights granted hereunder will terminate automatically upon
+any breach by the Licensee of the terms of the Licence.
+
+Such a termination will not terminate the licences of any person who has
+received the Work from the Licensee under the Licence, provided such persons
+remain in full compliance with the Licence.
+
+13. Miscellaneous
+
+Without prejudice of Article 9 above, the Licence represents the complete
+agreement between the Parties as to the Work.
+
+If any provision of the Licence is invalid or unenforceable under applicable
+law, this will not affect the validity or enforceability of the Licence as a
+whole. Such provision will be construed or reformed so as necessary to make it
+valid and enforceable.
+
+The European Commission may publish other linguistic versions or new versions of
+this Licence or updated versions of the Appendix, so far this is required and
+reasonable, without reducing the scope of the rights granted by the Licence. New
+versions of the Licence will be published with a unique version number.
+
+All linguistic versions of this Licence, approved by the European Commission,
+have identical value. Parties can take advantage of the linguistic version of
+their choice.
+
+14. Jurisdiction
+
+Without prejudice to specific agreement between parties,
+
+- any litigation resulting from the interpretation of this License, arising
+ between the European Union institutions, bodies, offices or agencies, as a
+ Licensor, and any Licensee, will be subject to the jurisdiction of the Court
+ of Justice of the European Union, as laid down in article 272 of the Treaty on
+ the Functioning of the European Union,
+
+- any litigation arising between other parties and resulting from the
+ interpretation of this License, will be subject to the exclusive jurisdiction
+ of the competent court where the Licensor resides or conducts its primary
+ business.
+
+15. Applicable Law
+
+Without prejudice to specific agreement between parties,
+
+- this Licence shall be governed by the law of the European Union Member State
+ where the Licensor has his seat, resides or has his registered office,
+
+- this licence shall be governed by Belgian law if the Licensor has no seat,
+ residence or registered office inside a European Union Member State.
+
+Appendix
+
+‘Compatible Licences’ according to Article 5 EUPL are:
+
+- GNU General Public License (GPL) v. 2, v. 3
+- GNU Affero General Public License (AGPL) v. 3
+- Open Software License (OSL) v. 2.1, v. 3.0
+- Eclipse Public License (EPL) v. 1.0
+- CeCILL v. 2.0, v. 2.1
+- Mozilla Public Licence (MPL) v. 2
+- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
+- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for
+ works other than software
+- European Union Public Licence (EUPL) v. 1.1, v. 1.2
+- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong
+ Reciprocity (LiLiQ-R+).
+
+The European Commission may update this Appendix to later versions of the above
+licences without producing a new version of the EUPL, as long as they provide
+the rights granted in Article 2 of this Licence and protect the covered Source
+Code from exclusive appropriation.
+
+All other changes or additions to this Appendix require the production of a new
+EUPL version.
diff --git a/graphics/minim-hatching/README b/graphics/minim-hatching/README
new file mode 100644
index 0000000000..8765322681
--- /dev/null
+++ b/graphics/minim-hatching/README
@@ -0,0 +1,24 @@
+Version: 2021/1.0
+
+SUMMARY
+
+This is a small proof-of-concept library of tiling patterns for use with the
+minim-mp MetaPost processor.
+
+
+DOCUMENTATION
+
+In order to obtain the typeset manual of this package, simply say:
+
+ luatex -fmt minim-mp minim-hatching-doc.mp
+
+
+COPYING
+
+(c) 2021 Esger Renkema
+
+These files may be distributed under the terms of the European Union Public
+Licence (EUPL) version 1.2 or later. A copy can be obtained at:
+
+https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+
diff --git a/graphics/minim-hatching/minim-hatching-doc.mp b/graphics/minim-hatching/minim-hatching-doc.mp
new file mode 100644
index 0000000000..6dcee18e28
--- /dev/null
+++ b/graphics/minim-hatching/minim-hatching-doc.mp
@@ -0,0 +1,117 @@
+
+%% This is the documentation of the minim-hatching pattern library. To typeset
+%% this file, say:
+%%
+%% luatex --fmt=minim-mp minim-hatching-doc.mp
+
+input minim-hatching
+
+verbatimtex
+% work around a bug: pdf.setnames will do nothing if this is not called at least once.
+\pdfextension names{} % (TODO: remove after bug is fixed).
+\font \titlf = {Latin Modern Roman Dunhill} at 12pt
+\font \mainf = {Latin Modern Roman Unslanted} at 10pt \mainf
+\parindent 0em \parskip 1em
+\rightskip 0em plus 2em
+\startmetadata
+ author {Esger Renkema}
+ title {minim-hatching}
+ date {2021-06-01}
+ version {2021/1.0}
+ keywords {MetaPost; tiling patterns}
+stopmetadata
+etex;
+
+def makepage = path page; page = unitsquare xscaled 210mm yscaled 297mm;
+ setbounds currentpicture to page shifted (-7.1cm, 4cm-297mm); enddef;
+def xyscaled expr p = xscaled xpart p yscaled ypart p enddef;
+
+pickup pencircle scaled 0.4pt; save p; picture p;
+save w, h, o; (w, h, o) = (2cm, 1cm, 3mm);
+
+def table(expr n)(text i)(text t) =
+ for d = t : x := 0;
+ for s = i :
+ if d = "=" : draw label(s) shifted (x+o, y+o);
+ else: filldraw unitsquare xscaled w yscaled h shifted (x,y)
+ withpattern(scantokens(s&" "&d&n)); fi
+ x := x + w;
+ endfor
+ patname(d, n)
+ y := y - h;
+ endfor enddef;
+def double(expr l, r) = y:=y-h;
+ filldraw unitsquare xscaled w yscaled h shifted (0,y)
+ withpattern(scantokens(l));
+ filldraw unitsquare xscaled w yscaled h shifted (w,y)
+ withpattern(scantokens(r));
+ draw label(l) shifted(2w+o, y+o);
+ draw label(r) shifted(3w+o, y+o); enddef;
+
+vardef label(expr t)=
+ save p; picture p; p := scantokens ("btex "&t&"\strut etex;");
+ setbounds p to unitsquare xyscaled urcorner p; p enddef;
+def patname(expr n, s) =
+ if n <> "=" : draw label(n&s) shifted(x+o, y+o); fi enddef;
+def titl(expr t) =
+ p := label("\titlf "&t);
+ draw p shifted ((-2o, y+o) - lrcorner p); enddef;
+
+beginfig(1) y := 0;
+ titl("Introduction");
+ p := btex \vtop{\hsize=9cm\noindent
+ This is a small library of monochrome patterns for the minim-mp metapost processor.
+ Load the patterns by saying \par
+ \strut \qquad input minim-hatching;\par
+ at the top of your metapost file or instance.\par
+ I recommend printing this file, as patterns do not always display well on a computer screen.
+ } etex shifted (0,o);
+ draw p; y := y - ypart (urcorner p - lrcorner p) - h;
+ titl("Line patterns");
+ table(" lines")("", "dense")
+ ("=", "horizontal", "vertical", "upward", "downward", "broken");
+ titl("Zigzag patterns");
+ table("zigzag")("horizontal", "vertical")
+ ("=", "" );
+ titl("Grid patterns");
+ table(" grid")("", "dense")
+ ("=", "", "upward", "downward", "diagonal", "horizontal", "vertical");
+makepage endfig;
+
+verbatimtex \embedfile
+ global file {EUPL-1.2-EN.txt}
+ desc {Licence for this package (EUPL).}
+ name LICENCE mimetype text/plain
+ relation Unspecified uncompressed etex;
+
+beginfig(1) y := 0;
+ titl("Dot patterns");
+ table(" dots")("sparse", "", "dense")
+ ("=", "", "square", "diamond", "heavy", "square heavy", "diamond heavy");
+ titl("Cloth patterns");
+ double("knit", "purl")
+ double("weave", "dense weave")
+ double("stitches", "crosses")
+ double("chords", "tea cloth")
+ y:=y-h; titl("Circle patterns");
+ table("")("", "small")
+ ("=", "circles", "square circles", "hexagons", "scales");
+ titl("Stone patterns");
+ double("bricks", "tiles");
+ y:=y-2h; titl("Licence");
+ p := btex
+ \vtop{\hsize=9cm\noindent
+ This package may be distributed under the terms of the European Union Public
+ Licence (EUPL) version 1.2 or later. An english version of this licence has
+ been included as an attachment to this file; copies in other languages can be
+ obtained at
+ $$\hbox to \hsize{\hss\hyperlink
+ url {https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12}\relax
+ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\endlink\hss}$$
+ } etex shifted (0,y+o);
+ draw p;
+makepage endfig;
+
+bye;
+
+
diff --git a/graphics/minim-hatching/minim-hatching-doc.pdf b/graphics/minim-hatching/minim-hatching-doc.pdf
new file mode 100644
index 0000000000..333a6b074f
--- /dev/null
+++ b/graphics/minim-hatching/minim-hatching-doc.pdf
@@ -0,0 +1,1402 @@
+%PDF-1.5
+%
+1 0 obj
+<< /Type/EmbeddedFile /Subtype/text#2Fplain /Length 13827 >>
+stream
+ EUROPEAN UNION PUBLIC LICENCE v. 1.2
+ EUPL © the European Union 2007, 2016
+
+This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined
+below) which is provided under the terms of this Licence. Any use of the Work,
+other than as authorised under this Licence is prohibited (to the extent such
+use is covered by a right of the copyright holder of the Work).
+
+The Work is provided under the terms of this Licence when the Licensor (as
+defined below) has placed the following notice immediately following the
+copyright notice for the Work:
+
+ Licensed under the EUPL
+
+or has expressed by any other means his willingness to license under the EUPL.
+
+1. Definitions
+
+In this Licence, the following terms have the following meaning:
+
+- ‘The Licence’: this Licence.
+
+- ‘The Original Work’: the work or software distributed or communicated by the
+ Licensor under this Licence, available as Source Code and also as Executable
+ Code as the case may be.
+
+- ‘Derivative Works’: the works or software that could be created by the
+ Licensee, based upon the Original Work or modifications thereof. This Licence
+ does not define the extent of modification or dependence on the Original Work
+ required in order to classify a work as a Derivative Work; this extent is
+ determined by copyright law applicable in the country mentioned in Article 15.
+
+- ‘The Work’: the Original Work or its Derivative Works.
+
+- ‘The Source Code’: the human-readable form of the Work which is the most
+ convenient for people to study and modify.
+
+- ‘The Executable Code’: any code which has generally been compiled and which is
+ meant to be interpreted by a computer as a program.
+
+- ‘The Licensor’: the natural or legal person that distributes or communicates
+ the Work under the Licence.
+
+- ‘Contributor(s)’: any natural or legal person who modifies the Work under the
+ Licence, or otherwise contributes to the creation of a Derivative Work.
+
+- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of
+ the Work under the terms of the Licence.
+
+- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending,
+ renting, distributing, communicating, transmitting, or otherwise making
+ available, online or offline, copies of the Work or providing access to its
+ essential functionalities at the disposal of any other natural or legal
+ person.
+
+2. Scope of the rights granted by the Licence
+
+The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+sublicensable licence to do the following, for the duration of copyright vested
+in the Original Work:
+
+- use the Work in any circumstance and for all usage,
+- reproduce the Work,
+- modify the Work, and make Derivative Works based upon the Work,
+- communicate to the public, including the right to make available or display
+ the Work or copies thereof to the public and perform publicly, as the case may
+ be, the Work,
+- distribute the Work or copies thereof,
+- lend and rent the Work or copies thereof,
+- sublicense rights in the Work or copies thereof.
+
+Those rights can be exercised on any media, supports and formats, whether now
+known or later invented, as far as the applicable law permits so.
+
+In the countries where moral rights apply, the Licensor waives his right to
+exercise his moral right to the extent allowed by law in order to make effective
+the licence of the economic rights here above listed.
+
+The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to
+any patents held by the Licensor, to the extent necessary to make use of the
+rights granted on the Work under this Licence.
+
+3. Communication of the Source Code
+
+The Licensor may provide the Work either in its Source Code form, or as
+Executable Code. If the Work is provided as Executable Code, the Licensor
+provides in addition a machine-readable copy of the Source Code of the Work
+along with each copy of the Work that the Licensor distributes or indicates, in
+a notice following the copyright notice attached to the Work, a repository where
+the Source Code is easily and freely accessible for as long as the Licensor
+continues to distribute or communicate the Work.
+
+4. Limitations on copyright
+
+Nothing in this Licence is intended to deprive the Licensee of the benefits from
+any exception or limitation to the exclusive rights of the rights owners in the
+Work, of the exhaustion of those rights or of other applicable limitations
+thereto.
+
+5. Obligations of the Licensee
+
+The grant of the rights mentioned above is subject to some restrictions and
+obligations imposed on the Licensee. Those obligations are the following:
+
+Attribution right: The Licensee shall keep intact all copyright, patent or
+trademarks notices and all notices that refer to the Licence and to the
+disclaimer of warranties. The Licensee must include a copy of such notices and a
+copy of the Licence with every copy of the Work he/she distributes or
+communicates. The Licensee must cause any Derivative Work to carry prominent
+notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes or communicates copies of the
+Original Works or Derivative Works, this Distribution or Communication will be
+done under the terms of this Licence or of a later version of this Licence
+unless the Original Work is expressly distributed only under this version of the
+Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee
+(becoming Licensor) cannot offer or impose any additional terms or conditions on
+the Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes or Communicates Derivative
+Works or copies thereof based upon both the Work and another work licensed under
+a Compatible Licence, this Distribution or Communication can be done under the
+terms of this Compatible Licence. For the sake of this clause, ‘Compatible
+Licence’ refers to the licences listed in the appendix attached to this Licence.
+Should the Licensee's obligations under the Compatible Licence conflict with
+his/her obligations under this Licence, the obligations of the Compatible
+Licence shall prevail.
+
+Provision of Source Code: When distributing or communicating copies of the Work,
+the Licensee will provide a machine-readable copy of the Source Code or indicate
+a repository where this Source will be easily and freely available for as long
+as the Licensee continues to distribute or communicate the Work.
+
+Legal Protection: This Licence does not grant permission to use the trade names,
+trademarks, service marks, or names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the copyright notice.
+
+6. Chain of Authorship
+
+The original Licensor warrants that the copyright in the Original Work granted
+hereunder is owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each Contributor warrants that the copyright in the modifications he/she brings
+to the Work are owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each time You accept the Licence, the original Licensor and subsequent
+Contributors grant You a licence to their contributions to the Work, under the
+terms of this Licence.
+
+7. Disclaimer of Warranty
+
+The Work is a work in progress, which is continuously improved by numerous
+Contributors. It is not a finished work and may therefore contain defects or
+‘bugs’ inherent to this type of development.
+
+For the above reason, the Work is provided under the Licence on an ‘as is’ basis
+and without warranties of any kind concerning the Work, including without
+limitation merchantability, fitness for a particular purpose, absence of defects
+or errors, accuracy, non-infringement of intellectual property rights other than
+copyright as stated in Article 6 of this Licence.
+
+This disclaimer of warranty is an essential part of the Licence and a condition
+for the grant of any rights to the Work.
+
+8. Disclaimer of Liability
+
+Except in the cases of wilful misconduct or damages directly caused to natural
+persons, the Licensor will in no event be liable for any direct or indirect,
+material or moral, damages of any kind, arising out of the Licence or of the use
+of the Work, including without limitation, damages for loss of goodwill, work
+stoppage, computer failure or malfunction, loss of data or any commercial
+damage, even if the Licensor has been advised of the possibility of such damage.
+However, the Licensor will be liable under statutory product liability laws as
+far such laws apply to the Work.
+
+9. Additional agreements
+
+While distributing the Work, You may choose to conclude an additional agreement,
+defining obligations or services consistent with this Licence. However, if
+accepting obligations, You may act only on your own behalf and on your sole
+responsibility, not on behalf of the original Licensor or any other Contributor,
+and only if You agree to indemnify, defend, and hold each Contributor harmless
+for any liability incurred by, or claims asserted against such Contributor by
+the fact You have accepted any warranty or additional liability.
+
+10. Acceptance of the Licence
+
+The provisions of this Licence can be accepted by clicking on an icon ‘I agree’
+placed under the bottom of a window displaying the text of this Licence or by
+affirming consent in any other similar way, in accordance with the rules of
+applicable law. Clicking on that icon indicates your clear and irrevocable
+acceptance of this Licence and all of its terms and conditions.
+
+Similarly, you irrevocably accept this Licence and all of its terms and
+conditions by exercising any rights granted to You by Article 2 of this Licence,
+such as the use of the Work, the creation by You of a Derivative Work or the
+Distribution or Communication by You of the Work or copies thereof.
+
+11. Information to the public
+
+In case of any Distribution or Communication of the Work by means of electronic
+communication by You (for example, by offering to download the Work from a
+remote location) the distribution channel or media (for example, a website) must
+at least provide to the public the information requested by the applicable law
+regarding the Licensor, the Licence and the way it may be accessible, concluded,
+stored and reproduced by the Licensee.
+
+12. Termination of the Licence
+
+The Licence and the rights granted hereunder will terminate automatically upon
+any breach by the Licensee of the terms of the Licence.
+
+Such a termination will not terminate the licences of any person who has
+received the Work from the Licensee under the Licence, provided such persons
+remain in full compliance with the Licence.
+
+13. Miscellaneous
+
+Without prejudice of Article 9 above, the Licence represents the complete
+agreement between the Parties as to the Work.
+
+If any provision of the Licence is invalid or unenforceable under applicable
+law, this will not affect the validity or enforceability of the Licence as a
+whole. Such provision will be construed or reformed so as necessary to make it
+valid and enforceable.
+
+The European Commission may publish other linguistic versions or new versions of
+this Licence or updated versions of the Appendix, so far this is required and
+reasonable, without reducing the scope of the rights granted by the Licence. New
+versions of the Licence will be published with a unique version number.
+
+All linguistic versions of this Licence, approved by the European Commission,
+have identical value. Parties can take advantage of the linguistic version of
+their choice.
+
+14. Jurisdiction
+
+Without prejudice to specific agreement between parties,
+
+- any litigation resulting from the interpretation of this License, arising
+ between the European Union institutions, bodies, offices or agencies, as a
+ Licensor, and any Licensee, will be subject to the jurisdiction of the Court
+ of Justice of the European Union, as laid down in article 272 of the Treaty on
+ the Functioning of the European Union,
+
+- any litigation arising between other parties and resulting from the
+ interpretation of this License, will be subject to the exclusive jurisdiction
+ of the competent court where the Licensor resides or conducts its primary
+ business.
+
+15. Applicable Law
+
+Without prejudice to specific agreement between parties,
+
+- this Licence shall be governed by the law of the European Union Member State
+ where the Licensor has his seat, resides or has his registered office,
+
+- this licence shall be governed by Belgian law if the Licensor has no seat,
+ residence or registered office inside a European Union Member State.
+
+Appendix
+
+‘Compatible Licences’ according to Article 5 EUPL are:
+
+- GNU General Public License (GPL) v. 2, v. 3
+- GNU Affero General Public License (AGPL) v. 3
+- Open Software License (OSL) v. 2.1, v. 3.0
+- Eclipse Public License (EPL) v. 1.0
+- CeCILL v. 2.0, v. 2.1
+- Mozilla Public Licence (MPL) v. 2
+- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
+- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for
+ works other than software
+- European Union Public Licence (EUPL) v. 1.1, v. 1.2
+- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong
+ Reciprocity (LiLiQ-R+).
+
+The European Commission may update this Appendix to later versions of the above
+licences without producing a new version of the EUPL, as long as they provide
+the rights granted in Article 2 of this Licence and protect the covered Source
+Code from exclusive appropriation.
+
+All other changes or additions to this Appendix require the production of a new
+EUPL version.
+
+endstream
+endobj
+5 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 6 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+7 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 8 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+9 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 10 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+11 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 12 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+13 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 14 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+15 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 16 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+17 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 18 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+19 0 obj
+<< /Subtype/Form /BBox [ 0 -1 100 1 ] /Resources 20 0 R /Filter /FlateDecode /Length 45 >>
+stream
+x+23P(24PU0Tb/.\C
+endstream
+endobj
+21 0 obj
+<< /Subtype/Form /BBox [ -2.199 -2.199 20.574 7.449 ] /Resources 22 0 R /Filter /FlateDecode /Length 68 >>
+stream
+x+23P(24PU0Tb/.\C=S #+\TTB
+
+endstream
+endobj
+23 0 obj
+<< /Subtype/Form /BBox [ -2.199 -2.199 19.699 5.699 ] /Resources 24 0 R /Filter /FlateDecode /Length 62 >>
+stream
+x+23P(24PU0Tb/.\C=S #+\(3R &H6
+endstream
+endobj
+25 0 obj
+<< /Subtype/Form /BBox [ 0 0 5.25 5.25 ] /Resources 26 0 R /Filter /FlateDecode /Length 63 >>
+stream
+x+23P(24PU0Tb/.#=3#S\S= pUsA * ,:@.
+endstream
+endobj
+27 0 obj
+<< /Subtype/Form /BBox [ 0 0 3.5 3.5 ] /Resources 28 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+23P(24PU0Tb/.C=sS\c=S3+ ,b
+endstream
+endobj
+29 0 obj
+<< /Subtype/Form /BBox [ 0 0 5.25 5.25 ] /Resources 30 0 R /Filter /FlateDecode /Length 63 >>
+stream
+x+23P(24PU0Tb/.#=3#S\S= pUsA * ,:@.
+endstream
+endobj
+31 0 obj
+<< /Subtype/Form /BBox [ 0 0 3.5 3.5 ] /Resources 32 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+23P(24PU0Tb/.C=sS\c=S3+ ,b
+endstream
+endobj
+33 0 obj
+<< /Subtype/Form /BBox [ 0 0 5.25 5.25 ] /Resources 34 0 R /Filter /FlateDecode /Length 63 >>
+stream
+x+23P(24PU0Tb/.#=3#S\S= pUsA * ,:@.
+endstream
+endobj
+35 0 obj
+<< /Subtype/Form /BBox [ 0 0 3.5 3.5 ] /Resources 36 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+23P(24PU0Tb/.C=sS\c=S3+ ,b
+endstream
+endobj
+37 0 obj
+<< /Subtype/Form /BBox [ 0 0 5.25 5.25 ] /Resources 38 0 R /Filter /FlateDecode /Length 63 >>
+stream
+x+23P(24PU0Tb/.#=3#S\S= pUsA * ,:@.
+endstream
+endobj
+39 0 obj
+<< /Subtype/Form /BBox [ 0 0 3.5 3.5 ] /Resources 40 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+23P(24PU0Tb/.C=sS\c=S3+ ,b
+endstream
+endobj
+41 0 obj
+<< /Subtype/Form /BBox [ 0 0 5.25 5.25 ] /Resources 42 0 R /Filter /FlateDecode /Length 63 >>
+stream
+x+23P(24PU0Tb/.#=3#S\S= pUsA * ,:@.
+endstream
+endobj
+43 0 obj
+<< /Subtype/Form /BBox [ 0 0 5.25 5.25 ] /Resources 44 0 R /Filter /FlateDecode /Length 63 >>
+stream
+x+23P(24PU0Tb/.#=3#S\S= pUsA * ,:@.
+endstream
+endobj
+45 0 obj
+<< /Subtype/Form /BBox [ 0 0 3.5 3.5 ] /Resources 46 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+23P(24PU0Tb/.C=sS\c=S3+ ,b
+endstream
+endobj
+47 0 obj
+<< /Subtype/Form /BBox [ 0 0 3.5 3.5 ] /Resources 48 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+23P(24PU0Tb/.C=sS\c=S3+ ,b
+endstream
+endobj
+49 0 obj
+<< /Subtype/Form /BBox [ -1.699 -1.699 6.949 6.949 ] /Resources 50 0 R /Filter /FlateDecode /Length 84 >>
+stream
+x+23P(24PU0Tb/.]C=S\ W13IÙ(*M:s Ir\V"@.
+endstream
+endobj
+51 0 obj
+<< /Subtype/Form /BBox [ -3.199 -3.199 8.449 8.449 ] /Resources 52 0 R /Filter /FlateDecode /Length 80 >>
+stream
+x+23P(24PU0Tb/.]c\c`.)P
+@5
+
+endstream
+endobj
+53 0 obj
+<< /Subtype/Form /BBox [ -1.699 -1.699 5.199 5.199 ] /Resources 54 0 R /Filter /FlateDecode /Length 76 >>
+stream
+x+23P(24PU0Tb/.]C=S\ W1X(F@M
+@E(!:
+endstream
+endobj
+55 0 obj
+<< /Subtype/Form /BBox [ 0 -0.875 10.5 4.375 ] /Resources 56 0 R /Filter /FlateDecode /Length 58 >>
+stream
+x+23P(24PU0Tb/.\S=#Sc=SC e
+H
+endstream
+endobj
+57 0 obj
+<< /Subtype/Form /BBox [ -0.875 0 4.375 10.5 ] /Resources 58 0 R /Filter /FlateDecode /Length 57 >>
+stream
+x+23P(24PU0Tb/.\c=SS=#S
+
+
+H
+endstream
+endobj
+59 0 obj
+<< /Subtype/Form /BBox [ 0 0 5.25 5.25 ] /Resources 60 0 R /Filter /FlateDecode /Length 62 >>
+stream
+x+23P(24PU0Tb/.c=#S`g!dW0\ TD "R
+endstream
+endobj
+61 0 obj
+<< /Subtype/Form /BBox [ -0.199 -0.199 15.551 10.301 ] /Resources 62 0 R /Filter /FlateDecode /Length 107 >>
+stream
+x] 0EL
+&w0IO/E`-/BIR*(Ji`1~?;`Ya\P𰞁QW{r[m#_ng$
+endstream
+endobj
+63 0 obj
+<< /Subtype/Form /BBox [ -0.199 -0.199 10.301 10.301 ] /Resources 64 0 R /Filter /FlateDecode /Length 149 >>
+stream
+xڭP1
+0 @T!t߯ЩI'BN]׮j/|d2E*@{&y<Y4Ab +v _WެU8c᭓5fWoy0H.Wfz&PP
+endstream
+endobj
+65 0 obj
+<< /Subtype/Form /BBox [ -1.927 -11.999 8.227 2.899 ] /Resources 66 0 R /Filter /FlateDecode /Length 101 >>
+stream
+x=1
+A {BX8t+R B#+kaxe靖/G@;{Zx㺑 -\evJzc
+endstream
+endobj
+67 0 obj
+<< /Subtype/Form /BBox [ -0.492 -0.492 6.398 6.398 ] /Resources 68 0 R /Filter /FlateDecode /Length 107 >>
+stream
+x+2г0Q(24PU0Tb/.c=Kc 
+k2P0
+endstream
+endobj
+69 0 obj
+<< /Subtype/Form /BBox [ -4.137 -0.199 4.137 8.074 ] /Resources 70 0 R /Filter /FlateDecode /Length 101 >>
+stream
+xM;
+@ Db.`H XGNfAd)I8ΆTBqx.Oq[4EʇK;(%LCJ06:4)
+endstream
+endobj
+71 0 obj
+<< /Subtype/Form /BBox [ -0.199 -2.824 12.012 8.074 ] /Resources 72 0 R /Filter /FlateDecode /Length 135 >>
+stream
+x= 0 D{Mq @>+pdw]!"9w|'OR {g3;(vTJdzCtqX7&JKά!Vvha R\Eٯ6#>
++
+endstream
+endobj
+73 0 obj
+<< /Subtype/Form /BBox [ -0.199 -0.199 11.613 13.441 ] /Resources 74 0 R /Filter /FlateDecode /Length 92 >>
+stream
+xM 0 D{OqXN b 
+*RWӻ;HXpRH");:%2NH9O4T:C-_[ȽÅ.0
+endstream
+endobj
+75 0 obj
+<< /Subtype/Form /BBox [ -0.199 -0.199 7.676 8.894 ] /Resources 76 0 R /Filter /FlateDecode /Length 93 >>
+stream
+xMQ
+0 C{Z?[[~Bs]
+v(F=nt,59'$P6Y4Vi"
+endstream
+endobj
+77 0 obj
+<< /Subtype/Form /BBox [ -7.875 -7.875 7.875 7.875 ] /Resources 78 0 R /Filter /FlateDecode /Length 133 >>
+stream
+x]A ~~`ڐ/D!oV~(sx?]2~<%-fx*8RՏ%bYSt޽Jпs
+%Ǡ%q
+endstream
+endobj
+79 0 obj
+<< /Subtype/Form /BBox [ -5.25 -5.25 5.25 5.25 ] /Resources 80 0 R /Filter /FlateDecode /Length 132 >>
+stream
+x]A D=\D 'a\x} B]Pyׄǎ_~MN*9sBpQ"5U~*A<<٢xVpzʌ;>,n݌|xfG7 A
+endstream
+endobj
+81 0 obj
+<< /Subtype/Form /BBox [ -4.137 -4.137 10.957 8.074 ] /Resources 82 0 R /Filter /FlateDecode /Length 248 >>
+stream
+x]Q;nD1}
+.
+)7$+0 E%3dUc3^Sx?{?Rxw=.kAzsL z7}h8?(z1Ǟ/<ZuJ<=τh0FJ-gukF2C2c+ZVKyUDXP亅hn+ݼ [q3ZRa2HGh}rk;-_ה}fy,i'Bn
+endstream
+endobj
+83 0 obj
+<< /Subtype/Form /BBox [ -2.824 -2.824 7.371 5.449 ] /Resources 84 0 R /Filter /FlateDecode /Length 245 >>
+stream
+x]P;n1}
+.`d
+R EzE"W+0 I;9 IB}5
+j5r'T^׬}^{?wi<h̀?hzQ?F>gu"dS֮ܵsH9w1*hKcXxX/m2c4<@@X^# XernUޭ806=XhMcUۏs_%|
+endstream
+endobj
+85 0 obj
+<< /Subtype/Form /BBox [ -4.137 -4.137 8.074 4.137 ] /Resources 86 0 R /Filter /FlateDecode /Length 156 >>
+stream
+x]K! HPt+45EW~6v!70IS@dcė&'z"qWV`HK52Xtm䏷-`O+$&Ȕc}ڒXmwmԽLMTSZuBFC
+endstream
+endobj
+87 0 obj
+<< /Subtype/Form /BBox [ -2.824 -2.824 5.449 2.824 ] /Resources 88 0 R /Filter /FlateDecode /Length 157 >>
+stream
+x]A!E HT
+MhzwMfU_tPx$iq1"ܜOȩ@L,<^yV
+}VZNa?.fwϵ f(ItRUu⨺ݗwg
+4QEɘ[\Q
+=dJSp_[!B
+endstream
+endobj
+89 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 7.848 5.629 ] /Resources 90 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+234S(24PU0Tb/.\ Wegd`g`lEr
+endstream
+endobj
+91 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 6.098 4.618 ] /Resources 92 0 R /Filter /FlateDecode /Length 59 >>
+stream
+x+234S(24PU0Tb/.\ Weg`g`dDAJ
+endstream
+endobj
+93 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 10.473 7.144 ] /Resources 94 0 R /Filter /FlateDecode /Length 62 >>
+stream
+x+234S(24PU0Tb/.\ Wegan`gjbF恔r
+endstream
+endobj
+95 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 2.598 2.598 ] /Resources 96 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234S(24PU0Tb/.\
+endstream
+endobj
+97 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 2.598 2.598 ] /Resources 98 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234S(24PU0Tb/.\
+endstream
+endobj
+99 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 2.598 2.598 ] /Resources 100 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234S(24PU0Tb/.\
+endstream
+endobj
+101 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 2.598 2.598 ] /Resources 102 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234S(24PU0Tb/.\
+endstream
+endobj
+103 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 2.598 2.598 ] /Resources 104 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234S(24PU0Tb/.\
+endstream
+endobj
+105 0 obj
+<< /Subtype/Form /BBox [ -2.598 -2.598 2.598 2.598 ] /Resources 106 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234S(24PU0Tb/.\
+endstream
+endobj
+107 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 8.147 5.928 ] /Resources 108 0 R /Filter /FlateDecode /Length 61 >>
+stream
+x+234V(24PU0Tb/.\ Wegd`g`lEr
+endstream
+endobj
+109 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 6.397 4.917 ] /Resources 110 0 R /Filter /FlateDecode /Length 59 >>
+stream
+x+234V(24PU0Tb/.\ Weg`g`dDAJ
+endstream
+endobj
+111 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 10.772 7.443 ] /Resources 112 0 R /Filter /FlateDecode /Length 62 >>
+stream
+x+234V(24PU0Tb/.\ Wegan`gjbF恔r
+endstream
+endobj
+113 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 2.897 2.897 ] /Resources 114 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234V(24PU0Tb/.\
+endstream
+endobj
+115 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 2.897 2.897 ] /Resources 116 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234V(24PU0Tb/.\
+endstream
+endobj
+117 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 2.897 2.897 ] /Resources 118 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234V(24PU0Tb/.\
+endstream
+endobj
+119 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 2.897 2.897 ] /Resources 120 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234V(24PU0Tb/.\
+endstream
+endobj
+121 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 2.897 2.897 ] /Resources 122 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234V(24PU0Tb/.\
+endstream
+endobj
+123 0 obj
+<< /Subtype/Form /BBox [ -2.897 -2.897 2.897 2.897 ] /Resources 124 0 R /Filter /FlateDecode /Length 43 >>
+stream
+x+234V(24PU0Tb/.\
+endstream
+endobj
+129 0 obj
+<< /Filter /FlateDecode /Length 1629 >>
+stream
+xڽۊ#7zku>0Ǚ.]$2 a.)TR[m32.WW*I-)!r̫PA?X&8 L2\L1dcH`ӓeRhjh~{H;?
+h1ګk6GkKuKo6{}ͣA\Tqc2]X©Zb) #çoX~do/?R//8Jeʬ.wk2LB@":Ta>+U\k,f'Dŧ=Oc-S+iM@*Glil
+i qz9PȭT) 5y=2,,i}1
+ {6Gk\r?;GT}Q Oy</Y8\{};.h`tEx >貈hz\[U5U\_rm~.Nt܏RxZe#qͮMiz9Iq.z4j Wx_{/mA) "d:5Uo@x=:1NX
+Z8Up\ 'x[{/aKG* "ؑd:ٛ&V FXΙXaC :lZl VڥOU{!mo+<0[(2{+{MkzyIB|/R
+/r*j˃@eŎ&#VkkhހzuCV~7Z4vb{۱~;ѯN
+endstream
+endobj
+135 0 obj
+<< /Filter /FlateDecode /Length 2094 >>
+stream
+xڽZj\7ߧ8/M@!Johԁ~#f#yϮػ3ҧ4V,<Er]p|{9}g~:
+ƷEa !J.g\,Bߋ<#F5^s.O*} W+Q37+sVV+##H7:Zz4!SQkXݜBys)_
+R1xb먾a#vϑ!A+>;g"DYvXϙ=@FKx
+!Xq i5u`հ iYcW؃mk潘gRF3Ԗ`Ý}["- 4aQn8Bzi8tKPkLЮeb&!v\0BpI)&hKf5L:}K |pWf1c喎[+z-Mڄp趂ס+ *t;B,@\f-[gp- ߖk*A4a>wo]8rG#hUq
+ASڣ6魪])UV9G#9"iiJ7GCv;UR`7[H>a2W ݪmrU$]o#hYjUzHX"q7ظ<TÄwj =l2CNjNQ1]> !ށlvyk7>YQh_K~E!qчDZ:T(c~dp$xʾh(tNO(fRq:=,/n>>4ӪZZN. ['vkSx!+C =ޭ;
+"^RAwYxO!I`b=[,q2qKCJtNJhmޚ;
+$04KU}
+$]CEЬ(7tlTjݧɉ
+:|J4nf؍3GkcӶgeoH̅{!Xq$=ZuQTNvK_y6Vep0"% iL SJoc[ =MJp躂Mty:L:/e@Ky5ש6j-dVAyYwTVBx7'zEre}𚸠!Ub␨,Qb1&QUv[8*CdZ ܽIU{W[?9Kڲ8HCءcߦ'Sg]MQ\ڰlC~Q(pH8qzW⬄*9:Ƈp1@J*.D5rZ)6ȨymI[N=^!>TqlhL`E
+'6%NHmvT,4%=8/Â3
+endstream
+endobj
+137 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 5.250000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 0.86603 -0.5 0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 17 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+138 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 5.250000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 5 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+139 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ -2.598 -2.598 2.598 2.598 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 97 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+140 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 10.500000 /YStep 6.062160
+/BBox [ -2.897 -2.897 8.147 5.928 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 107 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+141 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 9.093290 /YStep 5.250000
+/BBox [ -2.824 -2.824 7.371 5.449 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 83 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+142 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 10.500000 /YStep 10.500000
+/BBox [ -1.699 -1.699 6.949 6.949 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 49 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+143 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 7.875000
+/BBox [ -4.137 -4.137 8.074 4.137 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 85 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+144 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ 0 0 3.5 3.5 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 39 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+145 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 7.875000
+/BBox [ -2.897 -2.897 2.897 2.897 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 123 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+146 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ -2.598 -2.598 2.598 2.598 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 101 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+147 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ 0 0 5.25 5.25 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 37 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+148 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ 0 0 3.5 3.5 ]
+/Matrix [ 0.86603 -0.5 0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 35 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+149 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ -5.25 -5.25 5.25 5.25 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 79 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+150 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ 0 0 3.5 3.5 ]
+/Matrix [ 0.86603 0.5 -0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 31 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+151 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 7.875000
+/BBox [ -7.875 -7.875 7.875 7.875 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 77 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+152 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 14.000000 /YStep 7.000000
+/BBox [ -2.199 -2.199 19.699 5.699 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 23 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+153 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ -2.897 -2.897 2.897 2.897 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 119 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+154 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ -2.897 -2.897 2.897 2.897 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 117 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+155 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 3.500000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 0 -1 1 0 0 0 ] /Resources << /XObject << /PTempl 11 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+156 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ -2.897 -2.897 2.897 2.897 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 113 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+157 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ -2.897 -2.897 2.897 2.897 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 115 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+158 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 15.750000 /YStep 9.093250
+/BBox [ -2.897 -2.897 10.772 7.443 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 111 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+159 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.000000 /YStep 4.041440
+/BBox [ -2.897 -2.897 6.397 4.917 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 109 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+160 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 13.639940 /YStep 7.875000
+/BBox [ -4.137 -4.137 10.957 8.074 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 81 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+161 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 7.875000
+/BBox [ -2.598 -2.598 2.598 2.598 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 105 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+162 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 10.500000 /YStep 10.500000
+/BBox [ -0.199 -0.199 15.551 10.301 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 61 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+163 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 7.875000
+/BBox [ -2.598 -2.598 2.598 2.598 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 103 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+164 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 5.250000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 0.86603 0.5 -0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 13 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+165 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ 0 0 5.25 5.25 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 25 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+166 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 3.500000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 7 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+167 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ -2.598 -2.598 2.598 2.598 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 95 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+168 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 10.500000 /YStep 10.500000
+/BBox [ -0.199 -0.199 10.301 10.301 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 63 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+169 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 13.639900
+/BBox [ -0.199 -0.199 11.613 13.441 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 73 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+170 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ 0 0 5.25 5.25 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 59 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+171 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.000000 /YStep 7.000000
+/BBox [ -1.699 -1.699 5.199 5.199 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 53 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+172 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 5.250000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 0 -1 1 0 0 0 ] /Resources << /XObject << /PTempl 9 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+173 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ -2.824 -2.824 5.449 2.824 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 87 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+174 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 15.750000 /YStep 10.500000
+/BBox [ -2.199 -2.199 20.574 7.449 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 21 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+175 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 9.093200
+/BBox [ -0.199 -0.199 7.676 8.894 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 75 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+176 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ 0 0 3.5 3.5 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 27 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+177 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 3.500000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 0.86603 -0.5 0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 19 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+178 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ 0 0 5.25 5.25 ]
+/Matrix [ 0.7071 -1.06067 0.7071 1.06067 0 0 ] /Resources << /XObject << /PTempl 43 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+179 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ 0 0 5.25 5.25 ]
+/Matrix [ 1.06067 -0.7071 1.06067 0.7071 0 0 ] /Resources << /XObject << /PTempl 41 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+180 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ 0 0 5.25 5.25 ]
+/Matrix [ 0.86603 0.5 -0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 29 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+181 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.000000 /YStep 4.041440
+/BBox [ -2.598 -2.598 6.098 4.618 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 91 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+182 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 10.500000
+/BBox [ -0.199 -2.824 12.012 8.074 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 71 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+183 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 5.250000
+/BBox [ -4.137 -0.199 4.137 8.074 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 69 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+184 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 7.875000
+/BBox [ -2.897 -2.897 2.897 2.897 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 121 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+185 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 14.700040 /YStep 4.200010
+/BBox [ -1.927 -11.999 8.227 2.899 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 65 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+186 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 15.750000 /YStep 9.093250
+/BBox [ -2.598 -2.598 10.473 7.144 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 93 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+187 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 10.500000 /YStep 10.500000
+/BBox [ -3.199 -3.199 8.449 8.449 ]
+/Matrix [ 0.7071 -0.7071 0.7071 0.7071 0 0 ] /Resources << /XObject << /PTempl 51 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+188 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ 0 0 3.5 3.5 ]
+/Matrix [ 0.7071 -1.06067 0.7071 1.06067 0 0 ] /Resources << /XObject << /PTempl 47 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+189 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 10.500000 /YStep 6.062160
+/BBox [ -2.598 -2.598 7.848 5.629 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 89 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+190 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ -2.598 -2.598 2.598 2.598 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 99 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+191 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 7.875000 /YStep 7.875000
+/BBox [ -0.492 -0.492 6.398 6.398 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 67 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+192 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 10.500000
+/BBox [ -0.875 0 4.375 10.5 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 57 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+193 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 5.250000 /YStep 5.250000
+/BBox [ 0 0 5.25 5.25 ]
+/Matrix [ 0.86603 -0.5 0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 33 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+194 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 10.500000 /YStep 5.250000
+/BBox [ 0 -0.875 10.5 4.375 ]
+/Matrix [ 1 0 0 1 0 0 ] /Resources << /XObject << /PTempl 55 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+195 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 3.500000 /YStep 3.500000
+/BBox [ 0 0 3.5 3.5 ]
+/Matrix [ 1.06067 -0.7071 1.06067 0.7071 0 0 ] /Resources << /XObject << /PTempl 45 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+196 0 obj
+<< /PatternType 1 /PaintType 2 /TilingType 1 /XStep 100.000000 /YStep 3.500000
+/BBox [ 0 -1 100 1 ]
+/Matrix [ 0.86603 0.5 -0.5 0.86603 0 0 ] /Resources << /XObject << /PTempl 15 0 R >> >>
+ /Filter /FlateDecode /Length 18 >>
+stream
+xI-Qp
+endstream
+endobj
+199 0 obj
+<< /Type/Metadata /Subtype/XML /Length 1304 >>
+stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/">
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:creator>
+ <rdf:Seq>
+ <rdf:li>Esger Renkema</rdf:li>
+ </rdf:Seq>
+ </dc:creator>
+ <dc:date>
+ <rdf:Seq>
+ <rdf:li>2021-06-01</rdf:li>
+ </rdf:Seq>
+ </dc:date>
+ <dc:format>application/pdf</dc:format>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>MetaPost</rdf:li>
+ <rdf:li>tiling patterns</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">minim-hatching</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ </rdf:Description>
+ <rdf:Description rdf:about="" xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Keywords>MetaPost, tiling patterns</pdf:Keywords>
+ </rdf:Description>
+ <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/">
+ <xmp:CreateDate>2021-06-01</xmp:CreateDate>
+ <xmp:ModifyDate>2021-06-01</xmp:ModifyDate>
+ </rdf:Description>
+ <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
+ <xmpMM:VersionID>2021/1.0</xmpMM:VersionID>
+ </rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+<?xpacket end="r"?>
+endstream
+endobj
+202 0 obj
+<< /Filter /FlateDecode /Length 24 >>
+stream
+xc``M|=n;Z
+
+endstream
+endobj
+203 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5385 >>
+stream
+xڵY t[յ}0&$U肮i
+nE@u^]` !n' 889bΜZL)y`}LTdqQqL,,.,-,r=NiYQUDV"Y# WH
+I\V_P\!Q)VI]]RDY&,\zdF)yXZJOHRL}| e}iL^:Q5zbF /[3Es/[=PQJJdr.JQdꢪ'wvJ(˕Z
+2Ǎ[~ '\QP"bOcPQmϬSsF -¸LFw5#nݭCvusKUfJt7
+7^p?A`eцmΦľpwa PwT뗒 fJ.o }r7<{=K!5 ܂st9y4Ss)'n9mYzHTD=\?HM.}T j{ڊ
+L!Z>E7[U d3~`!j2o|W€?6)[V`EqN,>F^G4냼Y͕ H{TNº죀ʳY)
+F iiKD:('. A *1!D9rRfHbtqkgBګa4xNS/FA3l@snn6Li}P c˽rmi5Lf/܋Ji"sPD%itq~hwC+)4
+>kZ;
+Ux{6
+p-qg:zPVU뎗xU8 KbCG,b!/#gCN (.m{<u10|X(<Q^$@tN77(1٦|ol15㴘_%JmdJܑB@<,4\֣Ǘo(9>!%d,6 t+1 4 U3$@R^KK3ōyQӂJ\@1qQ? kkZb7+<YWX(LQt P/Kh}>ba
+XcqN=(
+c1/Q ϡ ג;SGײ4&ySt*8eܜ9X M8
+v$գeu?nTVըen};]̇3'C~+ŧւ)
+v
+~ٛr 1𓦃A2P^ew./\`63~=8tJPSV4rTu|x8{~8Q C7t=gӰʹlNƲj"[&OkߚT?(xyAuitA@p@G{^+P= lV([kZ 35?\n6:KXA;hmi3cN8Ha|9 
+Ff_aR Obn cFʭrF>]|0y_%O϶}{]:/P(6cT3by_;JkQr곦Gs ڲyu]'E@fuDnjc/k:Yu`x:M<:|w>J퐮uK[W)v+.YFSfrj9kqbO:\32z(`ibIm|A7&3 ~Md}0s*Í/+H$ҭAj`jjר ]>v^,wP;I緗k.wqj5x?6qMMg:zݝ ۚ8tcUVm<e }99~]3;aÊ>Cb4>G'_(XV ZZrJpd
+F
+6*ONfK\/;Weo 3!-`ƺ"UK{7}! !{7YB͹A :}ށҰ謰l9 cx!-.lkTef&d9`EYek6kaaȱx=Ҿv<xi.18hI[U}M;S*/&K[%A~Ax7`VBHoƌO23W6'ˑF`.)ukM- v,P-Ca*PR5v^([_0Gc|AH>*]3Iv]qяPAQ^`rRuMܐsN6@"7f/Bt9\ #-X/a ͙
+-9M|W領$Ա S&^eH-@S]M6Iy ) G;ޗ;e(Oi-{0
+
+ _8F wiԕ@nMtE"1<:oVPIU ;c_{zi*^x8Ԏ$9=}NF4pKGst[<pkg:P=`P $su_ GWv6vռ$
+ +lw0DL>i{%愯bw 8\ؓw.eoލm N31h^߯?
+-ښfanbHi`CEU ͦj g]bsm{f%ԡkfJ/Of]s-`[-wd
+_WF@T˂OSjH5|0Ow.႖̉E×>4f{;߫= Z/M%LP1]
+SƜuUV8ձTզ8S{pD2w>Xshe
+O+evh.Sdc7B'@W]IՔjȯ^R Pcҙ4PW CHWzO,:\wntb?;Q`kXgfnqƎũz'AzAQPd]Z폶;RSP}ec n=W"@s=sP9etn+w&ٹ| P*e >nlk:;6Y=$VM Tڦ+Ta]{?7)0x$h!ԔoXV\W]W,^%_X71`kuh$Y?Tv=^tk.(xN<1>:-ww0)?F|mDx?qtz[
+CB')ݚc5,e #0xw}ۍx:rd9I)ٝ;;w!kjt*)ϲĩ#`(\h2 x(˘u-37POxMՌ7~pSӾ/`h6x
+endstream
+endobj
+204 0 obj
+<< /Filter /FlateDecode /Length 572 >>
+stream
+xڍ[o0+H!Ź
+!(+md`#9~mZ$_<sff>䞳-u
+/yF˺/Wa}d];x^Uݙ*}ICԿtGa=7_˶jtϹݺ̄[!%IjȢ{ιyE}ěfcJ흳#bVVE9ywm;ձS61ULtIR'6e95x0&k~!6Xf7qmŎ#X/&/HDԴte>Tic44?Iy- Pb"EBdZ:2:J"(dk$H,R%
+9= 8Kh^
+<yuij zb^.eRAP2F A=
+P)PD$:/"s™@}12i zWif8%Hz/8#IxOB]9;v&G6̓Jl7ucw{) +Ko/:a
+endstream
+endobj
+208 0 obj
+<< /Filter /FlateDecode /Length 24 >>
+stream
+xc```0V0Ll`x
+endstream
+endobj
+209 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2797 >>
+stream
+x}W TW2 љ]|ۊ`@j
+j-Tz-uumnk۝ݶsn+\]1H4%8$ ")) mS(*ƹ`=,?d"i+.nww==Y:Yd
+9&S;w4ħ17LMbߊp)Ѣ>~~֪S34o\縜a7cڤDVna7!ta6Nac rU<gYVѲJZÆ%$jt&5
+BUı8%(al:EnLUhy,U(.uNQk"76 $4GWƫ5lB'OTi}~3 Qk5qEp"Ek26{|
+l%"cA&l+Ecr,SbX2 T 7$+IDruq"3?IKZ%('bF7Qao46c.JhB\"":AnQZ+8z_]}euݱ
+SոL<`ܘR&"J+{}#穚kƠs&FƟ:oŴ`Zˉ|ǧ΃VY 0" ySQD7̵SB˺
+QG=f`<NU
+o1avQ-_H'eCV<³p1\igO{&e3cM>(KL>qm/ C׃Y N!" =É }'F*)F'IcAM( /ZHC9ffJ<ĥzHDw42}W
+Bd|mNO!>
+Qq%Q'e4Ty
+$AogG
+M
+ -j.8r d@A,T<M)‘
+endstream
+endobj
+210 0 obj
+<< /Filter /FlateDecode /Length 475 >>
+stream
+xڍQ0)rmZkHAB]Tn&II%tCN?8~\ =RN AXm0kГiY+)c$F׿M+m~n
+US ?c2\kRzՄ g!./НPďRb#ypDhmWNN NYc&gg,$2'7WCiZ +C^EhP7s MUc<Z KgC t-/,8hA[)/bh $%Yk(.M"J,3j6H[Ԑf gɑ|O>QgV"=iq4,)uSGEJ9ǎ2</%>5/r/G|'&k/n"Akn-6Ur[_hm`&
+endstream
+endobj
+214 0 obj
+<< /Trapped /False >>
+endobj
+3 0 obj
+<< /Type /ObjStm /N 82 /First 646 /Filter /FlateDecode /Length 1752 >>
+stream
+xXnG}Wԣ4=}]dYtd (|ci6 A^ZZ'`!/էn]U'D |%(-Z+6V :VKǾTFMYK FURb*/ 2eتS^q8A-VX-Tbxm:@kxuxuZVg$
+
+)
+, ډ0`o\t -U"4x9M+K(1rhiKhF+ғモê)٬S9zsqvΧSQp˴;^WfvtFknۍM#?|'s:l]Oǫ/m
+N%hOg٠N՘SF
+8!sp`{dſt/~ <3;Q֐,Fv$b+{q1z1$$ZBnx,\iLV.w+!H|ܭՀ.i)p޼]RǗ&ݲ01U+ǚmaܳFv;S8W?4
+!)S:)Itrt?7hBZ8iVv) []<rtg<^'Qa
+S5Wqzp`)*L
+д;TŻO^ 꾻v 99HY=
+N@P!x끀 >WK8P+q?P88p}<&6ªx.(?Z~%ܧ7;,"}~cg5 ﻋ1w lL蝚6CA;-㢤_
+endstream
+endobj
+215 0 obj
+<< /Type /XRef /Index [ 0 216 ] /Size 216 /W [ 1 2 1 ] /Root 213 0 R /Info 214 0 R /ID [ <43A5AF486BCB81A60EC998573D907A2D> <43A5AF486BCB81A60EC998573D907A2D> ] /Filter /FlateDecode /Length 585 >>
+stream
+xyLq׳r E#GHrU?*]tP9rarLΑk9qg,Yl_c|{JB'9L!v qQqM⏚R.]YovcVٝ` f j̞4{bM3rif_ҾH`2 cnٟ
+sǘcXmea9E,bg\&PfNьbw=X^`FS=ɔ7c(?nNaE90stV63XUmƲڛққΜZbP3Jr%s]Y|Wk6km=b[/ֈ=bE)v{FbB)␛9.L)h8vX-N'S!t8%κ3s&q᫸$q9B\)Wĵۿo~~Pq', Dc[/E_%_<X/ֈGx!=2\/?Һֲ]9y K,Gk
+endstream
+endobj
+startxref
+61280
+%%EOF
diff --git a/graphics/minim-hatching/minim-hatching.mp b/graphics/minim-hatching/minim-hatching.mp
new file mode 100644
index 0000000000..559b812469
--- /dev/null
+++ b/graphics/minim-hatching/minim-hatching.mp
@@ -0,0 +1,225 @@
+
+%% To be used with the minim-mp metapost processor. See minim-hatching-doc.mp
+%% for an overview of the patterns defined below.
+
+
+% 1 definition macros
+
+def new_linepattern(suffix name)(expr sep, rot) =
+ beginpattern(name)
+ draw origin -- (100,0);
+ matrix = identity rotated rot;
+ setbounds currentpicture to unitsquare xscaled 100 yscaled 2 shifted (0, -1);
+ endpattern(100, sep);
+enddef;
+
+def new_dotpattern(suffix name)(expr r, sep, rot) =
+ beginpattern(name)
+ drawdot origin withpen pencircle scaled r;
+ matrix = identity rotated rot;
+ setbounds currentpicture to bbox currentpicture;
+ endpattern(sep,sep);
+enddef;
+
+def new_hexdotpattern(suffix name)(expr r, sep) =
+ beginpattern(name)
+ pickup pencircle scaled r;
+ drawdot origin; drawdot (sep, sep/sqrt(3));
+ setbounds currentpicture to bbox currentpicture;
+ endpattern(2sep,2sep/sqrt(3));
+enddef;
+
+def new_brokenlinepattern(suffix name)(expr sep, on, off) =
+ beginpattern(name)
+ draw (0,0) -- (on,0);
+ draw (on/2+off/2,sep) -- (3on/2+off/2,sep);
+ setbounds currentpicture to bbox currentpicture;
+ endpattern(on+off,2sep);
+enddef;
+
+def new_distortedgridpattern(suffix name)(expr sep, rot, x, y) =
+ beginpattern(name)
+ draw (0, sep/2) -- (sep, sep/2);
+ draw (sep/2, 0) -- (sep/2, sep);
+ matrix = identity xscaled x yscaled y rotated rot;
+ setbounds currentpicture to unitsquare scaled sep;
+ endpattern(sep,sep);
+enddef;
+def new_gridpattern(suffix name)(expr sep, rot) =
+ new_distortedgridpattern(name)(sep, rot, 1, 1) enddef;
+
+def new_weavepattern(suffix name)(expr sep, width) =
+ beginpattern(name)
+ matrix = identity rotated 45;
+ draw (0,-width)--(0,width);
+ draw (-width,sep)--(width,sep);
+ draw (sep-width,0)--(sep+width,0);
+ draw (sep,sep-width)--(sep,sep+width);
+ endpattern(2sep,2sep); enddef;
+
+def new_hexpattern(suffix name)(expr d) =
+ beginpattern(name)
+ save v,w; w:=d/2; v := w/sqrt(3); draw (w,4v) -- (w,6v);
+ draw (0,v) -- (w,0) -- (2w,v) -- (2w,3v) -- (w,4v) -- (0,3v);
+ setbounds currentpicture to unitsquare xscaled 3w yscaled 6v shifted linecorr;
+ endpattern(2w,6v); enddef;
+
+def new_circlepattern(suffix name)(expr d) =
+ beginpattern(name)
+ draw fullcircle scaled d;
+ draw fullcircle scaled d shifted (sqrt(3)/2*d,d/2);
+ endpattern(sqrt(3)*d,d); enddef;
+
+def new_scalepattern(suffix name)(expr d) =
+ beginpattern(name)
+ draw halfcircle scaled d rotated 180;
+ draw halfcircle scaled d rotated 180 shifted (d/2,d/2);
+ endpattern(d,d); enddef;
+
+def new_squarecirclepattern(suffix name)(expr d) =
+ beginpattern(name)
+ draw fullcircle scaled d;
+ setbounds currentpicture to unitsquare shifted -(1/2,1/2) scaled 2d;
+ endpattern(d,d); enddef;
+
+
+% 1 predefined patterns
+
+if known skip_predefined_patterns : expandafter endinput fi;
+
+begingroup save xl, l, s;
+2l = 3s; 2xl = 3l; s = 3.5;
+
+show s, l, xl;
+
+save linecorr; pair linecorr; linecorr = -(.2pt, .2pt);
+
+begingroup
+ save horizontal, vertical, upward, downward, diagonal;
+ horizontal = 0; vertical = 90; diagonal = 45;
+ downward = 30; downward = -upward;
+ forsuffixes d = horizontal, vertical, upward, downward :
+ new_linepattern(d lines)(l, d);
+ new_linepattern(dense d lines)(s, d);
+ endfor
+
+ new_brokenlinepattern(broken lines)(l, 2l, l)
+ new_brokenlinepattern(dense broken lines)(s, 3s, s)
+
+ forsuffixes d = diagonal, upward, downward :
+ new_gridpattern(d grid)(l, d);
+ new_gridpattern(dense d grid)(s, d);
+ endfor
+endgroup;
+
+new_gridpattern(grid)(l, 0)
+new_gridpattern(dense grid)(s, 0)
+
+new_distortedgridpattern(horizontal grid)(l, 45, 3/2, 1);
+new_distortedgridpattern(vertical grid)(l, 45, 1, 3/2);
+new_distortedgridpattern(dense horizontal grid)(s, 45, 3/2, 1);
+new_distortedgridpattern(dense vertical grid)(s, 45, 1, 3/2);
+
+new_weavepattern(stitches)(l, 3/2)
+new_weavepattern(weave)(l, 3)
+new_weavepattern(dense weave)(s, 3/2)
+
+beginpattern(horizontal zigzag)
+ draw (0,0)--(l,2/3l)--(2l,0);
+ setbounds currentpicture to unitsquare xscaled 2l yscaled l shifted -(0,l/6);
+endpattern(2l,l);
+beginpattern(vertical zigzag)
+ draw (0,0)--(2/3l,l)--(0,2l);
+ setbounds currentpicture to unitsquare xscaled l yscaled 2l shifted -(l/6,0);
+endpattern(l,2l);
+
+beginpattern(crosses)
+ matrix = identity rotated 45;
+ save c,o,w; pair c,o; c=(l/2,l/2); w=4/5;
+ o:=(w, w); draw (c+o)--(c-o);
+ o:=(w,-w); draw (c+o)--(c-o);
+ setbounds currentpicture to unitsquare scaled l;
+endpattern(l,l);
+
+beginpattern(bricks)
+ draw (0,l)--(0,0)--(2l,0);
+ draw (l,2l)--(l,l)--(3l,l);
+ clip currentpicture to unitsquare xscaled 3l yscaled 2l shifted linecorr;
+endpattern(2l,2l);
+
+beginpattern(tiles)
+ save s; s:=l/4;
+ draw (0,l+s) -- (l+s,l+s);
+ draw (l-s,0) -- (l-s,l+s);
+ draw currentpicture rotatedaround((l,l), 180);
+ draw (0,2l) -- (0,0) -- (2l,0);
+ clip currentpicture to unitsquare xscaled 2l yscaled 2l shifted linecorr;
+ matrix := identity rotated 45;
+endpattern(2l,2l);
+
+beginpattern(chords)
+ save c,d; c:=2.1; d:=1.4;
+ draw (c-d,c-d){dir 225}..{dir -30}(2c-d/2,d/2-2c);
+ draw (2c+d,-d-2c){dir -45}..{dir 210}(c+d/2,d/2-5c);
+ setbounds currentpicture to bbox currentpicture;
+endpattern(7c, 2c);
+
+beginpattern(tea cloth)
+ save r; r:=xl/8; pickup pencircle scaled r;
+ drawdot (xl/2,xl/2); drawdot (0,0);
+ for i = 1 upto 3 : drawdot (0,i*xl/4); drawdot (i*xl/4,0); endfor
+endpattern(xl,xl);
+
+beginpattern(knit)
+ save v; v:=2/3xl;
+ draw (0,0) -- (0,v);
+ draw (-xl/2,3/2v) -- (-xl/2,v/2) {dir -60}..{dir -60} (0,0) {dir 60}..{dir 60} (xl/2,v/2);
+endpattern(xl,v);
+
+beginpattern(purl)
+ save v; v := 2/3xl;
+ interim linecap:=butt;
+ draw (0,0) -- (0,v) {dir 30}..{dir 30} (xl/2,3/2v) {dir -30}..{dir -30} (xl,v);
+ draw (xl/2,v/2) {dir -30}..{dir -30} (xl,0) {dir 30}..{dir 30} (3/2xl,v/2) -- (3/2xl,-v/2);
+endpattern(xl,2v);
+
+new_hexpattern(hexagons)(xl);
+new_hexpattern(small hexagons)(l);
+
+new_squarecirclepattern(square circles)(xl);
+new_squarecirclepattern(small square circles)(l);
+
+new_circlepattern(circles)(xl);
+new_circlepattern(small circles)(l);
+
+new_scalepattern(scales)(xl);
+new_scalepattern(small scales)(l);
+
+save dot;
+dot := 1.2pt;
+new_hexdotpattern(dots)(dot, l);
+new_hexdotpattern(dense dots)(dot, s);
+new_hexdotpattern(sparse dots)(dot, xl);
+new_dotpattern(square dots)(dot, l, 0);
+new_dotpattern(diamond dots)(dot, l, 45);
+new_dotpattern(dense square dots)(dot, s, 0);
+new_dotpattern(dense diamond dots)(dot, s, 45);
+new_dotpattern(sparse square dots)(dot, xl, 0);
+new_dotpattern(sparse diamond dots)(dot, xl, 45);
+dot := 1.8pt;
+new_hexdotpattern(heavy dots)(dot, l);
+new_hexdotpattern(dense heavy dots)(dot, s);
+new_hexdotpattern(sparse heavy dots)(dot, xl);
+new_dotpattern(square heavy dots)(dot, l, 0);
+new_dotpattern(diamond heavy dots)(dot, l, 45);
+new_dotpattern(dense square heavy dots)(dot, s, 0);
+new_dotpattern(dense diamond heavy dots)(dot, s, 45);
+new_dotpattern(sparse square heavy dots)(dot, xl, 0);
+new_dotpattern(sparse diamond heavy dots)(dot, xl, 45);
+
+endgroup;
+
+% 
+
+endinput;
+