pom.xml0000644000175000017500000000412511331616417012606 0ustar giovannigiovanni vectorgraphics org.freehep 2.1.1 4.0.0 org.freehep freehep-graphicsio-tests FreeHEP GraphicsIO Tests FreeHEP GraphicsIO Test Library freehep-maven Maven FreeHEP http://java.freehep.org/maven2 maven-surefire-plugin false org.codehaus.mojo exec-maven-plugin 1.0.2 java org.freehep.graphicsio.test.TestApplication true org.freehep freehep-export org.freehep freehep-graphicsio 2.1.1 junit junit compile org.freehep jas-plotter 2.2 compile src/0000755000175000017500000000000011331616417012056 5ustar giovannigiovannisrc/test/0000755000175000017500000000000011331616417013035 5ustar giovannigiovannisrc/test/java/0000755000175000017500000000000011331616417013756 5ustar giovannigiovannisrc/test/java/org/0000755000175000017500000000000011331616417014545 5ustar giovannigiovannisrc/test/java/org/freehep/0000755000175000017500000000000011331616417016163 5ustar giovannigiovannisrc/test/java/org/freehep/graphicsio/0000755000175000017500000000000011331616417020313 5ustar giovannigiovannisrc/test/java/org/freehep/graphicsio/test/0000755000175000017500000000000011331616417021272 5ustar giovannigiovannisrc/test/java/org/freehep/graphicsio/test/GraphicsIOTestSuite.java0000644000175000017500000000117611331616417026004 0ustar giovannigiovanni// Copyright 2005-2007, FreeHEP. package org.freehep.graphicsio.test; import org.freehep.graphicsio.ImageConstants; /** * @author Mark Donszelmann * @version $Id: GraphicsIOTestSuite.java 10276 2007-01-09 19:24:50Z duns $ */ public class GraphicsIOTestSuite extends TestSuite { public static TestSuite suite() { GraphicsIOTestSuite suite = new GraphicsIOTestSuite(); suite.addTests(ImageConstants.BMP); suite.addTests(ImageConstants.GIF); suite.addTests(ImageConstants.JPG); suite.addTests(ImageConstants.PNG); suite.addTests(ImageConstants.WBMP); return suite; } } src/main/0000755000175000017500000000000011331616417013002 5ustar giovannigiovannisrc/main/java/0000755000175000017500000000000011331616417013723 5ustar giovannigiovannisrc/main/java/overview.html0000644000175000017500000000012711331616417016457 0ustar giovannigiovanni This is the API specification of the FreeHEP VectorGraphics package. src/main/java/org/0000755000175000017500000000000011331616417014512 5ustar giovannigiovannisrc/main/java/org/freehep/0000755000175000017500000000000011331616417016130 5ustar giovannigiovannisrc/main/java/org/freehep/graphicsio/0000755000175000017500000000000011331616417020260 5ustar giovannigiovannisrc/main/java/org/freehep/graphicsio/test/0000755000175000017500000000000011331635522021235 5ustar giovannigiovannisrc/main/java/org/freehep/graphicsio/test/TestShapes.java0000644000175000017500000001623311331616417024172 0ustar giovannigiovanni// Copyright 2002, SLAC, Stanford University, U.S.A. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import org.freehep.graphics2d.VectorGraphics; /** * * @author Mark Donszelmann * @author Charles Loomis * @version $Id: TestShapes.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestShapes extends TestingPanel { final static int maxCharHeight = 15; final static Color bg = Color.white; final static Color fg = Color.black; final static Color red = Color.red; final static Color white = Color.white; Dimension totalSize; public TestShapes(String[] args) throws Exception { super(args); setName("Shapes"); // Initialize drawing colors setBackground(bg); setForeground(fg); } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); if (vg != null) drawComponent(vg); } protected void drawComponent(VectorGraphics g) { // Fill in the background. Dimension d = getSize(); g.setColor(bg); g.fillRect(0, 0, d.width, d.height); int gridWidth = d.width / 6; int gridHeight = d.height / 8; int x = 5; int y = 7; int rectWidth = gridWidth - 2 * x; int rectHeight = gridHeight - 2 * y; drawShapes(g, x, y, rectWidth, rectHeight, gridWidth); x = 5; y += gridHeight; drawFilledShapes(g, x, y, rectWidth, rectHeight, gridWidth); x = 5; y += gridHeight; g.setLineWidth(5.0); drawShapes(g, x, y, rectWidth, rectHeight, gridWidth); x = 5; y += gridHeight; drawFilledShapes(g, x, y, rectWidth, rectHeight, gridWidth); x = 5; y += gridHeight; int xp = x; int yp = y; String saying = "The quick brown fox jumped over the lazy dog."; Font thisFont = new Font("SansSerif", Font.PLAIN, 14); g.setFont(thisFont); g.drawString("SansSerif: " + saying, xp, yp); yp += 16; thisFont = new Font("SansSerif", Font.BOLD, 14); g.setFont(thisFont); g.drawString("SansSerif (bold): " + saying, xp, yp); yp += 16; thisFont = new Font("SansSerif", Font.ITALIC, 14); g.setFont(thisFont); g.drawString("SansSerif (italic): " + saying, xp, yp); yp += 16; thisFont = new Font("Serif", Font.PLAIN, 14); g.setFont(thisFont); g.drawString("Serif: " + saying, xp, yp); yp += 16; thisFont = new Font("Serif", Font.BOLD, 14); g.setFont(thisFont); g.drawString("Serif (bold): " + saying, xp, yp); yp += 16; thisFont = new Font("Serif", Font.ITALIC, 14); g.setFont(thisFont); g.drawString("Serif (italic): " + saying, xp, yp); yp += 16; thisFont = new Font("Monospaced", Font.PLAIN, 14); g.setFont(thisFont); g.drawString("Monospaced: " + saying, xp, yp); yp += 16; thisFont = new Font("Monospaced", Font.BOLD, 14); g.setFont(thisFont); g.drawString("Monospaced (bold): " + saying, xp, yp); yp += 16; thisFont = new Font("Monospaced", Font.ITALIC, 14); g.setFont(thisFont); g.drawString("Monospaced (italic): " + saying, xp, yp); yp += 16; thisFont = new Font("Symbol", Font.PLAIN, 14); g.setFont(thisFont); g.drawString("Symbol: " + saying, xp, yp); yp += 16; thisFont = new Font("Symbol", Font.BOLD, 14); g.setFont(thisFont); g.drawString("Symbol (bold): " + saying, xp, yp); yp += 16; thisFont = new Font("Symbol", Font.ITALIC, 14); g.setFont(thisFont); g.drawString("Symbol (italic): " + saying, xp, yp); yp += 16; thisFont = new Font("ZapfDingbats", Font.PLAIN, 14); g.setFont(thisFont); g.drawString("ZapfDingbats: " + saying, xp, yp); yp += 16; thisFont = new Font("ZapfDingbats", Font.BOLD, 14); g.setFont(thisFont); g.drawString("ZapfDingbats (bold): " + saying, xp, yp); yp += 16; thisFont = new Font("ZapfDingbats", Font.ITALIC, 14); g.setFont(thisFont); g.drawString("ZapfDingbats (italic): " + saying, xp, yp); yp += 16; thisFont = new Font("Monospaced", Font.PLAIN, 14); g.setFont(thisFont); g.drawString("Unbalanced (( )) ))) ((( TEST! )T( (T)", xp, yp); yp += 16; } private void drawShapes(VectorGraphics g, int x, int y, int rectWidth, int rectHeight, int gridWidth) { // draw Line2D.Double g.setColor(Color.red); g.drawLine(x, y + rectHeight - 1, x + rectWidth, y); x += gridWidth; // draw Rectangle2D.Double g.setColor(Color.green); g.drawRect(x, y, rectWidth, rectHeight); x += gridWidth; // draw RoundRectangle2D.Double g.setColor(Color.blue); g.drawRoundRect(x, y, rectWidth, rectHeight, 50, 50); x += gridWidth; // draw Arc2D.Double g.setColor(Color.cyan); g.drawArc(x, y, rectWidth, rectHeight, 90, 135); x += gridWidth; // draw Ellipse2D.Double g.setColor(Color.magenta); g.drawOval(x, y, rectWidth, rectHeight); x += gridWidth; // draw GeneralPath (polygon) int x1Points[] = { x, x + rectWidth, x, x + rectWidth }; int y1Points[] = { y, y + rectHeight, y + rectHeight, y }; g.setColor(Color.yellow); g.drawPolygon(x1Points, y1Points, 4); } private void drawFilledShapes(VectorGraphics g, int x, int y, int rectWidth, int rectHeight, int gridWidth) { // draw GeneralPath (polyline) int x2Points[] = { x, x + rectWidth, x, x + rectWidth }; int y2Points[] = { y, y + rectHeight, y + rectHeight, y }; g.setColor(Color.red); g.drawPolyline(x2Points, y2Points, 4); x += gridWidth; // fill Rectangle2D.Double (red) g.setColor(Color.green); g.fillRect(x, y, rectWidth, rectHeight); g.setColor(fg); g.drawRect(x, y, rectWidth, rectHeight); x += gridWidth; // fill RoundRectangle2D.Double g.setColor(Color.blue); g.fillRoundRect(x, y, rectWidth, rectHeight, 50, 50); g.setColor(fg); x += gridWidth; // fill Arc2D g.setColor(Color.cyan); g.fillArc(x, y, rectWidth, rectHeight, 90, 135); g.setColor(fg); x += gridWidth; // fill Ellipse2D.Double g.setColor(Color.magenta); g.fillOval(x, y, rectWidth, rectHeight); g.setColor(fg); x += gridWidth; // fill and stroke GeneralPath int x3Points[] = { x, x + rectWidth, x, x + rectWidth }; int y3Points[] = { y, y + rectHeight, y + rectHeight, y }; g.setColor(Color.yellow); g.fillPolygon(x3Points, y3Points, 4); g.setColor(fg); g.drawPolygon(x3Points, y3Points, 4); } public static void main(String[] args) throws Exception { new TestShapes(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestSuite.java0000644000175000017500000007000511331616417024035 0ustar giovannigiovanni// Copyright 2001-2007, FreeHEP. package org.freehep.graphicsio.test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Properties; import java.util.SortedMap; import java.util.StringTokenizer; import java.util.TreeMap; import junit.framework.AssertionFailedError; import org.freehep.graphicsio.ImageGraphics2D; import org.freehep.graphicsio.ImageConstants; import org.freehep.util.export.ExportFileType; import org.freehep.util.io.UniquePrintStream; /** * @author Mark Donszelmann * @version $Id: TestSuite.java 12762 2007-06-13 17:26:00Z duns $ */ public class TestSuite extends junit.framework.TestSuite { class Format { private String name; private String lowerCaseName; private String upperCaseName; private String extension; private String moduleName; private boolean enabled; private boolean bitmap; private int jiraId; private String testDir; public Format(String name, String extension, String moduleName, boolean enabled, boolean bitmap, int jiraId, String testDir) { this.name = name; this.lowerCaseName = name.toLowerCase(); this.upperCaseName = name.toUpperCase(); this.extension = extension; this.moduleName = moduleName; this.enabled = enabled; this.bitmap = bitmap; this.jiraId = jiraId; this.testDir = testDir; } public String getName() { return name; } public String getLowerCaseName() { return lowerCaseName; } public String getUpperCaseName() { return upperCaseName; } public String getExtension() { return extension != null ? extension : lowerCaseName; } public String getModuleName() { return moduleName != null ? moduleName : "freehep-graphicsio-" + lowerCaseName; } public boolean isEnabled() { return enabled; } public boolean isBitmap() { return bitmap; } public int getJiraId() { return jiraId; } public String getTestDir() { return testDir != null ? testDir : lowerCaseName; } } private SortedMap bitmapFormats, vectorFormats; private static final String jiraURL = "http://bugs.freehep.org/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&sorter/field=priority&resolutionIds=-1"; private static final int jiraProductId = 10170; class Test { private String name; private boolean enabled; public Test(String name, boolean enabled) { this.name = name; this.enabled = enabled; } public String getName() { return name; } public boolean isEnabled() { return enabled; } } private List tests; private static final String gioPackage = "org.freehep.graphicsio."; private static final String testPackage = gioPackage + "test."; private static final String testDir = "target/site/test-output/"; private String testOutDir; private String os; private String jdk; private boolean local = true; public static class TestCase extends junit.framework.TestCase { private String name, fullName, pkg, testOutDir; private Format fmt; private Properties properties; public TestCase(String name, Format fmt, String testOutDir, Properties properties) { super("GraphicsIO Test for " + testPackage + name + " in " + fmt.getName()); this.fullName = testPackage + name; int dot = fullName.lastIndexOf("."); this.name = dot < 0 ? fullName : fullName.substring(dot + 1); this.fmt = fmt; this.pkg = "org.freehep.graphicsio." + fmt.getLowerCaseName(); this.testOutDir = testOutDir; this.properties = properties; } protected void runTest() throws Throwable { String base = "src/test/resources/"; String baseDir = System.getProperty("basedir"); if (baseDir != null) base = baseDir + "/" + base; String out = testOutDir + fmt.getTestDir() + "/"; if (baseDir != null) out = baseDir + "/" + out; (new File(out)).mkdirs(); Class cls = Class.forName(fullName); String targetName = out + name + "." + fmt.getExtension(); Object args; if (fmt.isBitmap()) { args = Array.newInstance(String.class, 3); Array.set(args, 0, ImageGraphics2D.class.getName()); Array.set(args, 1, fmt.getLowerCaseName()); Array.set(args, 2, targetName); } else { args = Array.newInstance(String.class, 2); Array.set(args, 0, pkg + "." + fmt.getName() + "Graphics2D"); Array.set(args, 1, targetName); } // Create Test Object Constructor constructor = cls.getConstructor(new Class[] { args .getClass() }); Object test = constructor.newInstance(new Object[] { args }); // Call Test.runTest(properties); Method runTest = test.getClass().getMethod("runTest", new Class[] { Properties.class }); runTest.invoke(test, new Object[] { properties }); return; } } protected TestSuite() { super("GraphicsIO Test Suite"); local = !System.getProperty("vg.local", "true").equals("false"); bitmapFormats = new TreeMap(); bitmapFormats.put( ImageConstants.BMP.toLowerCase(), new Format(ImageConstants.BMP, null, "freehep-graphicsio-tests", true, true, 10241, null)); bitmapFormats.put( ImageConstants.GIF.toLowerCase(), new Format(ImageConstants.GIF, null, "freehep-graphicsio-tests", true, true, 10241, null)); bitmapFormats.put( ImageConstants.JPG.toLowerCase(), new Format(ImageConstants.JPG, null, "freehep-graphicsio-tests", true, true, 10241, null)); bitmapFormats.put( ImageConstants.PNG.toLowerCase(), new Format(ImageConstants.PNG, null, "freehep-graphicsio-tests", true, true, 10241, null)); bitmapFormats.put( ImageConstants.WBMP.toLowerCase(), new Format(ImageConstants.WBMP, null, "freehep-graphicsio-tests", true, true, 10241, null)); vectorFormats = new TreeMap(); // vectorFormats.put("cgm", new Format("CGM", null, false, false, 10230, // null)); vectorFormats.put( ImageConstants.EMF.toLowerCase(), new Format(ImageConstants.EMF, null, null, true, false, 10231, null)); vectorFormats.put( ImageConstants.JAVA.toLowerCase(), new Format(ImageConstants.JAVA, null, null, false, false, 10238, "org/freehep/graphicsio/java/test")); // vectorFormats.put("latex", new Format("Latex", "tex", null, false, false, // 10240, null)); vectorFormats.put( ImageConstants.PDF.toLowerCase(), new Format("PDF", null, null, true, false, 10235, null)); vectorFormats.put( ImageConstants.PS.toLowerCase(), new Format(ImageConstants.PS, null, null, true, false, 10232, null)); vectorFormats.put( ImageConstants.SVG.toLowerCase(), new Format(ImageConstants.SVG, null, null, true, false, 10236, null)); vectorFormats.put( ImageConstants.SWF.toLowerCase(), new Format(ImageConstants.SWF, null, null, true, false, 10237, null)); boolean on = true; // FVG-241, TestCustomStrokes [3] disabled for MacOS X boolean onMacOSXandJDK15 = System.getProperty("os.name").equals( "Mac OS X") && System.getProperty("java.version").startsWith("1.5"); tests = new ArrayList(); tests.add(new Test("TestAll", on)); tests.add(new Test("TestClip", on)); tests.add(new Test("TestColors", on)); tests.add(new Test("TestCustomStrokes", on)); // && !onMacOSXandJDK15)); tests.add(new Test("TestFonts", on)); tests.add(new Test("TestFontDerivation", on)); tests.add(new Test("TestGraphicsContexts", on)); tests.add(new Test("TestHistogram", on)); tests.add(new Test("TestHTML", on)); tests.add(new Test("TestImages", on)); tests.add(new Test("TestImage2D", on)); tests.add(new Test("TestLabels", on)); tests.add(new Test("TestLineStyles", on)); tests.add(new Test("TestOffset", on)); tests.add(new Test("TestPaint", on)); tests.add(new Test("TestPrintColors", on)); tests.add(new Test("TestRenderingHints", on)); tests.add(new Test("TestResolution", on)); tests.add(new Test("TestScatterPlot", on)); tests.add(new Test("TestShapes", on)); tests.add(new Test("TestSymbols2D", on)); tests.add(new Test("TestTaggedString", on)); tests.add(new Test("TestText2D", on)); tests.add(new Test("TestTransforms", on)); tests.add(new Test("TestTransparency", on)); os = System.getProperty("os.name", "OS"); if (os.equals("Mac OS X")) { os = "MacOSX"; } else if (os.startsWith("Windows")) { os = "Windows"; } jdk = System.getProperty("java.version", "0.0"); int dot; if ((dot = jdk.indexOf('.')) > 0) { if ((dot = jdk.indexOf('.', dot + 1)) > 0) { jdk = jdk.substring(0, dot); } } jdk = "JDK-" + jdk; testOutDir = testDir + os + "/" + jdk + "/"; } protected void addTests(Format fmt, Properties properties) { if ((fmt == null) || !fmt.isEnabled()) return; for (Iterator i = tests.iterator(); i.hasNext();) { Test test = (Test) i.next(); if (test.isEnabled()) { addTest(new TestCase(test.getName(), fmt, testOutDir, properties)); writeHTML(test, fmt, os, jdk); } else { System.err.println("NOTE: " + test.getName() + " disabled for "+fmt.getName()+"."); } } } protected void addTests(String formatName, Properties properties) { Format fmt = (Format) bitmapFormats.get(formatName.toLowerCase()); if (fmt == null) { fmt = (Format) vectorFormats.get(formatName.toLowerCase()); } addTests(fmt, properties); } protected void addTests(String formatName) { addTests(formatName, null); } protected void addTests(String[] args) { if (args.length > 0) { for (int i = 0; i < args.length; i++) { addTests(args[i]); } } else { for (Iterator i = bitmapFormats.keySet().iterator(); i.hasNext();) { Format fmt = (Format) bitmapFormats.get((String) i.next()); addTests(fmt, null); } for (Iterator i = vectorFormats.keySet().iterator(); i.hasNext();) { Format fmt = (Format) vectorFormats.get((String) i.next()); // if (fmt.getUpperCaseName().equals("JAVA")) addTests(fmt, null); } } } private void writeHTML(Test test, Format fmt, String os, String jdk) { String site = "../../../../"; String css = site + "css"; String top = site + (local ? "../../" : "") + "../"; String refFormat = ImageConstants.PNG.toLowerCase(); String testSite = top + "freehep-graphicsio-tests/" + (local ? "target/site/" : ""); String ref = testSite + "ref-output/" + refFormat + "/"; String cloud = testSite + "images/" + "cloudy.jpg"; String title = (local ? "[LOCAL] " : "") + "VectorGraphics " + fmt.getName() + " " + test.getName(); String freehep = "http://java.freehep.org/"; String freehepImage = freehep + "images/sm-freehep.gif"; String url = freehep + "vectorgraphics/freehep-graphicsio-" + fmt.getLowerCaseName(); String out = testOutDir + fmt.getTestDir() + "/"; String baseDir = System.getProperty("basedir"); if (baseDir != null) out = baseDir + "/" + out; try { // Create Export filetype to get mime type // Class cls = Class.forName(gioPackage + fmt.getLowerCaseName() + "." // + fmt.getName() + "ExportFileType"); // ExportFileType fileType = (ExportFileType) cls.newInstance(); ExportFileType.setClassLoader(getClass().getClassLoader()); List fileTypes = ExportFileType.getExportFileTypes(fmt.getLowerCaseName()); if (fileTypes.size() <= 0) throw new AssertionFailedError("No ExportFileType found for format '"+fmt.getLowerCaseName()+"'"); String[] mimeTypes = ((ExportFileType)fileTypes.get(0)).getMIMETypes(); if (mimeTypes.length <= 0) throw new AssertionFailedError("No MimeTypes found for ExportFileType '"+fmt.getLowerCaseName()+"'"); (new File(out)).mkdirs(); PrintWriter w = new PrintWriter(new FileWriter(out + test.getName() + ".html")); w .println(""); w.println(""); w.println(" "); w.println(" " + title + ""); w.println(" "); w.println(" "); w .println(" "); w.println(" "); w.println(" "); w.println("
"); w.println(" "); w.println(" " + (local ? "[LOCAL] " : "") + "FreeHEP VectorGraphics Test " + fmt.getName()); w.println(" "); w.println(" "); w.println(" \"\""); w.println(" "); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
Last Run: " + (new Date()) + "
"); w.println("
FreeHEP"); w.println(" |"); w .println(" JAS"); w.println(" |"); w .println(" WIRED"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); if (!local) { w.println("
Back
"); } w.println("
Operating System
"); w.println(" "); w.println("
Java
"); w.println(" "); w.println("
Vector Formats
"); w.println(" "); w.println("
Bitmap Formats
"); w.println(" "); w.println("
" + fmt.getName() + " Tests
"); w.println(" "); w.println("
" + fmt.getName() + " Links
"); w.println(" "); w.println(" "); w.println(" \"Built"); w.println(" "); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("

" + (local ? "[LOCAL] " : "") + test.getName() + " " + fmt.getName() + "

"); w.println(" "); // w.println(" "); w.println(" "); w.println(" "); w.println(" "); w.println(" "); w.println(" "); w.println(" "); w.println(" "); w.println(" "); w.println(" "); Test[] testArray = (Test[]) tests.toArray(new Test[0]); int testIndex = 0; while (testIndex < testArray.length) { if (testArray[testIndex].equals(test)) break; testIndex++; } int previousIndex = testIndex - 1; while ((previousIndex >= 0) && !testArray[previousIndex].isEnabled()) previousIndex--; if (previousIndex >= 0) { w.println(" "); } else { w.println(" "); } else { w.println(" "); w.println(" "); // w.println(" "); w.print(" "); w.print(""); w.println(" "); w.println(" "); w.println("
" + fmt.getName() + "Reference (" + refFormat.toUpperCase() + ")
" + test.getName() + "." + fmt.getExtension() + "" + test.getName() + "." + refFormat + "
previous"); } int nextIndex = testIndex + 1; while ((nextIndex < testArray.length) && !testArray[nextIndex].isEnabled()) nextIndex++; if (nextIndex < testArray.length) { w.println(" next"); } w.println("
"+name+"."+ext+""); w.print(""); w.print(""); w.print("Image not embeddable: " + mimeTypes[0]); w.print(""); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
©"); w.println(" 2000-2007"); w.println(" FreeHEP"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println("
"); w.println(" "); w.println(" "); w.close(); } catch (IOException e) { System.err.println("Could not write " + out); } } public static TestSuite suite() { // get command line arguments from environment var (set by ANT) StringTokenizer st = new StringTokenizer( System.getProperty("args", ""), " "); List argList = new ArrayList(); while (st.hasMoreTokens()) { String arg = st.nextToken(); System.out.println(arg); argList.add(arg); } String[] args = new String[argList.size()]; argList.toArray(args); TestSuite suite = new TestSuite(); suite.addTests(args); return suite; } public static void main(String[] args) { UniquePrintStream stderr = new UniquePrintStream(System.err); System.setErr(stderr); TestSuite suite = new TestSuite(); suite.addTests(args); junit.textui.TestRunner.run(suite); stderr.finish(); } } src/main/java/org/freehep/graphicsio/test/TestAll.java0000644000175000017500000001717011331616417023460 0ustar giovannigiovanni// Copyright 2002-2007, FreeHEP. package org.freehep.graphicsio.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.MediaTracker; import java.awt.TexturePaint; import java.awt.Rectangle; import java.awt.font.TextAttribute; import java.awt.geom.GeneralPath; import java.awt.geom.Rectangle2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.text.AttributedString; import org.freehep.graphics2d.TagString; import org.freehep.graphics2d.VectorGraphics; import org.freehep.graphics2d.VectorGraphicsConstants; import org.freehep.util.images.ImageHandler; /** * @author Simon Fischer * @version $Id: TestAll.java 10306 2007-01-13 00:45:55Z duns $ */ public class TestAll extends TestingPanel implements VectorGraphicsConstants { private BufferedImage marble, sky; private static float[] dash = { 10.f, 5.f, 2.f, 5.f }; public TestAll(String[] args) throws Exception { super(args); setName("All"); } public void paintComponent(Graphics g) { if (g == null) return; if (marble == null) { MediaTracker t = new MediaTracker(this); Image skyI = ImageHandler.getImage("images/sky.gif", TestAll.class); t.addImage(skyI, 0); try { t.waitForAll(); } catch (Exception e) { e.printStackTrace(); } sky = new BufferedImage(skyI.getWidth(this), skyI.getHeight(this), BufferedImage.TYPE_INT_RGB); sky.createGraphics().drawImage(skyI, 0, 0, this); } VectorGraphics vg = VectorGraphics.create(g); // Rectangle dim = vg.getClip().getBounds(); Dimension dim = getSize(); Insets insets = getInsets(); double width = dim.getWidth(); double height = dim.getHeight(); vg.setColor(Color.white); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); vg.setPaint(new GradientPaint((int) 0, (int) 10, Color.blue, (int) width, (int) 10, Color.white)); vg.fillRect(0, 10, width, 30); vg.setFont(new Font("Helvetica", Font.BOLD, 18)); vg.setPaint(new GradientPaint((int) 0, (int) 10, Color.white, (int) width, (int) 10, Color.orange)); String str = "Testing " + vg.getClass().getName(); vg.drawString(str, 10, 30); double fx = 3 * width / 16; double fy = 5 * height / 16; double fw = width / 4; for (int i = 0; i < 15; i++) { vg.setColor(Color.black); vg.fillRect(fx - fw / 2, fy - fw / 2, fw, fw); vg.setColor(Color.white); vg.fillOval(fx - fw / 2, fy - fw / 2, fw, fw); fw /= Math.sqrt(2); } vg.setColor(Color.black); vg.setFont(new Font("TimesRoman", Font.PLAIN, 11)); // vg.setFont(new Font("Arial", Font.PLAIN, 11)); vg.drawString( new TagString("The drawString methods in VectorGraphics support"), fx + 3 * width / 16, fy - width / 8 + 10); vg.drawString( new TagString("output of strings using a subset of the HTML language."), fx + 3 * width / 16, fy - width / 8 + 24); String text = "The direct output of attributed strings is supported too."; AttributedString as = new AttributedString(text); as.addAttribute( TextAttribute.FAMILY, "TimesRoman"); as.addAttribute( TextAttribute.SIZE, new Float(11)); // make "output" italic as.addAttribute( TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE, text.indexOf("output"), text.indexOf("output") + "output".length()); // make "attributed" bold as.addAttribute( TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD, text.indexOf("attributed"), text.indexOf("attributed") + "attributed".length()); // make "supported" bold as.addAttribute( TextAttribute.TRANSFORM, AffineTransform.getTranslateInstance(0, 5), text.indexOf("supported"), text.indexOf("supported") + "supported".length()); as.addAttribute( TextAttribute.FOREGROUND, Color.red, text.indexOf("strings"), text.indexOf("strings") + "strings".length()); as.addAttribute( TextAttribute.BACKGROUND, new TexturePaint(sky, new Rectangle(0, 0, 100, 100)), text.indexOf("direct"), text.indexOf("direct") + "direct".length()); vg.drawString( as.getIterator(), (float)(fx + 3 * width / 16), (float)(fy - width / 8 + 38)); vg.setColor(Color.red); double sx = width / 2; double sy = 5 * height / 16; for (int i = 0; i < NUMBER_OF_SYMBOLS; i++) { vg.drawSymbol(sx + 15 * i, sy, 12, i); vg.fillSymbol(sx + 15 * i, sy + 15, 10, i); } vg.setPaint(new TexturePaint(sky, new Rectangle2D.Double(0, 0, sky .getWidth(), sky.getHeight()))); double mx = 0; double my = height / 2; vg.fillRect(mx, my, width / 2, height / 2); vg.setPaint(Color.black); vg.setFont(new Font("Impact", Font.BOLD, 60)); vg.drawString("\u25C4Impact\u25BA", mx + width / 4, my + height / 4, VectorGraphicsConstants.TEXT_CENTER, VectorGraphicsConstants.TEXT_BASELINE); GeneralPath shape = new GeneralPath(); shape.moveTo(0.f, 0.f); shape.lineTo(25.f, 50.f); shape.lineTo(-25.f, 50.f); shape.lineTo(25.f, -50.f); shape.lineTo(-25.f, -50.f); shape.closePath(); Graphics subgraphics = vg.create(); VectorGraphics svg = VectorGraphics.create(subgraphics); svg.translate(width / 2, height / 2); svg.setStroke(new BasicStroke(8.f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.f, null, 0.f)); svg.draw(shape); subgraphics = svg.create(); VectorGraphics svg2 = VectorGraphics.create(subgraphics); svg2.setColor(Color.black); svg2.setStroke(new BasicStroke(3.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 10.f, dash, 0.f)); svg2.rotate(Math.PI / 5); svg2.draw(shape); svg2.dispose(); svg.setLineWidth(1); svg.shear(0.5, 0.5); svg.draw(shape); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); double tx = 3 * width / 4; double ty = 3 * height / 4; double d = width / 10; svg.setColor(Color.black); svg.translate(tx, ty); svg.fillOval(-d, -d, 2 * d, 2 * d); svg.setStroke(new BasicStroke(4.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 10.f, null, 0.f)); svg.drawOval(-1.4 * d, -1.4 * d, 1.4 * 2 * d, 1.4 * 2 * d); String circle = "ORAETLAB"; svg.setFont(new Font("TimesRoman", Font.BOLD, 16)); for (int i = 0; i < circle.length(); i++) { svg.drawString(circle.substring(i, i + 1), 0, -1.1 * d); svg.rotate(Math.PI * 2 / circle.length()); } svg.dispose(); } public static void main(String[] args) throws Exception { new TestAll(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestText2D.java0000644000175000017500000000554211331616417024062 0ustar giovannigiovanni// University of California, Santa Cruz, USA and // CERN, Geneva, Switzerland, Copyright (c) 2000 package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Insets; import org.freehep.graphics2d.TagString; import org.freehep.graphics2d.VectorGraphics; /** * @author Charles Loomis * @version $Id: TestText2D.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestText2D extends TestingPanel { public TestText2D(String[] args) throws Exception { super(args); setName("Tag Strings"); } public void paintComponent(Graphics g) { if (g != null) { VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.white); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); int dw = dim.width / 3; int dh = dim.height / 10; vg.setColor(Color.green); for (int y = 0; y < 8; y++) { int iy = (int) ((y + 0.5) * dh); vg.drawLine(0, iy, dim.width, iy); } for (int x = 0; x < 3; x++) { int ix = (int) ((x + 0.5) * dw); vg.drawLine(ix, 0, ix, dim.height); } String saying = "<Vector\\Graphics% " + "& Card)Adapter)>"; TagString text = new TagString(saying); vg.setColor(Color.red); vg.setFont(new Font("SansSerif", Font.PLAIN, 10)); for (int y = 0; y < 8; y++) { int iy = (int) ((y + 0.5) * dh); for (int x = 0; x < 3; x++) { int ix = (int) ((x + 0.5) * dw); if (y == 4) { vg.drawString(text, ix, iy, 3 - x, y % 4, true, Color.cyan, 2, true, Color.black); } else if (y == 5) { vg.drawString(text, ix, iy, 3 - x, y % 4, false, Color.cyan, 2, true, Color.black); } else if (y == 6) { vg.drawString(text, ix, iy, 3 - x, y % 4, true, Color.cyan, 2, false, Color.black); } else if (y == 7) { vg.drawString(text, ix, iy, 3 - x, y % 4, false, Color.cyan, 2, false, Color.black); } else { vg.drawString(text, ix, iy, 3 - x, y % 4); } } } } } public static void main(String[] args) throws Exception { new TestText2D(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestFontDerivation.java0000644000175000017500000000347111331616417025702 0ustar giovannigiovanni// Copyright 2004, FreeHEP. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Insets; import java.awt.geom.AffineTransform; import org.freehep.graphics2d.VectorGraphics; /** * * @author Mark Donszelmann * @version $Id: TestFontDerivation.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestFontDerivation extends TestingPanel { public TestFontDerivation(String[] args) throws Exception { super(args); setName("Font Derivation"); } public void paintComponent(Graphics g) { if (g == null) return; VectorGraphics vg = VectorGraphics.create(g.create()); Dimension dim = getSize(); Insets insets = getInsets(); int w = dim.width; int h = dim.height; vg.translate(w / 2, h / 2); vg.setColor(Color.white); vg.fillRect(insets.left - w / 2, insets.top - h / 2, w - insets.left - insets.right, h - insets.top - insets.bottom); String text = "FreeHEP"; Font font = vg.getFont(); double fw = w / 120.0; double fh = h / 120.0; vg.setColor(Color.BLACK); for (int i = 1; i < 36; i++) { AffineTransform t = AffineTransform.getRotateInstance(Math .toRadians(10 * i)); double s = 1.0 + i / 20.0; t.scale(fw / s, fh / s); vg.setFont(font.deriveFont(t)); vg.drawString(text, 0, 0); } vg.setColor(Color.BLUE); vg.setFont(font.deriveFont(AffineTransform.getScaleInstance(fw, fh))); vg.drawString(text, 0, 0); vg.dispose(); } public static void main(String[] args) throws Exception { new TestFontDerivation(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestTaggedString.java0000644000175000017500000000350311331616417025325 0ustar giovannigiovanni// Copyright 2002, SLAC, Stanford University, U.S.A. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Insets; import org.freehep.graphics2d.TagString; import org.freehep.graphics2d.VectorGraphics; /** * * @author Mark Donszelmann * @version $Id: TestTaggedString.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestTaggedString extends TestingPanel { public TestTaggedString(String[] args) throws Exception { super(args); setName("Tagged String"); } public void paintComponent(Graphics g) { if (g != null) { VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.white); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); int x = insets.left; int dy = dim.height / 4; TagString text = new TagString("AntBull" + "CatDog" + "EelFrog" + "Gecko" + "Hog"); vg.setColor(Color.black); vg.setFont(new Font("SansSerif", Font.PLAIN, 30)); vg.drawString(text, x, 1 * dy + insets.top); vg.setFont(new Font("Serif", Font.PLAIN, 30)); vg.drawString(text, x, 2 * dy + insets.top); vg.setFont(new Font("Monospaced", Font.PLAIN, 30)); vg.drawString(text, x, 3 * dy + insets.top); } } public static void main(String[] args) throws Exception { new TestTaggedString(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestImages.java0000644000175000017500000000542411331616417024154 0ustar giovannigiovanni// Copyright 2002, SLAC, Stanford University, U.S.A. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import org.freehep.graphics2d.VectorGraphics; import org.freehep.util.images.ImageHandler; /** * * @author Mark Donszelmann * @author Charles Loomis * @version $Id: TestImages.java 12753 2007-06-12 22:32:31Z duns $ */ public class TestImages extends TestingPanel { final static Color bg = Color.ORANGE; private Image image; public TestImages(String[] args) throws Exception { super(args); setName("Images"); setBackground(bg); MediaTracker t = new MediaTracker(this); image = ImageHandler.getImage("images/transparent-image.gif", TestImages.class); t.addImage(image, 0); try { t.waitForAll(); } catch (InterruptedException e) { e.printStackTrace(); } } public void paintComponent(Graphics g) { drawComponent(VectorGraphics.create(g)); } protected void drawComponent(VectorGraphics g) { // Fill in the background. g.setBackground(bg); g.clearRect(0, 0, getWidth(), getHeight()); int cellWidth = getWidth() / 4; int cellHeight = getHeight() / 2; int x = 0; int y = 0; // Natural size at origin. g.drawImage(image, x, y, Color.black, this); // Scaled to half-width, half-height. x += cellWidth; g.drawImage(image, x + cellWidth / 2, y + cellHeight / 2, cellWidth / 2, cellHeight / 2, Color.black, this); // Middle part scaled to 3/4 of cell. x += cellWidth; g.drawImage(image, x, y, x + 3 * cellWidth / 4, y + 3 * cellHeight / 4, 64, 64, 192, 192, Color.black, this); // Flip in y-direction. x += cellWidth; g.drawImage(image, x, y, x + cellWidth / 2, y + cellHeight, 256, 256, 0, 0, Color.black, this); // Natural size at origin. x = 0; y += cellHeight; g.drawImage(image, x, y, this); // Scaled to half-width, half-height. x += cellWidth; g.drawImage(image, x + cellWidth / 2, y + cellHeight / 2, cellWidth / 2, cellHeight / 2, this); // Middle part scaled to 3/4 of cell. x += cellWidth; g.drawImage(image, x, y, x + 3 * cellWidth / 4, y + 3 * cellHeight / 4, 64, 64, 192, 192, this); // Flip in y-direction. x += cellWidth; g.drawImage(image, x, y, x + cellWidth / 2, y + cellHeight, 256, 256, 0, 0, this); } public static void main(String[] args) throws Exception { new TestImages(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestFontType1.java0000644000175000017500000000106211331616417024572 0ustar giovannigiovanni// Copyright 2003-2005, FreeHEP. package org.freehep.graphicsio.test; import org.freehep.util.UserProperties; /** * * @author Mark Donszelmann * @version $Id: TestFontType1.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestFontType1 extends TestTaggedString { public TestFontType1(String[] args) throws Exception { super(args); setName("Test Font Type1"); } public static void main(String[] args) throws Exception { UserProperties p = new UserProperties(); new TestFontType1(args).runTest(p); } } src/main/java/org/freehep/graphicsio/test/TestSymbols2D.java0000644000175000017500000000445611331616417024571 0ustar giovannigiovanni// University of California, Santa Cruz, USA and // CERN, Geneva, Switzerland, Copyright (c) 2000 package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import org.freehep.graphics2d.VectorGraphics; import org.freehep.graphics2d.VectorGraphicsConstants; /** * @author Charles Loomis * @author Mark Donszelmann * @version $Id: TestSymbols2D.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestSymbols2D extends TestingPanel implements VectorGraphicsConstants { public TestSymbols2D(String[] args) throws Exception { super(args); setName("Symbols"); } public void paintComponent(Graphics g) { if (g != null) { VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.RED); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); int cols = 5; int rows = 8; int dw = dim.width / cols; int dh = dim.height / rows; int size = Math.min(dw, dh) * 2 / 3; vg.setColor(Color.BLACK); int symbol = 0; for (int y = 0; y < rows; y++) { symbol = (y / 2) * cols; if ((y % 2) == 0) { vg.setLineWidth(1); } else { vg.setLineWidth(5.0); } int iy = dh / 2 + dh * y; if (y >= 2) symbol = SYMBOL_CIRCLE; for (int x = 0; x < cols; x++) { int ix = dw / 2 + dw * x; if (y < 4) { vg.drawSymbol(ix, iy, size, symbol++); } else if (y < 6) { vg.fillSymbol(ix, iy, size, symbol++); } else { vg .fillAndDrawSymbol(ix, iy, size, symbol++, Color.CYAN); } } } } } public static void main(String[] args) throws Exception { new TestSymbols2D(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestScatterPlot.java0000644000175000017500000000152211331616417025206 0ustar giovannigiovanni// Copyright 2006, FreeHEP package org.freehep.graphicsio.test; import java.io.InputStream; import java.io.InputStreamReader; import jas.hist.JASHist; import jas.hist.XMLHistBuilder; /** * * @author Mark Donszelmann * @version $Id: TestScatterPlot.java 9338 2006-11-16 02:41:51Z duns $ */ public class TestScatterPlot extends TestingPanel { private JASHist plot; public TestScatterPlot(String[] args) throws Exception { super(args); setName("ScatterPlot"); String plotml = "TestScatterPlot.plotml"; InputStream in = getClass().getResourceAsStream(plotml); XMLHistBuilder xhb = new XMLHistBuilder(new InputStreamReader(in), plotml); plot = xhb.getSoloPlot(); plot.setAllowUserInteraction(false); add(plot); } public static void main(String[] args) throws Exception { new TestScatterPlot(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestClip.java0000644000175000017500000001541711331616417023641 0ustar giovannigiovannipackage org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Shape; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.GeneralPath; import java.awt.geom.Rectangle2D; import org.freehep.graphics2d.VectorGraphics; /** * @author Mark Donszelmann * @version $Id: TestClip.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestClip extends TestingPanel { private Shape[] clip; private Shape[] path; public TestClip(String[] args) throws Exception { super(args); setName("Clip"); GeneralPath p; clip = new Shape[6]; clip[0] = new Rectangle2D.Double(1, 1, 6, 2); p = new GeneralPath(); p.moveTo(1, 1); p.lineTo(1, 3); p.lineTo(7, 3); p.lineTo(7, 1); p.lineTo(5, 1); p.lineTo(4, 3); p.lineTo(3, 1); p.closePath(); clip[1] = p; clip[2] = new Rectangle2D.Double(1, 1, 6, 2); clip[3] = new Rectangle2D.Double(1, 1, 6, 2); clip[4] = new Rectangle2D.Double(1, 1, 6, 2); clip[5] = new Ellipse2D.Double(1, 1, 6, 2); path = new Shape[6]; p = new GeneralPath(); p.moveTo(0, 2); p.lineTo(2, 2); p.lineTo(3, 1); p.lineTo(4, 1); p.lineTo(5, 0); p.lineTo(6, 2); p.lineTo(8, 2); p.lineTo(8, 0); p.lineTo(0, 0); p.closePath(); path[0] = p; path[1] = new Rectangle2D.Double(0, 0, 8, 2); p = new GeneralPath(); p.moveTo(0, 2); p.lineTo(2, 2); p.lineTo(3, 1); p.lineTo(5, 1); p.lineTo(6, 2); p.lineTo(8, 2); p.lineTo(8, 0); p.lineTo(0, 0); p.closePath(); path[2] = p; path[3] = new Ellipse2D.Double(2, 0, 4, 4); p = new GeneralPath(); p.moveTo(0, 2); p.lineTo(3, 2); p.lineTo(4, 1); p.lineTo(5, 2); p.lineTo(8, 2); p.lineTo(8, 0); p.lineTo(0, 0); p.closePath(); path[4] = p; path[5] = new Ellipse2D.Double(2, 0, 4, 4); } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); vg.setColor(Color.lightGray); vg.fillRect(0, 0, dim.width, dim.height); int nx = 6; int ny = 6; int dw = dim.width / (nx + 1); int dh = dim.height / ny; double factor = Math.min(dw, dh) / 10; // size of shape vg.setColor(Color.black); // vg.setFont(new Font("Lucida", Font.PLAIN, 10)); VectorGraphics svg; // Java Draw svg = (VectorGraphics) vg.create(); svg.drawString("NoClip", 10, 10 + 10 + 0 * dh); svg.scale(factor, factor); svg.translate(10 / factor, 10 / factor + 0 * dh / factor); for (int i = 0; i < nx; i++) { svg.translate(dw / factor, 0); svg.setColor(Color.red); svg.setLineWidth(1.0 / factor); svg.draw(clip[i]); svg.setColor(Color.black); svg.setLineWidth(3.0 / factor); svg.draw(path[i]); } svg.dispose(); // Java Clip and Draw svg = (VectorGraphics) vg.create(); svg.drawString("JavaClip", 10, 10 + 10 + 1 * dh); svg.scale(factor, factor); svg.translate(10 / factor, 10 / factor + 1 * dh / factor); for (int i = 0; i < nx; i++) { svg.translate(dw / factor, 0); VectorGraphics svg2 = (VectorGraphics) svg.create(); svg2.setColor(Color.red); svg2.setLineWidth(1.0 / factor); svg2.draw(clip[i]); svg2.clip(clip[i]); svg2.setColor(Color.black); svg2.setLineWidth(3.0 / factor); svg2.draw(path[i]); svg2.dispose(); } svg.dispose(); // Our Clip and Draw svg = (VectorGraphics) vg.create(); svg.drawString("OurClip", 10, 10 + 10 + 2 * dh); svg.scale(factor, factor); svg.translate(10 / factor, 10 / factor + 2 * dh / factor); for (int i = 0; i < nx; i++) { svg.translate(dw / factor, 0); VectorGraphics svg2 = (VectorGraphics) svg.create(); svg2.setColor(Color.red); svg2.setLineWidth(1.0 / factor); svg2.draw(clip[i]); svg2.setColor(Color.black); svg2.setLineWidth(3.0 / factor); Area clippedPath = new Area(clip[i]); clippedPath.intersect(new Area(path[i])); svg2.draw(clippedPath); svg2.dispose(); } svg.dispose(); // Java Fill svg = (VectorGraphics) vg.create(); svg.drawString("NoClip", 10, 10 + 10 + 3 * dh); svg.scale(factor, factor); svg.translate(10 / factor, 10 / factor + 3 * dh / factor); for (int i = 0; i < nx; i++) { svg.translate(dw / factor, 0); svg.setColor(Color.red); svg.setLineWidth(1.0 / factor); svg.draw(clip[i]); svg.setColor(Color.black); svg.setLineWidth(3.0 / factor); svg.fill(path[i]); } svg.dispose(); // Java Clip and Fill svg = (VectorGraphics) vg.create(); svg.drawString("JavaClip", 10, 10 + 10 + 4 * dh); svg.scale(factor, factor); svg.translate(10 / factor, 10 / factor + 4 * dh / factor); for (int i = 0; i < nx; i++) { svg.translate(dw / factor, 0); VectorGraphics svg2 = (VectorGraphics) svg.create(); svg2.setColor(Color.red); svg2.setLineWidth(1.0 / factor); svg2.draw(clip[i]); svg2.clip(clip[i]); svg2.setColor(Color.black); svg2.setLineWidth(3.0 / factor); svg2.fill(path[i]); svg2.dispose(); } svg.dispose(); // Our Clip and Fill svg = (VectorGraphics) vg.create(); svg.drawString("AreaClip", 10, 10 + 10 + 5 * dh); svg.scale(factor, factor); svg.translate(10 / factor, 10 / factor + 5 * dh / factor); for (int i = 0; i < nx; i++) { svg.translate(dw / factor, 0); VectorGraphics svg2 = (VectorGraphics) svg.create(); svg2.setColor(Color.red); svg2.setLineWidth(1.0 / factor); svg2.draw(clip[i]); svg2.setColor(Color.black); svg2.setLineWidth(3.0 / factor); Area clippedPath = new Area(clip[i]); clippedPath.intersect(new Area(path[i])); svg2.fill(clippedPath); svg2.dispose(); } svg.dispose(); } public static void main(String[] args) throws Exception { new TestClip(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestApplication.java0000644000175000017500000000377011331616417025214 0ustar giovannigiovanni// Copyright 2001-2006 freehep package org.freehep.graphicsio.test; import java.awt.Dimension; /** * @author Simon Fischer * @version $Id: TestApplication.java 10306 2007-01-13 00:45:55Z duns $ */ public class TestApplication { public static void main(String[] args) throws Exception { // Create a new frame to hold everything. TestingFrame frame = new TestingFrame("Test Application"); // Create a new instance of this class and add it to the frame. frame.addPanel("All", new TestAll(null)); frame.addPanel("Clip", new TestClip(null)); frame.addPanel("Colors", new TestColors(null)); frame.addPanel("Custom Strokes", new TestCustomStrokes(null)); frame.addPanel("FontDerivation", new TestFontDerivation(null)); frame.addPanel("Fonts", new TestFonts(null)); frame.addPanel("Histogram", new TestHistogram(null)); frame.addPanel("HTML", new TestHTML(null)); frame.addPanel("Image2D", new TestImage2D(null)); frame.addPanel("Images", new TestImages(null)); frame.addPanel("Labels", new TestLabels(null)); frame.addPanel("Line Styles", new TestLineStyles(null)); frame.addPanel("Offset", new TestOffset(null)); frame.addPanel("Paint", new TestPaint(null)); frame.addPanel("PrintColors", new TestPrintColors(null)); frame.addPanel("Scatter Plot", new TestScatterPlot(null)); frame.addPanel("Shapes", new TestShapes(null)); frame.addPanel("Symbols", new TestSymbols2D(null)); frame.addPanel("Text2D", new TestText2D(null)); frame.addPanel("Tagged String", new TestTaggedString(null)); frame.addPanel("Transforms", new TestTransforms(null)); frame.addPanel("Transparency", new TestTransparency(null)); frame.addPanel("Rendering", new TestRenderingHints(null)); // Give the frame a size and make it visible. frame.pack(); frame.setSize(new Dimension(1024, 768)); frame.setVisible(true); } } src/main/java/org/freehep/graphicsio/test/TestPrintColors.java0000644000175000017500000000630711331616417025226 0ustar giovannigiovanni// Copyright 2000, CERN, Geneva, Switzerland and University of Santa Cruz, California, U.S.A. package org.freehep.graphicsio.test; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.GridLayout; import java.awt.Insets; import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.Border; import org.freehep.graphics2d.PrintColor; import org.freehep.graphics2d.VectorGraphics; /** * * @author Mark Donszelmann * @version $Id: TestPrintColors.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestPrintColors extends TestingPanel { // Fill this panel with nine panels of different colors. public TestPrintColors(String[] args) throws Exception { super(args); // Set the layout of this panel. setLayout(new BorderLayout()); // Create a border of white surrounded by black. Border border = BorderFactory.createCompoundBorder(BorderFactory .createMatteBorder(1, 1, 1, 1, Color.white), BorderFactory .createMatteBorder(2, 2, 2, 2, Color.black)); // Create a subpanel with grid layout to hold the colored tiles. JPanel panel = new JPanel(); panel.setLayout(new GridLayout(14, 3)); JLabel label1 = new JLabel("Color"); // label1.setFont(new Font("Lucida Sans", Font.BOLD, 12)); panel.add(label1); JLabel label2 = new JLabel("GrayScale"); // label2.setFont(new Font("Lucida Sans", Font.BOLD, 12)); panel.add(label2); JLabel label3 = new JLabel("Black and White"); // label3.setFont(new Font("Lucida Sans", Font.BOLD, 12)); panel.add(label3); // Add tiles of colors to this panel. for (int i = 0; i < 13; i++) { TestColor test; test = new TestColor(PrintColor.COLOR, i); test.setBorder(border); panel.add(test); test = new TestColor(PrintColor.GRAYSCALE, i); test.setBorder(border); panel.add(test); test = new TestColor(PrintColor.BLACK_AND_WHITE, i); test.setBorder(border); panel.add(test); } // Add this panel to this container. add(panel, BorderLayout.CENTER); } // Class panel which just paints a given background color. class TestColor extends JPanel { private int mode; private int bkgColorIndex; public TestColor(int mode, int bkgColorIndex) { this.mode = mode; this.bkgColorIndex = bkgColorIndex; } public void paintComponent(Graphics g) { Dimension dim = getSize(); Insets insets = getInsets(); Color bkgColor = PrintColor.getDefaultColor(bkgColorIndex); VectorGraphics vg = VectorGraphics.create(g); vg.setColorMode(mode); vg.setColor(bkgColor); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); } } public static void main(String[] args) throws Exception { new TestPrintColors(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestFontType3.java0000644000175000017500000000106211331616417024574 0ustar giovannigiovanni// Copyright 2003-2005, FreeHEP. package org.freehep.graphicsio.test; import org.freehep.util.UserProperties; /** * * @author Mark Donszelmann * @version $Id: TestFontType3.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestFontType3 extends TestTaggedString { public TestFontType3(String[] args) throws Exception { super(args); setName("Test Font Type3"); } public static void main(String[] args) throws Exception { UserProperties p = new UserProperties(); new TestFontType3(args).runTest(p); } } src/main/java/org/freehep/graphicsio/test/TestUnicodeMap.java0000644000175000017500000002363311331616417024775 0ustar giovannigiovanni// Copyright 2000, CERN, Geneva, Switzerland and University of Santa Cruz, California, U.S.A. package org.freehep.graphicsio.test; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.WindowConstants; import javax.swing.border.Border; import org.freehep.graphics2d.VectorGraphics; import org.freehep.util.export.ExportDialog; /** * * @author Charles Loomis * @version $Id: TestUnicodeMap.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestUnicodeMap extends JFrame implements ActionListener { // Export Dialog. ExportDialog dialog; // The main panel. JPanel panel; // The symbols panel. TestPanel symbols; // Fill this panel with nine panels of different colors. public TestUnicodeMap() { // Title this frame. super("Text Test"); // Make this exit when the close button is clicked. setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { quit(); } }); // Create the Export dialog. dialog = new ExportDialog(); // Make a menu bar and menu. JMenuBar menuBar = new JMenuBar(); JMenu file = new JMenu("File"); JMenu page = new JMenu("Page"); JMenu font = new JMenu("Font"); // Add a menu item which will bring up this dialog. JMenuItem export = new JMenuItem("Export..."); export.addActionListener(this); file.add(export); file.addSeparator(); // Quit menu item. JMenuItem quit = new JMenuItem("Quit"); quit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { quit(); } }); file.add(quit); // Latin menu item. JMenuItem item = new JMenuItem("Latin"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setStartString("\u0000"); symbols.setEndString("\u00ff"); symbols.repaint(); } }); page.add(item); item = new JMenuItem("Greek"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setStartString("\u0300"); symbols.setEndString("\u03ff"); symbols.repaint(); } }); page.add(item); item = new JMenuItem("Punctuation"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setStartString("\u2000"); symbols.setEndString("\u20ff"); symbols.repaint(); } }); page.add(item); item = new JMenuItem("Arrows"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setStartString("\u2100"); symbols.setEndString("\u21ff"); symbols.repaint(); } }); page.add(item); item = new JMenuItem("MathOps"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setStartString("\u2200"); symbols.setEndString("\u22ff"); symbols.repaint(); } }); page.add(item); item = new JMenuItem("Dingbats"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setStartString("\u2700"); symbols.setEndString("\u27ff"); symbols.repaint(); } }); page.add(item); item = new JMenuItem("Courier"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setFont("courier"); repaint(); } }); font.add(item); item = new JMenuItem("Times"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setFont("serif"); repaint(); } }); font.add(item); item = new JMenuItem("Helvetica"); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { symbols.setFont("sansserif"); repaint(); } }); font.add(item); // Add this to the frame. menuBar.add(file); menuBar.add(page); menuBar.add(font); setJMenuBar(menuBar); // Get the content pane. Container content = this.getContentPane(); // Set the layout of this panel. content.setLayout(new BorderLayout()); // Create a border of white surrounded by black. Border border = BorderFactory.createCompoundBorder(BorderFactory .createMatteBorder(1, 1, 1, 1, Color.white), BorderFactory .createMatteBorder(2, 2, 2, 2, Color.black)); // Create a subpanel to hold the symbol panel. panel = new JPanel(); panel.setLayout(new BorderLayout()); symbols = new TestPanel(); symbols.setBorder(border); panel.add(symbols); // Add this panel to this container. content.add(panel, BorderLayout.CENTER); } // Action performed method used to change color map. public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if (source instanceof JMenuItem) { dialog.showExportDialog(this, "Export...", panel, "untitled"); } } /** * This method brings up a dialog box to ask if the user really wants to * quit. If the answer is yes, the application is stopped. */ public void quit() { // Create a dialog box to ask if the user really wants to quit. int n = JOptionPane.showConfirmDialog(this, "Do you really want to quit?", "Confirm Quit", JOptionPane.YES_NO_OPTION); if (n == JOptionPane.YES_OPTION) { System.exit(0); } } // Class panel which just paints a given background color. class TestPanel extends JPanel { String[] label = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }; String startString = "\u0000"; String endString = "\u00ff"; String fontname = "serif"; int fontsize = 0; public void setStartString(String startString) { this.startString = startString; } public void setEndString(String endString) { this.endString = endString; } public void setFont(String fontname) { this.fontname = fontname; } public void paintComponent(Graphics g) { if (g != null) { VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.white); vg .fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); int dw = dim.width / 17; int dh = dim.height / 17; vg.setColor(Color.black); fontsize = dh * 2 / 3; Font font = new Font(fontname, Font.ITALIC, fontsize); vg.setFont(font); StringBuffer character = new StringBuffer(" "); int iy = dh / 2 + dh; int ix = dw / 2 + dw; for (int i = 0; i < 16; i++) { vg.drawString(label[i], dw / 2, iy, VectorGraphics.TEXT_CENTER, VectorGraphics.TEXT_CENTER, false, Color.cyan, 2, false, Color.yellow); vg.drawString(label[i], ix, dh / 2, VectorGraphics.TEXT_CENTER, VectorGraphics.TEXT_CENTER, false, Color.cyan, 2, false, Color.yellow); iy += dh; ix += dw; } iy = dh / 2 + dh; ix = dw / 2; for (int i = (int) startString.charAt(0); i <= (int) endString .charAt(0); i++) { if (i % 16 == 0) { iy = dh / 2 + dh; ix += dw; } character.setCharAt(0, (char) i); vg.drawString(character.toString(), ix, iy, VectorGraphics.TEXT_CENTER, VectorGraphics.TEXT_CENTER, false, Color.cyan, 2, true, Color.yellow); iy += dh; } } } } public static void main(String[] args) { // Create a new instance of this class and add it to the frame. TestUnicodeMap test = new TestUnicodeMap(); // Give the frame a size and make it visible. test.pack(); test.setSize(new Dimension(400, 600)); test.setVisible(true); } } src/main/java/org/freehep/graphicsio/test/TestPerformance.java0000644000175000017500000000137211331616417025206 0ustar giovannigiovanni// University of California, Santa Cruz, USA and // CERN, Geneva, Switzerland, Copyright (c) 2000 package org.freehep.graphicsio.test; /** * @author Charles Loomis * @author Mark Donszelmann * @version $Id: TestPerformance.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestPerformance extends TestSymbols2D { public TestPerformance(String[] args) throws Exception { super(args); setName("Performance"); } public static void main(String[] args) throws Exception { long t0 = System.currentTimeMillis(); new TestSymbols2D(args).runTest(); if (args.length > 0) { System.out.println(args[0] + " took " + (System.currentTimeMillis() - t0) + " ms."); } } } src/main/java/org/freehep/graphicsio/test/TestRenderingHints.java0000644000175000017500000001021211331616417025661 0ustar giovannigiovanni// Copyright 2007, FreeHEP. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Font; import java.awt.RenderingHints; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.util.HashMap; import org.freehep.graphics2d.VectorGraphics; import org.freehep.util.UserProperties; import org.freehep.util.images.ImageHandler; /** * tests the ability to handle different rendering hints * * @author Steffen Greiffenberg * @version $Id$ */ public class TestRenderingHints extends TestingPanel { Image image; public TestRenderingHints(String[] args) throws Exception { super(args); setName("Rendering Hints"); } public void paintComponent(Graphics g) { MediaTracker t = new MediaTracker(this); image = ImageHandler.getImage( "images/BrokenCursor.gif", TestRenderingHints.class); t.addImage(image, 0); try { t.waitForAll(); } catch (InterruptedException e) { e.printStackTrace(); } VectorGraphics vg = VectorGraphics.create(g); AffineTransform at = vg.getTransform(); vg.setColor(Color.white); vg.fillRect(0, 0, getWidth(), getHeight()); vg.setColor(Color.black); vg.setFont(new Font("Dialog", Font.ITALIC, 20)); vg.setRenderingHints(new HashMap()); paint(vg, "No Hints"); vg.setRenderingHints(new HashMap()); vg.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); paint(vg, "ANTIALIAS_ON"); vg.setRenderingHints(new HashMap()); vg.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); paint(vg, "TEXT_ANTIALIAS_ON"); vg.setRenderingHints(new HashMap()); vg.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); paint(vg, "STROKE_NORMALIZE"); vg.setRenderingHints(new HashMap()); vg.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); paint(vg, "STROKE_PURE"); vg.setRenderingHints(new HashMap()); vg.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); paint(vg, "INTERPOLATION_BICUBIC"); vg.setRenderingHints(new HashMap()); vg.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); paint(vg, "INTERPOLATION_NEAREST_NEIGHBOR"); vg.setRenderingHints(new HashMap()); vg.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); paint(vg, "VALUE_DITHER_ENABLE"); RenderingHints hints = new RenderingHints( RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); vg.addRenderingHints(hints); paint(vg, "VALUE_FRACTIONALMETRICS_ON (added)"); vg.setTransform(at); } /** * draws a caption, a cross and to images * * @param vg painting context * @param text caption */ private void paint(VectorGraphics vg, String text) { vg.drawString(text, 20, 30); vg.drawLine(20, 35, 200, 50); vg.drawLine(20, 50, 200, 35); vg.drawImage(image, 230, 35, 100, 25, Color.yellow, this); // test dithering BufferedImage ditheredImage = new BufferedImage(200, 2, BufferedImage.TYPE_BYTE_INDEXED); Graphics2D g = (Graphics2D) ditheredImage.getGraphics(); g.setRenderingHints(vg.getRenderingHints()); for (int i = 0; i < 20; i ++) { double red = 255d / 20d * i + 2d; g.setColor(new Color((int) red, 0, 0)); g.fillRect(i * 10, 0, 10, 25); } g.dispose(); vg.drawImage(ditheredImage, 360, 35, 200, 25, this); vg.translate(0, 60); } public static void main(String[] args) throws Exception { UserProperties p = new UserProperties(); new TestRenderingHints(args).runTest(p); } } src/main/java/org/freehep/graphicsio/test/package.html0000644000175000017500000000007211331616417023517 0ustar giovannigiovanni Automatic Tests for the GraphicsIO package. src/main/java/org/freehep/graphicsio/test/TestHTML.java0000644000175000017500000000164511331616417023514 0ustar giovannigiovanni// Copyright 2002, SLAC, Stanford University, U.S.A. package org.freehep.graphicsio.test; import javax.swing.JEditorPane; import javax.swing.text.html.HTMLEditorKit; /** * * @author Mark Donszelmann * @version $Id: TestHTML.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestHTML extends TestingPanel { private String text; public TestHTML(String[] args) throws Exception { super(args); setName("HTML"); text = "<VectorGraphics & AdapterCard " + "= ex2y3>"; JEditorPane pane = new JEditorPane(); pane.setContentType("text/html"); pane.setEditorKit(new HTMLEditorKit()); pane.setText(text); pane.setEditable(false); add(pane); } public static void main(String[] args) throws Exception { new TestHTML(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestingFrame.java0000644000175000017500000001067011331616417024476 0ustar giovannigiovanni// Copyright 2001-2005, FreeHEP. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.BorderFactory; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JTabbedPane; import javax.swing.WindowConstants; import javax.swing.border.Border; import org.freehep.util.export.ExportDialog; import org.freehep.util.export.VectorGraphicsTransferable; /** * @author Charles Loomis * @author Mark Donszelmann * @version $Id: TestingFrame.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestingFrame extends JFrame { private String title; private ExportDialog dialog; private JComponent singlePanel; private JTabbedPane multiPanel; public TestingFrame(String title) { // Title this frame. super(title); this.title = title; // Make this exit when the close button is clicked. setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { quit(); } }); // Create the Export dialog. dialog = new ExportDialog(); // Make a menu bar JMenuBar menuBar = new JMenuBar(); // File Menu JMenu file = new JMenu("File"); menuBar.add(file); // Add Export... JMenuItem export = new JMenuItem("Export..."); file.add(export); export.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { export(); } }); // Add Quit... JMenuItem quit = new JMenuItem("Quit"); file.add(quit); quit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { quit(); } }); // Edit Menu JMenu edit = new JMenu("Edit"); menuBar.add(edit); // Add Copy JMenuItem copy = new JMenuItem("Copy"); edit.add(copy); copy.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { copy(); } }); // Add this to the frame. setJMenuBar(menuBar); } public void export() { if (multiPanel != null) { // FIXME the current export dialog does not allow to write multiple // files at once... dialog.showExportDialog(this, "Export...", multiPanel .getSelectedComponent(), title); } else if (singlePanel != null) { dialog.showExportDialog(this, "Export...", singlePanel, title); } else { System.err.println("Failed to export"); } } public void addPanel(JComponent c) { addPanel(null, c); } /** * Add a test panel to the frame. */ public void addPanel(String name, JComponent c) { if (name == null) { singlePanel = c; setContentPane(singlePanel); } else { if (multiPanel == null) { multiPanel = new JTabbedPane(); setContentPane(multiPanel); } multiPanel.addTab(name, c); } // Create a border of white surrounded by black. Border border = BorderFactory.createCompoundBorder(BorderFactory .createMatteBorder(1, 1, 1, 1, Color.white), BorderFactory .createMatteBorder(2, 2, 2, 2, Color.green)); c.setBorder(border); } public void copy() { Clipboard clipBoard = Toolkit.getDefaultToolkit().getSystemClipboard(); VectorGraphicsTransferable transferable = new VectorGraphicsTransferable( multiPanel == null ? singlePanel : multiPanel .getSelectedComponent()); clipBoard.setContents(transferable, transferable); } public void quit() { int n = JOptionPane.showConfirmDialog(this, "Do you really want to quit?", "Confirm Quit", JOptionPane.YES_NO_OPTION); if (n == JOptionPane.YES_OPTION) System.exit(0); } } src/main/java/org/freehep/graphicsio/test/TestOffset.java0000644000175000017500000000244711331616417024177 0ustar giovannigiovanni// Copyright 2004, FreeHEP. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import org.freehep.graphics2d.VectorGraphics; /** * @author Charles Loomis * @version $Id: TestOffset.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestOffset extends TestingPanel { public TestOffset(String[] args) throws Exception { super(args); setName("Offset"); } public void paintComponent(Graphics g) { if (g == null) return; VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.white); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); vg.setColor(Color.black); vg.setLineWidth(4.0); double w = dim.width, h = dim.height; vg.translate(w / 2, h / 2); double xhi = w / 2 - 10, yhi = h / 2 - 10; vg.drawLine(-xhi, -yhi, xhi, yhi); vg.drawLine(-xhi, yhi, xhi, -yhi); vg.drawRect(-xhi, -yhi, w - 20, h - 20); } public static void main(String[] args) throws Exception { new TestOffset(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestingPanel.java0000644000175000017500000001303111331616417024475 0ustar giovannigiovanni// Copyright 2000-2007, FreeHEP. package org.freehep.graphicsio.test; import java.awt.Component; import java.awt.Dimension; import java.io.File; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; import java.util.Properties; import javax.swing.JComponent; import javax.swing.JPanel; import org.freehep.graphics2d.VectorGraphics; import org.freehep.graphicsio.ImageGraphics2D; import org.freehep.swing.Headless; import org.freehep.util.UserProperties; /** * @author Mark Donszelmann * @version $Id: TestingPanel.java 12626 2007-06-08 22:23:13Z duns $ */ public class TestingPanel extends JPanel { public static final int width = 600; public static final int height = 600; protected String[] args; protected VectorGraphics graphics; protected List/* */names = new ArrayList(); protected List/* */pages = new ArrayList(); public TestingPanel(String[] args) throws Exception { this.args = args; if ((args != null) && (args.length != 0)) { if (args[0].equals(ImageGraphics2D.class.getName())) { if (args.length != 3) { System.err.println("Usage: Test... " + ImageGraphics2D.class + " format OutputFile"); System.exit(1); } } else { if (args.length != 2) { System.err .println("Usage: Test... VectorGraphicsClassName OutputFile"); System.exit(1); } } } } protected void addPage(String name, JComponent c) { names.add(name); pages.add(c); } public void runTest() throws Exception { runTest(null); } public void runTest(int width, int height) throws Exception { runTest(width, height, null); } public void runTest(Properties options) throws Exception { runTest(width, height, options); } public void runTest(int width, int height, Properties options) throws Exception { setPreferredSize(new Dimension(width, height)); if ((args == null) || (args.length == 0)) { // Create a new frame to hold everything. TestingFrame frame = new TestingFrame(getClass().toString()); if (names.size() > 0) { for (int i = 0; i < names.size(); i++) { frame.addPanel((String) names.get(i), (JComponent) pages .get(i)); } frame.setSize(width, height); } else { // Create a new instance of this class and add it to the frame. frame.addPanel(this); frame.pack(); } // Give the frame a size and make it visible. frame.setVisible(true); } else { // run with -Djava.awt.headless=true Headless headless = new Headless(this); headless.pack(); headless.setVisible(true); if (args[0].equals(ImageGraphics2D.class.getName())) { File file = new File(args[2]); graphics = new ImageGraphics2D(file, this, args[1]); } else { try { File file = new File(args[1]); // System.err.println(file); Class cls = Class.forName(args[0]); Constructor constructor = cls.getConstructor(new Class[] { File.class, Component.class }); graphics = (VectorGraphics) constructor .newInstance(new Object[] { file, this }); } catch (ClassNotFoundException e) { System.out.println("Cannot find class: " + args[0]); throw e; } catch (ClassCastException e) { System.out.println("Class: " + args[0] + " does not extend VectorGraphics"); throw e; } catch (NoSuchMethodException e) { System.out.println("Class: " + args[0] + " does not have constructor(File, Component)"); throw e; } catch (InvocationTargetException e) { System.out.println(e.getTargetException()); e.getTargetException().printStackTrace(); throw e; } } // FIXME we should also set the properties in interactive mode UserProperties user = (options == null) ? new UserProperties() : new UserProperties(options); // FIXME enable these when we can know if we run interactively or // from ANT // user.setProperty(AbstractVectorGraphicsIO.EMIT_WARNINGS, true); // user.setProperty(AbstractVectorGraphicsIO.EMIT_ERRORS, true); // Text Antialiasing seems to produce something time dependent user.setProperty(ImageGraphics2D.ANTIALIAS_TEXT, false); // user.setProperty(JAVAGraphics2D.PACKAGE_NAME, // "org.freehep.graphicsio.java.test"); // FIXME FREEHEP-219, we need something here to write multi-page // documents... graphics.setProperties(user); graphics.setDeviceIndependent(true); graphics.startExport(); print(graphics); graphics.endExport(); } } } src/main/java/org/freehep/graphicsio/test/TestPaint.java0000644000175000017500000000757111331616417024027 0ustar giovannigiovanni// Copyright 2000-2005, FreeHEP. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Paint; import java.awt.TexturePaint; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import org.freehep.graphics2d.VectorGraphics; import org.freehep.util.UserProperties; import org.freehep.util.images.ImageHandler; public class TestPaint extends TestingPanel { public TestPaint(String[] args) throws Exception { super(args); setName("Paint"); } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); vg.setColor(Color.white); vg.fillRect(0, 0, getWidth(), getHeight()); int dw = getWidth() / 3; int dh = getHeight() / 3; MediaTracker t = new MediaTracker(this); Image limage = ImageHandler.getImage("images/BrokenCursor.gif", TestPaint.class); t.addImage(limage, 0); try { t.waitForAll(); } catch (InterruptedException e) { e.printStackTrace(); } BufferedImage image = new BufferedImage(limage.getWidth(this), limage .getHeight(this), BufferedImage.TYPE_INT_RGB); image.getGraphics().drawImage(limage, 0, 0, this); Paint[] paint = new Paint[] { new TexturePaint(image, new Rectangle2D.Double(0, 0, image .getWidth(), image.getHeight())), new TexturePaint(image, new Rectangle2D.Double(0, 0, image .getWidth() / 2, image.getHeight() / 2)), new TexturePaint(image, new Rectangle2D.Double( image.getWidth() / 2, image.getHeight() / 2, image .getWidth(), image.getHeight())) }; double row = 1; for (int x = 0; x < paint.length; x++) { vg.setColor(Color.black); vg.drawRect(dw * x, dh * row, dw * 0.9, dh * 0.9); vg.setPaint(paint[x]); vg.fillRect(dw * x, dh * row, dw * 0.9, dh * 0.9); } row = 2; for (int x = 0; x < 3; x++) { Paint p = null; switch (x) { case 0: p = new GradientPaint(dw * x, (int) row * dh, Color.red, (int) (dw * x + dw * 0.9), (int) (row * dh + 0.9 * dh), Color.blue); break; case 1: p = new GradientPaint(dw * x + dw / 4, (int) row * dh + dh / 4, Color.green, (int) (dw * x + dw * 0.6), (int) (row * dh + 0.6 * dh), new Color(255, 0, 255)); break; case 2: p = new GradientPaint(dw * x, (int) row * dh, Color.red, (int) (dw * x + dw * 0.2), (int) (row * dh + 0.2 * dh), Color.yellow, true); break; } vg.setPaint(p); vg.fillRect(dw * x, row * dh, dw * 0.9, dh * 0.9); } Graphics subgraphics = vg.create(); VectorGraphics svg = VectorGraphics.create(subgraphics); double x1 = 0; double y1 = 0; double x2 = x1 + dw * 0.6; double y2 = y1 + dh * 0.6; svg.shear(0.5, 0.5); svg.setPaint(new GradientPaint((int) x1, (int) y1, Color.red, (int) x2, (int) y2, Color.blue)); svg.fillRect(x1, y1, x2 - x1, y2 - y1); svg.setPaint(new TexturePaint(image, new Rectangle2D.Double(0, 0, image .getWidth(), image.getHeight()))); svg.fillRect(x1 + dw, y1 - dh / 2, x2 - x1, y2 - y1); svg.dispose(); } public static void main(String[] args) throws Exception { UserProperties p = new UserProperties(); new TestPaint(args).runTest(p); } } src/main/java/org/freehep/graphicsio/test/TestExportFileType.java0000644000175000017500000000472411331616417025674 0ustar giovannigiovannipackage org.freehep.graphicsio.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.util.Properties; import javax.swing.JOptionPane; import javax.swing.JPanel; import org.freehep.graphicsio.exportchooser.ImageExportFileType; import org.freehep.util.export.ExportFileType; /** * @author Mark Donszelmann * @version $Id: TestExportFileType.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestExportFileType { public static void main(String args[]) throws Exception { if (args.length < 1) { System.err.println("Usage: TestExportFileType className"); System.exit(1); } ExportFileType type; if (args[0].equals(ImageExportFileType.class.getName())) { if (args.length != 2) { System.err.println("Usage: " + ImageExportFileType.class + " format"); System.exit(1); } type = ImageExportFileType.getInstance(args[1]); if (type == null) { System.err.println("Format not supported: " + args[1]); System.exit(1); } } else { Class clazz = Class.forName(args[0]); type = (ExportFileType) clazz.newInstance(); } if (!type.hasOptionPanel()) { System.err.println("No options exist for " + args[0]); System.exit(1); } Properties options = new Properties(); File optionsFile = new File("TestExportFileType.properties"); try { options.load(new FileInputStream(optionsFile)); } catch (FileNotFoundException e) { } JPanel panel = type.createOptionPanel(options); int rc = JOptionPane.showConfirmDialog(null, panel, "Options for " + type.getDescription(), JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); if (rc == JOptionPane.OK_OPTION) { if (type.applyChangedOptions(panel, options)) { ; System.out.println("New options written"); options.list(System.out); options.store(new FileOutputStream(optionsFile), "TestExportFileType"); } else { System.out.println("No options changed"); } } else { System.out.println("Cancelled"); } System.exit(0); } } src/main/java/org/freehep/graphicsio/test/TestPreviewThumbnail.java0000644000175000017500000000076511331616417026237 0ustar giovannigiovanni// Copyright 2000-2005, FreeHEP. package org.freehep.graphicsio.test; /** * @author Mark Donszelmann * @version $Id: TestPreviewThumbnail.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestPreviewThumbnail extends TestAll { public TestPreviewThumbnail(String[] args) throws Exception { super(args); setName("Test Preview and/or Thumbnail"); } public static void main(String[] args) throws Exception { new TestPreviewThumbnail(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestImage2D.java0000644000175000017500000000517311331616417024160 0ustar giovannigiovanni// University of California, Santa Cruz, USA and // CERN, Geneva, Switzerland, Copyright (c) 2000 package org.freehep.graphicsio.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Stroke; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.BufferedImageOp; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import org.freehep.graphics2d.VectorGraphics; import org.freehep.util.images.ImageHandler; /** * @author Charles Loomis * @version $Id: TestImage2D.java 9336 2006-11-15 20:23:12Z duns $ */ public class TestImage2D extends TestingPanel { static Stroke stroke = new BasicStroke(5.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); private Image image; private BufferedImage image1, image2; public TestImage2D(String[] args) throws Exception { super(args); setName("Images2D"); MediaTracker t = new MediaTracker(this); image = ImageHandler.getImage("images/transparent-image.gif", TestImage2D.class); t.addImage(image, 0); try { t.waitForAll(); } catch (InterruptedException e) { e.printStackTrace(); } image1 = new BufferedImage(image.getWidth(this), image.getHeight(this), BufferedImage.TYPE_INT_RGB); image1.createGraphics().drawImage(image, 0, 0, this); image2 = new BufferedImage(image.getWidth(this), image .getHeight(this), BufferedImage.TYPE_INT_RGB); image2.createGraphics().drawImage(image, 0, 0, this); } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); AffineTransform transform = vg.getTransform(); vg.setColor(Color.white); vg.fillRect(0, 0, getWidth(), getHeight()); vg.drawImage(image1, new AffineTransform(), this); vg.shear(0.2, 0.2); AffineTransform t = new AffineTransform(); t.rotate(0.5, -40, 0); t.translate(250, -50); t.shear(-0.3, 0); vg.drawImage(image, t, this); float[] SHARPEN3x3 = new float[] { 0.f, -1.f, 0.f, -1.f, 5.0f, -1.f, 0.f, -1.f, 0.f }; Kernel kernel = new Kernel(3, 3, SHARPEN3x3); BufferedImageOp cop = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); vg.drawImage(image2, cop, 300, -80); vg.setTransform(transform); } public static void main(String[] args) throws Exception { new TestImage2D(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestMultiPage.java0000644000175000017500000000134511331616417024634 0ustar giovannigiovanni// Copyright 2005 freehep package org.freehep.graphicsio.test; /** * @author Mark Donszelmann * @version $Id: TestMultiPage.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestMultiPage extends TestingPanel { public TestMultiPage(String[] args) throws Exception { super(args); // Create a new instance of this class and add it to the frame. addPage("Colors", new TestColors(null)); addPage("Clip", new TestClip(null)); addPage("Lines", new TestLineStyles(null)); addPage("Shapes", new TestShapes(null)); addPage("Symbols", new TestSymbols2D(null)); } public static void main(String[] args) throws Exception { new TestMultiPage(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestResolution.java0000644000175000017500000000366211331616417025114 0ustar giovannigiovanni// Copyright 2004, FreeHEP. package org.freehep.graphicsio.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import java.awt.geom.Ellipse2D; import org.freehep.graphics2d.VectorGraphics; /** * * @author Mark Donszelmann * @version $Id: TestResolution.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestResolution extends TestingPanel { public TestResolution(String[] args) throws Exception { super(args); setName("Resolution"); } public void paintComponent(Graphics g) { if (g == null) return; VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.white); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); double w = dim.width / 3; double h = dim.height / 5; double s = 0.0000001; for (int i = 0; i < 15; i++) { VectorGraphics vgs = (VectorGraphics) vg.create(); if (i < 5) { vgs.translate(0, i * h); } else if (i < 10) { vgs.translate(w, (i - 5) * h); } else { vgs.translate(2 * w, (i - 10) * h); } vgs.translate(w / 2, h / 2); double sc = 0.5 * Math.min(w, h) / 2; vgs.scale(sc, sc); vgs.scale(1 / s, 1 / s); vgs.setStroke(new BasicStroke((float) (0.5 * s), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); vgs.setColor(Color.black); vgs.draw(new Ellipse2D.Double(-1 * s, -1 * s, 2 * s, 2 * s)); vgs.dispose(); s *= 10; } } public static void main(String[] args) throws Exception { new TestResolution(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestColors.java0000644000175000017500000000461111331616417024205 0ustar giovannigiovanni// Copyright 2003, FreeHEP package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Graphics; import org.freehep.graphics2d.VectorGraphics; /** * @author Mark Donszelmann * @version $Id: TestColors.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestColors extends TestingPanel { public TestColors(String[] args) throws Exception { super(args); setName("Colors"); } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); vg.setColor(Color.WHITE); vg.fillRect(0, 0, getWidth(), getHeight() / 3); vg.setColor(Color.BLACK); vg.fillRect(0, getHeight() / 3, getWidth(), getHeight() / 3); int radius = 55; int dx = getWidth() / 4; int dy = getHeight() / 6; int x = dx; int y = dy; drawRGB(x, y, radius, vg); x += (dx * 2); drawCMY(x, y, radius, vg); x = dx; y += (dy * 2); drawRGB(x, y, radius, vg); x += (dx * 2); drawCMY(x, y, radius, vg); x = dx; y += (dy * 2); drawRGB(x, y, radius, vg); x += (dx * 2); drawCMY(x, y, radius, vg); } private void drawRGB(int x, int y, int radius, VectorGraphics g) { int circleWidth = radius * 2; int radius53 = 5 * radius / 3; int radius3 = radius / 3; g.setColor(new Color(255, 0, 0, 128)); g.fillOval(x - radius53, y - radius53, circleWidth, circleWidth); g.setColor(new Color(0, 255, 0, 128)); g.fillOval(x - radius3, y - radius53, circleWidth, circleWidth); g.setColor(new Color(0, 0, 255, 128)); g.fillOval(x - radius, y - radius3, circleWidth, circleWidth); } private void drawCMY(int x, int y, int radius, VectorGraphics g) { int circleWidth = radius * 2; int radius53 = 5 * radius / 3; int radius3 = radius / 3; g.setColor(new Color(0, 255, 255, 128)); g.fillOval(x - radius53, y - radius53, circleWidth, circleWidth); g.setColor(new Color(255, 0, 255, 128)); g.fillOval(x - radius3, y - radius53, circleWidth, circleWidth); g.setColor(new Color(255, 255, 0, 128)); g.fillOval(x - radius, y - radius3, circleWidth, circleWidth); } public static void main(String[] args) throws Exception { new TestColors(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestSymbolPerformance.java0000644000175000017500000000503511331616417026374 0ustar giovannigiovanni// COpyright 2000-2005, FreeHEP. package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import javax.swing.JPanel; import org.freehep.graphics2d.VectorGraphics; import org.freehep.graphics2d.VectorGraphicsConstants; /** * @author Charles Loomis * @author Mark Donszelmann * @version $Id: TestSymbolPerformance.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestSymbolPerformance extends JPanel { public TestSymbolPerformance() { setOpaque(false); } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.RED); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); vg.setColor(Color.BLACK); writeSymbols(10000, vg, 0, dim.height / 2, dim.width, VectorGraphicsConstants.SYMBOL_STAR, 4); writeSymbols(10000, vg, dim.height / 2, dim.height / 2, dim.width, VectorGraphicsConstants.SYMBOL_CIRCLE, 256); } private void writeSymbols(int n, VectorGraphics vg, double yo, double height, double width, int type, int levelsPerColor) { long start = System.currentTimeMillis(); for (int i = 0; i < n; i++) { double x = Math.random() * width; double y = yo + 20 + Math.random() * (height - 20); int colorUnit = 256 / levelsPerColor; int r = (int) (Math.random() * 256 / colorUnit) * colorUnit; int g = (int) (Math.random() * 256 / colorUnit) * colorUnit; int b = (int) (Math.random() * 256 / colorUnit) * colorUnit; vg.setColor(new Color(r, g, b)); vg.fillSymbol(x, y, 6, type); } long end = System.currentTimeMillis(); vg.setColor(Color.BLACK); vg.drawString(n + " symbols of type " + type + " filled in " + (end - start) + " ms", 10, yo + 15); } public static void main(String[] args) { // Create a new frame to hold everything. TestingFrame frame = new TestingFrame("Test Symbol Performance"); // Create a new instance of this class and add it to the frame. frame.addPanel(new TestSymbolPerformance()); // Give the frame a size and make it visible. frame.pack(); frame.setSize(new Dimension(600, 600)); frame.setVisible(true); } } src/main/java/org/freehep/graphicsio/test/TestTransparency.java0000644000175000017500000000554311331616417025422 0ustar giovannigiovanni// Copyright 2003, FreeHEP package org.freehep.graphicsio.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Stroke; import java.awt.image.BufferedImage; import org.freehep.graphics2d.VectorGraphics; import org.freehep.util.images.ImageHandler; /** * @author Mark Donszelmann * @version $Id: TestTransparency.java 9972 2006-11-26 20:47:43Z duns $ */ public class TestTransparency extends TestingPanel { static Stroke stroke = new BasicStroke(5.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); private Image image; private Color bkg = Color.ORANGE; public TestTransparency(String[] args) throws Exception { super(args); setName("Transparency"); MediaTracker t = new MediaTracker(this); image = ImageHandler.getImage("images/transparent-image.gif", TestTransparency.class); t.addImage(image, 0); try { t.waitForAll(); } catch (InterruptedException e) { e.printStackTrace(); } } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); int numberOfImages = 16; int dalpha = 255 / (numberOfImages - 1); int imagesPerSide = (int) Math.sqrt(numberOfImages); int x0 = 10; int y0 = 10; int width = getWidth(); int height = getHeight(); int dw = (width - 2 * x0) / imagesPerSide; int dh = (height - 2 * y0) / imagesPerSide; int x = x0; int y = y0; vg.setBackground(bkg); vg.clearRect(0, 0, width, height); BufferedImage[] bi = new BufferedImage[numberOfImages]; for (int n = 0; n < numberOfImages; n++) { bi[n] = new BufferedImage(image.getWidth(this), image .getHeight(this), BufferedImage.TYPE_INT_ARGB); bi[n].createGraphics().drawImage(image, 0, 0, this); for (int j = 0; j < bi[n].getHeight(); j++) { for (int i = 0; i < bi[n].getWidth(); i++) { int data = bi[n].getRGB(i, j); if (((data >> 24) & 0xFF) == 0) { // mend transparent pixels data |= ((dalpha * n) << 24); data |= 0x00008080; bi[n].setRGB(i, j, data); } } } } int n = 0; for (int i = 0; i < imagesPerSide; i++) { for (int j = 0; j < imagesPerSide; j++) { vg.drawImage(bi[n], x, y, dw, dh, this); n++; x += dw; } x = x0; y += dh; } } public static void main(String[] args) throws Exception { new TestTransparency(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestTransforms.java0000644000175000017500000000732611331616417025110 0ustar giovannigiovanni// University of California, Santa Cruz, USA and // CERN, Geneva, Switzerland, Copyright (c) 2000 package org.freehep.graphicsio.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics; import java.awt.Stroke; import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import org.freehep.graphics2d.VectorGraphics; /** * @author Charles Loomis * @version $Id: TestTransforms.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestTransforms extends TestingPanel { static Stroke stroke = new BasicStroke(5.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); public TestTransforms(String[] args) throws Exception { super(args); setName("Transformations"); } public void paintComponent(Graphics g) { VectorGraphics vg = VectorGraphics.create(g); AffineTransform transform = vg.getTransform(); vg.setColor(Color.white); vg.fillRect(0, 0, getWidth(), getHeight()); int size = 50; GeneralPath sshape = new GeneralPath(); sshape.moveTo((float)0*size, (float)0*size); sshape.lineTo((float).5*size, (float)size); sshape.lineTo((float)-.5*size, (float)size); sshape.lineTo((float).5*size, (float)-size); sshape.lineTo((float)-.5*size, (float)-size); sshape.closePath(); vg.setColor(Color.black); Graphics subgraphics = vg.create(); VectorGraphics svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(100, 100); svg.draw(sshape); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(300, 100); svg.rotate(Math.PI / 4.); svg.fill(sshape); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(500, 100); svg.scale(2., 0.5); svg.fillAndDraw(sshape, Color.red); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(100, 300); svg.shear(1., 0.); svg.draw(sshape); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(300, 300); svg.shear(0., 1.); svg.draw(sshape); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(500, 300); svg.rotate(-Math.PI / 4., 50., 50.); svg.draw(sshape); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(100, 500); svg.transform(new AffineTransform(2., 0., 1., 0.5, 50., 0.)); svg.draw(sshape); svg.dispose(); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.translate(300, 500); svg.transform(new AffineTransform(0.5, 1., 0., 2., 50., -50.)); svg.draw(sshape); svg.dispose(); vg.setTransform(new AffineTransform(1., 0., 0., 1., 400., 400.)); subgraphics = vg.create(); svg = VectorGraphics.create(subgraphics); svg.setStroke(stroke); svg.transform(new AffineTransform(0.5, 1., 0., 1., 0., 0.)); svg.draw(sshape); svg.dispose(); vg.setTransform(transform); } public static void main(String[] args) throws Exception { new TestTransforms(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestFonts.java0000644000175000017500000001010711331616417024032 0ustar giovannigiovanni// Copyright 2001-2005, freehep package org.freehep.graphicsio.test; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Insets; import org.freehep.graphics2d.VectorGraphics; import org.freehep.graphics2d.font.CharTable; import org.freehep.graphics2d.font.Lookup; /** * @author Simon Fischer * @version $Id: TestFonts.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestFonts extends TestingPanel { public TestFonts(String[] args) throws Exception { super(args); setName("Fonts"); } public void paintComponent(Graphics g) { if (g == null) return; VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.white); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); // int dw = dim.width / 5; int dh = dim.height / 8; vg.setColor(Color.black); Font serif = new Font("Serif", Font.PLAIN, 12); Font sansserif = new Font("SansSerif", Font.PLAIN, 12); Font dialog = new Font("Dialog", Font.PLAIN, 12); Font monospaced = new Font("Monospaced", Font.PLAIN, 12); // Font standard = new Font("TimesRoman", Font.PLAIN, 12); // Font standard = new Font("Impact", Font.PLAIN, 12); Font standard = serif; // Font standard = new Font("Lucida Times Unicode", Font.PLAIN, 12); // Font embedded = new Font("ZapfChancery", Font.PLAIN, 12); // Font embedded = new Font("Impact", Font.PLAIN, 12); // Font embedded = new Font("Arial", Font.PLAIN, 12); // Font standard = new Font("Lucida Sans", Font.PLAIN, 12); Font embedded = new Font("Monotype Corsiva", Font.PLAIN, 12); // Font embedded = new Font("Lucida Sans", Font.PLAIN, 12); // Font embedded = new Font("ZapfDingbats", Font.PLAIN, 12); vg.setFont(standard); vg.drawString("[" + standard + "]", 10, 20); vg.drawLine(10, 40, 200, 40); vg.drawString("This font is a standard font: " + standard.getName() + ".", 10, 40); vg.setFont(embedded); vg.drawString("[" + embedded + "]", 10, dh); vg.drawLine(10, dh + 20, 200, dh + 20); vg.drawString("This font is a special font: " + embedded.getName() + ".", 10, dh + 20); CharTable table = Lookup.getInstance().getTable("PDFLatin"); for (int i = 0; i < 8; i++) { for (int j = 0; j < 32; j++) { int c = 32 * i + j; String name = table.toName(c); char ch = '?'; if (name != null) { ch = table.toUnicode(name); } vg.setFont(standard); vg.drawString(" " + ch, 10 + j * 15, i * 35 + 2 * dh); vg.setFont(embedded); vg.drawString(" " + ch, 10 + j * 15, i * 35 + 15 + 2 * dh); } } vg.setFont(standard); vg.drawString("Symbol Font:", 20, 7 * dh - 40); vg.setFont(new Font("Symbol", Font.PLAIN, 12)); vg.drawString("ABC abc 123 .,!", 200, 7 * dh - 40); vg.setFont(standard); vg.drawString("Dingbats:", 20, 7 * dh - 20); vg.setFont(new Font("ZapfDingbats", Font.PLAIN, 12)); vg.drawString("ABC abc 123 .,!", 200, 7 * dh - 20); String ucs = "Unicode chars (greek, dingbats): \u03b1 \u03b2 \u03b3 \u263a \u2665 \u2729 \u270c"; vg.setFont(serif); vg.drawString(ucs + " in " + serif.getName(), 20, 7 * dh); vg.setFont(sansserif); vg.drawString(ucs + " in " + sansserif.getName(), 20, 7 * dh + 20); vg.setFont(dialog); vg.drawString(ucs + " in " + dialog.getName(), 20, 7 * dh + 40); vg.setFont(monospaced); vg.drawString(ucs + " in " + monospaced.getName(), 20, 7 * dh + 60); } public static void main(String[] args) throws Exception { new TestFonts(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestLineStyles.java0000644000175000017500000000757411331616417025052 0ustar giovannigiovanni// University of California, Santa Cruz, USA and // CERN, Geneva, Switzerland, Copyright (c) 2000 package org.freehep.graphicsio.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import java.awt.Stroke; import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import org.freehep.graphics2d.VectorGraphics; /** * @author Charles Loomis * @version $Id: TestLineStyles.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestLineStyles extends TestingPanel { static float[] dash1 = new float[2]; static { dash1[0] = 5.f; dash1[1] = 2.f; } static float[] dash2 = new float[2]; static { dash2[0] = 0.f; dash2[1] = 7.f; } static float[] dash3 = new float[4]; static { dash3[0] = 10.f; dash3[1] = 5.f; dash3[2] = 2.f; dash3[3] = 5.f; } static Stroke[][] strokes = new Stroke[3][3]; static { strokes[0][0] = new BasicStroke(3.f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.f, dash1, 0.f); strokes[0][1] = new BasicStroke(5.f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.f, dash1, 0.f); strokes[0][2] = new BasicStroke(20.f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.f); strokes[1][0] = new BasicStroke(3.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10.f, dash2, 0.f); strokes[1][1] = new BasicStroke(5.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10.f, dash2, 0.f); strokes[1][2] = new BasicStroke(20.f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10.f); strokes[2][0] = new BasicStroke(3.f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND, 10.f, dash3, 0.f); strokes[2][1] = new BasicStroke(5.f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND, 10.f, dash3, 0.f); strokes[2][2] = new BasicStroke(20.f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND, 10.f); } public TestLineStyles(String[] args) throws Exception { super(args); setName("Line Styles"); } public void paintComponent(Graphics g) { if (g != null) { VectorGraphics vg = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg.setColor(Color.white); vg.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); int dw = dim.width / 3; int dh = dim.height / 3; int size = (Math.min(dw, dh) * 2 / 3) / 2; vg.setColor(Color.black); // thinnest line possible vg.setStroke(new BasicStroke(0.0f)); vg.drawLine(0, dim.height / 40, dim.width, dim.height / 40); GeneralPath sshape = new GeneralPath(); sshape.moveTo(size, size); sshape.lineTo(-size, size); sshape.lineTo(-size, size / 2); sshape.lineTo(size, size / 2); sshape.lineTo(size, -size / 2); sshape.lineTo(-size, -size / 2); sshape.lineTo(-size, -size); sshape.lineTo(size, -size); for (int iy = 0; iy < 3; iy++) { int y = iy * dh + dh / 2; for (int ix = 0; ix < 3; ix++) { int x = ix * dw + dw / 2; vg.setStroke(strokes[ix][iy]); AffineTransform xform = AffineTransform .getTranslateInstance((double) x, (double) y); vg.draw(sshape.createTransformedShape(xform)); } } } } public static void main(String[] args) throws Exception { new TestLineStyles(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestHistogram.java0000644000175000017500000000150611331616417024701 0ustar giovannigiovanni// Copyright 2006, FreeHEP package org.freehep.graphicsio.test; import java.io.InputStream; import java.io.InputStreamReader; import jas.hist.JASHist; import jas.hist.XMLHistBuilder; /** * * @author Mark Donszelmann * @version $Id: TestHistogram.java 9338 2006-11-16 02:41:51Z duns $ */ public class TestHistogram extends TestingPanel { private JASHist plot; public TestHistogram(String[] args) throws Exception { super(args); setName("Histogram"); String plotml = "TestHistogram.plotml"; InputStream in = getClass().getResourceAsStream(plotml); XMLHistBuilder xhb = new XMLHistBuilder(new InputStreamReader(in), plotml); plot = xhb.getSoloPlot(); plot.setAllowUserInteraction(false); add(plot); } public static void main(String[] args) throws Exception { new TestHistogram(args).runTest(); } } src/main/java/org/freehep/graphicsio/test/TestGraphicsContexts.java0000644000175000017500000000427311331616417026240 0ustar giovannigiovannipackage org.freehep.graphicsio.test; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import java.awt.Stroke; import org.freehep.graphics2d.VectorGraphics; /** * @author Andre Bach * @version $Id: TestGraphicsContexts.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestGraphicsContexts extends TestingPanel { static float[] dash2 = new float[2]; static { dash2[0] = 5.f; dash2[1] = 4.f; } Stroke stroke1 = new BasicStroke(5.f); Stroke stroke2 = new BasicStroke(10.f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.f, dash2, 0.f); Stroke stroke3 = new BasicStroke(2.f); public TestGraphicsContexts(String[] args) throws Exception { super(args); setName("Line Styles"); } public void paintComponent(Graphics g) { VectorGraphics vg1 = VectorGraphics.create(g); Dimension dim = getSize(); Insets insets = getInsets(); vg1.setColor(Color.white); vg1.fillRect(insets.left, insets.top, dim.width - insets.left - insets.right, dim.height - insets.top - insets.bottom); vg1.setColor(Color.black); vg1.setStroke(stroke1); vg1.drawLine(200, 25, 350, 25); vg1.drawSymbol(400, 25, 40, 5); Graphics g2 = vg1.create(); VectorGraphics vg2 = VectorGraphics.create(g2); vg2.setStroke(stroke2); vg2.setColor(Color.green); vg2.translate(-137.5, 0); vg2.scale(1.5, 1); vg2.drawLine(200, 125, 350, 125); vg2.drawSymbol(400, 125, 40, 6); Graphics g3 = vg2.create(); VectorGraphics vg3 = VectorGraphics.create(g3); vg3.setStroke(stroke3); vg3.setColor(Color.blue); vg3.drawLine(200, 225, 350, 225); vg3.fillSymbol(400, 225, 40, 7); vg3.dispose(); vg2.drawLine(200, 325, 350, 325); vg2.drawSymbol(400, 325, 40, 6); vg2.dispose(); vg1.drawLine(200, 425, 350, 425); vg1.drawSymbol(400, 425, 40, 5); } public static void main(String[] args) throws Exception { new TestGraphicsContexts(args).runTest(); } }src/main/java/org/freehep/graphicsio/test/TestLabels.java0000644000175000017500000001141011331616417024141 0ustar giovannigiovanni// Copyright 2002, SLAC, Stanford University, U.S.A. package org.freehep.graphicsio.test; import java.awt.BorderLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import java.awt.event.MouseEvent; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.BevelBorder; /** * * @author Mark Donszelmann * @version $Id: TestLabels.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestLabels extends TestingPanel { public TestLabels(String[] args) throws Exception { super(args); setName("Labels"); JPanel testPanel = this; JLabel label1 = new JLabel("TestLabel1"); // label1.setFont(new Font("Lucida Sans", Font.BOLD, 12)); testPanel.add(label1); JLabel label2 = new JLabel("TestLabel2"); // label2.setFont(new Font("Lucida Sans", Font.BOLD, 12)); testPanel.add(label2); label2.setBorder(BorderFactory.createEtchedBorder()); JLabel label3 = new JLabel("TestLabel3"); // label3.setFont(new Font("Lucida Sans", Font.BOLD, 12)); testPanel.add(label3); label3.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); JComponent label4 = new SpecialLabel("TestLabel4", "Prefix"); // label4.setFont(new Font("Lucida Sans", Font.BOLD, 12)); testPanel.add(label4); JButton button1 = new JButton("TestButton1"); // button1.setFont(new Font("Lucida Sans", Font.BOLD, 12)); testPanel.add(button1); JButton button2 = new JButton("TestButton2"); // button2.setFont(new Font("Lucida Sans", Font.BOLD, 12)); testPanel.add(button2); button2.setBorder(BorderFactory.createEtchedBorder()); JButton button3 = new JButton("TestButton3"); // button3.setFont(new Font("Lucida Sans", Font.BOLD, 12)); testPanel.add(button3); button3.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); } public static void main(String[] args) throws Exception { new TestLabels(args).runTest(); } class SpecialLabel extends JComponent { public SpecialLabel(final String text, final String prefix, final int align) { sourceText = text; // this.prefix = prefix; setLayout(new BorderLayout()); label = new JLabel(text, align); label.setForeground(getForeground()); add(label, BorderLayout.CENTER); } public SpecialLabel(final String text, final String prefix) { this(text, prefix, JLabel.CENTER); } void edit() { textField = new JTextField(sourceText); textField.setFont(label.getFont()); textField.setBorder(null); textField.setHorizontalAlignment(label.getHorizontalAlignment()); textField.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent a) { finishTextEdit(); } }); textField.addFocusListener(new FocusAdapter() { public void focusLost(final FocusEvent fe) { finishTextEdit(); } }); remove(label); add(textField, BorderLayout.CENTER); textField.requestFocus(); revalidate(); textField.getCaret().setVisible(true); } public void mouseEventNotify(final MouseEvent me) { if (me.getID() == MouseEvent.MOUSE_CLICKED && textField == null && me.getClickCount() == 2) { edit(); } } private void finishTextEdit() { if (textField != null) { JTextField text = textField; textField = null; // protect against recursive call setText(text.getText()); remove(text); add(label, BorderLayout.CENTER); invalidate(); getParent().validate(); repaint(); } } public Font getFont() { return label.getFont(); } public void setFont(final Font f) { label.setFont(f); } public String getText() { return label.getText(); } public void setText(final String text) { sourceText = text; label.setText(text); } private String sourceText; private JLabel label; private JTextField textField; // private String prefix; } } src/main/resources/0000755000175000017500000000000011331616417015014 5ustar giovannigiovannisrc/main/resources/org/0000755000175000017500000000000011331616417015603 5ustar giovannigiovannisrc/main/resources/org/freehep/0000755000175000017500000000000011331616417017221 5ustar giovannigiovannisrc/main/resources/org/freehep/graphicsio/0000755000175000017500000000000011331616417021351 5ustar giovannigiovannisrc/main/resources/org/freehep/graphicsio/test/0000755000175000017500000000000011331616417022330 5ustar giovannigiovannisrc/main/resources/org/freehep/graphicsio/test/TestHistogram.plotml0000644000175000017500000001234711331616417026365 0ustar giovannigiovanni <border type="None"/> <label text="Histogram Test! μ"> <font style="BOLD" points="14" face="SansSerif"/> </label> 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 5.0,2.23606797749979,2.23606797749979 15.0,3.872983346207417,3.872983346207417 32.0,5.656854249492381,5.656854249492381 52.0,7.211102550927978,7.211102550927978 145.0,12.041594578792296,12.041594578792296 184.0,13.564659966250536,13.564659966250536 315.0,17.74823934929885,17.74823934929885 392.0,19.79898987322333,19.79898987322333 503.0,22.427661492005804,22.427661492005804 607.0,24.63736998950984,24.63736998950984 620.0,24.899799195977465,24.899799195977465 605.0,24.596747752497688,24.596747752497688 581.0,24.1039415863879,24.1039415863879 421.0,20.518284528683193,20.518284528683193 321.0,17.916472867168917,17.916472867168917 214.0,14.628738838327793,14.628738838327793 131.0,11.445523142259598,11.445523142259598 74.0,8.602325267042627,8.602325267042627 38.0,6.164414002968976,6.164414002968976 11.0,3.3166247903554,3.3166247903554 1.0,1.0,1.0 2.0,1.4142135623730951,1.4142135623730951 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 0.0,0.0,0.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -99.0,9.9498743710662,9.9498743710662 -92.0,9.591663046625438,9.591663046625438 -84.0,9.16515138991168,9.16515138991168 -52.0,7.211102550927978,7.211102550927978 -21.0,4.58257569495584,4.58257569495584 46.0,6.782329983125268,6.782329983125268 137.0,11.704699910719626,11.704699910719626 256.0,16.0,16.0 372.0,19.28730152198591,19.28730152198591 485.0,22.02271554554524,22.02271554554524 535.0,23.130067012440755,23.130067012440755 497.0,22.293496809607955,22.293496809607955 460.0,21.447610589527216,21.447610589527216 396.0,19.8997487421324,19.8997487421324 275.0,16.583123951777,16.583123951777 186.0,13.638181696985855,13.638181696985855 81.0,9.0,9.0 1.0,1.0,1.0 -48.0,6.928203230275509,6.928203230275509 -74.0,8.602325267042627,8.602325267042627 -91.0,9.539392014169456,9.539392014169456 -97.0,9.848857801796104,9.848857801796104 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 -100.0,10.0,10.0 src/main/resources/org/freehep/graphicsio/test/TestScatterPlot.plotml0000644000175000017500000001503211331616417026666 0ustar giovannigiovanni -0.4693173067107428,1.4507571682744322 -1.3217292066238562,1.4120753467362162 -0.1782965414092353,-3.90579391916613 1.5477465215019357,-1.5523128985981833 1.0893215320112681,0.3348217075131298 0.6373002735012927,-1.0246865042243467 -0.5361453077340237,1.6252980897582934 -0.06473648001765062,-1.317082125024132 1.0651568430905645,-1.4491236050379737 -0.6773687506744815,-0.20721178400517903 -1.3563248817764677,0.7300730047501636 1.1248927652599123,3.2899552567912904 -0.7692406915197973,-1.880664858425788 1.094921639619024,-0.6622652602679983 -1.2019768509166826,0.7657992903540801 -1.3690936782561283,0.6936944384580837 -1.1279040767971142,1.3187942976864144 1.2277563133977125,1.457781483938408 1.4370720522210036,-1.8531164082935883 0.5626706975933735,-1.3226131623742734 2.817159713871892,0.0977223767911643 -0.979027874449507,0.9428032388374741 0.08987639871575612,-0.4992569860349499 -0.3939445849200504,-2.2871490773404015 1.0348559380716813,0.0263055936972878 0.2778454421287697,3.9273334626637078 -0.3154261563493612,-4.115682943164374 0.5218314592977508,-2.425496020169122 -0.8545676698613766,0.539187287778295 0.2242223580751516,-1.5842095079042715 0.27532087856757914,0.3511187559053843 0.5135736140022226,0.47627627470698064 -0.08430396342936998,-0.6992830334829044 0.10642314563750581,0.01582861179138544 -1.3898218943177105,-0.7934627239856774 -2.278593042342753,0.6222928272812792 0.32837799241161814,-3.2637992691640063 1.5980171045386835,4.3766989565635654 0.11920889182865735,1.098005367807387 1.6770590197485273,-1.3513332460648206 0.3470636265188826,0.33793879086965384 1.8385374693375773,-0.12058492588591217 -0.5848476093280867,-1.6114472369623252 0.06876149732467421,1.6623882910640142 -0.24602984878279668,1.5988790672134778 -2.587764728194532,-3.1343668085501584 0.23088477729748702,-0.9595274239637085 -1.2040656070780669,-2.0171932162063158 0.9147268639102263,0.7998804786840025 -0.17599680582203872,1.9836538547339704 1.7721399220778513,-0.019612364625663996 -1.4336500134013228,-1.228266459560451 -1.0913720721973466,-3.4810752643894007 -1.0781630534294262,3.8663183483204464 -0.3634926846639631,3.9187002408397063 2.703615605266103,0.29417706661132215 -1.1428585320915923,-1.5907433907487643 0.881756446941027,0.6884426492481082 1.4168155715790605,1.819857454565582 2.069223505015872,-2.23506085887413 -0.9711770790168925,-2.9939765111888867 -0.2128157587986599,-1.3228175506950892 -2.538866868199523,-1.032781746075059 -0.8009679855239124,-2.2872993384842957 -1.678952149926298,-0.593107491171919 -0.4025645526213656,-1.9527982534741821 0.823221859739095,1.2553582024609389 -0.3763272666454619,-1.8472802889066415 -0.5038014961672489,-1.9031797516048177 1.3681178495134336,0.3458505278597183 1.6629171877601736,0.823885794362927 -0.0643107027709961,1.021161352976564 -0.9772794299638242,-0.22835066640442553 -0.25547672688570255,-0.4228264603359086 0.22644474503540898,-2.4414961438047214 0.5611525918097685,1.1037117567494923 -1.0608085350444567,0.9078512035113291 -0.40490116293313955,3.5913212693954 1.4523449821423022,-0.4523393068323611 0.05642293121149568,0.5408242066586324 -0.4783481127800394,-0.7009500215864932 0.5915169950496205,-3.4992405833392213 0.8576386802351222,-1.79641696457765 -0.6703624050033888,4.20113333631501 1.3098886403991212,-4.613284010470776 0.27962542042998173,-0.8813584486511554 -0.010943679904536196,0.9642147209617313 0.07163110600220936,-0.9443666496996307 -2.1589691812836818,-0.6694221426644025 -1.1846836200293756,0.9438215884582392 -0.44719223725641,-0.506111474564947 0.0010845938213999095,-0.5230665075088343 0.27715447423146716,0.7520032614798163 2.0356242456261113,1.5452145489298892 -1.205325000396752,1.1762148188264026 -1.3893304742459964,0.3891533267423198 0.6870051074073796,-0.6603598814330203 1.7542621382337604,-0.2013753253876956 -1.4848201494094855,2.0683214160257886 0.8829502215048612,1.8807893880157462 0.7314292062649644,-2.5152421636486455 0.20596956748780654,0.4552093301901957 -0.370214884989625,-2.5884727207175064 0.4361728968021604,2.0867353656327956 -1.4369664834455238,0.3760200100582617 -0.583258822070287,-0.41408182393966286 -0.3808262398866877,-0.7191993106534107 0.2756769389991029,-1.6379682999471787 -1.1183840181555331,1.9192770392792455 0.42736034966478564,-1.1231768171395247 -0.41884921795835633,-1.4833874481053977 -1.8910869937786714,3.8471115787021835 src/main/resources/org/freehep/graphicsio/test/images/0000755000175000017500000000000011331616417023575 5ustar giovannigiovannisrc/main/resources/org/freehep/graphicsio/test/images/sky.gif0000644000175000017500000000611611331616417025076 0ustar giovannigiovanniJFIFHH4Photoshop 3.08BIMHH8BIM8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIMAdobed            "?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ? A(OWK%8  K&hR&a\ [FH>RM$BJDĨSHJʲd7sU[0Ôئ#bvr!i5*#8cH\S5RpAhYD I(`68QD+NES%%,h I2ͯ퀔NМ^›uQh Hd(=Ѣpi%%MT0ZȄ2$Q BJLA ǀ %(U-9%Ry 2Jr՘6jF\2M0RlIf`8O% bДo)/$RAs@O PݪM;LHGՄ'= NS`ٹ BJp-22ЊR(<:)d4R. xUifBQ&QJ'3pC3L;GZ[ )KjF!gh5,hd6j8O1b\JaJ0RFo w PE2J! DL%8INٔ!+C H)uF&(I1 !="~*&QDi%WfErlLufƩ@%)ʋaR M򍪖kj+Dnpfښe'iL\ұ$WO%)Q!l9jE6Ѫ&@*STI)nΔѬ&)W JPtE !*M$#H쀬 pEaQ[$KyVVBUyW Bm Z ) ;1z}]% ra*ZVpdԲe3]йY\RW+Mk[“SҶ+W/&rj8Mk` 4Ϋ"5ΩdQ[QE5^USVH"ܙTU%,p% bSLW :TUʝe2W`*Hspʳ*H9'R3&LħuO]٨u54Gm4A]tIB8L'6Jaa qbgl aWȠL!p)ASTZmOcY*"הz,)ņT 8$0ģLU'T3]%(DaQ,N UD#FtUXTr Xvjv(elςn R%$I R7hJn /+w)v5AZ&.0'ڑt֩ZFr Tj#BUwp:·j$̤F~3I!K8MH*P+ +5T36KJGkR ' UQsVF paIvIhDPL*Zޣ,В@JuL\ r@Ɖ'4O|-'m dSW<$}^c'jIÂ?F[K]5{I>{~IL=Ռt}@{𴓣^< 4xJ^}_kx! 8񄓆KV/ I2L}Tׁ,J$+i%%Isrc/main/resources/org/freehep/graphicsio/test/images/transparent-image.gif0000644000175000017500000001573611331616417027721 0ustar giovannigiovanniGIF89a:**l&Db*&T&4z*|N*&<*dn*&LB**t&,Z*&<&T>**dj**T&,*tV*&4*\v*&Df*&,R**\r*&LJ**l*T6.*l&L~*|&**l*\*|&S3Cf_jb2HwT^F\Muh$ $@0Ϳi¤gj)sLg9e{& | kLXGq &!>y(vN`8QUs/2Gci,^ؙ.Id&#h`::{o5⟓PFJqE`/"Vs ҆gEāO6W!g7QdEVSȞ G ٨FD %ervj*M6B؈yYgG\jPbߩ}yyn2띲މ^z8b 7bF 'nA(>Q1n?*&Hn9,VRb.gfiټ .yvŷ< :;/#j /;$嫜 )~z -<'3py3( \t;&g[Θʾ́9sDX`ˬ-+KťXX\Q 'sDyO;ɰz=ֹ:j|Ės qaFnc*0סn*B d;n=—]tqs.ݢ;S;`>65rgfTNe$G=<0*=*ӞO-fK6R 3:F[?W4Dݠ.Eh y*n#?,l4Ba>Δ4UnB.o*/[Q<>5 x.E+A"b,|ѓϤ,Fk D\<f_Zr ܛ#g;PfFx +YAQc E4lRvΐ?r +\pSB$D+OA&8(à9*|R(W)aa$*i eAmPkD Ko2)bvA<=+ۡ2vj*FЌfHMoJMciBuӜ2#ŧ`"qĄXvJml>Wsv+@Izk#TB`700Pu0A҅4͂ .5 @S^8%#*:ϋq@jZS^G%RIO*TJrͨ"^( `%.0֜M &mm+JP4VC*QzS25M=,b' ̕ul]'[=x%Ht/[Բ^ @RXBjl]%KV#%'9v5|WEKEjY{XBk}.mmKi%F֫)@nj}sgK`mSa~|]u mX7PVe XVBn]wo,>3H@p׷(.W=^t[WԶi:xrx,x o6mZ1]N|_6x$$]xb ؼ4MۀӒ@^vk̓@5 r{P_gFYSNA5 e1?u!]WIG@֌Kg?)QHMvrgTw-i6v]K瞙6~E0lp i3Ur m;;bn@ MD}l͌fz6́xϻ(Û=gtn=< | X _VnZ'< :c@txMo8goL@ pKien;8c D*iu{Bx =!oZwA uP6a rӪV0;=܋^׹G{o7~Z/IReR VzEt&xsyNaq?7{]KP#(pwatƼ*v$>Ǻ=jvqeXv-Էnxt{t*{ZJRu ~xX{]7p,mPv |T5aubk D@wnq٧}0}tg#W=E~nr#x-]{ujabaEv^ Z:pVyo'Yrׂ% 2q}Mw}wo#{XӤWjx8E~~6me'V2Vhhy%8 ](XtW}v}wKz9hmu#~˖U@Exo{g6gՁS`G^s=X(w,% ˆwg0xP6}tBR{I"gr-px~~Rb7\64@]k_fm(}`xq87V6}wXA;xKQlRDhW(j\ŇP֊+6yxyfyuv_HYba% l%(``Ψ!Zye@F؍xYopjO(WT[fh|_|l]Hw&ic(n)qh(* h딐*v|F^b5]H-Xgw"Еt_XY6H76ȓ>鍋7'`ׇfb'p8kf׈ǂ&yc)Y(Вz}@X鉄lZGMd(PSxs^8V7ĸIǒڷt7`>aOȢf ȍ&pɜ'Or FxhN)aQam}i(0yɨa`8bK%xhdpЇHZ(J]\8?XDwU9}cH6.y7ٞ#63SƩ-`# W_7hwhMEs[vG3Pw IYǸ} oCAHrv+?i7Ijtggj3wyj9Z6V%2\iJz/o_ I@I]ڍy/7emZ$8na`ƪNJo،ٛ HB'UٕѓYfP |ѵ7+hn+Yɡ1  ZZBZ&x _wf_7e1gexjLJ| ,8w*f+9t݊:Z%jGʍ-z]8uZ8|EצsCCcԧ˜z׏:ڳ>qDХBѥ_ڟ@pЉxiɎ3v)TWyf)3ɳzEǓLRY,ڢe8zxg§~FyTken[A'[D}.hqH{Ȱ*[QM~j`HQcs96I89  /Io» ;M©ټ[& b mXeaX(hiZ S˶3ib1ux^XwZGgNغgKeX(n0zH}ʒk"?;b'A^g7|"x8&Kzw0cY{RGw)̫,*x`N8h\(k|+P)컪Yh;˹tiũ K;Ovj|sgy6pTگ;֋)+٪(( Ƿ U -Wx\ ;m3_sW+A̻wXfX̘E:~k(g{.̜gu`ZFXVeyϕƼV}ivڤO !ij*iǖʽ 1Zy0sfWX[7wJq0k⩡) ˡ8K,ʇ 뺓-꿥wkg]{{y ~ 0jgEܑfxI(kZ}{N ȃhYSoW|2lʁ=zv gFtn.YYEJ8ҋK|Ň}9a}ھ'.Td禌0> 촔|v6lŅ^kzУ=zZ1ĵ.]j@r[yc aNkgÇ7{čYKw.Źjqٙ'ug WDž+߸vk;>Zwqlr,gCUI遅#|wZ{"ڒxd@ٱ{z_L,m\&k!h[}]5rvМ[݄mؑ.ݔOzzy'qgy. ́{Z^,xRpsIfW]iwg?Fqn T$w0`ʑ:&[iᙤ鋘_X_=.ople,7jk,}z8bO[|+p]=Y}MuSR=j? 7ӻn@,J T.MsMժ>] veP;1 uC ].$` pb0DC ( 3)jʡE3jT5u+uC/傖0p@qQ@Bx  yi, yz.v֏{0$`p݉S34 ~fϖAPWQ=MYa41c6t⦂VW*bFEMrZBp4yuV>CxTJ33zrHhnNJ0y4zTM8iTeNJT[(ei\F ;P˶E2GL^|7 m(9k?ƪq:41O9M=$Kū̼40M83\NkskR$;pGSlTQNH*.P5=WY#il2;ӣTQVL2Wjq%b#:4 V!vq]AvEPo&I 944^#ydIuU Rt1dlϧ%aj~!)RU)nPbEVb0+ߑUc[Av(yٓAX期xMCh'hNY>ZG_馥pOQSvZ䖧Z/պ fuZ6agcF[bfof2%iGqV|br4pˀ =EM?U_?@iˆBmuߝwܕ%:%?ykٟH襟ަ v>d?_ ޻X]ϟ` 8@ow3@O}O@ ^pz\9E:@AwD W`R i`[ayX@?bX?*p}[a ;$n*;XE*^ъDܠDX9/~aXF3iTF;src/main/resources/org/freehep/graphicsio/test/images/BrokenCursor.gif0000644000175000017500000000036211331616417026703 0ustar giovannigiovanniGIF89a !, @IY(7(u"(3fznR |@"?A vfcI5+V{%Utݩ;ia{fQqC;zWTU~a: `~_wxG?BhOuE/1vmmLjg+! LViewPro200;src/main/resources/org/freehep/graphicsio/test/images/dark_marble.jpg0000644000175000017500000000374011331616417026546 0ustar giovannigiovanniJFIFHHCreated by AccuSoft Corp.d}!   )2$&);4>=:498AI]OAEXF89QnRX`chih?Nrzqey]fhd00dC9CCddddddddddddddddddddddddddddddddddddddddddddddddd }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?Ôc{4U| 71)ۮi99q$~f+JvA%{O!E Lԛ1D~QP*DbU^;g"'>c@ʡ/5n}*wb@~y7Tp1cI*&BfWjm'ҜvăX,o9(DM.%;:*6# !|3qg_+[*QȠnn췵'Z|ol)dX@:m?;?w?Ԋ)(yHT[ʸP@.%T2S8d[h[5\LŸEU琞L ;뻜 LNW)Jf1I(~^(|KdwցW,co Xwcɵ?Z?>Y)i6s7'&X-a(u U_{8z5EC$(+Uۓ2e(51o7 )@š%\PO@S>QmtȀݝ[6FDϿ? 1_109[8m#T&1﶐{;VQu0@w4ybc>kuv8! NQ1ހ$CS9!t_,dSv ?src/site/0000755000175000017500000000000011331616417013022 5ustar giovannigiovannisrc/site/site.xml0000644000175000017500000000174511331616417014517 0ustar giovannigiovanni FreeHEP GraphicsIO Tests http://java.freehep.org/mvn/freehep-graphicsio-tests FreeHEP http://java.freehep.org/images/sm-freehep.gif http://java.freehep.org/ src/site/resources/0000755000175000017500000000000011331616417015034 5ustar giovannigiovannisrc/site/resources/ref-output/0000755000175000017500000000000011331616417017146 5ustar giovannigiovannisrc/site/resources/ref-output/png/0000755000175000017500000000000011331616417017732 5ustar giovannigiovannisrc/site/resources/ref-output/png/TestTaggedString.png0000644000175000017500000001716611331616417023675 0ustar giovannigiovanniPNG  IHDRXXaJ=IDATx݁n:P?͟.EJJtqztu8a/K`,ŲXbYe,ŲXX,5b^mo[wtѯudJ4z:zBަ[Yȳ_ZYlȣxEov:ʦ!)[roxՂbY,eXbY,eXu.z5OW-ѩe~>..VwbEO7/XX&cʟ`,ŲXba,ŲXbѹX=/ }EcXG;WMPwW+g~ mu&*y3^{,֙St擣:X,e,bY,e,bY,e,bY,e,bY,e,bYkt=WzrBd>}N 5μ]*j.T𭯭<`רoJuPXbY,eXbY,ev> ڥGϰNXYik^zŒD'.ώ,e,ŲXX,e,ŲXX5EdxEW7vt5A<~rbzj5x?#G־\SQ e,bY,e,bY,e,``a`a0X`0X,0X, V& ']n^StG+{>N1XGNZﲵu+mPnw} ٲp[): {K6Hk_ܸY0XRw   ``aej)߀B?X~wgM1sQ+JɌahyIrn+=k M:anӗz_kohm,0X, ,    U+^<%%g܎k厞 e%̽/in:O}i}Mv Qba0X,0X, ,    ``a`a0X`0X,0X, ,    ``a``y#4.73kG5h?niowj rJ $kORIc1X uL5[I}$SK:n{뿙|{ҥuj4k750G5U|zv+lyG(( VtKm-={y#IUv M` }͚ytZf{PZX Vݥ=NX{>9J?+ӓ21X, ,    ``a`a0X`0X,0X,>XGfsR+ra+]h[>hJWuJCzVM;p C5\̶ka>h0X,0X, ,    ``a`a0X`0X,0X, ,  @`,@`,,   XXX X @` @`,@`< ^?o*VƶTk C(Ԅ`>^X[m屎x_+atGPMz^wVڛm { GZLG^XIqy}pX{3K!ԕ 5< " *mlWAd*mW=hhkVc= &UWV=Hs"X!\z~"|뱋yn~y|>~N/VX @` @`,@`,,    XX XwOtxmo|}:LX[XX=^0(KcA=֐RP=5LX5V8ekk>1m}Q~֥>q!a?;ZocwXZȵ:{|DiGP+aìFh`E A$FVkLi\Ӏj;+a% tǹ%qel`9;`G`6<J~_>ԮƮ!/GA`=fcú# XX X @` @` @`,@`,, km9-d~ߟx =Fw`"/_mS׋? mX{{cm#||3rvNȂu'^Kq>Yk5C֝Іj}yߧm ް{Iƚa6?%V%Ѱ,@`,,   XX X X @` @`,@`,,   XX X @` @` @`,@`,,   XX X @` @`,@`,@`,,   X [s㟜5ձ[`8>&ݸf#+kgzk֍pmyﵬ > wKӰF U{H`e=V3hsV1X3",;|vtsXfi3 sX|:w!U@Zή a؈yxsm5 ;jXs^Wj=Yf%V!́9TVaȵ9|yQs:'Z.nX-^cmy[]8A/EѯԶc>IIct'VsҽW݋ƙ']c-Jget=[>D!nh>ϯ=AZj0V QsěB`=t~Ê"Xwq=Dy{azP`\q "l6 k 69+Ruۍ"ޞIwEņd)#_A`,,   XXX X @` @`,@`,,   XX X X @` @`,@` xgT00ezu&c+k#kX-Wo?[udJzM8: 6Vڨ m uŔdYzi4+ޡtnXkB]s?{Cm.dRΩqi`΋$pT`22Um<v/{U`Ն::)?jc.Q^u>WiC[)j:$l 9+z+aE VqR ,NkXCa`\XV{=C4A==D|L5gQc;:ċ>Ѓ }>_;+BjZ<9mXIak(l89{/^pС%OX6#vMJΡѿ>۰2 mXsXX X @` @`,@`,@`,,   XX X @` @`,@`,,,   X믷ω[?V`DOZ:`~_`]LuHrԼuVyGB*#묍zҨ}4 7'?"[ +}Ǎ{:$X ;$(09zh`e=+ J un} 6BM`U ªqR:F25L!aP2 ܳ57Țs;M Z!⪭~<$Zf^VjKy,ݯ`z!a"{>VjN c}>__^XZ31) _kR]w=7mM`n/-޹؁GawHZz-0~\s3ӯm!A`Qjeܣ! XXX X @` @`,@`,,   XX X X @` @`,@`,,   XX X @`(X `(X(X `(X  ``(X  ``(X `(X(X `(X(X ``(X  ``(X  `(X(X `(X(X ~o_}sOgޙWbYlG}^taU`3Xp%VxNzo(Xi8 P8kZ0;#V|:b[o[) ?&@f++XZ?F.*X`r"Fl/`oa`{Qy Vb wTm,8)86 `(X(X `(X(X ``(X  ``(X  `(X(X `(X(X `(X  ``(X  `(X(X V~oY>n09𘂵~l_> V L)X Vڛ+6`M_";2ex"l_{w\ok<*=e*Z;=k}"kr`핮Yi~ `]g(X-뒽jjY,{jy^g XJ=93{~:Y5\igvc. Q N,O, VoE^Xzevg{z6,SǿG?-yX,_zw=ejj;Gkז)kU*mJpt VN.gf}ךX+Y- VV *X{u|O(X=w悕uvJ-X- ZC拑[wyNoIˋ[.Q*X=-Z0rˣG.+uj;cEڵXX`8w͡?{%שuNj/s;VρQlw1+`3XiR3}_Z,ς-zo(X4L>Bk`MjnO@5|2G{;njwKX-ksVFYe xK(X8aq/1@b8,3c#~?.PUW珲,,8\M`[lD VtS@ p?ǚQA; t-``(X  ``(X `(X(X `(X(X ``(X  ``(X `(X(X `(X(X ``(X  ``(X  `(X(X `jIENDB`src/site/resources/ref-output/png/TestImages.png0000644000175000017500000014312111331616417022507 0ustar giovannigiovanniPNG  IHDRXXaJIDATx콽k\Y.1np@803L`a 4BA@ q`E7P@%]j}P,Zk~S׿nyߓOJyuX?Ų^giRK[rϱb?ӎ],胷XC6nj6bUyF"M- 'w,eeʽvbl4ˇȅlrB%mbRb}?K],5̒u e=xXyXߟ<_[b,֋ٟ_lBۧo u1PpgXγB-3d]/XhϽF'EÑ&;a W ub툫n ڙ6{-Ŋ bռX/㏋uRt`Xb5Y|.nPsp;bx~R`C6fv#2VbYy&q(˳XM`Yo>jSb-F&eu/Ŝ\#=,X1zX!07?*˕$owF/K[ Kέ;(qƿ.XmzψL/(P~f ȕn* JA.V]o[,~Ô͘b)bZdM.V fJ-oA4lҳn2o6iJ7eZ S?\T2HUXDzT_ų,iNS :pS&}VUʧЛ-VmYgց) C%l.{NQrTwIYų*jCXN#9,FbmEhJpMeZ/]b=˩[,V=K pކR&)g \,Vnd{ӔB px{?\ʥݴʿ{6YԔ~ |WgŲLP+Ko6,* m/ 5nb-xgr{ O=6\VĬƩY6|W(pY)|S E5-`|Jl&tEtj{NFvH=h=ZuH&SJZ0,oNU]^`6+t~-UÄ b,`bWXV^&X\KjuCX, ZlX}Wbb-VUEM^/Vۤ.$k2Ika]hE!o:ZoƺJ;Q-VS`_2U{ܶZǴ Amdӟ؎ݡhbpC6en-V՛jXZӜvV`kkS9D+Ҹ/~i|,PX.Ņ(UnRř%7|jX]fH}{zYc,+sug_:ϒNiVz@:"o U=wൟiU q_&; }l(u;(XduyjK&Ҫ,VYAa$:bY})XzVS\YngX XyVWFE1FXX5v} .׋uN;U>>Z3ZY%j=X-9ƽ:y[{j0Hg[s5]nʱsX1Ŀ/X=t,@I9N8OvS,jXj <|[Jauã*1v tA9V:iLJуcuX:vKn!~V `hU'Dzwi=X>g#pqXҁ4'cwNtNEQRH,өV$LqT+VGB0$oc$`GҸGpDm!KQak ֣tA9qu˱NE_d8V ֤cm:&XTub9Vbm )^ؽޡ|Tor[u uBr*KE PqȪ&r^[:{v,N~$'±6wRphޮ.yaX bg9Hñ\5[Gzs,w=hɠj]_#w,r~yVE Os|SDt,.OIR C,X|9lc=aVv %-pWVչ̛ےu5J} זciMAxG?iTt#*u+yI(春p'ڦ`؟'Mc9hc4r[lk]ݎtݹ0ݺwé8SGd+^s cN,86IA[>8Ŵ+я;n6FYdrXc=5c(oFw4ԚMm^;`W5 ֦UֽA9!M_y(X?) Em"D,Z#r,5YG,l,w`X`= 4 k29.nդcQU[0s~a tM9֙2@`P[t7mO"BQN)uMnk+v{JH}䉿ߏ'skB e{;C 7eUK*:V==RݭݽGIޭvt}п>lb{S~?rHRgA c"ݐڎ{)ze %'ᩔ=XdKNިcc-XT?KVH Ύg+u[!VXב΂yǑNwy,DH㐚cIu5BM޼ﵬ,DȱBʋ2,Wj9F{-K9S"֕/=α|bNJAUcJ9Gm#VUp{Ǫѱܙ&ʮ}9,껑>^rműn]9VխtXt,k2!jd YsXXWp. XQwXeA}gp, Vp9Xtsu)ǚ,:OjM;Cc+n8Vslǂc 4)HsŸ Xp,͹,giFKyOr?5q{KnSYGC88V88րKMu9ȽkXeJ5:B8V f]8V[N?$}Jgc2bݱ4F,cuX4}DEu䙾X4m~XAe@ɻLdq&RbqNJn9sT7c7P8ҤΓh%AKNJyb9sow,r,#ĖFiSp,cOX 8! c;WƸbbXAc&Kq9V.ǺʶB1!'r v7ӂ˨*#]9 LXos%'_u ַl>k0m" 1P|o ޕciC E˽ {VTtw-b;Ε<-‡ W>XKB6^ֱܚdk{h4 #&>.Z nEn}@ 79iƥ[ֱm!Vc}}x i{lZ~G˭B<Քc툹y7pcmK^ű68WCs,i,.;6l} K%*$ǚ+7%Hϳ;M#7%A74EcOqXW2jaCG#+hUűwR V}=0 QDG}yHĺɱVYk з˜t\6Ώ<_gi&ՠ'gz^ M5pm{Ny8sS ۾V%H%b1@[w3:ǚg{kq<?G[ M8cu}ߐXG:wIݰ8+D]qVu,X+ȱbuC( ou!%X#7 ܱc}cguwu* 7|Hrc*^̥ AǦr}X)bYӯB: ֿUuBѽVstU ұ!z5F_[kXvM8`B`b+Lq~e9T]`醾" @ .H6'ͱbjv,TjRZurݎǪɱHN.j#r<c񮇡hՀc3W!-~XעͭDzQXgXB*7*ky\/9#ֱzXrVX/Jc ٱ4gcjݕdX߳rwXwF^fS ѱ돜ca+c5`ϱctXZTgǪ±Ɩǒ“c=ncMɱ.B V/d3}\B8cñX^NJ*ѱR pX5 VH;ĭǂc ˱6=cXpGe±cU9sc̅cFp,X9d }_~::VQNPȟTp,X1?iDp,׹,gi&wLDXu%ZNe!^lc[ˡSԶp9w2U)}(%~םXr 65J1@FvcXew'B^OTc)jm+c՟ǒ߷zՂƘV'bV"2cH2XpK?MBX:ӇZx h+lұ|ڷ5ձR߫|Ε:Ꮥ&l%G cR2 ٱpD Xi~ 8VQB c (,X|*ۻb:8 ǢAcѽΐnC\ZBџur,߄9WHCt.Rh²۝& ݭm95^X?aΐHhކcfBǒs!ޡ ښ0ѽ zo0ȱ.2r18뻿Ī)?ֆcAa&LhZV̱\:k Zz~VXLwτ6Lw*ѹgsڋ1s,&; %C7UWl㎅\,|ȹ@}sZT /cTp,&k}389\ #u@k!MZ&En}@ 79ϳ|+XwͶȱ>l=l-V!ymfwjʱga7O>*Ûn8]?Y[]?-Iޟͱ.~\X!GJh̻TytHuGiօM;O1S\PSZMt\o)1Y_fYy+tpXT 5PM8`B`b+Lq~e9T`[醾" }vti rOdq+y frNE(U[XU{8<&"9˒˅{HŻ]8V^eJX.Jc6Bmnu8T X;kzD,RUYciA w9ˬXCv,͙s*{XeZwi~:Y#9݀2w+ϱ9B8V7K8O7p5;2VǂcXu6=cXpQY'c6]kб*NT|ױ~צֽnS l%"|W};)雷u``, |%.Q׀DQ^C`\s bI`1*֝B{V X~ `R7V,ДV=olEuVC,+ɮGI`l>tH5FVcaX41=|deN5 Xm2'XH\#ކ!t#}nXk!a`a:Ԥ.фĐ~FgX,US|X `jbO0lX,p1tTr![gpZOBSeaƂ=ߋ}`XU׀=>=}0QV{H4~R5MaHX>J)` I-&ƕ {-VBA_v)cORLߪ]a=&ÃdcsJ X=Ue~7]E2ĩ*=4@̍1%[d'3*`iZ !aZqss[s`W)E5Sٟ9t(@kՂէo eKjq(X4 ṵvf_ؔg'`q:fX7ΰ4dt`j4VrLً{s@:3+XcJ>j@EvكY QuJ8XBB PI! Xd9,~sZ`9md],3,qfE`X2(efp_QgVX X­ BBVj/{ _YIP}Ef ]߃Ks>l g֛ X^%$|:3,XGpd KTĸ ٣pR .1U:e K֫HBH#УߡPbBw=XBB-.-`I9 ϟK\`=<:5,`QxA!vu;r$.@y6lhE`ɰu䀥]CXu1mǰӺa<Ҟ߫,aX_X]s}#[a9f6KI2*#q2jH=^zd o:`Q81,J`]1XV&֊œ%9`u덐eb#[Zy ڙSڥ)ScXĮ,N 9Sְ~zHHJ^;.i buur>~zg|+F{r/*2VVVP]G?1!+OҽX'9xelam6 릣SBΰ.V蔐rXnzXBš|G1NԒR#Wx}ZP7PCBTVH?%<SvSݵY9՟nBHH Kܺu$F2998/#ʇIwr3&& 9"Z u!"z Iw|p`5V!>KJF8ۑDwaKraiVWb\5Tcо!m5k%s#!aֳ˽wʳN :K@BHXc8+SHsJbX~g8Ϥw +KWXC-cM(H͕GOw XL8bXaX|rXf @4[ wKpHa!X\ )4uV\0ys<%9,:8T֕ "$Je@w/!$l($+2h19J2=ųJ<`QJ9)`q⠥lYO+iyN8JFy"MЕǵ F }YC9,*xqJkK"E%ZVPng #5Wd :` %;&$2;(JBŠ%$ݹsrX`hi,ɰXtMp]Y7 *!!]?ǰ8`qkÒ kHCނpTܑ_v7"a-Jr r/J?MkX)Ji A8:LwJi7g!VAn6|]X7e ZSyJs-͑ K_9ְ Bό/'4GViϳ1I)k٧:J?"KބyhqB..!UKn ?rJ)ѐrZ4XM?],X/yR釵QNGJ[~XT\ϓ Эۋ`l1h[!mξPҜXUe|&P*!QK(+ ?8*sW)!zt)e7%`wKY+ˑ:"`5(KPj#tO+0,hKNl^Nj^Ȣ+?nrrYk/ӷ!K<`uMUs>YC|sb]9 6-9`a.! CE7 V 9ɴg{,HSƋ}4`0 xguS̀'ޥ!̲0^D{V GXi)ϱ~*-1_ǾBB X>P"mh1#nxnP6>*>HZ,!F G5ںMjc]X6cF4Md{H}CM[9.AW`!aMmE)^,J.UײV?sz,sÂZB'U !!ײ41Ix)'ŨXv•,XDh 6%#bt`XY. X ./`a )`Y7ceX֚v!k*VâzʅaCB6Eh}to5 âǺ{)ȏrX %-Ǝ:t[ #[,âE m~(k-BiN|1`  9"rIwnaQA5֨k!a! XP{ +X˧ 9`}ʺrrJIaazo*r򅄲- gXQMtw`&$kfXQQujs ֋!]gXex5;f\%wLji5N`VLk`I`5Xvܡ!,Xg!8)ωaezKj`a aXHva,I`QE#6 vU׈``tv\? ֈcsrP?4?jߋy,pϹV[X53xUԐ.2`"M 20M0yswX;,Xg`5dxĜ&CMW5`°Hp , a̢*`ޓ,$a]$c_GU׀5ڐp ;8 gê ƒC&U5suF9 !XX[, MZXXСRɅkP,FH8Q*:~; r|@$/až>zFYɛ"??g$I4+!k`uȪb~)` I-[aqb-0,kz BL!{ gV]쏂}xwk+`SJ!6$wSUzjj@:4@tvm{kƪ|!?h}}n*7xJ?3Ǟ`h3Z04m5OXMw`X=&VaWur!,Z "Z?>,XM XI9{qo^gF`ˁQx¹`XYG .<{YQ%$$z,ڀZKÒٯ9:gupźXTCgX.̊*d8Q(`!,άVh u߭[ÿ^(k1!<$63V`9+n]<2}vٖ>7X;JHt`9gXPKK@XR@C'y!&$}}֩^f6V> BhG\:_*G8\ĭXVۑ _GX5䀥]GcXfq 1ێC.J֋ut/vd+д;t锝0IF3y$NdvH!z5BBhEg+ư(bu&cY]X+ st֭7B–kڎl%j1xhg^0GO+kЂ?Na:)NLY!!+y֊UmR7ݯOH,#XXYI[_XAynS,wĄi ${XM9ŮxHaN~v#x.-EXqƒ\x?e-Օء)Bh &oHbd >Z*EIptȰ~rXylrSB>@BHXCڍ)$9% 1,MPgRإ+l!ᖇ1&{{#˧rKK&e1,Z_Z, k9,_3uH٭%8vhy,: kNam~@pUE\* JmO^ 2tw6[rvEF7F9CI>BgxX,J^)'S,VC-Ic唐_?1= G(Oa9!!HC! kh8WC#N }mI0$XB pv&mKn@1QXsE֠ΰQ.k lB S$`!$Z2߱Mҝ;w)q v,>a!!AK B}ڐtMp]Y7 *!!]?ǰ8`qkÒ kHC"K;F1:ROAE駴am+E)s!2 (ߜZ&p.ua1l5kMe^:,X[(iBJ։\vk؄pb!ćgFHHGB]ïf{量FL~R8kȒ7a^8ZpPgK`EDHh[C0PJ K֢I'j*X/yR釵QNGJ[~XT\ϓ Эۋ`l1h[!mξPҜXUe: <@S֫|$F-Tb0,^CBw]in>~ݧ,gEu.rXn :R+E=%gG.]Sl%'gQfF7F>O}槅o$/~mEmUròVWMd yfu,s/tkش qo$â5׊5X2'VlO~Uixo:6 b,X+t*ϣ;b<.e eB ]vT {Xi)ϱ~*-1_ǾBB X>P"mh1ӏ RP^}Aտ X7ZH8ֱu`y،17{ 41!5nX>iz,׾#$(%ԋeW)`SW8%Z`QxNerXQXV褶 `!$Z31& /夠?َZ5`HMD5u~r,U@I%+  A[Yk Xp2ܷ@RXcX@Z`<`1uHR $l4 âǺ{)ȏrX %-Ǝ:t[ o\ _X}bXSXae-WeX(i4X=Pa`;u7pIwǰ  kԀ5ΐ< )CBXt[ {󱪔/$mY8Â[0`&{5|Y3,G:PA{֨< z3l0Nf`X \]25G`ջ45;4DpDhmX3&s;5`` *$X00, ,!ߴ`,X吰2"\ V9T`X0 &`6]kб*gm)Ϗ}w祼>Ր5`9`ejeXE JI'RH p6`X&BD- j,-Γ `(Zc%`bA+%+#Ӟ`XU%A?X,h[vjwBgΡeic,TYqsK+bXst_*`]>y3= VX^0"FaY!ᒝr%[ h!`Mvf_י0X XN dP-ɲ`c,V]b`g%O `-pq:L+g`&kɱ!V`qa<23)oЌ-ɴX9xa:f 8"{BBΰee7`A4Ta``]g'r-2>=X[K 7<`IᩇePcX`]35`gaXo>[XnX֧8X) bH DXH K%\2":X3!!X"]e ddu[3,֠[8X _!!導2:HsygTtm -0,X{]R}y0ǧ8`E$(+j'~dXȸ=AkXkd&MfV/+$k9,)% a}m@K2)β,WaQh̒ rk ` աihZ¨ 8JcX<XsE8TTJ  Rbt-`Qea$jvњW<[˱+gیei`e1C%.uX2wE \HqJ(®]bdͰܚ5` 4dV@OcU/?!,yPSlܷTk=兊Ig`uYWXas`du?1+?Tυ_c[1h)+-$,5Hխo:(,bY}Ճ_uXKVM:G2,Z`T/"N('KzѬRwUFդqTؕ/$J|Hx2bi.m,_G_+ێEU G)NrNo՞GzHA3S+k-[Q)ՒC;rdXߕ~!f\=杙:|p0f.'L9ȁpuuy,~{s 20Pjx̔K?,g՗JaӇtX1wYQ`90t&KdX[$kF];bgC"$e Vt;GISND8]1jK4{7|lY^GT"W= "9Z0pMP`@l'YGK{"q:@9ByHyhr(4 :d +&wp>n VѬt UUpgvM$}2Ƴ}8@-s cÒ.{l Tw)xþ xMa$~=J-N|H ][lbzM^؛)B=DukB'ދ{j΍848pIwXQWW|M֠ KBT[*Ք`$ۺ&ƪzŎ嗧Ҕ \_B}X,0ITBvqTXHXZ tu t>A0,ySGyuhDM~fRG''4tmV@MPM0.V`J!y 5ڰ0,̣P敧.8%9KeM!!o뢽 rXQ3|o `|֌ӄf&潵 XmXFs| Y5b[]K>aUrXҦXA-Uz/+}!W p} KntAsOy/~Z06|w[Xܸ)G Xu,y:5`jߨ 影doJڞKj ʄh)Pw(X%4ʜNXd+U~tU2*XR CSpM{k`6VS؛j )`ºߓ7BlI(öʄU `BKVEK x9T ˌOBB ռ=IJIO^֐nW1r&'9c'U&l2GXVL 5~X2_pku!,kX,"`zS-O`v|ej aeX,Q8`X2;" 5 ښed@S\rW,(BBR#ֱaQ4PTcZcaY`1NL-a"rXٶ°pP'NXn6&F+`ֳIw?FZ; X}uބQT)`\־XİQjL ˅1GD1,>Bw4cW:fYa9;V+S6$K15c)!ǤWU֠|>V7t/,̰f,HҰ`X|  @ 15*J }41X ,-X,a44%ݿee cXZ v!!W;X~YrX]Ib& Xg`2,rLǰ|%XVdsX`X0 Skߐ59,K[K J@k!!N )$BkVkvx^w͗椵U6?`:%$av XMO`ݪ%t>$,@T=ե`K`uVp8{|X0-5go*$ !  X| `XZCBmD5z^hk h_量  | `Ul9p`a`Ɔ{ * B)d=%k` X]1, V*$X0 !$``,X00 n1Աe `*V1pmX,XRH``qv `X,X`X,8 C͔Ǿcz/0l倥F 0 +$ ,Rԧd g{ac0l%+-ȁO*`a`$X(;# `|Z Xcܣ,J ʰ )pU X %` "R `mmR`H7ɰR, Jhӵ cR)^j,aM 4TacfX,0LVHPbk(5Bv?TP4OBKAVL $p (̋u4Fecu `:aXC@LNJj=w*۩i0`X6 R_hͤ{k>S1&ua*j VM5S(0{b>7=tu ``l UcH `E͇"&X,0^VlaX,->lc# k# Iw ֊5qω=9 Xo&M\3~iԾ{.#8,N?KЄpXPCA$nM y'?!jO㠼׮WXln@P>5SِP3X=RU~&^j3& k }cg+C@/i[e:k .,Cҽ%榰NqQU !t+&4VG6 Va`X`>, b6 4 XevN~ɲOX~9ٝ'tk _M^=:4Ok!ad0Fl bAxzWS,RQ9;SxSdP j=eM^hguʌVLHZVʴ`KSXuL# `IfE&Cc\hА#p&Xeoڲ7zՓc,ɬD0,JOvKBPY˂cVhq\$ݗ hq<5XO}c,V/`zؐpN 9`ŭ+Bߙ}} ^g`-`8-A $˺z f XIvƲj<)td<3 XŲXADr|ȁXarX2L4#u@k@ U: j bDc,ή^3,bYG` X}P% <egXX+X` ܳDl 2@`j*01%CM=XxRxaY<$X kv} `}n=`5`j_tAX) bH DXH K%\2":X3!!X5=6]fKKXG5sk` NBA+r!k#$QfR5 w.onM8aX|V5s@37@xB]sE$3В KVqu{r3,pCi6DzX:簤h48m-ɰ6:_1E2K+ ˭-k`.Vբi @64*amX`RQSH(X7 ~v4Hc\HHEIz"sZڍvcDk_lWEC,Ǯm3Űa}'s!a) KXtEC“5rkճ蜟נig$*}ZU |I aQDžҜb㾥t_(/TL?{̺,7 ?%Yi*.<ۊEkcHնcd Xi!!gXKv DHH U^ְkXuXKVM:G2,:(N('KzѬRwUFդ5"`BBt։ʔ9A+,ZGEI"*t'6 :jp=$ՠi i*iXvpO)a[XXvg 4GRH%2ZsPB+Kg h+aJK<X<CkgY\8/~>Q7^KhZGvVkUݝJJu G:,JaXTA !4v%9PoC3^q(Vdҝ3,mIa͕~XKZ3ɰuZ3gZBJ]HY ={ P2,+ aݹT{`m+IwaiEגnfX_ӑkIo!cztc R<'=I X U:`CBޖD.ͅ/$RXޱ:=+9XtE1|Ow^"yɌr=gنï_~ٰ+â=`mrXK@aX?vPB[Üpf1Z /hUQN n@SB]鮇K+b)Q!UK$ݿ+fܓ_I%Wz:@kE=Oi֠1,.zazB -ysXY3O/=ukjvAKPZ4q,n9V,0tb G}ϩm/#BU!%J.egglSIwVǀU,j֞i!ivrsQP]Cai_" kt5'%Mǒ5H@,rYH+cPoZ;iߡ}3b'k utXҝ7x+^~gPv=TVt8HY!D :,^5ÒIwҟuWXpVQ|e^+Vgsúd kau X!>hEŲ1w|WPKvh9yʤU@nœ$dVrX.TȎKe:3BzyX!ú4'`X]>yrX0 %`-ZȃXaP2ǰm<ǰ=W=Bq0M{w [a55X/'9Ts4 _D)t kðk{aiI'E4԰kցe+~#|jukH5*5~Lt`9|8LW"V0.Ļv˅nz1?DH(R X Z=GF%M*~~8my,~t5"`B>,KyIXjwvzkrMX-O8&(kxg0K6suR#GSsj`H?DvE!gX|!cX1+VK? tkfS:?k3kC,_N'S m< ׌;1Ò*匇Z=6w^[;PSKaWsȀk S' I%Vnu'?C6e,`99;mꑅCigjo:o5RKEY=5禡CŁKV,(+uvZB_>q`j&k[K hZvk 躴׮bGsStiJhJk `aHo󎣲Y(~h@C(fV-&63]`}?/1ﭮ%ߴ#ԙò6ťd%=2Ue g^tJؗ`/xaBmn0Hu)}T `M>-sRvה#`Xu<doTBԄX[÷Uh`O)KKcPJh5`9%B%VZy|vU2*XR CSp+{kX m"7}+ R(B.o V;Jw(2Qm Z@:%SI _ki%`ObeFNyru:`5t}R5䯴U jm,`c!uV;Sy`MAie`,\Z`,jrw8%V˧/s=X^e +iӆXmvڨXz22}S (nFvn֝h`mZղKv2 )X}ai+k!!M X䰨BB(11qGv̸Sdk~0,:%3ԉͧ Xmxդ;X -N yҝl`픐R a}a: ?8 _lU9,XiƮ4u,ru{XwVK lH,ckRBBXIA|n^X,`a?:`uK }41X 54iHz Xzi$iKFN ǰFXu&a݆g;+`]e CBV{96K\J 1,`a _VkUE>V?,ckߐ59,K2 5ِa}d`!5k! ֺ!2h4geȮW,uC$u9,t aYξ܇ealN`, ;X! `wX^1, kU*y25^k`풖Z%Xl8,di} 8U )X`X,X-9ذ/Y~eA(`5X0( X]1, V*$X0 !$``, CH`J{_X02`= X0l0`, `, 6  :5.1My2;nxo X0 `0H"!qO%5U>CJ  ^/dbHYYreFW , F}fYJK{mtJ߭`i XUHV AcD.p|X8kj7$_u_װ~VL8``0ސЦӱϚ6V5~Dv߈   `(L&T5!K5! 8``0V3B ÔZl5,eeZUiQ ?wk``oV,J|V3X1!x#{O$Cm&  Mx1h`ke=3q}kU"Mxl\`uO(S6/Myo1sΒi]g  V9+SG*s _ה}B`!GՕmkDهLж ,< ӊ@eÅhS5TMhb` `A5p{ c&Fkʈ```5xD`ua__ֹǔ X X X `` XSj4  Q   Ր  6%kq$   k6F}`e+J)O:"M\WFg@`7,vDK@`C&X٩f@`7,`H:Z9br$    k+\`Ɛ Bt@@@@J:"M`y5FV lJ٫*,7|^ srϓ_зGj{\.2X Xmh2U!u^K֐qs Ac~ܷOo  JΰV!)$&2Je2X XS.xي!X)/qD8YpJM8nnjκO ɫ``M!{/(>7R*V͢db3P1)22VR,,TN`Cx!=/ jQeG}u|:*v<.m5)Z,,V VmTz.4X8"jX^fSH@]:יqj2{  j0 tW1 HVb`GT5ɊǺWu,,,|=ѪǾN[IMS_W X Xd?L{?~qN-VVle`Ja,a!a5i6UVuk@I~<ءB,SOD`ZSimh+W?@2ӈ`)#Xf=<ҾG5=#¡ܮglc>eZ˺4b X#X?eG2Nb<3:Ȗ,"O?Gu@` h`pYTz0cM]ܛ^YK.̔3:#tT 13h dkd$J!Yu-, {BW,Ug/*ZR GmZw p C'Xzv,exK#X`l&Ǔ#5FC;"B`M7~#Ij_5yt 5 TȈFȈXq#Œ+yj-~LYQEBV5#BHnc X!XyV0}54X``F``p}?\$uF^䊾>4 ɲKdȕFb2X``!W X$Xz!ȕF^3^:$"|Ndj! cPbY35 G0XP W X XfY+\ ։z<<`#BGL%aXJ&"3GV\".,ZQe l8x-r=r*Xi䊓B䮑+i\u$4XtLX<Vj"%NS=`iUD8rD,"V+`] X~[f׉d|"w,, h?V`qe,_(rk?}WlLmܜ`?Z+_Rd4uH535®]:d X8" Zs`Փ"J 7jPfV y- +YU+m'W,u% ^QN`}eoĎu9"8Vy,d@`%WC}U޴#Y/2XZ%͝g| 6䙋ܗlE"u&D _iZ!Z1*z$n]7%͚`m։\"\`q mQ$i=Be;=%Y,p 5R#W݅f@@#X$kTEi:,9ꁵ(܋ q/V r3c(U^ba],Od$ /뵺̰`kzSQE``A_``M`ɆZCec -;l֚Vf,42X%oF IDATA/_Lu|>14z,=g#ӈ*˜&hQ'ǯw#BF9&;yúoֳ7vd᜵7=ֿ,M C##81Dl+\m+ˣBNJRscBh54 >`*IPdCcd#s85E+"w" K\Ibu#D2XE%לȝSVn`x7*G X` TIb;,`iZ쳘ghP3-v.tֶ';"Ll>zHM0Iy4"IjKk0v[`5XKFPQg\*Y,,^ۖ"uGC#94s$q175#e\ǥolGVK`0r xWN~_j#x4 "^j|{XZr}<(uXS{JZ๧ПE/2s`p0ʪP uu59 ]\:M:d: Vǖ-F(V* CbyDȫleɱ\(ȝ믊"A"UZk%בDŽS!X7qÞvn!f"}ȇpd  +.\u<2R)(`٫iਐ+Qg6wkǐ,mָ 6;{g6 (""}GKQQHiD7VF]u5R-_rm~ThEeoA@FAd-G\%55ilknkp5ZP@Pr;L֦!ɝ"Z4hd& yW .3Z_g#B0z#Y_s:+;5yaBAى`~;;;;;\i_~u)E3]5X*Bg>M`,mU[Pz=|çĴi@|Z^IxhU] Y,f5XZfWE3X1UoȘ@H}qAgI <5 WQm`=[lp̏\$,` ;< =h,٢!t#XoG)#c `i#]1z4X+q}4ޏGhUZMCuK^`Yս,2'U>XbbW NYAµ/rU|ǒ=  , ءOuR+#J9#b$|# 1JlT^Y 5r5\eUtOBYE3X/=k؏=@g,Bd%rm)rmQH,H~Jm@i ;R!^\"L6 XC<"J5A|,%Dʇ z}LW."g_,EzE;EJ'бE`In@:}'<4UZ=0zӅf yxWŧ'XU'XrTaᙨ͋Þ_0m/i vD\"}X <-P6  B ? }H5NT"+|){%3Zkg.K VL(˂M,fZmR(â Vx}v!as2=.9|ZqT2Xz=vU)J-!m C%ẰVk4b-Q9 gtD(3X?2XWP?|V/eЦa?"yјQV1,뾴t0t?w{n,ź,>P냕``ÞͲ{+4X XԲWZ/#Y"NaP}3F U` ypD]E`WC^bs_E `P聥݋0t?wqT"}h]Vkd7  Gg*-d z"=uEV H?"|[胵K)/{FVWć:Sv"Uœ̲>"C76 +e Y\EUMRH0>,p_ixZx PA; 5DJd4`iTfv%syFgK+IV(Ad|gβV,Bb V'$kK#Xa=%[]5>VQCB!GuXg<ΊE֨خҖ! X+ުwvq.޴2XlТ)t/❤P^=V揼A7b4X$vaOQ9g|U<-,`8*VE1Y,_'wM^AHƫc3XZY/,?ˈ>Xȝ[j21Yf+Ü20196wPf/{lgYd3XY4XtUG\ŏA tX{8&!XJF>XXKO?+IOf|Zw<#Y}!tq4 urF~\[Ex)r/WVe e]ފXR䮍V:Wp51Vjh;J;[G\ +-|5-֢aGz]X]&)쓯; lB5R__>|1~Mu|/pChur {l =|DkX} ݇;lTixi4}Kt,99?P;"ǃ;\}f͊dS%E'E "uidx܏U/j:1⟹ ܊%a>X>O\+3XcBKX:,IpW%*u.H]ؠi%C:PY#-madyDC>Ƒ.k5Í.7,qbQ,̲1b(`Y,@ l`-gUWWLLx-ydi~\>= >xӠ\RvXG]gVw\tUľrީ,>iSf8/q8NuiߒЦ[O>ux;Qd靠ۘ]F/ bX~6l-``_!$Rhr,T KՉ"(S=?lș `g%D)By\6OhzI֛ &`ɐ/}-\RvU9ҽs `J;cn,s>hP{ ^ :L' XAJ^\*߷8\e0ћܫ27]g눆/.Vsr04j` @KʠQkk,JH8 ,ipo1%B XKWֈxZաݫ?׭4a?[I\VXn|h7&y)h7ލ&wpq%`IȒԋR˵ uU9+p;ʝy?_}%[-{nIdpW:X+#hԚ&AǽJAA)|,]T&^y%='уe2&4o[c#}49s3MkK,JQ"5 ZRa!O)NJRrQ)ѐG)X,zp:\}^b9h 5aݖ_ӽQU"C''ua}X*b vss1`!DUPwJ9 颁\&]4er .Xcw,Jhf*}ό=O]J)ٚ`IjAV<m6+9f5'ɠSZ|eEFXc}D.z޺Pܭ҈ܿzK"(ʅF=XQﶿ)P&c, BؘWv}J]h[S5\= F=m˄2 hTZoT{v~,v{`1E&Q"{l2Y7*m>75k1 `m@*c#|`MnPʃ]vR{߿# F`EU|)llgmm)¸=оi {e#<vBnUIPzIasgirFX%m>W}qm1ES?NXvt>0mzqnк{5kˊnXT޳%N{ vU견g;`kU7+ßcc*omWVX5&.ਤ<'` /½W{k.2`yӸmmn|zpi>`~]uV۩F`uէX頏cqp[@ޫman>?S"R<X6PI}M-X3w}]cⲯ>,+k* #`]S,x&E\J*`m{Β=}$!B}:X) 3E 6 X1 X8&,,tg-m\zy0 X.6z`X D Vu.U&S IZu[`,6$WkW=X6׋߮WiJN\9]Cbx?Xצ0s,u K-k{.",,(nW ֐%ptP_ %`]r-kڀ>U$,4;/,X JKU"Lu8x͵ ē:\c7-`Ug[nPoJD`!4ſoi,*V'תzVY`Xㅫ)V~mˊuhL ,qjqlVKt =X>!*qFCFqXp`%X `ݖτ{e9X ! BS, YgmD`!ao᪂^=XrRջw>uV`]  MrXڜs }Ӄղ<+*zS2h4AVjpv*Jy`]Xh"e&|SVzH '\XV @hlDhVrDVMfW5 Bss5Um3 `Q"lWAMV:Q&VZsdV*`}Tu`֔'Cy`!4h*=XG4zL%|n`% X`!w)B݃UշkUpMVNrO!2 Ke1 hj,` I8rgv2iX]79XOk͚=X]rFC , =`!4d9%=XbGi)8WF!`UO{؛;`Ɋ :<^]NZ ={Lq`5F%.=sF,O2jj}YLX.ӻJqШ݃%+U$|^)n{,srGC=}fU`X/-U`fz"f;#`yY`XTiШtފeϩ7;*`M`!4yDX" X}%vQ䎆Xs`!`;pF◀Ns\`! B'w`R`XX `Xe;y.z}r `1 8$xHP}>XB, :muz n *]>cBhv%œV[K?oX4Xh  ̦@U~k,DB)_y7\/`͵D`X1EHLB`q XXB1`!4, ! B, BQ"܎AB8XB`!, X^PX `uJP?.\_Q, !4{'8XX'zƦ rrG`!8srGB;'w89,8sr89,_fX/6Ͻ'76xtoBDT@RKj.7X!40sU'NW m6YϙC,BaySznkTm~?xmO'r BmbmY%r%@jCr˃mƶMBhEgG>ѭyp>9,TGB`! !v [}? K `ړ8X^M%apBZnV)`QfkSsyp痁'<#569 :,.A/, bXQc"`Xh`%B !+G; ^!``uZ",+^@4f*up,!xxM$! 0`+^@4'lZ,4`)j9X{mo~XX:yc}=5ZizD`B___LEq^<,gl{ wX51NF_[*`a-p(IS&}8J *6gJ mۋp[8+Bm;p,4 Jߵ,q /ۺ(%WULɯ)-Gnm{UH)<+W̕r\U `$e;.˥}D3xߦ BhIoT}-=X9{n`}e@@W=e]%w8^`!4}s}QRaX8X@V.Kz~s+kr6^. >Ϯ~>{^X(yˣONXm"a)Q"D:i.»]BKQ]^X:6Ƀ NԟMQk0|ڴ&w,~]3.ͽG_U9PBXEO`Y|@8=D8q}&m.Me!W].?U9SH$ Upj-` KW OKn1gJ>6or2bMW }W^x+kTTK3 ! ^9T4+ [m kΰ5W kVWpuE}_o^[B} 5.}ڭJ`%+WOֲʂ%, TtYpG@k) vWs)5 UGk*), )KWҵJKje,,TUNsr,ϔxk<% ZJ˃ɽҐ\+d%Z)'Kez- !WX,8X׊"kkHA5T=v*}|4,WJ–s+ J, ҿ,`!4Z) 뱀{`P7'mҎR `:u\,`c BʞPwWp.*w2]+,ZU硃K0DO+݇sN 'l .\]Jpk&Co^ƣ]5 *9V\IV5[p%T&lVJ'GDX`+ Y(IJ`ua֥8}-k~$$ ^(sv ` ϵ%A˃Ƚj6{O>ws+ [ In Xo~ܫ:WΕY.5HMXǢ `Q"Шb0`u\%(ۿ@3;E,?ދ%'eϕ**]ԫ E WgJd}T`Uݼ1 >GX?_Q֕/ J0``Xhp53ksYՁ5I.(r%ϲ}%.2Xt\=A֩Y`]+ . e}u] ZY:X}#}H`!` {uaiqn`y!JA.zUUlW:Q p%B XIkXSrszMD(\V(XX{ﻺAG=XU=X%{y`zNd%PXVOs:`}l,Yf`y%kvp+܃&FX+@S.>hcڋ`.VT"lٻ)퇴z"1K>_5d9Xg\h9ƹ,+aU0K`eϹJɽobX( 5`ȝs+9,*)ID9N VtDk:`y:ڬ8xC-k7ҽ!4(Lr9XqiZuV:ο<>,.>94WgB8a`MG&qJ%р7KҢKKRh/=: \;\tIt42.ak`tg$<0(қ]"`>`ykrFwuj6SLPeXL8S2U/{sK`JT"`` 6g+;onᷙxR׃eWݒIT(JcɻwbVt5[։ `=sJs4XM \e/2*Da:N "NtX)OF{AMa\Vz??X5C/,ϣlvPÒ`(0 8=Va.4v =zM4+FI}nrI=UPXɽ;XK#k U"֣dVúD8܄,A:X:o'ew4\Y= Q,Oeuxy'Kpt&#`Mu i YT Ѩ-JrD4L2%sQ*J쿊ޮGM8XjhK+.YXhޏ$2Mxځ`ۃe9A.)'M3gBꋌK]zE7)H M˙8/by`;1 o,h+eJ#r%dJmvz%e DD0,SF('iK5&w})B/+׽Ff7j9XfLv>?קcКIL_kSr ``+=|L' 9w%QRD_dO'\5Ez7WaCgU]=X%(},`y;AXr_~O=*s^V8^{u[ k'z:kJ)iNrύۍVhZrN ;XO D,*}dU+bF XBit*q담ܱc0:c/>cnv.%wZ9X,$\֑X,wmnzm A˽#+&6IeϲLh}!<)j:XreY-~ro+?E9X՟ P]|rJgE ؟72c1:s`ty^|ܕss,=E(sreVVȠm2,J{;gD4(Ha=w"m<${<VU/>m`ݞoOCoMht4hsvu1+nY`_>.Z,rF&]qp/Yjc.QgJS2aZ0^*+">q.ݠ*4U5X6KJF5Dii{Еem`=u7q~ 7)4ݫzZISVjvpQ>Azt)Bk]^gJ{<;+Jrc $95X`YAYXq"=!9X^,[ڵvw|zNs9mVXyd.z.9DǮ|JYkZ5%Bك%K]^9` >qu Ximiۇe/`;g}RvYQ >;am)ߋ6[qhv,=\KsލϓܣȔW*nU`j^7~嚜Z"! /48T.s9EDٻz"FMCk[A0L6Zfγi(S"rVA`1VX g_8iQy0! RA1Z4Kr/oxr}&r+4|URzD3t*GV#.+)BVXmd?+IȞk+#!JrzF(AM:o*|׀%Ovc}c} ɒ.GժLJ^y>.Geye?t$`}V8S"r8 lEӃ-exeAUyp!ܣeF~G\r97HW+DCEX7:^ ws}U"A.wbEINkt{cpSŢ|!`%:w,y`6LuTY[)d}e\r~tRk+V'yYe KXOIۂJ`J$sz# t0ꇌz!>\>= >xӠ\RvXG]gVw\tUľrީ,>iSf8/qGsiߒЦ[O>ux;Qd靠ۘ]F/ bX~6l-``_!\q&ܔNǏFLV`eXNe9XDacET^ok?( JグQ=| DKz9tu0 K~ln|s%KVH-\Y)w|-exчMʑc’AD_A_Wk?:h_IًK>?Q6' &zӱT77{Q&lpjNF)]=^-Qkk>S"DBaI{/jZ FӪ^U'n1 cC`=nǛ&zih7&xhrw*fϝ~z4`UC}V4`U*QXcvXD7V.LoVMdT'©^`QkP.J*$)}~/ *k'`!`g͛-Y9YO,k}7Eh 5٥y+ڨIə~irPz}D%‘V-Q)ٰŧ`C'q)hċHţL؜ `q}B&G_?G!]мF>ks7 JzXy<,kQ_S],6d-6}?ȸ>XQ"(;%}nlVIN]IFݏtI.. r9t^ݔ]\)=3>܅' S"9eCH +My6uHݓdn-|XE2 X E*ܿzK"(ʅF=XQ}OXz1Y"z$|Jzԅ&z5?Zգ hCضL(sN FF5ߺWkk`!rbMD9eh6nTo|nj.cG*")ܠ`us,b$w.>W%ߧg˳ssy.\C)QU=űrrN]:ۦ&+`6qK|llc>m)X% D}>3mzqnк{5kˊnX!~k*YaϽsuW*uuYm3vՃKզTRr?`ǤhuU58pؤ<'` /½N.N Miܶ=[Ѓ`~Ql|EI+]Ŧ}P} !X])n:f\"h8j[wϔ(`9V,9T|_Sm t Bc+rJTOX/ $>!~$-%{BH!B}:X) 3E 6 X1 X8&>`!`uX%PhXhkXdc  Jiib\Re2KU_lXhf&Z:6D`}ڱJp8,&.Yʕ5d,`kxtfn3aemOED% XGkȒul8XL(ׯ.րu5my `urS^L`X \DzqkU݉'Xu~lQm;ݲvzS%B -KÕ`/U8V\_{*Ȳt/\Mc^o XVCe%M8X]Xz$`I\ Bكu7l]|qn k dXhlUѐWyFU,XwXk,`%oDx&+\Y`I?kl݇%B^@vP"5\U+كT.Vʿzw]"n~ӇuêK``V.Z}wzp DMʠY+W灃u`ujZO+ *@!4fm["+WQLCԃuF&S뫚`9XzrVٚM۶(XhK`hr?j`:Kf`ajGXW`1pTu`6E0E.uՃ,`X.uVW߮U7EXW:=,,Y"L.X4VPo5;]ܵuqtLR"zZsn<"hM J2,kSX 6rsJr{~4x9X+WpS"q.,V1JzDKVxXS#xܦj˞ ={Lq`5F%.{^ڷd~",V}JqШ݃%+U$|^)TP9̪B텈p,]"9XS}Nm!4tzB3:ѕJXzv5k, >z!4`&jWB Bl `!`!, !, !ԉ9,~ Dh}^<$h(n, g}R`BS=.`gPBhv%œV[K?oXXh aj/Ur|-(XBh4%+F_Д" X","$orp`!1`Q,f݃`!`XB`X!JBX`X!`!, !`!^"@25>@X_wq%`!,` BXzƦ #,B!`!BX!B#OtIENDB`src/site/resources/ref-output/png/TestHTML.png0000644000175000017500000000765611331616417022062 0ustar giovannigiovanniPNG  IHDRXXaJuIDATxmn6PBEyI7':>YX!_oy+uۤ_{Bxoyl ֐M˻B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@, r B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  B@,  PXx~d\a),BaZX!?m9?oŧ~ Ka)p?6 {|;RX[֬"ybZe\a-YX-5wWnɕ~D\GB+,i.Y& Kay|Z KayPX PX PX @a @a(,@a(,(,PXPX PX @a @a @a(,@a(,(,PXPX PX @a @a(,@a(,@a(,(,PXPX PX @a @a(,@a(,(,(,PXPX PX @a @a(,@a(,(,PXPX PX @a @a(,@a(,(,2mO]\a)Wo|o2j-9WX /V*XARw*QPX k]5ERXWˬߤ2YZ;\a-YX̩5Fw׼Z[r(W㞸JjJ3Zhr=7r" Kam򑹻1 })! Kayi?r'SX # Kay KayPX PX PX @a @a(,@a(,(,PXPX PX @a @a @a(,@a(,(,PXPX PX @a @a(,@a(,@a(,(,PXPX PX @a @a(,@a(,(,(,PXPX PX @a @a(,@a(,(,PXPX PX @a @a(,@a(,(,PXPX PX @a @a(,@a(,(,PXPXr@a(,@a(,(,PXPX PX @a @a(,@a(,@a9PXPX PX @a @a(,@a(,(,PX PX @a @a(,@a(,(,PXPX PX PX @a @a(,@a(,(,0 ,x1 ,0<11kBU/;=>9Xa}gDz~1t{fj8ž=X``a`b`PUk䇃</Uip~ t`i>%6~J)\coDZؒ\yXl4ZHԾf|0>yWz~ۈh`}^Os5VPA=XX'S|8qiaχes",-w5'nؓs0EYjwҗx2x34cde>(#>l/0x<XX ,  0 , , 0 , , 00 , , 0 , , 00 ,  00 ,  0 , , 0 , , 0 ,  00 ,  00 , 0 , , 0 ,  00 ,  00 , 0 , , 0 , , 00 ,  00 ,  0 , , 0 , , 00 , , 0 , , 00 ,  00 ,  0 , , 0 , , 0 ,  00 ,  0 ,G0 ,  00 ,  0 , , 0 , , 0 ,  00 ,  00 , 0 , , 0 , , 0 , , 0 ,  00 ,  00 , 0 , , 0 , , 00 ,  00 , r 00 , qIENDB`src/site/resources/ref-output/png/TestPrintColors.png0000644000175000017500000001717211331616417023566 0ustar giovannigiovanniPNG  IHDRXXaJAIDATxAzHPm [a)bČ=3L[P'E2 Et.y]]/~Uۭ=`;X1?PC~֫60Uߧ~[QU~,rJ;XUt:r,r^>PcDeT#n`9X; \.Q9X5cnQxr,h?zr,·"1`%?X~``}}Eu@!*rs4. Pup,k|>Gu@>*r,˷;}ԋ3,Jr6MTX,r,k>Kir,krz7I*S|?n[6vߵ'%.+;X`tom7G{Mr5!{>`yࢌ>ߣt)u,+;bm7{Mr.8ъ#`9XV9˷;]݉wߣt)u,Qz=J{RrR, `9Xv.n֛`9X%,t8~һɼ8r,o\Qz=JG{Rr, Ӊr,ƇM$;4?柅>\?ǫwnԟbQһO/yRbw|[ihe,ŲXk5KfUMQs&bY,e,ŲXc,+﮼Ǹ> |AƸET4RbY,e,ŲXbY/7LOfۏMfbY,e,ŲXˏtHǏtbݿ c܆sW-ŲXbYy/Sgʏ'3-'r ge,ŲXb{WG}l/HmK1SŲXbY,e,~wdC,ŲXbY,e,#?I# XbY,ŲXe,|.ųXbY,e,+﮼z}ύ03L,e,ŲXbY,5bm6?bQKNS&w*XbY,e,ŲXbY,e,ŲX;&[,iJ9k\mBe,ŲXbY,e,ŲXbY,e‹)fbl>K.K& bY,e,ŲXbY,e,ŲXby1yb e3EbmۢM"-ŲXbY,e,ŲXbY,e,b /)JdzzmzBe,ŲXbY,e,ŲXbY,e{12CWu<6e,ŲXbY,e,ŲXbY,e,Sx1l_LUdzp8mzBe,ŲXbY,e,ŲXbY,e{12Cb?')db/XXbY,e,ŲXbY,e,ŲXˋ)b/8E{\V,    jU7՟Wףx;ǯ1~ukZ}dADb'Hפm_k꘶;ϧr_SNa,L9-w!'IMr͗r~_)p"K`!K`!K`!X %X %X,X|XyC` ,# ,F`N'-az,X %XC`!X,XK` ,!˸ u =3r$1 +? X,X,B` ,B` ,B` ,%X 7{ K`nBQZ#. 0wk %X %X X,X,XK`!nB&0P75$4% %X %X X,X,XK`!nB=ݍtw 2ykz%1| K`,B` ,B` ,K`!K`!K` ,X PLnBԚgHbV X,X,B` ,B` ,B` ,%X 7{ K`nBEb:$[œa X,X,B` ,B` ,B` ,%X 7p M(L6a%2:zz_B#X,X,eK`%X %X,PxOw3IdX|>X3=0o B` ,B` ,B`!K`!K`!X,PL@M(v5$4% %X %X X,X,XK`!nB=ݍtw 2yf!f`- -a X,X,B` ,B` ,B` ,%X 7p M(9^KXF` ,#,XF` ,#z,2K`%Xn5@   XXkZlzg5{|\c9=p`4=a/?{kk/B!::bs mgܶ ih WǶ㧆S[B˙^*a}O>,4u?%X X @` ]`5c~7w|6\ɼ5Ěd\` ,B` ,B` ,!X %X %X,X,X,%K`!K`!X,X,X,K`-H.-77@ҰLPxdh<9N5,XK`!K`y,X %XC` ,%<B` ,XK`,%X %<B`y,X,!K` ,Pxd-݄¸  e4, fc\kXY_ %X %X X,X,XK`!K`!K`!X %X %X,X,X,%nB-Hv &&ѰL&BZ'r!1װX,X,X,B` ,B` ,X %X %X X,X,B` ,B` ,B` ,%p olEP77аeB7p)cݒkX_ %X %X X,X,XK`!K`!K` X,X,B` ,B` ,B` ,%p olEP77аeZnB"Rr'z%1װr.0K`!K`! %X %X %B` ,B` , %X %X X,X,XK`&"xd70nBnBa ˄oBԚOHba|]`,B` ,B` ,K`!K`!K` ,X,X,%0K`!K`! %X %X %M(EnBa܄܄B2 ߄ĚO@ba|]`,B` ,B` ,K`!K`!K` ,X,X,%0K`!K`! %X %X %M(EnBa܄܄B2 ߄d\3X,eB` ,2 %X,XF`y,eB` ,2K`9,X,eB`%X %X,%nB-ͧ'W$/ &Ѱ?W|&cߓkX_ %X %X X,X,XK`!K`!K` X,X,B` ,B` ,B` ,%p olEP77аe7v$|rks +kXC`!K`!K`!X %X %XK` ,B` ,B` ,!X %X %X,X,X,%nB-Hv &&ѰL&͆ĚObAbae| K`,B` ,B` ,K`!K`!K` ,X,X,%0K`!K`! %X %X %M(EnBa܄܄B2 ߄eB` ,#X eB` ,#X e|MK`%X,eK`%X,eK`%X,eF`%X,eFV@` @` @`, @@P,, ` kZ;pJx2 cgm~u ;秿OS s}((#]=Wuwn{8?әOwLNizd]| ֻ|-y^1?)(X|s@9 c>?#~|;W߆aDc,S"<9  ``(X uUo c4'ƘϏ (X` (X` (X (X` (X` (X`)X` (X` (X`` (X` (X`  (X` (X` +(XЧ`eS?,cLI:qWq˘WEHOēc}}"L6 nKޟPLYqMM{e> kɉ)g?'_?YoLd,\>8=%UcǝA&pa^wM=sbI7Y v7Wr,_ȧ"+dl;ͽ$\bbdwd Ro4gaŎdpjailkO//ɺ|nI &kgOw,?_g1磱(< e4tO6೵O,YrtR9%,Wfihf2 ;9|dk|®3ؐ5Y7{<+8 gPJ; iΌ= }!LM6+=>Qlnuϴ8ϰӑlgX> i Y&t'+0 7{(OmG~-n=hNHOuhV,Kf|ILu{Ue ]or|1b&s`DMٰY4IV1%Ð7+%?Ji?ߺ<#^>ŽGO7>)Z3d)ϊ+J|VJ???k'seUGV,ȗrN'{ȶFW0Xb+yﳡ?dcaz?ӛl^<{O䝓OBrMMkߩGk1? B'+ʋ|'˜0-@6y4qC7d1tJ!, ,K,[]Obo I8'K-YʓDQv '7i'ŭ Q4<9KS`oz&,ƞC0NDacm\js̉Jbj( ! QqLWbdu !뉊)a'<-w~u[(CrdjfeFCÌΪua#e9^ȓQQ5QmbqM}gR=4'0 `a֜E9Q2]NyzYgC"S9}DmjE)"/ 2394 ۷:,[)궶i(JN~R=朸}O.3JvT0qr}ӺGEOhe6[*Ŭ$vGc:ț̜DLXUE^G1QO{EMT%&ʞJMV\/SdEweyT'+lBʚJOy=Q,}fT-'ˇc& da0Y0L& da`,L& d*7,y*5.~eN`hxҴ*킿%Yk&pi|&֓Xdٚk}=FV5.m vVfKvq&F=r8wN`&: LmwNq'K-/8\]Ӭ^gqW=rL'˜$U5)I'+ ü]j"?I.8a5Yyř$ݬ5g&+ Ϣ0Kȳ*oT',;FZkD;YˬrS/y kw|!Eٴ9+v/L_6Zޓ#:}Ԝck֭LVsϓt}yhPcC4ͮ]pd dnU\i'+ F0}At_<{?qcIcZ0=KMc\2 SsF5=rsEn~g>p.Q1d'$Qw&?k6Bg9%ݱ%5e&k𬶅Y4Yz '+ 5eMw7ƞyv2|\F1ea~үeN8J^A>Hx=?;qM̱;/rOXJlh/&_gDm-:w`tC4t}2<9I2,]>YqEB_9I3${{q#SbT_&+MA}š *PdpȿƎF:Bp%,[֨>g6N`y;zf S'6·{mjl g٫]ml|؄FMΧ/}jҔ'&1dъSW]pϥOkNslyde*XoLC瀞Ui\ ! tiͧhlGȣfKmt<댙:'+Ҝ,8F V.%&+v|3LVVZ`hL;U eLuTT J˰ K;irhl>[cjm(A# IeL'˵D2'J%DoduƬ|iwط<o.8$eC\:MiAugW2%qXwl!mfz.ntp]k孴0 |M2'BMqhX0+n?M4GSyUoJ> ՙ(}Sܨ}8=ID&X)k+J(/ ; DZyOTeqNy1EՓwR'+(Wr| UɊ+ЫdE1˜JNV9Q,nZv耛A UAda0Y,L& da0Y,L da0Y,Xpց1I=WqRd8VK.VKp{4:9u|FzF#i+Sa",Wޱo^k;Vcu6=;F/dO#hu_$O׃·|QȠC ݪ9/6XcC*xtMnϖ}cJs,m+]K:E,ݱTY;퍦zv)±4Wc|fEm1g΂U@hOc"ؽƙg v8DJ#3u,rcm4KwDzg:=t;}*J|lZѼ]p{|_y# 6Zt׼=}L4ŎUO-;8]J*3s,zr?Xb7 c@jDvSL:s8WQRstxsl=Es'{ܾԺ# }+l3і^Za.Fї1!)+[c6zҮfX;w*TC-j^g:ĮhRy(EŇb>gpӣy{v"bNBܹh˸c$!V|]f'#W=.q' |">suCk}!ޗB3ܗ_ʹN4}Scq*tU7CA'w nVہ8 v):> ]boC-v84^ sEF;_񊘷SJ.">A,ӱƑcmiR}I_h]XYFiz,QNs0䞲Jo=)t)"tk !w 3(tK"<~*l{85y$H4." ˒Z"b (ÜclWbKkr\[9UPy7OfTqL?fK{Bślwt}?tmq:bFf8|InzE[ø2VLb˼5t('#g}i@U:L?'|1,;kGmԦI_#+28}ѵO&^9PyV]WrM&$~#7׶ks6KWdކ9<Q]7o5TeA͓k(q> ǡVrs,3v::ۥrU+IXqE|8ˡNFw]9նYo5 9e9\dm9ob%u.uL\/ iUp(ݱ̞I. !↏"Y_ E*p:6LB"0N&\^[q(};kYl[BʤShLʌ,(fndi.s/WK PY9^TE*PTc9[dlNUb:ׅ9TV0"'RsK֎NSWUR)m$V%)怕r,ײk̉;ʙ1(:pU@Q/0e8lFcyelUϷNyfL'ʩtKֲgqOd9ЎSL픷lq&(Q/V5scIS6j Z%UޱlVo#Y%s.J]Km5YVj2+$٤6JJ/цTOZC (]͹H=N9YӃ~OsD:7NI8m\U 4V$ sb}yy+yqj)Yg\F^w=KEQMHz.O:ԩTok:ѯ֗tL:6gN:PP}XY:+WVS'Ҳp2ed)u݃/)&U]52CJr~w(8VL'x33ZuPp_<8VEl U&Tcdjp, ǂ`08 c`p, ǂX08 `p, cX08 ǂUֱ꾙x1AO pp,j B;flpԎENuc8؝JX,THEc}5l!e6뷑ֱh}C#XZ XVf0v,r0Q \'q,zu:Lm 8[cAsYI.*`l:xble;2qe GΖc4IU-PͰt,*:usֱlCΦ^9>r,rXY8r\KtQ찗c}KViNJl4ci\NY9VYg ;@*Xj~z<챢+KZ_SbFM))B+LL+ms+ñ;Hĕk?͹ u,#{8V{gXi3qAKCkT^c_I(_>c!Y{ʻgOkӦmS%amB]7E9ac-L6t=~8T{K^=צ*}*t\B/up/sͱ wȃP|=#襰-JXyd/ qmڪg7 ñSe:Vx]wl5FK鰯2e85E:A LKY\:rsC{517WĨcU&N #O_cM7s$ܑKlLϨcU&L̻*ݱ4:c--KƮ`SʫƔcetӍ31gwy͏3:4kSLc:+ͱP&(pXDmIҝSǚ4okScX*`:V<2?cBJ_1/C4L9ϡOU>_-1o﹣2Wr'H‡1kX: {^%4ࠤݴ4iVE!p,:E{4e 7#\}FhkBg>mPk#ݠ;֮hk*sDZ,[㮘D); kr%n #C\;;{q:"kuCo?#ޛ+cTB8ΪR'ȵĝkVƶxN2M3#|`rj" NJ.uVXz&E"q-{Ɉyrؗ c΢ w#s0;{ܩL尴 R3`s<+HmevYZ f(y *D]eb;\[-r7Ɲo|=>'p:Nc[ @ּۜl8^E)rUf?'6?sEu (c? _+)Iȳ\Khαt+E9Xf9l?crZQmCcq: ũEIRMa%4q,Y6 s*(E S|Pb]?='q~Sh8+dD0uhF?li|,2Żn]No8M; f;5YXq|l2QNh#wrGw8(%LE".i MbbEQaNQG׈c.+o΍AM3ֻ=KX㣯\4hLRY+U,Xmr4jFg]% ~L7Tm* I41Cc <DkИdұ__9mFw<KOKԥ MҔM7& K9y-\fmmV/||_8VPϻDZ|By}Tْ؎eUp-з+±:ύOz>9UTْ؎eeגTUt,rr$3Uْ\H[-Pe8Vg2ur*9-Z7g+/1iEoFf~qR5*;[\,",K9nR5Ң*Ww.( 3 D]5F{đTϲtj$ube9o ͅ*`jf@qa^U+np]zצB]w('p9M,lX.ŽCC$u*e3^&lNil~1tYu窔J#NT.MNSķ:Y$Щb5FݩTj>:*\ʙD'deFMÅTڎӟYܹ,g:\BX J\^R)βwS:lIufE<ұP6Qj9BvjCJĹ|V*N >yz}+5l;j''͠ӳOFz+MNšWŪCS$R[kRtHS\UD磿%&J_N\Ps,UKUHʐ^qBk*}׻ }2be VmJ>C* llvJ'RE+͂/T6C19{{a쩨Nne-@;U_$H^Hg#Ց&MRj'ɮͩ±˵@= Ɩw:LJXutr,[6`ʩΟޙNu&vݺʩ'±J̶ JvJ`dNw,"GSWwR cekPj`+'go`++zTu%:V%X"E? TpJ}zcŤH cF U zccH/CUl; X9kIʉ^.R S2t]X9TpkP e٫6Nǂ`p, cX08 ǂ`p, cX0 ǂ`08 c`p, ǂX08 `p, cX08 ǂ`p, cX0 V!0wdDα2DAX5K֜xn d`cj؀,RE!`)hCN0r;#]@)w4F6-%¾|*K iԠk-&( `|h`, |X0l 6aU%`)EQ!* d}l 6aUEEp=ԕVY3V/H M`奲W"`9cX?)p:hŗ lVܤ.}i\#߼k\a7.QW`}K֓˪BX%[健`` :>Qr\ųo:AX:"U|tUE |N-=,ʪw{2⨎w76tܸ0٫|KLU;k?IEuJ \3~lПSN]8T5,d=CcǗԸYoN|39rQ {:,٢[W\:lԾCw*,b 1miB~Jg ։絫7&VYVrniB{EL`.e,=< Xy+\Sۙ"r9[Vf*;,*h;S7rq`&@;=fkbotVsgg~owm?m?F~JIJ,̰,u(KeXgP ]9%@fX+=RJjǢlCUcgP'WE{)W0 [~2|-|lQASXU|k|MpGTXܷVρ k _к/oGw_o6gF5_hdMV~ZpVXˆn󳩸 X'T>r>3 5YggJ!T՚P]gt_*E|} 3)'%7) 6aϟ^dclv|ݘ8s'쓗8 &%nȡETX|tnHh WeX6XxbT[ wi!$Zۙ<}¼;7&?{¿92 揵E!Tֺȕ. % 0'^~oD(Xc^`yXxlE(,<[X|ׇܗ}RaWY *׾J[te5+ z+I)?e}t`#$<5URhMaU^rS6bc(_ _-}`Qw^,z΂1=)U+BjOH6{0:fǸ"WYWpG\]=n, h=icwąTB-ZeUX.uRY)` kֲZ5fHkWKHXVWeҠ` Coz+uZuV{LfVمɿ06NX UmwH]mDXH'F`XXm U~)MQ9租Cؽmvt]c-xl=~v$}Xc> &X^*Ke$+,:h }V 1> uҀՅ1`FUKkh<=!DJ~$߃A v4Hms = ~"[[z4.5bX_᷁?tzy.{%CI V'+ ZUUCeW:5JTx zsXRIcJwAkO+nĪc5Y{֪Hu bP7̋pSfdiZ \cklv5{?tmq OGXOšc#j7#\Uq*U S"E!G=S +W7 e+i z+= +)LXIwSaa V:a-͑.枨ɺ'AX,CEZ1+-ȧ.}| Nv"e*Z);v/DX~2;a!C|?a~}o5YLj?8A9|V1^UBs n]WWqV #rX6`)hQ0w.gTX XPUwv_Vo",$ ꟪|_*K8y S%+`kTWqc+"8z3t^ s>͉Nx䪸=w5ϱmE>vU|oc\/5ug-!+ZU:,XfKk KUwsXd+]a髄T8Z3~+Lq&Kj˓%)ukr ;{XmIE#h'XKls|ru6u4rU^>Jݔ,{T֛.W2\c*,[ʞ>tuk膄y--k)kUX3=uXGx-a*DIʚ>7+TUwwdX W 4HzO|?ϋ"R \eQXHI1FgOrPMAy<{  R>fx%W )<9\D? Qv?Q?/\KV8UDVSC{ҽyxS@[M~mᖸHZdm=Q"#C|=Eˢq8p]dw eBd]%AjD*(elKᨽ^8j5z$/}?S \Ҋ^YQI=>])UC>( XI5\^L. K+$0ea1YC~RYy%J#}gy 7]J0xUG+^]y2`+B8UKui;QK ,>ʉk6HBS]9>[`V"^~\ruLX5ST>u֠K*vBʡ XEj\t^& ^aŽtw{۾!Sa.|*6\!%/M!i?~G|V¾8CѲZ\>.-1a v&w`EPY݁UhB>>Q;P&- yPX }.RT kt[mg@0_EO'/kz$/ ]l2=3:XIZ~O'<ᕤVn;&K‰eS*uA[(9jhbQ  1Ѓ6}kڰ0ћU1 V }:K{U4M;M⁌3z(xU;-lҨ,+MWsO6q]rltn(31O,B}er}uWقUeIU"sJ}f [Pݪv۾)v;V缓ۭ穸|կ|e;@Q-NoRBJq_ P+_hnA;*V%I߭l+fWdu RtI)= F!EpjQŠF۸ ^*Ve6 lV¤_ tXM;jؚwd*U:+* p8yS8r}JIRҕ*X}E;CHߕĤ0Qxd+%0˧gRH@U\9*PabO*WZ`Rgd+>  2SZY~Qyť0Uvj]%τUsivҠ1k E+O^qdX eR^QϫBQX>WeWIQTϔW!`5W,X֧H_< AyBQT d:^X5x*AQX0PxŅ W^T $  0E媣X0XBb+͒|C?U^0 <` Vixaj/` X0 `0 , ``0` `0 `0 X0 ``0, `0 ` X0 ``0 , `0` X0 `0 X0 ``0, `0 ` X0 ``0 ,n cpG+3g,>sX 0* od%kNd7XpQy,hb0 r> )}b0 2Ry,=`Feus(:1@,3``TsTX*N` X+Nn1?z XVeE1 zo1@,1G10 ,Gz8H!h|F@ aWUEpҁEP u$ 6XCu\`R=NI ,@l `!oŻ[)`"d@? `2 Ti@AA+N l/Q8P\U%Gè>J^Eqy,@ J `ZţU `a])ԁUT*gi\-k Ī l x7.wFECX 1(qqouj5AX큕#R2*XzXX{C,J,Fg${!F߁ k,[. *?lԟgUyM汪1+% U7`AOWbA⽺JyQ4lWG` H b01`e02؄E߹w>=>c❵Cç6 (⦀b{<>cHO﬽ǞKԸX㓊|6.sC_+ uGE@q]|sSqJsIe2U;6|9MqnGyªK❀@~g/(HN&T@%*ȣ( &)֥Xq䴾{BrE '/sѠz)`YVWMXKU9’IsM>XU kր_ c/z>cV* @" +K* _\*z^0B<~b9QʇbJU֗~^/|4Z `թ sUgH'@@}tW8HCy;Ku?}+BBW[\6(w󹜖*e_zVM~PXjN +gUi _XUOrM:Lh?SL+ :@{G}ϯ״2/ѩR;`U",KqX]`8ƽ+\jag*xi 5 DcÉƃ<{ژc415~yXŨUO%Bs[ ,RqI̼o sdYZ n6@h6%4eb(x jF@FK~-w/5Wq-3`?\RXI6j"5@`bZCզv h֣9PjL z oOPܯgȿ6__;-])z>LD??nΈ}/`bzAjtw*&k ,RTuWRYmGj]SZ[FJj.Kh)H:n\V=*  }|jV}m@ *4 Z"bm>/VO>[yX3H\r̐pWnuPqHI'`U mp+l=~kQ|}h}'"m HEkВ̛ٱl5 i袸eL ;Z3]),3^`{Rv+XAHa}-,V MhaZ-aXj "xUXpR$kVeBZ *wW*zz>1=?+wfmH`!WYVFVl 1qW)yzZHꖼ 4X-[rX{oK w#9:4 V4\QX$Ǹ{f~ Bm;9mI zQXp:}n=cclxlv|Oo+2K)+5ni*+JaQWpӡTKW[Jai3pP),ԩ+5rO}֍kO6uM%~~Y *}p]@mC߁@+,eHa0tYKWK+BJ˄U|` Vu-$K),[9I]=iBWaTRZ̤V;t),3;RL7g º'}߁ӚccKHSlr!]_pº7GWͱb稜XP ]r%UK/m0Wͤ+,T־:Zš O5p؇߁Ut;) ckc=qK$?q{)B[RenkZkQRº/OEȨ+lztq"a;ƎhKG*bJKWWEnᙡ5XJe-Z̲L?JO2![s*`qCu"])\ A?'H*uX!ap</uO3z$J:%ZU~*#3BatDcEZC[g{(.{+XUZ;]CazćR*[βJ ~Vѭf5 RcOf# ~{] z(MQg(||~>,ںx_K .Ȑ]mn|mpF c~ˑ)KA4EzyKnXu;AHjQYQ=BF-Uz0WT SrZsݕySb5qO@PQքQROh}˓cok&C[ns@}v8 h8*OtWV~v"Z׸^c\,Rf= 4]__(,3cK]YBh#Ls҆>WV \a0ʎzDJ(9a|h[vE١H_F9X4E(e$+ ,eخ'Sp(ձa K:֔hLXU\a͎챭%v-JOH`M|]sxO-ֲTOJ!Uw+ރI.Ļ*uX+EXt]8w8PYOFf!WZGS1i\WfDhH X ㆼ5WM`Z.^t_QW*aTQ=$<)m/st` *a[,e&_eM^WxĪJ'uWV;y,z֩xWMǺ/Nz8<;|;*xCSl%އM^'#9qR 5cQV^u$V[l1_V3:,[?,WEExީt气:V[qQ?&VZTgsuiNX?[-԰i5؀Jw`ySLZ%txo¿upZ}Ax_aaP0߹.~ c+A]ؚRXǺ  OF:y×$ޏE; ~Y9 JsF 4Š:,fCW #vͱWVws]B㐲L[͘rY7E8HR^. m7xW,vzmxWVeE#Ύg+vZ\ePƃ<)2 _bw8N: =W: +Ŗ5 `OVGmN,kt),ۊYoV Iw) 977[mtXt.[*+}[nĻRY2Al&hOI=q  â tM0aG\eQYY#.KtIuIy'Nׄϝʜi Vj=ń,œfo]),X2{a Zx {EclcݓYY~@^.U) u誸 H_ "֛+-Jh# O:;y)xWz+U:`U^]sniL{nDWp:PTLؘJ7Ǻ#rVݕv'"Xb<6<%:{be1(YVDUoSN̰93>N<X8 o%ʕ·b0։}L`U!U} oF5!YխcEiţ6U} w:fv~(KV{d9+e#) ]t }ٶ ,ut,H?g;<,$h=Q9&V rXQHs;. `ʢ )Š=}TzVg%GYtwu=2ԕY8Z՝Y4xUR=ꍥ:7,H_\*,(m[~^U&#Y@*st[䰨ZNh=[y,DglmN,ʼnm~ūcAiÇVnUOï}m֜Q? ôR!jNF'^֩\)<+*u*W T^k`uC G#9,}l觇C:9@V UQЪR)`)+ރہTUXKXG4'E _ OFD=փ sjfF$#BV*oxs]e2GoԪL_U};[}G?}Ye(" wO{-\Ux;徃KU:Fkw2ǵ+ԚE"hbb[K%d}oGKt.KuM}XRaQK\W^U熾>ukX*~XeIeUV+cn3{w%Ļ2Y\5WUNfT^dz=gGCS"hlN~"k;`S RXf3xO*hDKh+k56TU"Sej&s*jC@:߹ZYX*D|g;WDCEJTw|ЅдB(JF e&/e)EV?8rTYw~bUq[twP.:K-}h5sC&Udj5#5. %qMZRx?=MM+ ^R^3eGn tgp]n:i){S{&j`#Q8LZX(XX;,U{s]覬Ǻ/XjbnDؼPYx1tMABS׆d=x*bor"[X},W @aRmxߙ/>wX>m]O T5-T)A+쌇g2,|.AϷwFb`)+XUy*W%%~!ؗ%E~",dߊRWa?c~g ij\QZZ 3\BFk).]U9LKj5`<V6sCj+Ļ<6*R"+sQ ;ؓgs6X.؀B̤@̻ՌKAr}*9#j ,Wؑa!m*Ja*Z$GT^zX0[*j|%LyN,kVE+,[oJ?2__N -XIB8:L*8SǕZi*M`E}gf>*eP)Ϥ+:eT& ¥\QVKU."٧+ \ej(,|"^*A6Ċ 80ŠPWaa Etw}@ fw0o0ɛQk*TxXiI@E+LɸU&IV[(LXTXs\ߡwfH~g-d=G}*m8車eY0]sVץՌ 1Z޶VIWRzٲΕjOzͼW>q`* UjF)=?{17f>M_4W8uPBXyCyI V݊wB*Na3?7>陧FjbM7!#Ύj`% lĪxXQ 4, |UUXXyK @ڭf`e8!ZBX\0w+4ׯbVaa!z߸XY@`}AԷbW(8I?HՖk1(z'4wt[ GnS.-B;}vFbfat+~~U:Y݊w{Iw-SmN(HgFY5[e~XȲ >h>ʗUb XnQE>=V bQJ Xg+._ʴf*9{azվ"!_+1 4y,+8N{A;|׵ۛ̓J|V\jE1 Vu ؗBIU։w+0m1R1|(Mac΃hYAg V00 V7P ,e UD|@,X%u ]P2AƝ^Ϙ\lac l\yC *!gU v&5%E?߈uu+5bd$a+ۥ@YA? `iH?t2BA_uEk@Kǥ9P[ՆAytUh00+jQnbsW{c}BA,iZVMja =nyP2AEVY+i~*FQQ bVĺ[iK8+LY)XڶJ{͵7߂QWi^!" V uXPn[`UoJRY&Q RJ+Mn j ,aG)t[* .ueKSVkNu`9yW呐wK}7w`^pu]V:${xjT6XǞ6fJU^!<Vj FVT- +m 9uECW\EXXW"]aVeT Ry8mGqh6@[ݖRՕ-)- `W^ k\Fj Queu~5pϲx>V@laҎ3|(PEʧORf/-93|Z`EQE&-ҕՖ;F`ERRR KY䵲 L@lVJq]I q+P&lZI@eR8"j+7ӓY,GfwBJLuWWBBW:9(=ge v5ƣ\ϭ> l47O^-WN^u[bDQϩ%- :*Q)fIN$̜}HHڊrҴl_ <*[k5P/D*'â€"'[8GXiVR\۸j| ܱ/ߎ>0I V^MQ}ͻJ:!޽pQн&pW(OeU6M`"R,9 SWy6 UZ.aYcef^ HQV )CPW)1|UgҢ8:/ `\0:6-V+]#@(ޜ P@FwJX}l@rZa,GsVύOATUPа(h0BmXmyF T\OQ"f3ɮjPաTT"ۀu$Ҫb3M!+]n+M(2| DF)^j nR <+Vt`Ѡٔ?X}`Q[y F.j?oiuUJUz4j2 @5 T4Nm Т.Z][=:__ ԩVٹ @ j+g-bv dUe6+JQu^Ue9N%hˊB`Am% #B\!/f[쀪ٻJ\aX^U + j+P1 v-!V, 5 BUH|Ae*Ξe(+Vk8n Xfi|Q,=~>>eUU6uUXP[5RFUxh,a\?1:*+o%;D`Ame-WFQ֑2@s5PWVoX,l93/d~n꫁z} 0ԑ`7A7+ j hC-sQ9+= ,`^0*h%1j$Uj5 O{VJY +B;5*DjIu6]Uul.rV VgrCԸ a 5*V=ouWQ= <Ӕՙdž,XgwӰ|Қy`7,Ge6׮(+ 6Ohl𚥝XoBg9$ٓVd"S*K53 JP[6qrV0 VA (VPU,)`(XU$ 0 VC壨LV,*,(PU ZqK,X+* j Aa  T[U3,X@~ `P[} +(+ 0`(+0Am" ,Xͬ 0,`P[a:B``p@K0jP``"/' n VB``P[,jZV VڊB``-,j 0 V 0` 7/B` Q`BZm! `@ ``@ P`````@ ,Xm X0 `0 X0 ``0, `0 ` X0 ``0 , `0` X0 `0 , ``0` `0 `0 X0 ``0 S, `0` X0 `0 , ``0` `0 `0 X0 ``0, `0 ` X0 ``0 , `0` `0 `0 X0 ``0, `0 ` X0 ``0 , `0` X0 `ōa`` R&/ z0N%,bb0E`M6t}%kLd7[zLNB`0, 9Y$H`5'eު_`XX˄J4D݆B A`a``@`YD `2ZQ" B ~A`a``͉',͡M)!!(vW,%\ B B B Vy`H7DU)ԭwk-!!!]&[("Bb_ߛ<빅"Gq[f} ];H+ `,qlo}V?;Z,S¡>V Nm~ + RA^$qے2-{BUnqqW2yWȂC m ˿eM\L ,11)rџr%,NbbX]"Z&$9Xbb`N,B`a`ve-B`AA9}'b)qYR!!i  {ƻ,ꍅ,XB + V[}``;$t4ƵE>=!k&P!!Vx *3Jk:꫽L,X<U¨NU5{5 ˄bɄz? /B`aTQd)9ˑI2zI汨&X5E{\a5+Zp N1MsI+V" Kʩ=ɉ")˪y5NT$^S.َ@<}v>[B=<f.Ⱥ%w'yX`ad!VV= Otϱ ڡƹ ^GY3S~n+Z^uqyW$W9*Aom9qfn^R*̪F  ˄UKYO'+eZv45Ĺ 2_X?+~ֿjwǻCgt g[P#U#Fe^3? KB-TOҔ4-owռ +j.Bx:uQd⼧"er(k>EhF dHu !ʿ1dPt+ƾX"N Dq݋ł€eBKh+lYTEy VvÜ8=z.J[ eݕɂB c@U{A`LbwDGN`md.Z6i A/vB B̗ KXX4E;Fž4D)Tda m1 vf+=cԹ5ǎ屧[yN iY,jdzEO \&,V ǝ^G<-snhkDK`JY6qcc_G烙?y^^]\YuVy VEC1LQWR`-j]U2ŕ)}]TZ2VE+s&^4Zۨ/ Y,O;ʶtݷkiQG|GrRqD-""--"ZD\q,GD%JJ⊒[\mZk:z9Zk9\kεyJ_nv5-mzF{ަoUSb/WЉܧEf|㡙^DЋ?{)s,[.V X]ZbcW\1ZdVXz#,h+\{7:u2m\_X~{+Q40N|NH](h_kC ssL0zngL穊׆XzO< XUbkG-y .չ}}.k*q:XtP"`Y+ؠJ 4\.֢8X>p^vk5nVR"`SI63 `d2oeA&IDAT`.:@?q#{1!0}-)PB5;'N\wcCž$תo`U?D7UwvZ>=&E7.T>pߢC+xQ6}_FN/;럾Sody3/K61s p U&Xp!kR",YV+ Yޫr5W;FIp8Eh].e•^.p`L跾0Eklܳ (}~#~R9Wz/R A+h\P{֢,:UG;{vVdK5+#}f]|ܞWMmIfxYtWzփ/}~~$&ֿ HUdݩdw[l z&6 VzMX+[ipQ&4!kڃn,}XуUeB:WF\5;Xsuf,2!]i栾X+LA-* }/XSrO{'5\, XcXstZ_5+]udYYpcԧ],=^,]&\SUY7 tOǏa牵:.K UYmGb lMx*[Еx4DQp5bkWQV%Wb;gF@9X[N[Q:-wbLYgNUXk8Q[^ЭQӶT]"ڗYVUŒ &K_: "0Xْ@Sߣcl`\]>fpF. b. u*32!+p2)`ٚNݫUKV\LfrfLVMp+=LxaYFy0hҰ`Z&,Ep5], X*X .) SUux^–^^{Ekr(H^\2fMP zLK.J-|%rjvNMS1WQQ `!`9X{Fweա Yܽ":c3Gy;Xյqu];hP&)1Iy]⾰KXX*TR:X',PwN^HК_,jx/%hH"j{dIB^zK{Lp0H޼W`.Zrz"oBV2a/Xpڄ\+a{%BePHX >8`EYXAepW`56E% is23+XO$sىvi]0ptI9\uG,&P/ XCyUd?MHo Wd)aNoSufl?FwJ:N`{ =\,SaXgr 2Z~b$AB6jV6~/Dփ՚eB+K7fڲ̨3dd5"U#`bECop,JR&,lC?`MHbVX}X%8՛' G թC]*S2,{YثuR,KdFgb؆myU+c՗5.G쐛# kz]Ipc#Y`퐓"8pu:@P%HGf$>ڿBkFuOu*1*>_ʽ/z̝r^& L;X lMv$eLkrp-">1jit7-s-'Xq)ɽ$u`˄{v;K 2a^ ʄXZP,N^2Òʄx +}yϖ5ʄ:KlXTod5X$t=jFz ݭp|ۿzodӃh*``X!J,W>EXaYL=9 t0SsNY\v4d=XfEdE4 |"5nFaPEK֡flWtdً5MkxtY<] BDa֋%:JyW¢LJb՛ ԉBbJ|p8[ cd u/ֹz*{.v-!l?Wحx$`>Vrb'`^6Ȋ hpZt8X\--] W{uj: G "q4X=8P/WҹCkJ?',>S.3p"s55]"UsX;Ce2jKU1tÎBGWUz;&ܐS=AwT1, joƥsEՎŢ!5{<.$!5o kًE%hкE.ֵX7[q WK姬^GL^XNe|!OKe?V&`%,r2jZՃe}X[j'm|˄Eh;EȣLR&}Xd]%=]Õ X,2$5LC\ n+趞K8->^9YF;X2HOB-diXiY銭˘>'Q F||Ξ<1f54,}!ܒPF%-\Q;SOW}й{,ꈀ$LԃEXab 3^6]Kwsľt\,ƥuՉk > Ag\,KQ"vxք1ٕ>i鿊;A+ YQ V||B2KQa&dS6,`]{,VVe"~K%`k["ZܯXd`M(zheX f~N2ߨ#NXӬL7>z[<Ґ#OΫH0xtC& Y4*GbQ$}a?x,kIbiBN.`x\Ţѭ^np9ZTd%źP.ֵDjȺM32ց-rgq; V3lr`5aqLXf{,5W1kZ0gFk!l +{U6(˃/ܫzX{4zLظ^U.5+JdҀEXS445 kkX2jW כu/֜ NVE%кٽ3 XUuK w5^ JгrV|,IGȾ}%x"EBYQjtnhǁGbߛfGbFkWn$@{q?֍>ܓ+&= '1A\$|BVك6vz0,&$IqÞylpwpXjv4\X<^w܉YQQ@V; כ D!b- ֛ݟ+ Vstp+&Ԁ5NukN9Yk}1}Yeb[Kip].’!K֡*7n9JA,CYXtF?}9zX u;@r`</`x8;\ź.k+Yr=t,^vP(znh0OFO}XbFCF9XW \Q UOj,.5`+tN#zjШ: Ȇ956't~,Stt蘂pkVE;6NY\EՋ#xl؇G焙WXOv?'fbX )AC, ,=2iB:IIpOyX+SRXŢ^ *ʽ N>խlvXhOSDx)pGQ@$bاXYCO{ `%\YThQW4ahضy- KC6Z[C~! }n9Wrݵ6th<0KXd{}41kY(.֜gdE[U1ݫb_!}XZcs c=io;"r&y@' fVF%d\^o>5k^|pCMhtet+0+KWXLv'(PuN9Yi°LH ՞Iky}i*|\{ X-Bˈ<,`JMI[֨d%jnr{KQ>b<]rblMw2a\,hQ#;.:+ ݒ5iaMKzgmv.lАh$/dE W/ W_ȆEFƾ>=x(˄_Q/%fCV7X@Y~pP~-Z׵dw=\,*R^ YźU%E`]=-~Srx,^K fwlAQcrݣ}\$wwL^Ԡe =VYXAُujrr:ZP&,W[(#^2T _v *bj\ @/ ˄Kl~ti5 ov_֮ " N`/ <9X!`QJ}N?E6Yu֍"X!lZ{/D6Jl}XQ9Icꀵo"j`9X;:7 Ε- +6"o8Ih}`͟Vʄekv[ׂ2a87Ȇl$wQއ&o!- '!kQ~feU`*}O i6j{t&V2\, X}>- V\R@5RrfؼyXiѕ\BS]KՇu;`ݩӄRW];Yu/K!\ݫG*fY',[;+58Mh:YSm{6٨ ¨ GЕU5G}˨۠zָ5‘U<biMwދE? Y0v! /r>Kk?)qF'LxiD6Ȇ3]a3|Y‡2!J,Vb`y zMrw`˃M`K>cr^,[DCS/+ڃFǭ`u]g%πGYɃGn7'MkR&AG-LX:}V5,ЫjtOv_V }]5\:d5&o9a9E @hu/d-˱9ԇ@ f+`=BG)|c?E7<> E%ŸĺxR,d]IOjsUG3k' XҥnCV/ `uNj+*Y6t!܉CJr|jtjlxoNpir# jL+.,륊k%z; ZHvX:'I°j)k ^TCBJv֜O$OR{82+mD' L,C' ߎ$g$hQrViB*`!a]}F&ԽXZl[Ѩҩeg$X(lLX& 2bݹ4ruОk19*+J \V\PAeeB~bՇeUQ~XIwX([y@?W K܋JŚCWiEUQեBJvȷە y2CNNn :PsiIpL9Z\4>BG}QE' 5`7FP=%,ZZ> 2i'hX76:\{~Tg4Jv/|B\](V"=z\sFW&wa^E5ؚYs{Qy,eb?=dwٽ~bpW6O<Kaӄrs==,."t.VOQSu/IB:A'&wĢFs`KȒљZnr(^"rgY̽׽Xp+RZR(Xi`$:ENr;X2cw"˄=y/ZrƛFMA]]e-' 6Zo8`MHdw}ZP' )]L+٭(Q( ޒ0\, M \m^X`m=O,,Oxϴ ԚiO[U Y>ٓؠkuЌlԋu)S9:xT7_ W{^2! +ɽb)U<`-5aE"ejD+ 딹X$!AVٿ,wÓ Q.*Eh/7 \_ik.ֆ:m k[6(l3#{t&VUWcu.NvWZ<)}Q N$dQ{` ßy ًu!zp%+jx2?O3{L{֋],枱{m %Bl&J B2Dh+[GhWT&[V`* ^(ju}/FGUD(ݦRٰ0pK^dw `{2k\>zT;WjD.dd(sbE}ZKkql+{W4H)u8Mx&pÚofw=VPY,0hd]>r-crw`>c]e, ;^fpYE?l̫ZdÞӄ`5$oupOբӄkjǢQ;. ~EX2a7{PPeBXݷGTLwZ\kp^zOD8~@w|8UB+0j؋ udY& !kٰǂG}Z'<ԎriB:EHQ 4pCUuxE6(@ka(Edlx?,~;5cwFt9Z32}v(4ͺ4Y+^zT_fwJXLʋ"ʹo 2CG,XX8F4\/d /ɸc']Zզ&LH-j6Lp82/!zcj>MHuX{xpF@TT_s{x!&ٽleBV+ u> Sf,թ2a.:x<?V#X:ٝge{Y 0z!],@!]XNO}H _H7+_/ײǚQ")XӼs;tnVʄܹ= a79Zu3 ?65_-˕ߗ^8XX|V04+->Ҥta>aZ.AT.14U:+URUihkϓUfwh@Źd{ab%4G;z\7>}͒QQo2:XQ'҂n9E}|QZ\M]{?.+ |I?؞9Ye*z.>sNciilsMIV鼼r>V_ʄX)Q`Ł'_4A{e"XVܒ$v\v{:ǔڮS%o? lE}&0Ԩ^4aHe¨ 7q׫zVʕ|=jv/|B|V+-T+Ͳ^ߤS/V\VURYI(v#=qN鷋|֊{jdorO|SYV{+WN3SŅ\Y7i> m])~Mo[V%vc-l'2ǚNF}݋^&,)$i,nV;$ׄ4QٳEhXqM~ (6JldfA8k@">bDqv`>vf8ǜwjOMGHtي[*|¨KIw=}eсȆr}NeV}XpNU ,+`E9[ielU2aglQZJ~tym'(ĸd"'D(VzF,S r|¬~[bMܯ$@X*O ;a!V{ҞXys|VMQ''}NUtLZL_Q0f `aa VYu78| JyuTI1Ѣ7̓>R>ø43^2! +CJh (gSeBXwHO$;D4p`ugA+i Zq| ?3qEl}Ҹk`e?֗E(OBt"".m>aޛXXXL^OZ `c\ݱdi F@!JgX'yſ ??`zhZ]/W~˄QE+j1n!MJ:U=-c8İP&̳Jx*0M*)Xzauٽh Q"Šyb `X$_Ma!VPAJcYIߧ1<%LXxj Eiide]&lbXerP"`aVYqGG,V^ʄځ"`aZ.T`̈?D_r_M+@ +/EOI*y>, \R6@ fVWV{gI`F9h:S@Ly/|zZv*X(wbYE(4\{8(2oV,(ٲ=ݽki*uXu< j]Iv-Ӱ6g֧1XQ3z4'0q6{H7bӍVq(砕7gjE9[Ь+|¼4JVIDW<Öŵ9WNM: bE. Vg*C( `EPKvysJ-@,f XXugӓtJJ򟾶Ӈęm^O#ŁW@ kL LjܟJ#4e? +ϿWQ']*!b \%}>9*!ޅ$nRT0TΖL~3UdwTJs {VnV~\qV/IJV<2! X1LI+يKs<@ fX< c5ݼ@JR.X2% WpbQ z^b\8VYBҳw _7| 6hT<0$"-YF a/RuXPOAz 6h% EIZ6?)j4^PAk-֭fw5*M¦pJ ˓CG TtkesO}TIVN"AU2! Ȧ7tfRtD/4_Lo0šJ/XCU$qގW% Pڵ*Z}g+i<kXPiзaR`v4<\Ł)O2ኯ݆XzN3 t1εli c2CJJ}m8P5p&,pUfjlEWs :P|bE/R#F:6 Wܱ ^?@kW\ yu|O&/`Akcz2lͥ>:iuWZ(V<+ӵ0kCnֶY;CKVW=g8h* ƅUQ0=PU:T45O:|ܪY V沁\mp\JUi+tFcUJVlޤZqʲڂAN@jRVE9WfUT쯊UiXȪCzL4x9@[M:Jot\-XPaa+OR*cM9ϸňF Xj|ʁw4T+=:i6'.c+%:[>M u: +Uq=VQUõ:+6VZj*[&`|;'a˷|$p ;p)#|.ݸ7#p.j_j\jTjɵ X6*#H@ki'A * lE-ްק"<]oӺX9ʀ&Fj.9`ʄjnӕ*2T@i5يK (deyRp$]SfjLZRAJ߿c-~[Ø Zy-[|Bq3%)قX&l ḻk\׷F٬:z|U1=Vr˱Ҡ+fias2ʛS3觊 GMj'5,wX-A-W+e6Y!>VmY"ʁ.ZN Ł;V;tlW|K;jy[SQyZ-F? \ `ARg%*߷Ls#YcИaXުG܂ Y& UY9P?*~wQ.8[N(i.B;rVI-la# jslqq ' +/ekjL>ӝ:dPe:WQxa@+ HK6y/XԖZmbͻt#k|0/;q7n[R{V?R~,1`_~#^~;T@T-zc{͛N݉rf U?἗}*o-y}9b^`uFZ}\+ݸz,Vx鐃7SEP[v] Nli:|!2D v8{XP!`crBќv*ioWZ+^\M\ŇrZ:ț9T{U:4sT աT ”mq2a+߻TIy][ i՟-Xq9V;*ʱ3&uTh:dN+W-cš[ñ2YpeWcq#Lz}y m҉IMq<-[%*z^q<ȯF )NJn)Z*z`šB-:͝?.y/UIXg j˵qXeBkUu>0*3nACYzo( ]vY :WעZ=@ ؂XP)-jwt7ݍ~q'mNٴ^UDO.1N U6_iYXE!ud3M)(u 1/niSu`ih20k\8A+ U&`բXiY#X _o:P5^ =U* V/4%pZtF9W`UU#8v*PÔv̓&TJuzVsRh뷺4ܫKXWƢI^vҋs AgW䋠mKoUT՞q:lVY06!T8Okc)0)^ԋ7ם,wX]pz +!!/g= # 5 Q 덩Q,^ӎUݩ7))@O)P5[6˄^)u] XA,ꐳ+gib7A!\F)ȪeA^@w@苆-*\UV(B,*K}J??veeF-/{u7ңx~Wlו- y`AP$(|1 wSٹK[N^4X]NsX&ws8!*lvA*o]Fзxi-\9ʁ@eU\ս:7uj +Aprd%q>C<2y>&y=h+}+}_/J leg؊s\ϓG˔W6_es#\<[e] D (5g˧wJI-"Nj{. v"0HPEkΰXA,zjKqceQ'J豂X^pJ:jg6)\ƚR  JEҳ5A٨S@`AKЫ=[I p=Xe Xu\سPE̲V\+`AT?ze[?cH^ A[iC@ʮN%C (M2"R  f/sZJW e=!nXX *˸ l1X0+S(B B)Xe(8[~A,(8[ˆ[ A]\DVr!yXPM4\-VlA, (eXA J0XAP u`AA)J  XAA,  AA  `AA   AA  AA  XAA,  AA  `AA   AA  AA  XAA,  AA  `AA   AA  AA  XAA,  AA  `AA   AA  AA  XAA,  AA  `AAA,  AA  AA  XAA,  AA  `AAA,  AA  `AA  XAA,  AA  `AAA,  AA  `AA  XAA  AA  `AAA,  AAPmP\IENDB`src/site/resources/ref-output/png/TestAll.png0000644000175000017500000046031211331616417022016 0ustar giovannigiovanniPNG  IHDRXXaJIDATx}xTױ?s/~gyKOi{7ӌ)0`zӛIHHB.H&D H{3sueWڕv!|ݽ93gf93]`SfAB _Wn_swon [nn Oկ?No^Gx)gn݀݁=>}!CaÀQѣc Iiy Ĝ9Eeʕ@L ~= @r2df@APT;vw{@}=p$p G.`7b0 {Yh/]I. ='ۀ?'0N pn0 gͧ# $I ,Lbf0 Rfg/Mx1Y!dV[e1ɬˆ,[f,Y6lf,e3C2k̘1a+Ylŋx#עS} ﺖBucYʵ09Z{Y4ôDC0}EG5]j 9裏%;,V`A )%zd=a[]9 MrYnAwIϝ;g+~k(~_5\Zv7ڴi#r=c䘯N_Yx#0g?>#1}5$_/+!G^?wUhY6O>ŨtL|NHuxgtz)ya(++E #mt:Czذaku~H]bE:DELkChZomnǛEe^|$ދ 69J#jYͬKu%{ɬ\K [\VtcnX^c kv阱]dnm.OPFKJ`IwrULV1)׉En,+sanbtRǀ-ˬ<2+wh5jsTv,o|%:0<,&iIP?х]A߭(w"a?1e`C,FAVB103_2M0 2>[\xe'aH""^W0( b:fkP"h_:I(퐶eee,б" QstL59loexmS"#o"1b6Rlz3#iC0:Cl R}١Žr+*T,S`ZxtCd(BU8'n^BܿJkU</w#Xmޣ:)\Zux {KÿJ?$VP*~ "ĨEAFOk35aD=°TÓ/6>R6lڲ :^uQtUG[q%8q"Rhhp#=|䄩ֺV-q:ǽkwP)̃ATkZGVM#Rn?b~Pmj|-+1R#至(I~!q,TɩVq%u!GKn~lT6rӖK[gU,piul B 3iqpzt$L\ٸ{//7B~WG<%fQ!3+ƍ5et,6t[dkXFYy'ZU3)ձ RGk4x3Y ;6b3r80leYma5!1; tZ釜FLK3){+($a,ֹі:Z;xef ~)?wyu,('dҔ<Sr\bLϫw$Dei;BiS(g*(>Ǝ3 v.0d3*p"s!.џDmF*oNqgnBa;H_~ ƹLۏ'z5g݈B[m"L ]<JYyWpP0P|Hd,,H&ْuPgHmk k$HW*:J9!l 峈Yc52dXEvچ*K5R0 ,!<>ofĐL'kMTDгJ \aݖ:ڢ¨wß]G˛)'XaCȄĤ\W3ijutp1.,pRQd"#Ëd >4l\3&i1\3߈a񹊜Y!GP32+!x,! \>eʇ'9_ NEy|n I/.v"ҌJg@`CBq׶,2%N!7vFd !%e(Mқ8\ʤ0\Z |@UGsOs:37y]SQ[.8K=|]Gvf`qtgNOoNM2#=/ўqrlSMGJ0cyDf`qhGf`q4h%Idh X8ԕʓ,Hh ,i|S:,%V `!K~/, ,|L(JXbC3, ,7)d`T*SN%pea,})xϠ{ eOT`jMUh ,l`d ,l`d&l`d&X]P~;@mfn.6 Ga}܈#rUw[r}y~N< XIo|!=Ȕ)S:.fLrbF 1UnԪ8!紁')ԝ"%}р"2-XT0_9LR[k':m[jo-N+`xAΝ IT\Z1t+X}`^x=kkkɢS;{ZSR[\sMvhVAYYY-uuu8reޢj gܵk-v>e`LZo.{I_ޯn:zZX]v ( 4ٓD:|oZ'JIIToBDuO#hӗ, I_1_ݗ;MaVKCqp !/^lO X?όQN`qq:>8'HA ̑Yq1y]bEio:#X!HpKV/~o~mZ)B-?w~5}_E$uHx\^Jw9" ,|AeGl?o&կ~Dzu/Sٖ 6MVϖv *)ZIwr]xN7bt)kw~ywiܒOhvΚ`PʜˠT3K^cv1̙j\S2]pU;UT*XS*{ݒL%g!+SlXQn`i#9ي 92;gYWՔg'c2;v '*$'`h,9S r`BS:r[(y8>Mt]L%+%Gk}]ȹ8|e~?/^K$M;3q3!yXQ̡cQSsVT8) F"Ro}4dH.ίN8+ EbMߧ;ЗIAxHmUT~ `Nu]\Fw]8m^9/]u/Z';υG.O<3815W p4qy1,M Xr%0P! T oizL1=uJTї>HR$@P;L[ltC,fv|Kl*Oj`&Sa%h*v]XQc)xmxz[l .2m\ crX҇ Ki0Xbpp> A˛璬0m՜H*uR%K@FT9:)XJfDmmGw$I/*U ,N8#* 1L]TWyKfԙgGLE+&h%K Nփ=VmJ $zz5op5\xdב,=.HṲv*iX_X씬b5 j //OTDه $:t9Y!'J06S<:'꾩Q K"29$K\xnoT%i3 _׈W7pHHb=ٔXzkoh*nTפS!H, P28cj {08c*r\Ȭ$7 ꜅4%dj! 8}}>3INweY,q/2,I'΃Uc-' !V 2ӑ~%.3uRH I!Iٖ6"理@4 Yj׽uc'uL9a dzPe`a Cxsb{,IXfy9Ǎ 9ndsfI)THZ)F; (N۷oȖ*5))uv`~M ͨRHOA5󆗝PE)c<ʲu}*8-(ˬM0b" Bd}OV1"ف)s!+$UXCǚ$܎]g jGi#vDT-6>W{%1l;) v^Φ{q߇-Q_tX ^|_o&kkk61G)qfv2( PqoL\,`q;p*\]bڶ} gRQp w'tr-( t^̻2|37vCTjR)vcl%"` lhʾF*X:vH!^ow{7%Xx{n+aSϔҥ򎺃f>gVvtPE\]2j{2 24`j"4;|T[-.k<@ xoWa6xI3jK$j_r[I`zQ1`Rqq3ڝn,jԍn,*7ZHwތՙF-%v^?XK-7V;XoLel[ڱmm* ar^O~^eƭHeZ\Fم]yS;#yk1++wXScCNƚJ`Ifn3w"'VP$I4V/XLT]r]zmYY kqF;Sr\UPqbN ;*yYEż"C BCB0;pF!c2q@7: Z摅I3$g:MA9uStMknk)Ugܨ~ҕrOɩr+Ⱥ0=,'&+k.q.G.r^d U>`f1)basLR] M?NL'6ޥEd<Yeg$[dYhN^韐fNQt,س͒7-.nK5Lv4w5o{'5y$Myu**OjPF:Z[ K76ٍc\ݾM2z6JhG8ZPnw%W-AOR j^*a$P^O3hb'J,PXPiS%񹊜n(N)oۀнgPYTFV.VgqHb%Vz@$[f/)[UB&,$<,,Gc?>:?SXG}b1,tE:dA"i-^:YE"o^!e py,hvbd!kxQTpᝠ:x/(]Oސ]!:RWSa 2>楊W 'V+SF;y٩a4Q|[#R[dZm!, HVj䖙!C}}K@NOjnpW=m|`5v\-ɁPe)ܢ|X ; {XKErJB}`5v=jSW ,j>z>ڱv`V;ƁN,=ie&X6*V/_"pu_sk_̜v O f{8׏~p2,? ӟ?_%_-?ӟ +'p=<> <@׮SO<<Э K//1B^W^ck|fPׁÁ#Q7z ;>~<0q";ԩ 15 3;?x]`BN7 ,] ,[QU``:``Ff7qq@|X/$_-9s˚-Bf` f`$8N GP.B& G G G{S`pw*Ä罀CO PKX8x?p^}e F /`YeI%{EbyB. p X,X$KOZK,|/XbY+`1‰Q"X],XXby%,X{VCO5K, X,pAXX+`Y #,|. *|)B?$ӹu,_X:'ڣ3{%0 ,$ h~i$Z/d XyރB_W[_#٣/Em$+~x`7effhvr`!$m3/ X_$J`62޽ޏum2e4NӧO{`Ox/ht;StyS:pEНX-r 7ۡsRXX\ T1b***dsӃ?DP%`ECj<;Tu8gV$zk׿cS9N&:uTTc!E`tp"XM3duɛ}`yVt8){@:ةu@|s ,@FL#3\¸l'&i"&2<:x%~4mHtt=݉iy*f8T HO=3}}_#nYr nF:?:i+0;`:%`QSiO7G.4SUOt%9MP0joeFJ 6Afdi.'gjsL}QٖHێ3 h|hM;c M++RCx4Cc-r2Ƭ4дS|],XoeS4үh / z 跡a8JEtԈ63E`$9Uԉa42qS(e<5"ڎF,kK)HRoS Σ\7u!\XXa>Yf3 4LΝa:+ L&:D!OXRY/>~ݢaC`^I@WSH2蓤W"ID$ ꒩H.Y{ "wkHI"znml%^Xºr.鄧y46@xG4q|57Y)פd" HDgW Lx1@Ikx Ou i:TXPPXd62ϴf'YzN#+mmKaI%nr;yxM>ZEӇZd YB#}:d}dZ:7@#H:45DsU>HM4zz^_Ѐn:mntux("_5\RqjFVqdUnisDS$fowby9vhO;~ |_7SZq;d:Wx[ ,*nizYKI:s :5,)] 8w8pr'\#k\xdm#1tm[)`:Yo+XP$ $SVk ᷲ~ˤLm]`R%(+S#ȍ)ynh)RŲcgi> 0s@a $v˻V ʭs#㐛:= e m.C:eYSS |:buo% pu;΅7"uʳ!l0#1 ^C+RqxXI/ib*b_gmw"Β((:f` jG{O ͟?F;&#1<ɲ4S8AY'!݄;d YjI9g&K*nzm1HIDj=)UkcK=Àr5U:zbuU$x)ց'"%`VpT+\IHg=Pج[}VӨ酺Xs~v%tP$i8vCv&`:cq!GdsǜR'f;1ہ7&6_"uHM{&;F79ruI-֫[=ѯxcP"I*I:v:xg"L<2ֳxkrI{5l?F4 ]벣F1F})z_JU;+Udf*c4}I_hZ@R(V3 x:t3 XYrM,\1?6î^a4i)4_] juD?Eɶh~*$S=:FШg=%y?ROi܃g7x`eLd٩R^ktv1\ e"L񪳄bWh$i9 [L0gk^!R\`UD|E=0zhyϞXO)F0'!0*U6h@:+Ԭ  &C6=G=nFOɼ2?RRI# OSEN,)qKG[%vDT g/J;঎Ш(*Rz\C F=s9=^@iMTdxv+c kx #HhnۮbYyZ[b 9'y ]rқ N>'Q|A??OXŌ m 2:#(rܗ'7nd89C@T}ũ;m{hKbN?{#" f`i>BL3yK1F_[ ^#.K*KKv!x~Nsqwmw"0CvsX4uԨkڴi~ߵkWBwaw\Cy@_`ͦ}뗖z =?//e ,X>Pe'܎hZUVb*%K^}8ߩ0ڐi#ly~M{~C*Sϗ[?ke և&NBsEXQQ`eP'dQ'0Hx7@a7XH=\1rbK#k*%o V縚/7£Zk-6UAUB޾.jIjcM}S疒K {.%4u' `r4="l<9܎{[:%:]OnВ*=n[ԏی=PMqNΒDP#&vyYF Xg}Bu6;3y"`z7Pqw˷1AwV( yYNޕYvェʏ.q3˝g>g;dih[lgI)=x5b@nZste$U'e0%) ,,vIN [r1$xįŁ: Ҏ^;1%%.KSl.!Թ.\؇į|O۔8Tqcʓj 툔ĺ\,t'J 8#iFn`vgsMŧgX-.3J䘟k 8HBMsr%{H?f%( IJBw%3dԒG\AkuJ ~!Sa8zvS蔽l:dΝ1F|EN)sJx/yJ0{˹1oq!2(O{r4=V~y{yגXdR&,S8ijiCʎlA8hmVf\xSdٵin\u|:FR5rT{q:fu\3;K,LаLc*O(i.NbcsIR,?޾>؁:#X!#xAdH:G*»(-`W|ϧy΁Ҍ;Men8mMܒyu*# E|!v~YF4a;HCքLH9:j$2T?p'J\ÅOu4-! \3@\g6ANFV_QEy$)O59پF^[vH9 &+i I{ݧ9EbE6S.!*fdfsp(sC:3wQ9 b%y #ybxCZ|I<>FSpXC%Α}tM^ ߫2Z|9@NC M<]nP0 {_(Sa*Yn+X`%:S7>C8Mr Ʌucd6JX>'8uXr,.Ē$Ⰾgeȱ8[ˁ {xfN]NNWV3 `KL{krm|;CTꔩ9f;sp30f*hg 0 Ms{d㳃oSd3;%?mR5 jS .%u#~iTKVhG4~urc XY|;k L qM4M,VY$ |WO8W!nf*6fg#My5CVyޢERıt_"w*s†].vt_("ǿ #ՖNYmv (uΰ|;"AAA+&(a5vD:e#;j$ukW{P-I)BE^VCmGSZ3Ѧ`qjϰJ;.'nFC%3ߎD>剝a5v æegX 6,;j)`VÛaզ&`V#aa̰B;aafXegXxV; +jacdXt3^ Sy3^ Xv˛afM6d ,lɦp ,>dƻ9ۿp5f#f0xU`@0h0x00d0tY^6lȑQfy 794.[1رf7̰ ;I)c3̘̜ ̞̚ ̙csɶ̟,XY.$skx1.%Y/VVVVbb̲f v-n~=aY6nbcM8Ǒb͒l$&DfV 9,))@j*mi@zY22L2I|rr\dR۷@QY(+RQA&TVrkgd d:d:0GGǎfOS:&sp, G|?\`p8p̢(n@9rvX-l7]4zRXШ*HeguHs+/X8G쒐 J`ISDE`=1zc$MC.Ĩn,=A긃ԁ#>  Tm hjX4,MjҩFj)tzJK`A{K`ABZa8'BqXpI'qIu'qAwP87+F./R_,m* R," !B'O:?ic.4~LS^ єM8VFć42>h|@u"IxF4_,pTs4"-D`,4҈~F{ h䟙%pT3ڜ&q$N9ER$H'I2$ u Z'F7d'H vMe,Ӎ멂z X4,%I{$QGI %i| I#=E`_j*/6 ,ԑ#_!b!%=iZ9ji:/ X8x4,[`u a ,h԰X`Yb %4,K`vՒbXaYSòVK԰,VK5,_eiXb W`+, W`bXa*X F`ve ,ְX]X԰,VKҰ|kX- ,֮ ,>aY&-:Ұ,KòLBOχaLJe ,_)7òL–|X4 =5P|XiҰltvX-:dMNwl&[`dM&lM6d-l&[`dM6&lX6d-l&leM6d ,lX6dM&lM6d ,l&[`dM6&lVur뭷bcH۷oG/sdMX`(yGŸky@}}m~w\m}@-]*7VxXЁt뮻"Vk$0} A Uum 蹂ְ XR{md&nZW0;wC ` "hMSP>[`EX`/a"^Fz\.&AV+>P0m$XgKsk]~ G9chk)2 iz衰nw4 / ^ۤD^FU`|X|zgdPͶVB1B2k|_}w0ԩSw׿Fnćկ_?<#uϑ#GIkr9B_ u,'G=DԲ SP*P1#׉Dk{Z `9 B(=m-9[2q%nR%dm! իWumAҸZn`S4GB~iIڦٛ6M4i,m7niƻll`}MBHBh$}n'6h;|sH#gfܹsyswS}kIk`'Ol0d4gϦ5F[dĉS1c\0_2O(d#JYdV*/$+PWޢ6 r݇eRG{/}/ pY>P;6mZ|}޽;!8>DD?XZdօڷ9? &555M\sM#kѿѣwo|M+hܮKYƒ%KR)| (́XIIIqb"m<n#\Pr2-YI*}7lp!op}Dmm]_ɓu?TV8-%5X뷿%D6׿vNgV,F̹KrK7x` 0_Wo~v`6,2ЭyOr3i}cߗ}_GDw{[?)}Y/UӧOSNmxO7? ԩSk5R,|wJNv\zsjU9X/XnTz2&=>k֬&\^|9ʚm۶i,KҗjDB6p"hI1m/n?o/_4>Zֈ50au>J55|(ոR%$RsS)S8/K:`}Mz_rsTs 2zh] Lir*M| 58lR',رc7ʉ%?2%K-9fZxw'Ko14\(hKcۗВX={X.3#FmjR', `^J9sf{ lR',nݚ2`;ϝ;7PϷW_m[[ԙnm~WyQQBjrGW^y(K,`ua-cԨQ_~e}%xYd+I5;` Oc·cK:`:RvbСC/ؑov;KwXND% XR㺘Ćlv!R|G.rğo~xu 2ɱ/Ƣ% XX̔l*td(X`iRA\5m./YJ,\Jа+3hK|WWWlMBɂV,0{GƶkKX[oY)>eQS>rE5(S9k{,YNT#;eSxg?m%K} Xl?*vڅa˒i?5l?b&K`%JKK Xd)5bSD@jXmG ?lK,?߿Y@JbZdRQKb+b%K,uЪt|+gɒ,KN[Z X#Uƫ[x2W/ OR?+ Z`K"X+#n`~NҺmb6 jBiC2G , ¬TF{1؇hGغ c>·9><7+=Rm ZA9V`.ȒsBn90Ԅ&0y<,~҆2w3j")9Wc0/}`?^]7{ם:YcO\ʒkVyW1&y[#"|)~?f{y׆DX!J =" Iڎ &;}" ~s+kC_ a&0#KVD0Ay8ׯLQG̶G׆pNPxAOtnc|eS_jyͳCr}Z-*7xf}Hyt<4n0/^) /󪆑.ۖ0mq0Owz/cR/<>08' #*$YԪ]m!' {4=YzVyNū&?fϒZĤ2~ϖň0,ϫBc=mL-|O ()a\GAkִ-!L,ZWUU[ֶRQY_a @#3@x<, ((d шiڈ)h dwgj5WN@@M+c&eV_l1Sdh=_nfgU@jʍ* tQHڕW=7 C> u~5,)G0#+8ьeb.9à  a`NsBJxVo\hq}(?܋70Q@I Ǫd {PXKMZ&ާ67=9[_x[v`ʏ' o`%K .sƝWP8!3837+3DzjZa ^mn/W1YcB¦X1XA%*?jy*` Fy!e u>, xV"fnQVV am.f >&ѢDۺq18sݟ:d-¿=QVʰdm>,)D+oF3x-0^\(Kļ({MM4߉Y64{ױ",cDS8,:R2jZkrrDrEP^H! ZWӃY^T&0_CsP@QDMӬrn_KLB/Ub.>_(@Mtrg& eVx1Kqyi<=۴m)oRbU'pDhA-0s[sdzDe52OCY} b ͇^A^xfY)"hdT1s](A՘F f8ӰzHDmNє# (r;+^baw/r=Wk^b *^QVzqj9ȱ :XE[:/;)h;t}ΤiLJCX*WlbOe1,j`ex+Gs)6-&)oR#ZҺ.sSho';A:0RtR8Zŕ0jvreDg GɃ?D@ 7Rl>J^GYTRF6@jD 0jzQaC@Ԋ: K@io}2}WHG]2@iYܸ'!ܜ-KܚL^G@9%ڣ"OsfѪ(/rVѧV:␱;K5@'rC4;r[K%-ub_]A OaqWPxI-g56劰i^*fBY7u&HxS|dX&Uz(Ra _x0eď&3Pb(G&/W.M$1+O;p9(Jth3d +*M/T~^ TJ^e;tZWUaєn_@ fGZUo^"`%Syz;SU4 uj<[jR[F{u02Ub_Re uphr XϢdqFpͽwD-KUaOu{z&u"ѠAn4/U)P<^, :c]̢hƠUX߫cħ /m튦[7J[Ur2AtH:-)`U ꤣ²xNXTqPxЏCd}4YP`\ɬ.rU/m i RAa%4A\? T.7'a9ߚˎ(hQ!XWKD3oy>nO5*~]diF"8ԡV7p߄>IJg1ȏQ>-EbNdxhS|F  `Q"PoZ=VʼnUD@ QGG(D;D1?O}?c$miڒ i5.K XoL[Q-;8ĦacF):B++5cN-#W1ʋ)bL2QeBqF0u 58 2Bc}%9Pƀ;}OSoEoEAѸ"bEE?˽+L4qDZkbutUMj(# + (PMk|iKDyJeX'揾j[LJ?TŪgQ׋  `x\h0딿k#u#)IezJX&2~Qp0ɻ viri[5E J f".|Se`OM;52ú33~?jE2! Ԁz׋ "L}عV4ҩ~Ҁ[4%at[jn_ʣDoEG:O{ Wx2ϰT(Gr.CY5P?ͻCS02MSZ ^:}9WJfj"(gLL[Z]4fU|4 T~j!# VTx8ϧ<о-̓n ?DEqG߷-sXʷ/7+~=V?sd d}FÀPp粀:`wn\c*U4Z&hYbg M&@KA`3ss4`3 VtkppDrTT ZP{Gw /iP-iAtO7qU=y4& &+ ~5U'L1A}ZP,LW~}_σ~,D+CFr)~+;#|y6@L&ެ*SJW*,o,qeHr2^W^ye?QF?<_eX\g&9PeP@/tbD?BzoXK#7Ƙt2gw8;ϢE0՜z\;Ǐ_q\3ӧ5˯|ܠO7,pTHJ*0&:T @ 1Kr6 | #wJ÷1 ltZnB'Z<>9tcY& \9Ԧj̕ `58qQ[c 2]Fuuu'1Ru;b벀Ec{XA|<E)eDXEx*<:Kȸa}x  #͋E>zg2_3~>,~6Ãx1^Ίy>Apݓ"# Cx$EY M? :32E Xѕ0,3MFċCw&!P yHB/JaP+qM4 YN2sb&k2Uƣ+Q '>@Wp8|a1sϕ2E sXz֞b(8@A.`X:cmE@35I6?q_=2 K< 2s?gy32ӏgrs<:_Șp=Wt`Iu~(ke jЄU!(A}QI1F-FŌd|}W93`9 ^sua--4q^X՚<XSa4\r}W.;:5YYJrW@_җ{maђ.cz:?`U Vakr059{*iL̥g_)1²Œ#&vO1\- }aszϜq͌tfVWZE}iެN1ɶn *6Gú}ZF( :$ =4S`}Y۩ъ\5{T Daa /cވF1ȣIČbe]UޜնX3.wt˿.)~3i6^g,0&H^VsZL!gtun2v+"HVʤ $ P75(ʃFLM|y epO(Z%a!& N2@<L +Fm&SIs !AŲl?cغs^hY! DWhސ M쀚49y1%~-jF:c*v6mLXeF͊l-5ƣѾ}wmFHOOɓ3+?s{{ϽV^w ɳv?թ<*3M#f̺e1ta+͊]ІDPr|8 ;-xÕW7UՒ,iˆƕhDcњN vv `q%}hfEQɝce=A,A,RȼD`I,1Ꝡ`R&<* 7hpbZCh~M`X}eY[X!2`@ O-x 1jG5Gfehq GW ZV27ãx裙8*k[$ G(?'r"*Fd `^aכeyNbΎ7g"FN騣8sq=Ww!IDAT?2:u˹4Uh]]~8[ 5gUU!S}q1V-qxta,9ɕbV,LvbtϮ j_DD‡E"Ԁ=ƃ;x|#oႏGG_s3gδiDSRT"$Џ*`yu\biXrcZ&BQz8ͭ}̾T(>V@m5\^db9 `5M.߳xajzWA@7Z 4 hg1IOE؝V\'Q2(;i6Yl:9"P12!@6V]+.:ГDhn: (q bcFӛ-•xtT;wy]} w+O\pBACə4X,s"s\GM%2cn$xFo'G_ Ps{2֗9Z !&2$+{ldv~4?uQrk=#2=Y`60\J!}6/y0iOVn;MB @Al1{Z+~,SZɎG{֖pV,&d`Sd0ԫW8TW q~u8re Wo O*̍"nj$ڇ^TKA.0Qżmb54T;[yy=6:7跊XHkuk~o;w!MDu,S/ N=$L X1@Sv}Yߩ|,1QIOpϡK \L`{Y*o>:X4{Ht*ш7hu~ 5.Xd}pFw$lHIN V ݸ:R%7#*~,o_| - U^;._"tNa쑻\ht}FT'nZfD3W0k#V_`ωwǣyJUTD*k\qs#Ni԰iq\Oh kD33wYb:QVm 3N Ѱ^7*N੆ŅCdކŘB;\`}k.W/^ңG/ ul!I,̥n~ǎ?|ÊVw%;FӴ IXUy:؛5,˰ÜJhb^b9cZCL2_Ӈ;X&[zT[oM-tJfy7+څ_ׯ/0ιׯQt@hp:-8>sMgtddXs=1oo;&wy}9X/c/p)cq d-%@|J[ӸxzA+vvԶ5c7!̑qkDxrY ;a,IҘǕLWR/Oa.ce"SAӔa߈hw] 3FJ՝9nrp'бҦ6+ad{\Y̶7EͫBF'e-g" 4=_Q{*ёl=.RY4A)/Uuh܆p(,KⰍ#^@h&v*K3eBI!3F mUO8 ^<,opdW})ƀ`qJYxX&^zD2lԨV?b\qN~ZqR0- i+) HA&2X),ڠj:;@E^&Ϯ` *(%ک%\gw;9`X>F3%vR̭,mzDW 7㦘*S+fv N|ٟu*AF@@k0L|^a L cXf>_wH0[\c.VWHse]=Yrk~u4ب -" Γ_Ag1ElHI@bgtFMX̓%;M;MNl@1l??8 xd-/O߳ I*),unC? r'Qb.ʝ>Gr4 Ug~@_#Ey+*3[&8Zy:&n=YFYrMNI kBWJtIs k\xZfgvs*N}Vvl`W0Դ"d S;;1]BC-`AAc7pVg- <$?Ԉ/g;s$ |vg1#L-D񁈘lP:Wh2RbH7Lia&T n^4w+j.~#41]m2vլа%L+ \"ё'՗5P} SqwMS0L $dKr]* jP8j.YDM"%2?72JؒKly%>: <:~9 xn})QGgD۲*6qKR4֮Su~^$y~iIbPrA3}t&Od0gc0Ήs ӡ%SlN?V9&쀂cScIqvgt d l>Mj_-vh+ 821m<~AlM@XeQO,-󪆑.ۖ0Y5OA/kU\EKCZ z 6O]m!' {4=YzV)fVWypDgkuvFjXg9.:K B`w슨Pp~\j*ddf@"{:;7Q+L` BxnScgS$&^QXᵎEXX},?0ۣ3<+OF@aDfC!߻Jr>AVlz_F}WkWkp^H4s^Q+5QM&A`w-60} ل1,GW E{Ui/y|T$1ORP *8[fx檘 kb-"!&,i˜R֕ʌq\BH~3F~KNFH~08S/`W4M-qт`R;4ZC R<5~զqW_vf;(`=mΉpdSF-Ѻ6De 5,?alŶdV1;0xt%'>gR8r<& ]9r/B/ jg9[! 9C9QS([(ЋEfUmMLB!٢ OP+JbWLzj g Ν;Ss:XkHih.UclN'pDhA-0s[PfgìlZ"XkL+JdT ͇^כ$ͬdz2?SfiXL>&=}N\.aA\>w> `\kDmNє# (r;+^baw/r=Wk^b *^QVzqj9ȱ :EE[:/;)Ȕ:5g#WUr"]yMeYX =z\e^bۑrؚiiGunu 5cYpp+a49mY% 6d* WS)gd6%#a,O)ֿm|D 0jzQaC@Ԋ: K@io}2}WHG]2@iYܸ'!ܜ-KܚL^G@9%ڣ"O3 ??Ͱb'cSb9d7UÒ\<`[q:B=KXtAk`+(),sftrgb1c^l&E439gQ~yCy؇_`@D|uzq8kD{Վh=beq>+}ghL=W(pT{"@)Z^ܾ̇xpSZ=~Ї9aq$uS?^ܒC%rtt_W6I",B)E5X0l#!ͩ1ScxI*aR;2]MpÒ8D 1i4!x괥3wϕ4yNJ% "F:AyЍ?~%:l]ψi647TՇii^y,+B*ʨ'RwWq{R-"/nZ$دtRo=Tmiw/`@FHt? ŐRGShlXY`ϣoAg:)j& 5#UÒv,m"u(<:N*SFXZHjm?,1QMX;]/Ib>Ca (yϴFSйj7P̉kC*L!n MkY40^uNўhQCeIjP7,)@nO6ѤnY$X* EAg,+Ybb=AUVmM3@թ6è<]c<,Yj>26e7var&?mG4YP`\ɬʹziKH干 s/ Ht/H8\pYQ? )քp_vDArXj4%y~;ߏw}QM%ݝN3O_k&AL :Y`xq1/altaa65^;uU5Tj4RaUhS vkWKpaT bW 6 Mёr\Y?)sj)ՏiU^LgR搉.349S@GGBbb t ]c՝I7 "7Bh\1"碟&8"E5\: FF\12)r/m(O +dVywZaI!`8ޜʳX, z@P[=XWKv9Rw:bԞ2uǷ> e69EQ/`HwH :XemiJ2 ͢E<]jFdugf=2kzˬ}YeB\Ã{E2sY!]SQ]+,iVKԄ-ܾ+ڕG}/`ret2/c+9 `JjNUyn.!Wb|?uvռcD*aRtr8Flp񱰏^6(e%ESaVG@E1跡:C֞ |*ͣ^+ΡON٧i4  w. v7\%=R_Jeݟi(vd ? $P637lFNuͼ `M\bXWP@'|KvvklT)0S)dp(>~]\ɜ~6dmrVI E'u\>ppDrTT ZP{Gw /iP-iAtO7qU=y4& &+j~5U'L1A}ZP,LW~}_σ~,D+C~q)~+;#|yX;kOvV!65RZ7 X2Y kXAWK|*&gz sf^FE3lZ?gqGYt[F=~3Sk9~1;kff  ]A~DG[ya< fIU^aat_i9f@^R=AXu0n,KDkcQmj\VcZ5*aRa>Ak ٌ!5~mXCad:Kȸa}x  #͋E>zg2_3~>,~6Ãx1^Ίy>Apݓ"# Cx$EY yMqG rr'2E Xѕ0,3MFċCw&!P yHB/JaP3!K3։>X6?bhjZyRW;cCWKaNk2qVgdb7}4Sx0uZ׉DHL`/LJbhfElg{bݹ,[pͧc;ALxUnŴǛ~C]e<,YjZ-&Dn ;&nsDܣDf#cVr$Amxէ¨<Fax#=oτ[clљv@[f׍GQrĔi /ֈbo>6~WrNM6K;Y؏}W{w581=B0-Ce8Zxײzܵ,Q,F@QѤ1Ŏ֗b@&p J̯T0ƔaE2, `[`ɒ% X,Yd˒%K,Yd%K,] |?ٟpUW'?s/ԧOm g? |s?_?koۿEw |W|׾f_ 7?6 ˿w~= Gl'?߁?~3?\s _/ik_ _/-][7n2|- vpwN஻G={7p=@kOo_x= dx`ᇁG}x1C?<СSO6 xi`p``H`(ãGc<<,0vqx OLLL LSiӀ_^yxUӧ3f3gfgs;7?XXX@Zd t)nx2`r` `J`* #pf&yYY5@v6c87X֭Å@QP\ ׯ6l6nʀr`&@e%e PUTWnmojk # cx^`>`~׀ :>?ѣcNNNï[oo w{ɀ?ӟ ٳs@}=z k|u 4 9,Xe, X,`Y꤀Xl oM S;$`ᄜԉ pDn-`ufBD~_Fa/%BXq^pc,+‹ XxX8h `,0pL~ V8&Tr3iX8Bwgaهe8,;p(ߪ7+`QÊ,Wr ֥, QcҀ\uy4,'le#&i`ტf*` -k&w7,=`-_M 7,z`ᤨu'SJÊ,*`m,`-LDEV'D& X4 5  XIH``kVIHrMT&a2嚄5 5 k+$l K XIH[,.`LhXIa&aKE0\0 $l 3 -`u@a]HjNJӰX X|XJӰX-iXX4,r}XV"V"0úP՚b͙ևՉ4D&a,`u7g³SRhX>,i^n>+5aXLB!hҰ4 9ݓѰZ0 V&òNNК="`5g.`JHJdV* XɄ5tOJH5 W ]]%T\]%7 \:߰Wjn0n k\ ]%LtO&,w0n.4dZr_X9jNJ&!$쬁iX8kQ X6FHw X,`Ye, X` ;,Y,Yd%K,`Ydɒ,K,Yeɒ% X,Yd˒%K,`Yd%K,Ydɒ% X,Yeɒ%K,Yd%K,`Ydɒ,K,Yeɒ% X,Yd˒%K,`Yd%K,Ydɒ% X,Yeɒ%K,Yd%K,`Ydɒ,K,Ydɒ% X,Yd˒%K,Yd%K,Ydɒ,K,YڀUVV1cXNy,Yt }s߾}QQQ~1c3%K.OÇx饗pWtj-cr__`˖-{}b$u1cZ:Ns;NkoZ)1}N^XjG׿IoМ9s:=`_,UZw` H'd&TVO}S|F7SVsZMKNۓdT@)5j\[ږ}J}KoZ:זkƍ}[߲N$r\o47%K+`͝;S޼%K`;2rh\sNu#m] u+t#tUT[dWSdB{!WŁXET,`СC/ 6#;KXC[5!m+(Ϲ"dm̶VVC>Tph-V*%ͪ%JF#g^馛 /ȹ[gvހE[ӽǺwg\ք f _yk_Zqރ̭`Ş0 FPu"}oet8B޾rY0tVlB[;h7XͩFy&1";}-c!]o l=Bɡ8}Y{CVZ,]*`={ܜݻxZS<Z~ ~L c?Pr8CTa:Fɑ֊-߯Hu/w]&ExJߠ;w ZKY75Ї|>{FPy<7ƕ'V 6m39М|VZ H)@E+-`5 `yQm,Rs.eXub?&ZËAl< bl c?fWZV;{\*eVR)ꀠlXu9a |r z!ú{]3`Z#yE>Xvi.}gMNV r-[[4IPZsWhkV2#Zi 竮 k֬I\=n' X/>A&1:yۃHB0 Dv;b Ω}rxmw_Lngע. `^"JX*YJKKKH~aʀl ba`+jRh"WO/ft2%]9sfJEۿ[ Xv)/-QsZ'O&X߷eRGFV|Ph"d&,K:!`%r)Vi\o7{iӦ5>f+6X4$M{Yd#X-i, X4 2|;%CMQyDK7% Xd%e[,Ē Xtb\sMѣkYrcZ& X,u"J(-`'8E͊ϧ?ixfj~,͙Lby,uu [,` 5+Pcǎ5#G}ĦW4 Fn\Jş+pq 7XVkD@LX3E m^SL䧋"A A\ XW["V4_ҋgϞ`MzڗK#ƺcF 77찲D_%`UL.]~}5 \Sw~Ku.`UUoڹ!S<7cbP* P ` AFջἪ{q9 ;>MXUa-#6ԏ , >M)TDn @XVx>]Kkq955uZ7]Rw|z+^ 'tG"sxj@VLXccI^$ȁfD"K޳gtr5,#7ZdI\bizfByV81:կ~2UM~N g8Aw Du@Hd4hϩ#3Ϗ,J?VVx { Y'Z2ŋ,/D V~7*`]6.`ZtknuQSskx.H!HP9k,57Hwk5zXapB`= Hdh fjZŪ5P~Ob 8z VP+ƣDEVEYxe;H7`/{AU"yƍ#Z"u]HJŽێKE>/Ђ&;4}^XpHpBbPJ9ۀ3 Hd磢iV{]r;bYYD+##<;1Zư-X5? P 9{]r; MMMv 7lpM/P` dVQXPcX/?ɳ*`Es]r;F `}!p#&>jkkp K\҂]#=8qt0+n;1 /(3ĹhJK1FpZ:+3|eŊT^^. /^jC D?tAÈrm X>z \pk02P۬Qw!,7uX.pAݱ厢1Uư^~ \ݝƹcֵ,h7p4'Oq4ʢ9s [N=w#K b*iY]˞ 94.w#! x4:SW[Hw5}1gU%:+H@*Q֠//D"`aWrU٬Y(\|;1*+Mn+u5~S"3#ᝁ๡*I& Xlٲ~AЊKwZ9AH++ pEkOO\tp0asGS 9Թ':`EcYYc(WO w;*`!h EV{.sXą܎?.cǎkz܉6"1 X|9}g7~򓟸ꎫX{#<?+K?"7ᵉ'1Xx=3XhIIId,w w',w# nu>>'nݺ՝C4`tUWk4촺,w\ @֒,KFʺ a],wc(Ax,<_ujժkYTTN Xp~aL)Ӈm]Bpx r 5 ǺB~M7$p X|h (YWB}n\Qwwȸ/Xvې]ʦ={Q;Έx…AYW@u;\rU3ӗx㍡׮UFwʊk]|͡^pdDӇduuuxƍs XHl+p me!5c cdzVƠ%&-T4ިsi D;(;@9`Qf_wu)Ӧmoi{+ю6C)0a!9&â-&m2iEA 4K}r^,0E&X4ï<M5i^ur^+*?-f6)OSa \:TpԦ\==Ѣ &YY7뼴'ɦ۴aw%oK2[,]>:~ :dp(+hgv {=W1rY1ZMD+ʲUyhy{tduhACDYݬ( 9觬#VVQ?#ӡm|:UhVrThEhRKr TWK=4ʤ[j0<\ٔiPAu.tdVm\ZBVY"0Ѳі^¿u~&%tLJ;``$rZ˦ԎhbRT75-XmQk~_[Pƭ3˟_)Y"XuX;CYX,# φ,a cnfu4+VWJp kBφuRfѴ Th>l 5ՔsR Ŀg'[*ljIJYZТj- CnCzi>-8[@kS{@,Zm+#$@ˌbe.Cw\1`aliEQXXIXWEJoe(nG|EO,tVtVt3m[V땆SlYѵL7V꓋L "Tkv-ol_V|E0XdY֙TYն9ܟW͠U Z,ֺfK9X)Ru%LgJ_ (`!mk-[0M1˵1b?}R6(GWGpW)LRK1RYI:.D +VN[>Z৅Œ W844rCXOiK \BXZX_-%y.ԼX b 5hSI[T4lElK4C3=bML-b/ViewC+=1ݠyXpVr;Hmlu QVR~#pdƟG, ;;,)]^Q]peʷcu}/2VY03*4*@`#KK"WHyOSYKY2BYGv}MMk|-4cRt^.υq~n %ؼ^vU |e-Pu}8@(Q k 7mgнKxxye|n+#uv1p[ 6;z?=vŭ0UA;MAʦЖFPmmn4X9H5OܭY$l.RK@cBn/=Gs<4]{=4C/xbS,Mc7*`8^PŵMRΨP>|?"ѤBglcŜG}+҂r/-s_ɟ>*-N[RGV؍9b#SN&):Cm>omiR{c\;OE't,w\9`j E =pIa2C"A}aE2le?\X:Y |@Pyeî-1}3dgObG\3X<$ +  E>X% :MemZf2paAC kΡL;'I&Esznok9ׄ|^_(0Ģ^y]؅>-Wk Je2zY<Zm? i>4h:!'|D~6;[*6DPQJO#R[[|r@@@@`P_R bonS-^~';hMZlQP/ Bp{fAJmQWKfb!`>`f~w>&fWx_jBjh#XR@jH&}X p&VPVa7c5+VտOGx-䫰U_o `a7z~ 2BCդ"g `<ǚ^pN,G?6YVGX Zʪ^Ǘo=`wo'vnw n,XႨxR WaY"xm[++,,Q E`mY-;gk[,Ս~+^\gξ%ۥdJ_ +wq|"הB-vaA"33p#ۨ'x,,grMTgSZ"?%Y*嬶$0@l볳Kipsh/[Bs(bk$/}*({ĮWcB裏BYaDZAd[=BA"ek_ȎP q+- v9X`pAf]V9B! K}~Mskz? WآC(`aʁQ \2Z^,Wrϛog Iİ+%کd^-RVǬrv3+E5PK_\A X` Ob>no@|DPACr cXB)tDżLAָ\be#6RKAż*/B-V&@˪!^.U /dA:4_Y%1,ĎGX` Lx {M Of W@ ezϮ}T `z&ǟ :WN!QR Rh͜%Uͭ4*[~/n]&eu; AL*׎j||F8!+{pL賟>ғ>XƬpǐK+Gr@Aܖf#-^ Wq(([o PPOKyeczM=ґܸ*A rTRIXp..QA@@|[ z l$-p#U'>{vʻ${_|L͏b]Po}i;2 »c1^a>:X!6llWMZAۂ_8͖RR o6X p-J/D%Rb".zU2]Hc1`Ѥ\嫸QPڙb{§bpy"ǢG z$Ӡ2Xvt09=^_c04#xk&²#)զE^>ZKWx@+xYه Jd{蓜)82j]RV4~oݿ YYh1(BlRP. MQp7z`֮* 5f5ZۤvP$X͑gR CVj*k9UW "0]ZXlɰ+w5&IHE( (XR{*+Ԅ'6t./2GwtOM& fx[_o:&1`GxVVU }~Cds! YⲴ8Yy 6#EB@"%eK!+5* wv3W~D$c͑ ͬ QB[ AvXS\WȞpߞd7L= Kke5=e҃ HLHwHw$[tgMe/R +dxļpj=`4C/@nr*|<~TgeaAxw XpOPoHIDIN`Ir*h1P9^'ʍmUp珁h{BaPs #VSK2JB\Iǖaz$rcmAs-1B "# |\|/y~ 7l[3ݼGإ{x%qvWlu!fu/l=~Ӣ'bmiK ]*3P@ %xYf5`hPR^4`apKW3{.(ϬZ}e>ŮwoǭJmr XHEQ$ݶ; "Jn#@9V{ ^d %F(5ZUa#(Q|<ӻo>nV74h59ۆLBh &$ iWE~ Vs)ݒv&,?=eP"n+#Ǩӎ8!t=+ 43V!H[ݷ,֝;飻Rb{n{]Ɏ֯v3`9€ˠ:hz$ z> >D=De'l8PIOc^ ="]/"rрk + »#*`'*=U>@EG $ vwۡZTĒ( X .W[~ϫ(_ VCX0ᢂjOH n׻D1a 5[Oΰn ì1}|to%rW.!} D49<]a`>(/-Fu@8N(=KH\B5z^%M.2k^{TO:"6?W~5T"χG\YYn<Q* /W=nC$[)6nV5-~!'nTT-%9C0QUB;(sYdx޻KHUԇ_eY)4 X S   X^ `1X`]pBK-\;6՝( |yw}t wN_˿'=3wϤ9sĔYf׿A~wA_Vv(J Vճ/ZQ5PnW`J)>c7 PrrP!\kz B[2BXX!s_z}'ەwW[PɦaҖxXغ"`z9pSTgYn!F+WPy)jK pVsj|g)㉌98sٟu,9(Iq?X$-U%P!GJFQK)HTKHP(ႀ#凋,0*\-+v aaIZ\itC#;GrOmjzǢs&%|~b`կ~5Ax;AQBFWE!TD8eg-%vvhmz$VB|R9Zu@[!+w)Xa'laI5h%P,,*Y%||RkWѵwlj>gEm$է-ZW -~h 5LI8s!D]ǰX>*:@{,+1#p).Oi8kѾss7 SyO'}<@)l^M 0hM]%aZAPA^ WmĬ~lc#FÅdgrZ*hr) ZVp7ڴQťĊbkJo>V,).nQ]p+$[g +Jݪ jeoaפA%M]0i{*.'9*CQmdztW p+P^wЭ[>ۻ`,wHEeW`YS/c.]z|R! t'7*1ܹO >,*B3gU+]Z-XZ؝ku E/-E׫+ :V8?Nu]G{.ӦM}?[-ܷ[w"4eg]P #i;`A} O< uLUB$MVwG𙺢Azd hJ5Fdflip%[~+8V2,ˢn-*?+|>+wqBctTx2Ӭ$g[RsΡjq?YmvP*V0Qzj`R?or<+0GyOp~6KXH G)7ԇek>dURu4MfMS"h' f;oBj)/'Z *DUQ X%h.*+^R +1DZc믿zڼy19 |Gs9yBmf|IdBjOTs` ú%5Od܂{IAq9:U'\)CXOX?1+G/xK+B`Eɤh{CZtV(M ,((ImC r[^^vuP aB vp>v! :ZT ~-D!|U"xz-MD8jTcv#2`sH,mle%4VcӧO_ǏrE H9YJ=HC6*&TrԑǠ⣆TE*XIJuA.u-BHiy*+@K`I?Jb+>wM> >gVG#+;V%b=i ,tTDP VR^ Hg<+ mP.AcwG<=Oe%,4v=KnwhaYo6i&ZO@%@ÎHfP--I1+1H 9;222FF P@ HŨ,,wY P(F +HQrh %);jRqN8XsO7QJC[^щ| উswR;CV?f ӿn\Smc/+EqEnOčCy~ w(Uy}L[Bk(7\/[LtV)v uͫgO(hfIsBaX,U:n"E(Ar /T +1ٳ]FV G+}L \֡XGHC^*:®1U;o@]JjW],uT ^Vr`~pE+c^/ҭI>V_HA"^V:/}w>Q(\&  i(4vu^+5[J-% WSݚ{s-HF^zdY`6l;*}*'Wy/Ha )ce>GG!/yu0"v5XVs՟߀26]KU Q=һicR1J["v6û؝m:0Ȗgsz1vH~14Y)rA,vA v?X6R kWܓl۷ qDzT`Vԫ DV3 KȐ?(t)sTo!.#R;~*,uP<&es&(`Ȩ0C+=R2F 8M~ X.`?Ss|RնlAk$Jsg7z+:r@)e%G,$m7Jb#X!<@CAެWP9܍B`6YwiZU""Wv/A`b%bS&eCߜrĜT:VG %ҚEP1h{B49OufW,Tī7Z-\p,+Z|1nܸG?Jߠ~ۨ,ҁ;SYHAu\?sPtoUa X`1'sE$]BK܆/?"Pm3 qy]>$Y9+uR"ͭJ$&ϯ f6K֙RJ55Ԕr&)*ؒ)+O-B,sBDpұ +-ce>FqS+wNNΘ߅8jk[A) ╻'PVZъ ʀU۴(vA3A+,P-@| K镮hӏ7~]^ #5y]JT ʈfUͯ쥅zƐ/Ky` KCaG}+_byؖT0L.R10( уG ĂSZz@)ܲiÒ|/ྱ͡2q|!o~oa]ڕ:lQa6=IQvCzl>dPAHaCױ'ˮѱ+mtN |b hBa&+D\g+ptW)d-s]dP@A P<b`_h^UŇ쯗zB酽4th~#{ؔ}k!21`S) +P!N3] XgWj : M+1Ɵ韆_n]G {}ڵgsxj6;G`e Al!+B9XTxTu"FX9gu\rMcwwa+h'+f~"%MP. D};؊8ntY4T5aOZ՗9J}Z%hS$AaY~ Ax$u<, z*4VY!ټ`^]RF":PR28'I-m0 v !RaRd;(fDYؤ,-ھ]12i_u`HF賟쐓q  : * KHAÞ`@a ,w$ƒ /<Q9o$yp,jX(!Ӡ:CJfaC X1`-%U=uS/u~ ر[t @iU\]KuntX f/HRKUppq2U AP_% }-0Ŕ~ce>F@A@[knoҁό֠c ϜX! RtZҊ&[qŸ.;ITq$ UPeuDR)jHԃ®W!VsLvO,LzTX$A ba&U3>z(AKy1Qʀ Kd 3"iI#>iӅce>FXn]Hi^4@… t 7\B|וfr(TP Md(r$_!M-m`.udE,{^|Vu9悪B[|6ZI% ʠՖv FE_n`^-I' UPT&C TI)F`v A+XX`*h0`Ayc *=3MzO|$BzѸn@Vit7~Mg/w y\C>Qv *4"=4Dl%|rI5g,Y,Az5*f9+My~׻/|Z6V3 򾷃JRVG">Go.KIv&,"U;bHL=]`J/j\!ĀE*:(Ǒ3xF(R{4]@b/˯L/#!UJ *T mejQ 4nEnP΍lQmilSj0P+N:uPVᜭk%Vųq FzMhDXD9 Ph 6?IY ރr\h~CC9W{yG,(G|COB '|-XTgk %$3NwDв  [7VEÅ ^ٶ? N+,@XJvd\բAV); }a{OJh=ؓġFx>56 Wc>y|ߔkrM7 ܢŀ*I %VM467Z9\Q XR@?+WrSA$ͼLA=[=+3 P$ khw3hQ Vc0z*X0Q2fܞ^)7-.ƀ:!Y*b `vR}")(Jp&h9j7+6kh[BJ)M(z^bO=P#zuPrBs>]Aj=u9e i>u>| TLJ,X]hV1:MdTH  Yc]|a롕"\A4 %a޾ߑ*`GoF^`/C&G.JYVMJW@nҺm)֗ήΣ3,Gles3IDAT XZH9/(j~;@M%|q!Ge%,Xi9R  ~p FiGVc*o PΤjnu j??(2@Z~/ .q9:ІvGxX(:J˼J0 +Nѳۇ}hB`8I-5?\%O+Y}Y)Th 3&lnPwP#qV`.:8#qGk9׾-N-+ Pـe>qL2E~a6VZӇ X6xը,9TĪ Ass r3E A,'@yGHrL=x[Sf U! dQݶ EJ!\(˽AH>!HK=a&K\1^gjKЭ`;\,Xq5 5 ÈUI5CD")  XT?^9 Qoڌkݙ%b@.,-ַ5cߏ:҂s5±f Xr aXuo;CլU\\젻T"8j|}؀PscJ/X(6bO ׶gla9gC>6|>e5]`]x1a+ |%/. Q\V XWbZW)d7ZjR8 >,#~W+]*[V{8WL<.?AT@.5 4ý'R4 : `l_I|6 C?%c52c| =P,1_\KSe0~Lz&*ÿC$4t}kC>njvߝh%?ݿp;FS+Ul+x9_\p- c2(^G9^K($ecVe|: &X:cKCϘ˖cN-GĴz{{t\mm+--CVhe}FvQ+:k$.cשݏ}g=q, 3%ywvvO^G]M?{~G_^}Б{cQq 5!mAG X;2 =Fh>$VWx1D/Qƹs熭xc&Kc*6QrW ڒUϏnH;G͸熖^{$#tX\̚3 kؠ#8#<3oU]* pj|G}C:nҤIc2ppa7aMS#GM(ϰ dqscP-?Џ X+Wץ=D{  Pb[X[Ϣ: KŀrX p[X|Bļ[WWz ҉%\'G{u6^az}Sy:Cב/^G]ѿ5\IiV@JN XC?<`?q@9*N];s558< Ǭ5b2H81-7۠q縸Jii<=!&(!xU:9aH vWǎĠUֲ*apmՕ\'E9vA׷Rg@QۣBP 8q߷7N.ޣ+/`>vyO7tǭs=|8z8$.* ;}6>`a>=kA9~9UCH!/EXz>0z7uej^{ ] rJ!0:aSJeł`)&*`-\%Ÿ1z>`^Ξ=;踌iTb51P1JW n V:n.zr؂ 6vw@b1C==l4P43v9,ӎKijEOоs #c uWמHx_QI$9m\??~h F O@^Xts@qv".HA6d`CMmhnD0/?zlrR̠ wxo *{Js!cZD j|(~@DÖ[&]z#ǁDih5v]5WU&Ě}+m%NuϷ0Pmh!ZDz9@XV`к}> O bIc%K3NήدUTǺ.p uQC}(31|\Ve m~ PÀ K*M=Ipz>vrkSyeE: $#N X76;kH*jpheE+jMz>7xiS67^&8ҐaW 糫#먕5`Au䩊׵.;n9\VTFK-j:cP[Ɗ5G-hGl> ;y ū|`թmXh;~z> \JPR`H JSVMB$q6:OoK +2 rVJ.4a)G-Ѧ$ \3X A.C48vk[6464hS*Y \xK% ,(i & n$VT[Ife֜)4'u F? ?$ymKj Ap\QF`!P?t3o;|CMkvX9 Z9 @RC-iEW..[XnWpCZC9R:ϑg:6xBݔAe؅]2$uX lЀz>xM:S- `u^`ё^ESPΔ`̇ X ._y(ƎvK:lnC?FCmYa%_ơaA+ķ6I+*@R {,]ۧ@9EmQa )%n!؜#]x XT4K+.Z~~ڕ hU7Y|̍z  c|/Lit-֫Zb,h+ )ҢDՎUjڰ^B]F߃y%۰wPe!yʆcEE]ՠC7x@E:1«Dʏ{$h^yҐ8$S,>\J jBweU8`[\MobaC)2>~̙A2ݣ\Cs7_{ZpI9$el/?^ŕۡ1tYVв}i~ImiM%0U %uNCYS7Y)eQ G䲡 3EK :e`՜T D hiK aDqAu`YbbXyna8p5.d~C-P|$J.m\h1ڢA_\D)?}?ZˢjRQS+J^7\ִ9\"kx5_InOex?V+|o>>hD`i:ϕ\L[3{v)_J?VZݻwvmn ) kz+L"SzKZb` [PWa(]B(x"z/?Vh:Z}*UqJ\? Wq\ʅC-/p38S :Y:w\ly E`y b_څPCxV?l_V6-T鞜C$DK~í5FaKЛo> yE]Tg=RA~"҈Ѡ\Uq#`!5~ŵP=v q H,(o? ۦ-U=P}=k.DT8ViG6wE8t#B ԅ_#ԢZ20܊c(VXFE|/dXXLAd+B• Qb!"4p)"aA Ԣ^[<^ c`8(WNƝ(zOY 0CG3ZRz<>֜ XC0GXJIig W;2XnM1T}!{iQC<_AݥءHDmC@+;e n_b_ .^|HI6~vf{r>-cwdizBvKE '<ԤSHM]5[vZ}pUTx\} 4_D8Y'P)s F֑>T}jN '+T4A%yͯ0h3,3氒̭i> Dn؈CI#xtn=gPGGtD'o~ޢw,y_ISh>HP ȭ#,Ps՟s,,(j*X!Kj G  զx! V`;hmk . lJbn6Ԓ1 ؙTv‚ni^Yf̮r8"P7؝_1-5X6񹴪ZOf怊 j;o ):_w֧8Q1#*kE-C69̧LŸ" 1,]} '`H|Gu^~HM4í~P[Ľ[Pe^q- xFֿH0,Idل|8!}DI!7ĕ&wSE\JzM3*LYь/*tE. +wE/H{E񑲲%ܻ뀪aAU.o`E~WY^,,[,`4 R⨜[*;!TpEEʟQy ~x?@DVK Hq9ʺߏk05+{ \$pސ](? 7حAi%0 %UwoI&? 6@0CA>dzALzLg%n^vS,dB<ʆ{ZHEH/ wXMp--{a(wU5`@]* V:HW'"Au'a󨥅AO6~s|. ^:l`XX Xce>ihqc[2pXWΓI~zMJ ɵ:9h[@1`o;TY> ZKӊ}baW4i̞=[k_ڐ1wϙ3'+ F Ab\Ȯje &\-TL"ډ]ƷnJR` '(C6+A. R >K=Z +GOBVˊ'Jrq\^Q`T)U &(;bYd ,1"kqhvjuǖ)(z$B ~'&jNk/[c[QEa!s126Ok8ԁk֕P%$W!>땖 iACdžtI](Hr7I$|ETb ]V8~ŨhneͮYVs^Ы%&\W|!^zWwl.7ז(zY={EH-Ibmf(v, -JWm]c'BmsX7ݪV>[hUqBy%',@P26t%o}[C>+PP+:|b%V Vrawd(LNӶT߿$~pEAMXX+ص+2hJ aW̠"O' r#b)PSG;UcBb ęP O43-`k*;JU 5ߌv-A4h#⣪Qm)JՃr/*-T飱28{CwYGXᜇ:pmպ9Nς u p9.Pȡ P`=cvv(˔xX=ۃ *2/^ٝzhrM/!y/2eV)얰 kߺ͡ɢ]/uy={ĢL~Ԧ9"2v|$yh%z+j(f< J:R3K8VGAWPtDI7,SҪI jmaJ@"Vn>.vI|_pAI@g2>O:u`>ƍw 15HtW0PSGچꚲo <]!Î 2 kN ρg փ A^K0KpyW{/&4!WKz؍2iq<8WB[\ThmܭqMP)vUgb7Vv"tvHHiv 32B =|$BJzaiҍ7/6o5IxBLXpqS+zѥ$:e'iZꌕú@9nFrGB }$w YRoJd[G*@1"w@W z>ۧbX)eM0d;o6M\4E:vvq_òYZ宅*CnCzdM}xՕ6$$!!uC KHM͆,ɦ@ %4C1S{ll{eU%K%K&6B}Ssof4f43$yg)_sϑ8‚1X!ip`Lk+5`i:ޣ/Y7Tjk\ր3α+ KE`pzsq8]GaG81+# cK0A`!zXq+K4X h ;OsK~!.͍-s[0JzlX02È*IwbZxRJ Ѡ&a0j* >, ($8ph-kӊ>3nT*q Z @5pCB;I ֜qa#  b{Xp|n7ĂmqRÈ SX3Ƭ3 z'ܳ'DfSJM~1Xx5b[(ZY?8ጇAM^^Ak]&d "L]X:`%yF!])%FKs5!Kd'`0XZپ њpg͇gI H_א¹&SC:Xaau! ,)Azh<ܻ< Pc d._ ,0 iXR卵4%JedQ0+]Ha(80s{`EKHjhкZU喬/ص ^%<ձ8AJSebLēEpD7"VfpM"=dn/<K=^k,\܏ֆs=I9?hҤI4f!{,ӓ шюsnm QDQ4ez8=frdXxںv"AX7q@xfoJL~{Wfi87~ s#ڵHJ-1=VR:nnzgXm"U?ØaLo@F*JXHnˍ6z p$zkQn= <*4N4ځk4-POѰT[L0OF.Y4-5\g܏T6vwjk9987`qo4y5uqf8m)eM8fdCY 8QiuMԿH=[b04A.npaҳc 6:&6)wo)x/t\7&}i+5#:C 8D1[`ɴCٍtzs4,]|dى48Ѧ!zd-2ZNn_R'K%ɑ~)\{~rcp8aY4.+jzxQd r81]4,{sc! 2/=F z$q5BD#˂S+P,т6h!\2"c!ɦ жr?Z;9u| c>Sk,g h,11("KMvo2iUj8,Y{&奪M QX>QŽͿ]ȍ`r)*Z :CɒYB"]M D(w`/~mcu琩c@GwL4X`GgD)n<î Uf/"ATl  ^4p)z>@ FiV42C ; l8rpE ITi\gcSb{O+JТL-eH(,33'Y])1cZ;:O1T-8 %hG[b… [±E+- gW4 _" gb?J$*I"ò+ sOͽJ+)!WK,*{LUAΟ*I#q|&XOLucңdkx܀F)^<u~$$ K%wU9W<$30SJCfUSu~9_bI&B6R Wr? wyҥK[±Dp3]ƑNJ[qޛM3M4i $^POBx9*6Y-U> C9W4 眬 FC!* I#/0ZOz)UQX_ C [LG~۽/kQTFÒ#^A&Jtgb Xʂ|\EDm?)C v"V*6X@yor?*x㍓4t=%Cnh`߱Ypmg`Lfd.3IpJS*- 'o `h1A[uy{2O2H&KG-'Qsڠ(kY2c Fqvebp҃=r]葥uԅAђB!B!`w)$D^3_z⥐ r,lެkg}1cF}M ']:ӹALF369 `/8(ZB,IM_NUX!>*.Uiz^Dv0I\6$ ?7$/[!6 |dx8%=K/=K}t[0[a^`=ʎHh~)}kiS aD~Bk=N_˲뮋?Jz6xq "6#>i1=!@o3Ukf$ͱAH;bA3\/1P+PM =0CΫ N,7! bPVDIa<&td#aO}K=~\rIꇐY.Fd/~h=nqԣG߿=|Xb@#̢`-kҞgG%4;@(j07^ Ir'B2Qh RHO ly ~PE@bEN٠rkzR';T^zt[=1|üsiΞi?/σ''FJD1R_@X5=* ~%ǷԅPF ܷMi[Kwૂk Q˩[ҍtSNn^[rL6`l[yw 6aDQd[F `RG2]0P=aOa`j,i Cv-Um&N^>w , KF GF"ubHt`d%)<L#/1R`(1,$|5X(MCI9&i!q>^u~c}%ô+ށ <̻t-/ub=gս೺ neCtS2G7γ>Q[o[CE2Wl󡥦ab YX *5Nk8->~QVX,z3J"=ör?,,r G`HNoH#cw IA q<=7cx$rO"BaP x1=۳~r!]Wxq<祎ܓw\f҃}"/,?ݿ4H- 1VMy1X7of#u|[.㧻E~1X]WB&^DwPVȽ5no37l6A0Xh?ժރ"`[ EV ʰcmY/q|&ȄiDQ?Ì娥7-̌R~<+ս'ᖝqOHy<@`=EAE] +a=]\2Xn1Xe5CqZꋍ Z+ w1,Vm0X8&0gpR&7]z&,o`MkځD()VBUv!*y蕐uC"8|r:4~KVz +f*Ճ4r}H!W/RhN,uh,q?X==ԲlxX؞?o߻'MqC]6Df(`H/%*(z:ʐ8@vS@|G2$d5ymŲ暛!<Pd`U Pa_ HCAɫULE{MuXd+j|}6SXfbHѨ*3dO@d4*6^ ;&%1Ehh$p j:ki&ܹGz}%eng|V0VЄ;5.&|d+|&Ł{C(Ҍr0XFX.kuc)uV6oiPd`1zv4-=BHL;L.%$ݮIF*@|x=:f0=FGn=dF&zyt/  ,G?`yܹ}Y-p9fn>+-d(+aAůw/bC {.X#aQYu,nG+8 y%Av@jguU},D[ކ S[ EV z7x8F F*  'AItӤXl ĒD44LcI?\b>yᡈC4Ge1/@Wd Cy 26Xy%~ ƪ]N<+Nu(*.%hVTaC% O|3hp0e!5 pLWB$2(ތ Ͳ\,N Bo:Fm}OX嘏P(b}[`Hpc0,p/2o_RI;P'*M2UVehԒ+=wYb5=dc(Dҥ HHm097 FlXYɰ/%6D>t-)KE2! Ro6d0:A& `oz UMn P`zCm~(Y1Xcn(~i$oXTqF^i,ůY%)x$~C4E!,f3qzti?%8=CLwc}4S_HǕpA!݋sC[XY8K7Cr_zĀݱ+ .Hfɺ8>ObED\XTFQ5yC8 CB kB #![ w[ EV V ߵTsCEKCY>i0G1密(g)`0{)<qzPqehzu4 A@0.HMp6XbVJfl'/2 )IaWn0>wˢfcџYa!@ \VW4QThN|d}4, g*5PAroɂc5p;>,,ܝ*9GClHVB|/@;?e[m:ƽ eSFh-8GwqxivA<( ( ꨞ4"<2ܲG7iuX~!HBFT13Mͳ-q7ŖDc 8FImF>,s+ R}$ QraXU"grf 'mvmTr[Dm~(Y1X'^vsÒm< a 7oiu5a"3qWDa`Xe{H^7il Rs Kt^bwdE}^ J"K+ hϻ!n D;h;cd^vі7\Tu  [m^i$/K#1L`Z$SgKՁ |Ȟpr| sg~I#Acz L€,(h0 geX쓥6 ۅz1#YvTA:.sC+2[8oL^m3)k΀:h#r?<̨yAl{+D5h$.n4?PCUoZ2[Ut=lGN6[_ՐO+2k0@HB,Hv(w/IO[XCS+=+=|$}%U0Z!O7!Xt1XEEnqc.V7VNedtT N5/`p`cM.3X j!z.TY_BP(b6d;RŒպ7V&?b (BX2 ?EEO)*#8uzulXNHdOhe1] /G2{I#pDt c|5C>")|V7EcٍD/11CX%? F,=A&:z'! R-VVM⧩[_JT)Y~cgc$  \+1Vj+CȊBnX#U}M6c@o?%{p20V3C6zWe˻Уs[ V 9ni.һڙeE]Yt1ҳ瞠 h $׃j Y L ̭@QcEFuB1.+L+Ű k4Rl J8 m<衠(*x9!T3/mCP(b d-"P3V-P6c•o"Dzy)gӄ^3`="(Vu/Iہ w/opMqџxO+o 瓙=wAzE>QNxju2?gH`yݹfmwe8pCaNFQItfѠJP5F ,fFv9-'y3*~/F?J~G/a Wx' r7|e"zj'>0~{qaq?vlKԱU }PBuQ^ G%EVUutܱȬrc->!& Fd;_U>f#ѸM$At",gHk !e/Pd`a2;}I+Ʉ4'~:G <a%9־nӪCAYr(E6<ᦁ7]CǹqgqCgX>4/f;7,;rR !° &8ˑ[ú_ R`5L{&޵4HwDɣeR` nIz/)1D^Tkͫ w7 ]2% jX$|o{c VǬ6O2Paգ:!m~(1X*yK-!3!:y;LTjAUa[xtͯxx~quqKi fbn ӹQʩ^3-Ók%~c*"T_mWuh@R,hʐtU^`J^'1_QG=V?Ac0;223,sѳ.I# Kqkb[JͶj+CȊ=:rE HPv u('0zs~"ZGGyaYuxP5:G(,>>z A&_N6񙸸q7?AίY>KUdBlD{aе9 J:٠pIebVZhI \ IY8=YX'y1y`4Ʈw a^W ޏ֔mA:Uo`P(b%13 KEPe:aFF$rE(CYMe4`>DoĔBة_CnWO;.C4?ҟpy,utbenqc y,q:A+R GS36X$)\P2$RL?-[Ň}C% m_Vc 1VP(bfo҂^Z{}!bЫc(̢E;@!|&p0@tSD9/RGw.(O?ke[Xu/,TFx/#\A4FW^Y>"1ZIpʰ#O0{RDcxd?5=ԧNI FII/$qVV0dj(Kzi;VBˊJ蠇VI4'y0䐟VR~0ѣ Ȭ1+itQV+!!XicҝUNJa֩"L_j̝E @q0;i]jŇJ]ji@q-+>!?Ɍ࣫i(( o 6eG Y놬M ~T)ிi{AI|PZ%CK|6&Ɏ0:D6ŀ7%U}:O,V>z8ޅUڍ Gp?- Y4{Բ20ev \!ԗtɦ 6+6$nAGt`[ EV V>ECc8(@F4,-{= L BT~/D5h߇!:7P$&sv7yP9= _m 7E Zͬn<guV_h/Exن_W9~_Z_7aoFo˿Do{wyw^xao]dExņ~?%^z~lDxe_n_?WFE^y/i?UWWuo~g^}u\c?D?Oφ^kxu^ 7/xM7|sbxkgxm_jxw]wooxsw_o>Cvvh#vdعa.vj裆ݺEؽa=aϞ?nثWOOa>}aAСÆ#GF8jцcD3>ksk8nG8~ ///G8qINl8eԩNf8}Μi8kΙc8wyΟoc`A FhņKDte˗Ggba~~+WFjaQaqq%%WYaiaYYkVTDnaeVUn`qc6nleKՆ[n;vDXScs]mg޽gea( ,X*T`RK ,X*T`RK ,XmH`Qllރ=6YX? ,] OgE.nuw [`*U`%!cmT`߹W0[>deL ,zے+iS* ~XGɪ÷ڼhEh/Q6SK ,X*T`%EǞUYlX7$KV"X)ba扰qSVD\eq0:||}|1C/vBE^~4zy"kWm""!m0t ,riP`Qບ(B\Q-mQjZ+:Vfln 3:#3v\2#3:\mf06WF-'Ol.LaEXjs6 E6D1pNg  ,hiQj)aEls͉6>|9Q|渔*6Yp6GqXX`ѻǻC8 #Vm ?l ,:foO|J%*J`54EO`[hnB+zo[tfg#Mo>½QW`>`~%Xtnm;_xۄ3Eؘ7E-T`:X`E  ,0UVrypp8g X d l2@2m<#lyrl+Qı"Rm&9"s̄IHeҔϲV:% iʔ) kkkyV<y!RM)Xz2!7>{M.M tyb)ǨK 8<3_$kkkK-1u1볫Xo߾x)I* B4X8qB,XBP(T`qP;vЧkޜyT`eɈdi}K>r_Z&Zwc)QYq] N`~:{{q Ɩej:Ṯ5w͝!4 LpuSI${9t-(N* TO6ME*+d^cb0}%^*ϢBV2d ܛQ`5GFLgc"yMX:TEV&S$^*)\NB5]IՃTgKE &bZKΦ:.2j߾҇~(^P(f3|o[l6[ù# ~ر*t4 @* B&>TeF*o +U1V2'~o*f^d[8ssTVVF^ٯ3}p,-I`9 Πi얢?ߙ|TTj2z1VR`}[ߢ| #|{{+u| 87װGTtYDn› YACM?`>w<6V|* 6&/]؜+_GmmmHp8өXpOqoU`%M+\:=_eф ^zil М]~ZO+^ Q h~^':kz_{; 7-ZwGZ"f!&RP(T`%K !{^?48Gks ,MͣRV2KǛŵԿzh:=[]7XR!Zs$DoXb{?ȯAΟUaQՇTXd>;6e(a*Tdmt:ͥPE,Չ;,>Nz>@8w\Xu[{-¦,_KbZ6{hN#Vlo[DE;X\my;H^INP&:NGNZJ%h_]W3SKyCs/&/k/ҤYeR`]s5tq}lZ4pqObω pzآdUxi`^c7z{9lVQaozӢ>;&Z#Hhv#ίHg%\*Kʙ^1&削'}'V6Nw8 V)l]R0'5ra[XtTVygAD0=Q>eF( !{ޮ-C~Z^="֪ 8h;&H3hMhf#&m-V痎vҽz2!*I٨ʖJ੢4pVAT`j5jTJMG`+REo+y***o l lzRX r?OvrrS|/XaU.zzhL&lm,j%{,Z/D+-gQ`ri6)[y$ cHѪT)1xYLER55eʔi/'GU%\B&MO>ٮ1}bX]SMX X B+SةzG V 3f4i,nݻ8S9M֢q,8L徊eMX X 1aiC?QߐH3h?S*4-u]w5(" [̓cMGl5\l ,`ȑ* EV]=R)աCJǪ)B{!jiq8L ,8 KP(*X_~yM$wmtsyzᇥN3|':thFkPfL,ό ,BPj@`ytر ,:NM*t>9J+//HmavSS(Jʣ pΔ3gGBP(T`X/BFO`!Ψ.H#!DR/?iv/3U-^h% \dJ`xvT`) BV :+R ذd7MZv)eeer,,bR =Ȇ R( (ɕw$GH A,X4E+Bx⋔'x;Scrt$\t{-gHBP(T`?qF-:wŊ999qאBO$;<ڲeK֮-}$X56F+pMX'7XxT`) Bwҟ}YVs=״en-bC=Tx EBӻwo+v>wQ =zD ,8dЮ]dC`YRP(^`]}.:nS7{,Lv\I xYc'V ajȑ#M>gۈX$X}=kkT?+ܹs+ XÇϊj߾}/!C4=G`!g饗cFNp|g={';ߏ.^wm ,ǒH\X$z/zR`e &QZ~='o~O,t%rK>v?/NH{~Km'1-PPX^LyB 5$УGV^ ,d^}WJuJ{XܣVGj3u[췱g ڶ+2#P 65V_,ѶPKa刅L ?ɿo,Ut_"x,riA Blph=|!5[q X'dz+T`5yL]o~#hOc{~&!%˗8~7vH[D/T + dGd) &k_Z B)7, XHxU #x){ w!Ə_o!}-bcI\AR 6_x~őX+ rl,= 7!sJJB),« + +I!!RQQjhJISX,կ~UVQF]@d|qR:&Sr8D 璬J%5fUS( X:tȊBtopGgr///oP`9ؠL1傰 l+^&w)ݐ9$9tq hW( ,߄"Pj\`!y6͛,pc')$46WlAxr7mZ}'*cw&#pmҩE{Z ŷz 7+b,?w~7gE'z'ЩS1,YB4kVb; +L):** ,tқ6mʊX(Alg[mjVtvva6جǞlg\\tM6%-ۜ'Hl,%EXⳆr xUPհJ3C/GrUVG E3V6=Vb1>5qXxT`F 2wc7-o2J/ԑNɃX^&V:")8S\RJM`,o-=ܔW dTtސoҜ9s X"SI]7mBxc^M6I6!lWze͝@8J$yC9*21tN:EPtlrTx+ V ַuRD\ bǂcJt m!X*N"O NjQWNr5͑%y rWJ]`KXNt¨ xLǝ24'7Xsn軩 :Wg* B+ýꪫ&qƥ-DS*+Vl=C':$m#:x=Y: sMdͤ>NX BPDl盬Ax e+??bwı85nSs&TBP(eZ`۷ψr1 C*Yko3!4ED+ Bq ,KŋഡbM`رc176µ5Nt ,BPjD`>yS)r8uԌ hPÖ1\d~³g BP ɇYX~#:~xFVlqe7!6U&!em3g#8;BP(N[{rxK2L Xm&\.WƯ+mcNIl5õKMXx WP( XItsYXMəu#6U6< mWBP(T`%#E`E{֖kU: >ٜ^* B+N_~&c{?DXeJ`z?U`) BV: XȆ]wݕpm 8Ws6ec ƽNu* B+z̙.bma9%J UP( XivHfoV4=\)RWW3М,½袋ڮ ,BPPgk\ͩX<묳]vTRRrJ_ǂc±O5Xw?Veeez BV+X "VCDin{9ڼysVV)b6}+',ܳLnt`=r Z;w .BP9;Vz Q6N;OXZ* BVثWԡ$\V ihx= B)X]|9 @yN:yk\X]z^ЁBPu*/}K wPdָyU`GUUˍ~/:rHlBP0IJZ ״) BU`5z)z#~ӟ a\}( lߓu8v^zi*Gt|2ڵkWq~ B+P(Z6g+'}8ivz뭬׾o?|ڿ> BB gCdE{ykjjۻ˚M[Ncl2- ,BH 8qbօM<էO,*V^]o{N#** "} Ϥ'+SB'V`ܹ3'T\`X;O<] BBP4 A<kԩߢz@KWu Q(T`) E7E&Pwtg˾[>ЇCPP( tPzw}#sN*9s_R>S(* "cp*;{LJ)VXA_~Iw+:ϧ7ZPR(͏ɓ'K|V*(Z`aY=W(ݯ{zC ,B28XђH 9W^Iןl:|0r-m1B޷,֮]K}_iK}r'o TZrlsvi.K@8oOknpn3E{L0ϯ|nZ2\'~NϨS>:JX B4}|y5y6\tԓje,w.ϱ1]QGk=UqI,#Hwh>wȵ;t؀k>p9h°w ]taJH! Wrq,9c#@҉mA#Km4fx;y dqӿCO#A'` b鉒:[\b!WQJ^.X}J]4tEY`b2;q |'oHŝ* ~ _%|XeAå=Zt;U<YıxaS~ت<^gSbK>( י;B"f؜"k.]Fd-! 3 <\"zv`l#H}4o芫3rPP(Nlx;u:~ᴭAȴ-!{/ =≘2qp< 0bactJgEg=t$0st&#t:Zt9٧}IDAT..o myܡAXsÝnQw733K˽<2Hѯ''D@xbGTI|`,ċמ̲;&zYg cZᢑ^zfEo G/TD~LY;p`M;DA<_'o_a< q|ߟ4hTeFTZ4/By.@#YDE9w,ۻ7xkH)|l‹6cD^尠 t?ER{,yЊLo^1\BoV36Ӿwrqxh@LsO"f4F09LGGF_;bon7h,B8ek2p::A@tFxaD:Ll3t|p1+̩Q3|n0D1D"1,ǰ;m<掙9m&d7-t?[Q܉ H2E  3D}ʂLbN$Z`A\aZS~B+"q<\Pqtѐu4;:`}ٞt7#fG7i-!zqsPwFlghE- .euwMYK<[)ԻCOEjKؿ/blXFE" s#ėÒ? S^3SA!b0F ,L,2+IG]cJK _?02+F xs1fc:Ga`h;htD31f bLX2"S0eÔ@+q9* A3CFg5;̡YdO 0?=^|NdXH}Qׂu.Q|M7uYgy !,!ࡃ'l2|>3kyϝ7b^NGxqe᥅5nًX+ҊCW,Wb Sn 2ǞsV/jH>:M@Y͙<WIި`;{SeQ9!b“ĝЁ^NF:= ߩK}L- YZáe0gpg3%Ȝ 4esg9WGнs} /uɳ ?u R|WuZ ,^# ,f>WGV!_X`F0Ehh|Mcƭ7(+" SBh%"k^-[ǬߦXAd-EfODU>"ccv9>=AӮuRRnNsY}*,dD֕W^) ,.kXufУ;$Y,Kyv**r2;6:/wRfzdk2wm#Eb_0-#ߩWPVqgt ̐&QWrwAėu`{0p:o!LAd-]b 3qq(yi,/%蜏Eװ[~%u41|t|Cw@mqÀ)n|+,g*=2XCha ϗf v3UKxģ%S, YxU{_h)@m}\yCo;nT }_UV"SN/W(-K`#Rq׹Sdܛ]/Y殛<:KlYNTl%RzdQTDw щB4vb'%۱o"9}0 A SϜ #,"[ѡ -G7{QgqP+kUdF҄dAMsZ\^m+SH:i$qy+$h~ ֛`!;!62=Rz<\nU/:.xx,adkzl)VL(dA@.bqf!YrH˫CA/5$[^@*Qޢ8M-4h*{ -&TM-6q&Xgdr>d<^e J )U+^\LlLK4l7 SJ C"vnU%e5^(]$(s zB6Y'- Χ1%N7<]_aB̏{?9`d>O=>|8ՏF4qfV:9P-l~3dx-8?;[nɏ d/dSs\9xͮ&`b >d< ğO<eV&K3X(J^OW`] $ vV'$ MPIU4HӊMW鱲!zSFKOȓ:j' /Orٝd:> @Ƞ\% !!PBP1ByxԢl^=MXJz!>q4Dz^uYטdIiZ J3Q) s\Dp9uJbӰM*˲ *eoO {O`#~_[C_ۉ*bz{CϏ3sLG/ cLH֑#G'~h  ^G`Jj,$udڱt7Ej^c\t9?micG9 R^+Au'eW]!չAk. RwqQP XT:9zĠLX)3`; %StI@b4зo߸O=v7,8"d8{}<L[ǟ? +]) *TMtXnØ\>YI~/WXzr<|1.w{ov;V|n>prd  Iem ϥ:|'}3魚 c!W̏)k~yR X`544D шpc9՛:-c :`h J%'KJ/"N- \ߪ\^is `+|{:1@Ow6&٠ ]2%D  Y.)D@-Y'V"A{z Z-/A- '7U)IзkR*\8Aȕ#H+{C޲UʑHJ@x!2c4&Y9\ >ä DY?'__mOw@?)\.C͖n2dAND |+%\U=~gX믴\p=]"tÛ+~yǠ]3|u^op۟|77#LIaϊDшF4&`e$ EA+z#VӋ;QF6fıXA AZ JmG>wn@U(~x~xxL+y[DJ)(@v2M2((;^@jjxᛊ&IHyBp-wX@Z8A&K'S 1S)48З=k޵Ct_ALL%֙ru9åLA(hÓ#8=_vGRq$ dڔŒ90-nRvC.+f;QxI>RCϠsm~LL=f Ϸ]2!JZb) Aqz$f^|}NQNh\dePVC.)vf +7xa .O ̏ʃ̏rNK"|4Ft>p F~sB?pHdO cEjdv ]~`nOWP2բՊ!@*:XQc(P w8;I}fHb;rb s)qiݔj bIJ묤,qyϩ!zHz /ع7R?@eu *$!U9Ct}q&kYL6ˡk-.ۦkl]15yw1)7F23g&]S֪ &IVZmoʟxX*☡!ʭت?Ne1! f˂ $Mp"(mD U%vbao-kB͑Rۿ{t٧4?.::ޝ3?}WެiFk$ #G#8e` "198!ZejJtYo+G@E?hK+EMorPxCvV1HYbҀdFCBDЄ@x u4nHNy@KRGJGAgwF/SHz"tj*X"vKMvZ:HS19K=ؠ2Nh{G 4Xpz9sW[l!P(ߥ3znw/+|;xhGv=#qX2Wwv~:stC)㞬_eLNdE"hD#DlOrMѪdA3ؠDr^;H3 I&+Ϟ9j^=aq+A+rzȎ2S,FI)Z }p?^jYj1+-1;/Fw 12DTt[!%7A\ ܘ!:{PpEV~ʤr觫`\\c u}A7|yK6ޟ%D ] /d@B탅r*xt!ّkbwj%XCO&/}۔;wjW+wlszO4V „s:,dNqf5ccqh]o ;?n Y15s?SK0"|4q ^DH)4("CyPPr:& @+"vґ( %梇r[ gHհAK3^?^a+ l fҿX9"t3\w[>kɋ}bT(+ƍ>By:&ed!+CaWk,{SC7}oq\ +K}>P{Awb>*mŀ6 b57wxD6ȇh#E>wiIwLHO[$VwT9RMp=`FΚϋ`btшFF ـ]t9xLMlewA0<}H 61|~%״x8oty{o\јP ek, ֩"s&Fe6=+GJ=%#]ˁ|[ oQҞSJnp]iEԊt?fT*w VwRLU@ܱK UXA~v :*hZruev\++ rIWULZ @%D ȉBC׮lnZҭ -'XL(T)cQOBy z$ZA95艚-\n1` gyPlm63^H 0Bsm An76UqfG'h~Ώ{~Eä^_Z̏oqop#u$ +G#:r7~ RP@񂀂`#лAĖf| hTӚ\eeA:f2DYMD7*hq@y*&e'yTZ09*,T]RGuݤ( FH]Z*Z*QWS|USP*M4Y*dL =( vKb%*O sm&X,CՕYdcD,A1ׯq Y[Jhc{rF6eHCEBݣ tV=& .;YWB !W FRsűqJvDmƏ=jؗK]ǡ1S٣E~>nޮr11:U1|jll"H4 {LT> !&jsO^@4SHBFs%'hC#Tbmg6UFzz8 GH@t9PVqNaPps$n-ӭLf`rsCAznq,^mU,2Am!\W1QPT+FvL֍>n1y[ӣL]w.ǘZe?{c ߧzG2/onD+= k!z蝦T6o66dA47-_f,rbdvCZ'e1{1_İc֯ϊU1U+jf)(]KdPR DKg4BvK,rb0RH[rMߚg$Z0XBs Ʀ8A#hyёhSISaɕ&Rbf@D0ޥ|4VNu^o=D~(Am=AWвDc~>يH2Y͋I4TմW>%2 Pϫ:^E Ip xPŃĒz{'$УO6$@@HmI|bf+@|pـ<3Jc7[J+bnO%V.>n>Q:'.-0r6Ec?/&XӦM)Y>шF@GH<$.Q]U4|1toy]J%$e@Z@!n}b& >۾c L!F/zaRUyүʄdht2KO x[iL[ \b)sb myT-䂦 ƦR ,1$c>"UEoUOPU®6vw{w~^x`LΗZ``T=ްl7цDmL:usGA[~آh~>?.~b9IeK#G#Vj]ܓE5hڽ[P=`=\_?Hwx `muxnъ-6-*YRiN-dWe[Dg5;F-gZf./  Ot\zDd+:SC `%hj"Yr]O#X*cd$H*q^3P S-7Re>._l@ >ׂu<7e3a BDJetf } C>E}4vYY/l,`_񜯳B`rraG:`ISMÐbqJA>&Xod,j= BK7WmL- wї~ b/H"G#?tqɀ Zq9pUGI6hf6P*v[TƁ[ va Vϒd r|^#:;mÕ\R5nN }WWjBuB# V:Bހ8KgPZSf۴(N7>72UX0KL1.Yfѿ0.0Zfٳَ<^z ;3ˍ)*+B2&($qRE&j*A[:3LV#JѾVU+|y+ mިIj %B ,ޑZɠ|>w0 z$ʆOg6M 9m3dc%\>8 c.9PdE`AECnoŦ:${m= xρ${;0ce>V@K+BjSH!Uh\,U*bd;y[\@_+M i2~[۽aH?ɨh],-_1HٛbT7DCT۠=D) ÊdEcr͏8F#\>8O ֖O\R`sē@q@IHB +&#.(`5=R2U.JYkKmr0inAu43Ӡە$ :=n E "Cb O߆5A!mýpV/Stuoh{h ?> "v/C"A~.ѐ+@PһKӕ˙`d-w'+\|5ѥ=hwҕ]ƣs]%ϥ[aTDh*e[(b5 ʜ1z ;1Jv RRYoJ:dHĕ!nrh գ9AL0i` #@l::<zvvؾ#/rK핵-F+:c)N1*fX64%mha%DQ4?&8W$F43!`QOLBϡTts&W}pĨmQ^61|݉G$;`Qpa9Ӑ^Й֤U[NIoo4 qچ{ޤ]j]~w(_(Y%3B.Q6v3.#?T~\o]9AQ"jȮ4kPWw8U\o ȐkKudmsGĜ; ;o"ZCⶎ]~(ա=vBSrP18„^G}4<ш@z%Ŗ#D}G%mD'99c#uSaCV joQǖB = *I".w)ϡ=Z/ KIQ^d,kcACq XGQeQnvﭵCLL,—U>TfðKшƹNxN^uw ]HP7V9G/O*ʦOl>om?H U?{H[ٖٔ6" "._XP^q2gg*X+[s%+u5-NRRTKRSt-z욂eldWk ͹  I7զi-4֢{  2Za)Ou1q B,{)L]X!2G`!ELu"FG $+ g+T($fK,&(x}'mmpnpĝ} 1G4_\pg'/74CVwGځ 4*=U"@c$F! (l*4E gR~Ey}dVZ_c+vehfȔG j"GxܠbɄd<DGC8?(3겕qtYu٠\+V;JϔO,M?Ym*Sk+:-prYm*OELHT 0R;T7TZO4SJUYY"G@=Cr&ѿ,砱K~Ԥ%|dMTSx ,.ӕ/ eSМ`z)' i 1S Aefla x_KS9N)p ݑZ M<2U)3n 68c}ƺ2&LHogO>B竆8ٔZe(Tt"3 nUy.=C."QX3X%LK-yj Dcr͏h;g?}+_Sy&+ANφ=2%K4IZw@2VX?(X=Vjئ-r@] Adb&dʷƸ^kr58lIĥ]1%4@pFCWCt;oGA1/^:D?񣥖%~(.з]A =ap*DТ5EX=]龷rSBx*F QzRƛZ`j[pIic<ܘHS棦d`@ Q!aLHփ%qFCI֓ޟ4D^oRMghö}FR6{ k¤d-C52=}J;-ZfE\#go/H4@H,X"|#[4Rf+ gPp@Jpe lˁb%05{-C$`1  TJPN~͝Dk%(ߑ]]öKyA} ޞ ayS{˔3o͋э9Ct`E~18~’HbEȤ.2; t}%bS]KOMHK7() B&?U$}&إzeDe% -OIZ"P;ۡZV.<%|f&;^t12(+ XuLL`w!KuwbnY͊d!5=e:qŠ-CAs>h12iN!%RrV"} {Ї-& ;<8{N< М9shppMd 5g –p wCk\ў0j9@s:VТ򝞔K*v&VǑ qbהzjvmDDk'AK7%8$8YUnaa.ȴ=uE7ft*S91(U _¡B^ewIy r+o-T_Do/1?\<(hA?Zntvq@vܱ:GBq{NjTc =A:&5=R lӶO̖n2] 4+~P oǓ?DJ3g0,[8Dp9]DR|!;ϵ j`1BfP@y ryn+'V&4\ՓP.hWbRӀ(ܪqBt-عIhH!zzrQ%'-!Vh*jU,Az jR'hk4 ֈ`i41G4&刺!'0D+}8xwq=DcSɵdWp!:bn8]Ā&:l3l+u?$ԅ!X#x x8-}-?+WN?: x.+nοAECjeM?"W+o-T+tUdʐ]X <^dqn0[Qi{6$̨UZѭkt)ǫlzZq?r' S11\@,AoQYΤz,C|}Pڷv.(LIΣ5{Τ$3W.B<#g~?~\(gϓyA,!{ƙ`uZ t&kzuxɣ/T:VݲJmCUv܆>:x(FKJ o=~8@ ) ZHtW'Fwp=W^*NpsA׬ռj]CKF3xgE3я?^'탆˫WCLw/aǽk ދ@9T2Yo & qx "dِcp,z `pUᗊ@~:vIe蹺=̈́ x$G U3`dp |FjH2K2 !i26&m{QY @g@}$+o0`iBF4?&ƙ>!X-޽;:@x3D8V[Am&nR6 flS8x h@oR(GJ!%;,Н/SW;pE D By D-]Pf^+梘\l-9 +y_|.]64pKWqy VaQ8^O,JTC<r:7H4 qhѬƸ,_HUZ'DhꋬDXa[Z56=Ɨ3A)%AsG<¹]Γ O>I$e1zv}\HQzΠcd{ $+\ "rO/ ;TİJ+ Dy0k~Dcǖ-[O^{Y!VFr] &Xh*omUJ;zNG{y!SįGv[Dq*˒VAVA6G]DF[yk \40?](q_>W0^n0 qz li:K`@{L7GƮ;F( -Cxr:,YiKq95ph$L&&U>{¡;&+jpEk9H z)Bs 3Ю@'@!4KdJl`Pc!1 (V E)/͡Ad94W``6Tِ?3ߥ94HBeta-Y) ٪a.{P_6'YN@p aYQ4?&fNO>}X[ɪQo~CҊF_N yuΖpǫ~ۈQ.Ε#~>vZT˖F+5xO%+z;:IrPX0T\ h +{\*٣P_?o-uۜ!z88qf2-J]7ΔrϤ<ʥztQ3^EIOsPCF*-oz7[Lʆ5((*0 BiOUJlYU݆W=R >SgIRh .t@+w!~[p AOS,~D Z-%Nd@ A$>T͢ۺo K~ Nmbi%]6`)k~DhsK #;S͓~ELxx?x_pD њUkS1*x h1R&E *;;$ޱ}ҷ]Z~j[@ݖLj>M }lbt5Aon.W>2 3lR6BPYL{v'h^jAK8°1[43Ķ YΏiu$29`m%#[kALUD(`,WjJS_2?#UFU!qfDŽ\dm@cT$E(qiۧ )_h+&$: K.{?S>ߙr=q^i8X#|gjK9\C Ws.-C~6uM݇C';y݃U/V>owjBam>}h˧q%_ʦ_%mG] N^9m94Cp㡌'KTKo.lwh[Xn۶-uue5CBmJU\cF FN?:"Rw,3X vI |ڥG)!ŒB m!Y X 2X,hlp D3X3j=)3 IJKd8`}M8ŁM-lP@?͏I5?qZtPl1HLFSS9IF>7>D+=Owy2[Ud[\v3.&[}HP=ջyov+ZU ܫV7ݸ4ئre-8hC)9l#W\098zǧ Oʽ(#Qw$Rw/k8VLb)F1 R>.T((w-+ͦ~.=&%duLM\ 8\&_M &WD:vvȑ>w*$V= 5 àb'*< +24`]֋U\eV. e\- ń/  ͚ۈ&D=EY3)B>:LZ̗Kq+Md~bUo0?pnw~o;G4?k,=kX,6bs88.XeUy!= Үq q%rn[EhW@a[U9-{R@@IOm82l~ߪIzHJT<`S>߾6j4I /T9nI.e@dD?u_i\vzaQ]A,Sr eD C]"hw`ݶ֑#lB T&̕S-~H*8=_Rja'kL٢/"g&ҿgE0Qa Bv fGv hK}P)0dځy( *I -:G9Hɿsc_ X/L<.:Ij;Q#3f8<"?.L8N8^I̔H Οh|f +Zk uۣhG~t@K7Џׁ X8~#d'Svp (ϲ٦$ `{6h<"A$$"Cl4{.brUtIs\#<ۧJL",4\!;ۘX ׵TE*:x_( uJ{%UݏH H5TK H|LYLlcvt(/,]6+&Vh!bӑ݀+{&c8nrMN(ɹгa~vs}Opa4?@4@:Q! l9Q~gG42J|>akg}vFGKK˰\"7LuVGeΣȵ ,<(XVVo t-t{7cISo\'*)2>z!6~N@JuP+z sO#ԡB롢8=$Q&U1Gp:z  JDU &We%I Aod;B BH!Y5Zg =zP]UC^RP-%r76O}Б`(p9P, c㸦DBU!o+-l Svs|_ ԤtϏLϳ̏LO,$(}q~r U硄OڏuUmG4>>s˿vɑ7ilv8xfR.<ՑΫh;h(XϚ"U)WM,ÓIhru'(wN&?pd\,'>fDJi wzL\b!a[\cnB gc\y\^'5# &[Cк%%Lʏmy> &\*CQo _ma%Kͨw:K ULՃ)-s`*& 2Xm$Kn#+|5o0 <uYBJ2oIPք \w8pv+@\aeǩΉ0N6?+]wZTxN#s5Q#c?Aoꫯ_n]D&hdx:Λt]ίh`AꀑA%>]V XyX>gRlρ]gT#-h&xSn'Ɯo7zbyא9"|wlGy0\!|gvի1!U)ENEAꓝ}6'J:cbmiGS NȕW֎i~*Х6&SJJ)Av4ba+sɈIX̏h>S5k֜޳gOT 3u"no`дxN܎Ùg`Wgd1]A<MU `T 鵛2?K/S5,:ogx|?9Fp"w ,]rߣ&Zl/eÀ`Sl'^݀M{-)M"rϼDU$멠3A9fm1iyE:3'9-xgސ%n&.MmF`e r\#<.}~d=GH2VXi`g;6ꇛa˓V@LZCz~ߖh8f͚roNݟɟDdfD:y~MH'XAKv@ TLVkp; R`1+7Oݖ, U aݰG`9@lYekdl9@D;Nq;)?(L)&AULT;m_1 ͏Vr~{6T+@UH5]xh[Vot^HEřHM̱c&bSi|_Kލ<%Xqt?lUPm=tn'dP~> Y"XpަG;>NDɜ`43- iJq/3}<,ٔqFiVoserƓdYA{ Vr~GT%#'W>@P⬚:(DWl.°x^hSbh1raɒ%Z"r8d$XÑ+mq2U1߾OglM9o/WHibպmhF<+R/N<2}mJТ3pv8=X=RykQLPUcwm(ߕ9>O˷mv_Wig3d,S2#0?.c#P!Wm4+88φzh7 bҐV0>^ z~3~bFVV n\)2>Z;Nn2^-ߺōVlol'Z~4d2Oq/RIv=`q0$xd՛V0ve` Wl)R8JuI¤Pp+QA'Jt~ӎ%Xk~dlpԢcpoG}b >'-JC܎ ǥK57 =?4鄧c^.Y |5pޥhpc( L<cv /'8MW cx$;KJ}\.O>H??KЖ %ė$x"{`f5a+Зp [6i 2i1U݁tu"ChzcOk-X ")=N3Lπ p] ".ғLvwhrE`yK{n8V@8Fe;hw"Vrཙ?67AY]Z)fC1Y͂Ir$7vA~椲bOBPj;\G&>,)x09_p~Fuz(< (xH$jw<qg6 .h넄*@b! CqmA',R_V`fx9s3pFCJwyh]<CcGN@+qu͏Lsx~d"u~dg*x*1TF7CtIZU{rpЏK/<:oNkO|1pHQ?A|u{9\eC>sS懼?&D^xa0~H#4¹2y~~ %n [8bX0D42ZY@RUCmVV &dX^rx}Bb-DDy[ra?uUIEƓPde<-2i?_ 1iMChS,Te+2"|I"Ƕ&xNe2"XiclZGEGGH`Z{3Ϗ0zl:aFJV Fm?w>׾s^'b< xN,x0aJeZgNpρT4?(`<KHVWd-( QWPkY҈# mZ ҮG 3o 07C|}}})׿QT2`Nse>1:8_kU ;a7P 3Pdޖ&vj["lZhcatiapiq#X}-!>7&)AϜ` )2fVoRȘ`vflz~ϜQxhnO;t'}q:?}~qoڲn^lRnaBV&j)ǔ| <վ"!^ @GuBJ`\m8=cE-;wnwIkip޼y9w"ǔ >_ka`WݚHAB 0W),s`Q'@ ?s AG[\zɦw-͎}2dK: N3@ )ٌDrվ%!b5,nm]G.33iI{+/ݔm\q^#u3'hpإ71 [D '@x@$=d[c6%N@i%c#\k~dYG\4:4$KNjdAf;?*)h)J 7#9?vX} _x@"{$tx&^!X؝'Dő,VY/AR*2C3u87kB0#p#^/lX?:(Y6DU.ک\7q޸h8P}'T>(砬3޼VCp|oUO@0d}䊋 tx?غ_ݠ첩n m_ڪ4aU3{Eϑ6<( A-HV>=(݀\!HBP[>. yoD;~Gm3,~/LʶjD4:}+AѲ:E5A~`_c>x _l۝+%?#n P>lppC\" ҡX;*"yXAdEX~K|W2WD[AP *^W'iGi pxaվ MVKRemn 4Fb V3 $}Q&`O^ ڟhvis>wNCo+ n03Z~_j (IٯD@IMAq2m T(+r͏5?a%DGz|T"#[}@m0exթr`XyqvS,-hX4RVClss0h^*=S%:0ٹ ˅I, ,br,F[  [UfC5~I#"W5\"E6洚a3&S8Nmz]+բJ20r&Whr(`$TG$1Mh5{G?'nQ!5E HV!' Xof~BBtxg7n|ĢC*cV٫~,D4?&D#O׈D}$2uE"=NƏ%~4t4Wm v^UbR4TRuEÎ'~?h zuuT QA)_k`_V :<"fu|I^@4Aر6(ڏn-pV?|X\hg*" @O7"XOA!ezQXo:MgRԦDR1!~xMHa+=Y'?[,DZa:@ɝnWP/JQ.BWH/" ca3AνQQ j+X;>DMXIeSk]ORH["ݺt!r|X#S1IF?JFF?M Vj4:i Ò=#''? ^aSv6NE#%xw۽ v5IˇE5\bq®@^xr[@jf<)EM R{PZcbcBe/RO^)L %tP@u<ҁw4#fH[aeiBMBhWDX '=Ana7  -{jQHUVq}o b)B`|J4 ++eN˦|QK14|Z3# 3cbF夅igQ9WzNwHG.W;">>?|ڈ!n^$?W >?ȼU" ˮt[ HPkKl!x83%p9` P҂N?~͈@!ٴOW6Yd^ [8 Ĥ|/x6K6u+(F5Ɗ`n`10Pۊ SY^,p,"ga5f|F 4ui Uox\#@LA+S _ ݇E, >W>,|P4)w! JQnj{m0O1tÞSÞ/'活4\sdth pq=dcGy`!ο? FKxaI8{` `ۂ l)q\Hv&w!r{.'p^5H҄Y7- E'jN%҄S"BQ{yAϻ Ʈfxza 9ư DRUH O~s|VJV@TIǮ*BMEQQ[;:u<8#4)adqwX*t3[r("//":_i 3Y1ѫW]'1lv:>ҥkݺuEv%Zxq*P>xEc@`=גm9!MTcN{Sȫ䟖Ldǚ0%"$RIIFA 63\x%'u =&=ڒ.~?}~Yl2mg$B 36"tJDX q/ JFvЛ +"qXtpVHQ*3H* #r": k^X^RhWBd  {FFoD/g;J Sz|L#]/}xFy{.,)1]LXsmM$LԘ<,<= WL@"J$HPٱ&tw1ItuN^fNjgB;pzvݳCz-hf7941GS70՗$22$ %ZHBd!t܉Bk{@kC*dGw$B гSjyB/ORa ]? %rƈ/TY(C}괺{HދMK5 h; ^~|={[[f|(ַu\z2SN(i W谀DQ"s!WDI% :/~Bcv4H~?/9:_ ߳(cK;عR_xTLJ !8j-Ao'LjOc)5$̂l30Ybgp"艶d-^_D=דi gst#6y161m0=N96JϵfGEd! AFd-t)I We a. IŲR@!zȕDF`.? U`E` ,#,5ʋHj:M 9C3候mhH77i|V{t0XxN}(D<~WaxOjhΜ FmW$b9>ukz/S3Ӆ/ӋZ`=?`t5ujYg(Ղ[]!-vΟЏ 3a\$ү-`y+D+V`W]]5C #De,)]%;> Z]Qs7'1DTsA1mmۓcg3uE4 djOOTOO5{4n0 ٢G2%2>4"ݚaq5Js[24ۡ20G$7 ,67ij8 !4ЉvSDu<̂+y:p@8"X!m)WZ'wt/ fLpH'$`5S;./9p2x+~~C,vnFNz{0"U kVFLw^;WDMB1t."yG |.|+ˋƕ@r d@^crX5Cj?j8 8taqD%F}q<9$azIZۋ :gu4_>=-.Maғ'DHDbLc1%+ZWkm#Zuy_wyXEAՑ:(G !:l>b/PxZu^xc$z( u8IT5|'膄mpUiD[_$cn y  i8,U W;.WZ]$ AdHǝSVz|L#]/_b-Z?njDc$jW߿t'>xWԤDdkZ_Q \G9I@|0k#Z#O%;2 f-c f$kΉ@j02e;G2nU8.tYӪ0׶hdbf͓xg=)GA1>wFD6 5ehFSfjRTgi~C )|1 {"%" cuPkFAd!<&!,~b .PnRlWoF\)2y6F%'`끠MQ<|Þ6e1OMV 1C 16,"S[pv7=h:v7j~[ZOV0>c٫]kR;Rz|L#]g?"ۼyyܾSjqR\XpO|}:v<.ϑ!<H(Ը!y%aXItL#yp xLdϗ@-׳PD ;uD$UH줧$mtŸlnݧ"LicEV㛸-'!uD`ɜ>'XX1ty9r/`EEy|>O_~y*v^%3|u5͗b9mJ"1i25˲ӧ͗bVD\lg%J R IYAƼC!=J % :8;n},Xr@dN_ |N.|Ű+qOd ;}A$ةcRCs۳4M"gfDmudni=є怞lzI$'eezkAv^eVg^ZЩW%A"ݯeAQ'uKy;xH|^-" 1eE. P>ADUSPPAib@͋EDH`kb B} %P`DmK.ϧN-Fz!Ui:'kGh;^b呖A@^5Aun"klDiE''|1K9 @gfB"ڕD0`%ޱAY'ck?@|kk+ PػNX%.eNWZXs&TBnu4t zҝ!Q3Ps25OOirSHO4L .=ZI<^!y .MnorMUW՜.R ӝkDh9,cQyD!RcD]9E,ЉHMkq9^=ҹTlZS^Ҿ88>ݼHV"05*U C.ttơ. I4sB=ko ŕO5GBc0gQ+j=RѠ BF0&=>&s[ǎ+"3f|z0um۶ty)B-|o_:e:,m iV H$`"P{; emA4 !(BJAȄkvh.Jv{Tǧ{Ӄ=I ۵֝维I{4Οl&z1GT5)rB#;x'e&I#FhvWNDKL|OZ<\(~GmT}ȗ"t.4,P("UH`qOF Aܐl8RA_Rt[BGަ3!PXϟs.\w˟=_Vn"$>W -&b z!Iw1VΈ m#_z2> v~#!EҍN;`YT҃33H׹>Ldڸqc*>CaB.|_'|uʳ_ niN:2Gb ݹ@rJ Ᵽ:@P$B Ȯ|L yjNl}EQhDuNܫ\ʺWLH a%$mIDI(-C!b,q<%My# A* ;=Y.DȖιѼ.G҅p}З, 26dXKu< 4i@ )D/%nR^GF@Xm`:J?o8ίV.! RѰD\("lb/ cZHpiヶh~*'`XRHw6 ՑޜXG>ފկo~ *zzzH |O#|19ͣX%X։5%=ĐU bv ytaW^& Aqu4$u#vqJXtj&bDb.+~ã &Z.Eft!Ͳn']&,-ѫ}YYU|@5dJ%qMÑء-}6W$c.=SLh횖Bz qQt-77Y=.k:zYQq2?1Lg ōIŻnC[QZyjc{$if<J:'xnON( DȵȒpdD3j=;ef%kM@BmZ;jKl*DB K5挸rc*vOBD6=J5D},1PtA1.v НX>HjmFJv2q7tHL{Ϟ\c]q+-Xeŝ6=ȊS^{}#,wkZT7Qz|L#]|ٳ町o~+*Ix ~nam>h7SI'XSlDhᱴ[ElWՂ^NmWG] dwn_`E;sNJ]ƶ1#^j:I @!_ $vI& ]mx5H|ِFO0bI"!;s&aD y$kIF K6dr *'x:#9!9T3°`D Zq]{.{_Sh_ຎN;kGUi-)1`Ӆ8T-y^cTmR]DV`iшODݞb$w)NO1z/")M;Hק[hַUD;CLX~k?>|c's-P+-rA~}; ^=E霶 nS;?/#;ZD$Xet$rCHܺyw TxaN IYmHv.C -򂂃:۬iv!z`= N@hGߣsKϰ&7@lbW9W,bqXTeYTdSV:PP Gm ~7tpC;Tߣ#_ cxQ˄e;Bni~|eQ;M^Of4'(J٢vkb8841[$ UKEV)ڸi X1ߋJБ~gA:>٬SYW5iV-{?C>ά3}&ب ~|Q;Ԉv ҡ$Qw4ٗ{D+GDl?M0s)H6Q,;z-" `9:&4R[cQ@tzu@/ ZϑxQfM[X9SwKgi"X6=hk&՚w&_=H T mJq^i!F/"Zyh-$aĘSԮ5RYAa)1Jw $%&GRCM}гC׳vp5ިta8a~+9s&}K_(7?^gJsZ|v^Q;U صK4-X!mmG+:V"fynFet+H3!u8qjhûnWjpƾ]?_.z>.-"vW*5,8Yo1.;|v37oHi"w9ԗInHժ>& Dcbɓ'O!>gD/^,5CDη}=Hgy8-K(V3  #r HqacWPwͼs.4~|ZpD0l~ L;;jJؔD@؝@n_ƞq"<6!#OO6xR KI`r ,iSox<0Fҳ&,zM$r/Z΢i)U8c ^xuAٶQ֚g341CO66jk'}Xq݆oFeI61,<, ?+}/CHi")H#|R`!&F`iJ#W(=>&~SZкjq~_S]]͝;nF;?O%p{L"?7=]+55Cc ޡZ2ٶ!"-7DK$]m_? xcn Q|XWL |IY+'i ޱza[ǤJt`2ܩdh r0[f1 e ԙ@-yD[O)4̜B"r٦2>Ha &Py}6ibpYy ol]- +]  !p$]hGd W{rE&Q- Z}:>uݻOOMriŴy 9]Y`M&Z<[/*ɿ Yhx(M2.a] etǚ_WmKjk|=\_wk&&_q?ڥX4 8PS&afa͡DfyVr@#xC|I+j{K[}\|IH ّRvsi<`H0'%ůw& L2YNP'DX@顚_)_CtOuHwU{tWk8y|B g35͂9`^wx]zZWz\5+CdeݰKw4x8piAơ*WXSȜDDA/ւdIXG.lD//N!gE>|8}&3xF&BiavŝK蕃N|ޒLDPa6(Ku,i` e/gR]6H8jم%Ez+v:r@z }-YA;s!>Z;@`D<`^HD{ Q#&W0IVW^2H9C(2ь~-McʯɊ+>*=wKwo鞭ݳ%+Y\Utg ,{]Wf> 3Ou2Ԓa0=gg{!BEmwJťPT!VKe{|Ya"'UyH]*0$" (,'|^+Hl Ic"ҊzYRdzDZ Bw֚B-A5!H;E=!r ,8@F{COBX ߞD62螲R#Frq䑥ܽud"a2ZkR.%+žH@d#!QAIy]Fxœh"WxBDR[rt{CcA[]FNg}5Z<,Bz_VI밦3 )gRn4LNCtcJBB>DtHĈŽl'i5^( C$wk%V L6vƒ =>&񑮉~bX,>qi*>ںu O& ;mV-eI}یWc2~-ߎ!#ӱ:XVIÓt1u6gaﲻ"z;BCt cXL1O҃yw7F.=m )I1#Q&N0$wqUc^"9"-ȖQw+RREpuaXwx2#Iz1ˣ\MJqTz\ׁB @pOP"DP1Bzʣ{}^g҃X UBrptkb{!͡: ʆQ@ڄV5bTʟ?k}MHrnĦaybl_0WAHPVH[(qiƌ8bXx>},K ݙ%#6NtP 1q `6M8@%:^Μ>^d"~t2F9 gAg^9!j+࿥K;;4_xo ifGpQiDq `nS!l &*tP">kM/ԨB^ ǚ"mC4D,A8R.wܻܽ_C UԅjtMnì>Z@$?)x/#y?|1.8<:.3VsRn>aW= D\Ah}:{w&J>ۑ%wB8hY?aP*>)t,Yh+o^<\oB"aJ'xc {|xW?/סjH Qc"iCv|{%eI"m xn j`MըE`TvV`=V@xZT [ҲõFP*⎄^BHv"2&cé, 48I/52;>w]HvEdƝ5U^S=ygXcl{z|L#]裏'f+9xѢE4:zaU`}8kx?bXqh*q`Goz1b7l{V:̦8 q8?9PX Z3v{J-" d]Lr^PF<<ܦ#BK5u#GQ3z~+_7"~RAu6\ȅׇׅy ޷t]k,ֈ s1`6&`%A"QZw 3;Wf nYthRZ{|td7{*ɜݡE&ςИ>}:}_<ɴidD8:a,>,e&RggӀHjX !&K hBZ#v%kL7M$DyfE3[tkN1@ZŻ=Pݖ-mq lA/L!.d&g0`"!AXO) D|]>Ч(LN6ŤjMʎ~@6f=NV~QMFqT %G X$ [6;M9iSnܘ;tn\( ̸i͛]ŝ lЏ2t wg9: D4ˏ1빿 Cz:uyIB\!EhkntEPzBP78IS!24 DgQr }.rr#` ;KLC kv1t}׉'d??|q6_.'|V^Mtq &~qxK/T>W>Nt}Q:$DsBCBþx$ Aw ۤ#v<@`.@ZH`wP5䁈fZq 5v۝ ں4NqQePG yEB3 HMhO5VJTZ<2t$z/ܻRrI&D B IDՆ ][z.) R_5,_u|̥n> eY֏66%e}Hlg0bҕtX ĦHtԈG5(R{"982^c{4ZaDtB(Е"]u$Z L0JG J(~AA5`g^'~!_@LmU't D4ۭW97yŋa@T!(+F`!}eWf骒 ]B 9 u8ѫ5%]׽4?-e P>chPWc4!*kŀ6 j㊛,<^b!Fy RRe9Z>ꭐDVjTw$5|z|L#]JW.l@ա*L& jSl}a\ @@X<KT q, q TG43vS7Muq-W4wVE*CqGTźqX $/Q>=ZIa֊ ?3j F͘<&7Տ7j @*V,X~9*yaGBq m)QYWWD`}o cCWq銵9EՕ rc6d!+kEt}iD7<`X,W(CBz ^znO= ,WRC {M)^OѫS#//:Sѐތ| HWҕF`:0洅&E&RD1Lm_?}0I" ]jjNG{cP dQo>&NμMx0ji6cN vTh@PD}VN-󐌜& a ԕ#ݤ^Nwo 3F rQ+EJ>jRI~Yڤ?F @'TZ YdUD-yя_ D\m. c@\][X`9"(q%Bu ݵ݉}Pd5Pn2͚"@hXW&uF4et!ڢ]h2?{D"" I?KJ#j|>aaFBqlhʃQDmoVDo O1t+]hVۛy&HrwL&L&z>_/;jX; hNhXXsƸ7&OH> vy EѮvEL:W[[YmDDB[PWCt i9 Un\?Bq`(E&.POP6(VrNaTpcyFpSE7o,f`qs]݀=mꒀZӕk=9ėvI"d -+FiV`7lp6r-G]Jc (v|tPSDAk yHs'K=D/vU \-f ,.a9ɤBT łR်!=Q[yFH]oFcbJWu,$db (  GDB!jޭWh ZG|SرZZi ԟ@$rJ LĖ@t+ tt0anru~#u{EPy;E:lMu? gq6"LF7l7e躍ѵe'hڒ_6+rMӫ׹R% |(R d@hȕVnED,AuS+7otAZ0XBs Ʀxo6jyP#19γZqŕRgX b"`|P}VA^;.Qy; z =Az|L#]JW.uwo4 ʻѷ "3D`D3xn7?M{#Azu{:$A$GjOr$T"zC@gcnɊN?pOM A <%K ޱU˂*яs`'jbu<)V 𱂠r WubD.N:9MhT(Սc?7>,XYa{kC3З?(F٣ _D#5Cf["['bcWz]zOӂgP_oX"@`U5zh{ 3B[#`2|Ju|+]JE#쮽۠woc!$Z\wȣڃ.ݏRh!qu/:$o yL iĕڛ@Ph% DJ<˃vءi#@]^vE",9cScS"O xXܻ-ܳ-/:;+24GcBHe#D{2i;#B-VG Њ"1 Eﳨ^4g-Jݸ!@`csa=P3cSIV:D)nF+~chZsxc Q%>+t M ^0q%ZqiOP|_^qbQ)+CjB{G1t+]hvsd;S;1L L|AzrH wx @ChnVaX1(GSiр/DPҖ?Itnw@s|)~u`qjA 6%I y%ef!Ֆ>֯/"jtWU(wT(A"X1bd8eqf" ` ,،AhAHiF\@nBt @55x1"ð^=Bkaڤ.SLq`?ZKfNB.Ԣw/Ѣ\"B#"ϨBjѨ)DD`#zK1t+]h!DwDL"k'"" mr\Pj{TDCإC@F04S-hˑ61h̕@<@@\!j(b_@3*v mBzJy.w2(=+ 1׎Q7,[DF1^0f eX(M[籸*{, :Zi |/WDtzEU$]?˺mw$ +BZSHŰ(U]`#UX=Z'o&7i>Zxs]bjA_ qAH%>_Q7EV`T:-#ٓuusV,NJu|+]JE#v"d Hd@oJ{y䏻"|L"oETRy$/BZ7Yycep!^thC LiK"2; {A$0RD :xnQy>? 0>DԖY<j%t=z N7%Eh}PdDyA $A"?NQwRzW"v\xb ,U!}guH#t]dq7!]QGtmYH7m fn"a݁?7(VVqA~ &E6p`ǀ^xYI'-D+3!Wv="qroD0OoX0E`@ G2 hgnSq={GK|nze-Y0]YRW,:$ma%B]XGҕt]4kω}G=(FSxCL:< }]gh,CmGSwQ-1XƉa0|m#;s;Pg"& BKz-ǤȜi.= t9RTж̻C q.D`܊r 芳gp^G6&>pqmv,P-fE×3~z}[@w0w^CʈnMjzX,XujOp<]VBEwJ AOWHѺ+H;BumpZbIM>m+|CDA@AP}" fevMZD:J} {B굁HB IןA<7'i?2y/<#10Ng`޹lhut!U8.DMUqM:>ҕtX.&7ė}iW{4M1`(󭼫g 0%}YD :!P~rW"P hFqq,t ް>#" ,)^7+,E Cu~>j jL#T:fJ/[ϣD* i)2 d Wv_r1`[e.}C` g à >UYph?1HWҕF`ﶷ{w4$ Ŏ8v1q|֨ @ (m;srkt/cD 9B"A؍+i%О\ T&'G%giR=RtSJQ6%,%TƸg02nL`7"| ~5 *)Rߘ5H,ܺ5KUs&`bS l覍8Td:ubG%XФڐrD  “(},3"b8ju5Z*ߌQ@V#=e#VJ cƼ@ecRy!cJFgXxDޒP=,Ҧ.U˪MJu|+]JE#PvcZTQDžRRdzOI@?ЇLDh |;: ƺ$[kǺ- Ks27$z͈QlK5詆,~2zHu=@j7`P>)+f㬙$!}/o~S(/13`  L67e'D~;u0,Y$rNSo)e']ׯw[7 uw3<Ԛg}0\Q][8(LE̺8 B,{))CX!I*p1VKYX-pQ$d*JB9,+^bG*s1cNaz|L#]JW.vuek !Șnì{*sR+D#S3 եChd# *-NFpő-;D2+5*YbTWDN\8nfϦ ݼiT9CAdDlm҂gK?IzmX[}x\y]֤Y BDV..v =!-偼8IiALY;~a= GHWҕF`vP!HH^pi!z^^ Cu]j8;t޵qu'/? z돂穜ɣldgHk԰;G vZJ)hmi k[kOwe$uU3}x%'xwg i87r_ %%5k໶H1  =_y_Iz6C0j%#n(nYH~vk cq">5g4;bWNRwU"U@ Ɏ'#\u3b"ix :>ҕtX;cՎ֌T+RgMDL JERezjChqHZ9FXÚ!Vyr#=.vL̷C* W$ݱͣ["7ݡKzdu@X,ߖz^De9e}uKgC% p5*X1JR x6 y[/+VyBhr-3M=Ӝ+FLkvL ׈vMy;<5j"( V`uHpR :St*#W{֏AWU}Ĥ=J֜A+<7ҜG>ns[245CϷeNW] +Si.x8c p̘SRU=XGҕt]4 ihvgqI^ kG=tTa~d_vܵH0Pew[in&x7\zǕ*ž)Wڬ!0;*[FtK63֙\ҧZѷ4ԧo. }sy$닑 H_3u%( mSG۫Nҕk8֍8qJ7;s@#:f!g%cϢi-,Tr27nF+hAmZ$h317k F5z5)]_5ާGsp냨O ݖj189{ EȗMo,fʯ9Ge|˼sAz0bJ7|a'%h#WV.B1qt+]x"X=Z>u&wunxc_T;u[vRPa-Ů%鏱;$I dVicoxDݶ5OW<#2R׮50\իst隷\1|oUwto迖.Y7R?|kOתW:ƍqFycsFF 3; i TTXsYl~(/Bg^ gw BIˡ[ MG#ҌM!MihrKgҕtX Ŷá]ȢzKTz ;) C:ƃ`}meF:/CtuEm#OBR  [Mo'& fghNGvD|<'"\[N D0Q#㇨ q[ EÏ40NbSJ̩C!;avuoΣ5H^+,=ِ#R84, s~K/u;d0h<8\Ǧ R:1Y{e:Lu|+]JE#0Tv}jpzFiG3\Z{haL[RԻuOi^G.$T$=xٸˤA+CQ7HRg"$Bnɑۻ&(onq.q[qM]j9Xu@'RւT(זq-P~<|o[TeY&ORk< .á!U|R`}w0+$Z#f^U)u DWX߃B>va]vٵgV('yW=d0IL DH||'~>m3?p%]< ] 5 T@(a2#vH`X" ЮC!BC,ӭC[|קte̓o_3twE7>I7YlJ-R]WK:Vs%EEQ L5E[]Hi:>D+A]G mx25ZG`(0~ ѧÁ8:p(\Ll k!>lP-s1= liGo0H1be?n#@8֦,t?"bZ->z'"s@\hu[WƠ&yBhhKWYh^.3u̥)%F%G 1?g0bDHe܉ i{G Mww+>&J[Uf${K WG@<() Kg1}!4T\xϧ ,C0D+sfcw➐!SHaŠ.zguj:R|XKP_߃TXFُPSC̾q㏅T&5C3 dN@hq#r:-8XQaU#ӨܙCX"qNoLgY`=KA;lˮ=#Χ )bxىD흈S˜tS 5\A=s!EE|(вO}J4.tKMH.$G㫎.8. ,Կɰ^ mwqhoU Mk" 7xc+|ldAZi#]"/h`BGQ':HZto^#V,>vtEǝ:>"IR8/,,^A,AX p}2C];ye|` B[-:y_sN J&ˆ֌x+KiS,+cXP'=5$΋g>ϺCg{YW/#(=<@VDhGtg,^ˮ=#;|f;y 37ueJk>#Ut?d.}9?Rbޡuw#u8N4c 0`<@Ctk|\w)^ 3%V 4pzbL^Q& Ɠ@*%ǯo3 OE6Ք)oo NG/#5Uu7CueYlʊ0:Ε野?#Eꞈn2Ӟnc>$3RjuEdA`2V9S`=K`hf$&UU<9 d,&sO .YX]9W'<9SOcW]ve]{e-(MݙIENDB`src/site/resources/ref-output/png/TestScatterPlot.png0000644000175000017500000002111011331616417023537 0ustar giovannigiovanniPNG  IHDRXXaJ"IDATxk=[{έƅÊbB)!`¨(ƣ3>B&[/#%3u EsA}}lǿ&񯏤eY_z멧?O/&bf7N߽9kB/Zz4kf~V~ŲX unuk={ba,ŲXbq9O&'dY,e,ϨVX,,ꭇ;bY,e|ŲXԢ&cwL=ba,ŲXba,ŲXba,ŲXba,ŲXba,ŲXba,ŲXba,D.ۘ?#Ih3AOUB44La?.V$bZZ>Nju/ygXE}CՋt 2Y/Iccyԓ,R/kXf X'kZXbmt0YX,1Y e 7??>[N5*=bY,e,bY,e,bY,e,bY,e,bY,e,bY,e,ba0Xc$3c+vnd;/Ey(kIt^Vd w,(`ݺz%Ϸ  uL2؋'/o2 uÀ̾`մ:T/`A`aO9I27X`ptCRu65YxAji\|9.]K0X  u?$Cc1r7=6X]۱c>Er_^xV `Y   ``a`a0X`0X,0X, ,    ``a`a8ru<*`1X`=Jo5ݷmCvo6ͽڻ\ VP/Xlt#\6yegŝX ]`J}/Ѩo4=~4.Px2X0XC  ;2  1X{w``a2(P}yj _  w=üN`u_i~~J)?Xi 6fNOMM>s><`ј`a3:/ 9fpWh0X`ر0E#t_*ro9\{S1>> 六LٰWܰZ~v}zn++so IhlJ&\F!Rs2>Ƕ")Mva|=V Wmat9 Q; mcyf<jYLu6XS1>=>oyvyYkLFl嗿Wފ|nH#VǛ#V9: fm<$oa6,Pc 6{{mXu-2=ڜȁ??Þ΍s!>a]8//6,ٴsV JaW` Yj/zqNlXURI+s^809'6,=L9- cx| Y ףsbaذ aذlX `lX6,`aذ ذlX6,`a6, aذlX ذlX6,`a6, aذlX `lX6,`aذ ذlX6,`lX6,`aذ ذlX/a=}4zHX aHX aHXKySq:OA::ISqcY T keY~ CmbffZ‚3HXYwsF~z~4[ϻYWo;H̏<=$, ؄u}\Vڪv{Ӻ7=۵yӑnDir!jiL?g'ben"֛0כ\%rkLp=ֶcVϾUxnŅuXF>oYu1n{?u5ƺii7a$;$CX$݄\׹|}s?f7c>O*.ף4];uaG;5i; k8ۏc+r~^|ډx;m7v.?F=^a <ݏOnSk'a޻ @{fzyi/~{m^&͞]~ _Cº  $,%$,%$, Kw%aHXHX aIX8 $,@zqgw6^$IS{ $,@zAi.aAq}n'4%a n/VAQFv^a,ҝ󦦦r k{_$ kb-FCB$tXHWV4y-AHX/s. a9 +t/$, kʵeHX=[u. KJ(aIX}ۼL* G =HXEWH$O$2 MHX27\gP:cy$OT;Qӝ$/$Lcyj8jǼb $,%.@\Ϊ_*roSHX`iH’WL$, y'I K’V$,@’ڐ$oҷIXgvWxu~U:W JRavokZ6^ՆVWc8 VXǥ) $,%KoHX$%aht$, K’$,@’ K K$>-gb,a+ijlKr k聄uFj\_vʚ\X@ #ǾZV̔:, K Kj~V$, tX aIX%a aIX^S$PoHX arLQ~\7x#ٰvO 57c=릨m&ayV/(TtX a+! a+! aIX aIXK +_|g.}Qa˻+-IX|w)uO s]>\wyGZ^/~c`PHXHX%aK%aHX5&ʅ_fui\jzϭYΉE 1cG^"u[9MQ9EֈZKjK1R/u GzǺ oצKz=v]zwas"az3sgZVs9 1X{]$|~ƃ˥ XldϚ[Gڦeݯ?s]i{~nS7_m]YsK+ڎe-63x߽8U: ִc\kh`5Xx4`ϱhhǏq{jh4Xh  ,rBh4XYo4^G#kj@ɴFԳf~zZ;87x hx5z-/pe._.]:su.gM@>Gസ`WӌǕJαWY-Li9 4XvJAHE,h:X h` B,4XBh4XVFш4kiά)g-0辰t/j4<8-o75X4ώXld_ӟu.g hh[B?6,4X\֓JIr#77ZF5M`H`Y`@B8"@ @ ,4X4Xh<*h`)@ 4 h`@՛rLOG/sJ3`Aqs|Qc GvƏ?x@'`>s9k@Ŏp$H5XѨhDTG`9KSVLYZZ_,NUoƷ~wvwܱ|駟ZCfgg?J|W;4Xn{K`i4Xbh4Xb6X@_*ZC~_kqh-Y\\7nXCm-`h4FYzъ,kz4Ҧy04XXYz>݌d~`vs&{3 13D2<@C;?BlOkK|L͇>;b#5llc=#_zFj6~>'hGڵ/5kˬ͍/%=xp$l(L{MJ,c&n[?3 ,8$FonFZjԛi+4măfl1%͸{=cQoV;[04X'=QGY @@``h`h4X,4X, ,   @ @``h`h4Xh4X,4X,   @ @@``h4Xh4X,4X, ,  @ @@``h`h4X,4X, ,   @ @``h`h4Xh4X,4X,   @ @@`h$M  @ @@``h4Xh4X,4X, ,   @@``h`h4Xh4X,h *<1t:nO/ DŽ7k_,<˷°s2, ˰ ˰ ˰0,2,2,° ˰ ˰ 2,2,2, ˰ ˰ ˰0,2,2,° ˰ ˰ 2,2,2, ˰ ˰ ˰0,2,2,° ˰ ˰ 2,Z~nxkxk5&XЯupz=رǴZ|NEp:ү|Z5N _c*8 Wc>Nf x2,2, ˰ ˰ ˰0,2,2,° ˰ ˰ 2,2,2, ˰ ˰ ˰0,2,2,° ˰ ˰ 2,2,2, ˰ ˰ ˰0,2,2,° ˰ ˰ X0w_lj[/"+956*:گi}qWdo1x}6(=f~=/ޟ#.xdWjbzNu^,??ٹXbabaX`XX,,!`XX,XX,,X,, ,  bbabaX`XX,XX,,X,, ,  bbabaX`XX,XX,,X,, ,  ^6qᣯg;79btko>x9̲X}ޗޟ?' &?>t{u:S)}}zyPb/~~L/UX̺XOb 8s|LX/^F?^<\qߨ-S\\C{ w񻝋okcTzd,  bbabaX`XX,,!`XX,XX,,X,, ,  bbabaX`XX,XX,,X,, ,  bbabaX`XX,XX,,X,, ,  bbabaX`XX,XX,,X,, , 2,  bbabaX`XX,XX,,X,, ,  bbaba=zW,BX|NF!z>=˫EH+|O>|FkZhyl~1c CKzt>|Z+=ז{|}6 R|z<0}mC˷VE`ծ׾HjkϟX<-ΧS"èr^NnOU:F><$zݱsm98.X %ǟa}"Փwq5,@`,,  eXX X @` @`,@`,,   XX2@`,@`,,   XX X @` @`,@`,@`  XX X @` @`,@`,,    XX X @` @`,@`,,   XX X @` @`,@`,,  XW,ϧz>ϧg]s/XЁ^?::xyO>|Bi{99R` RKJ˹byk-y%}^a|Js)}Z~6^.]Ooz_{|rzϰ5oazc׋ s*jkվTK`\k_X87} /=v_~{~r~sE-͟W;ngX=xjY?Ό}X K/׮k/okGz_m{8p[;O-F>'/vj%{7qWqf8^Os؛O=xh1|>XX X @` @` @`,@`,,   XX X @` @`,@`,@`,,   XX X @` @`,@`,,,   XX X @` @`,@`,,,CXX X @` @`,@`,,   ! @` @`,@`,,   XX X @` @`   XX X @` @`,@`,,  eXX X @` @`,@`,,   XXX X @` @`,@`,,   XX X X @` @`,@`,,   XX X @` @` @`,@`,,   #>S Dg,,n^oq{p`3,' Vg >'zi+X_~3c%\4zKKR,. iEsMjums>/6vhs:)>Χ%0|=Wvqұ[_Xs/X^o#?Vحrϱ`[~] ѩ߀|Cz<ķyo0-k)sۂĦ>~= ݖ^ܡcoknKozjynXi{>1ͥf?9osk s)6WZ%eO7Y+ݖ_;б?S;v _O?^j׎5tO=nk>} ցsksz}g΂u7, ݖ^ǧsl9ֶ1t O?_7^/ݖ^ǧ3o9\jEs}G;G{:3VwdZrќnSP,kG˷tf`7dZrќnSWpp`љZ& Ȃg3W9_`(X  ``(X `(X(X `(X(X ``(X  ``(X  `(X(X `(X(X `(X  ``(X  `(X(X `(X(X `(X  ``(X  ``(X `(X(X `(X(X ``(X  ``(X e ``(X  ``(X `(X(X `(X(X ``(X  ``(X  `(X(X `(X(X ``(X(X `(X(X ``(X  ``(X  `(X(X `(X(X `(X  ``(X  `(X`(X  ``(X  `(X(X `(X(X `(X  ``(X  ``(X `(X(X `(X !(X `(X(X `(X  ``(X  ``(X `(XLMH:mIENDB`src/site/resources/ref-output/png/TestRenderingHints.png0000644000175000017500000006755411331616417024244 0ustar giovannigiovanniPNG  IHDRXXaJo3IDATx |\UP_Awi"h ]qDwZTQ5*.l|YudH*6` kePJZRwVb%ZZB$&L2/޹3﷟ɝz=s%`EPX/,˲; /tk~Dee(I,ܞsSD㼸!Iܗ$$nzzg#$ S6 )w /šI`R* 嫶MtgJYu[.k ݦy'zd Gvw ' ;vzǏ~Wfff;餓4SP!_prTTTM7 :da:[ZdXr:̏M OF I[r5+`%-ɁϷI,4!E )|_:>+n%0V+mae*T$5%`H3泲^y*i"EC!!߅2 z.SAK+.CR4hYhxL9^v2}pNLu$kM&˳ϒ1Y]\9r)lWeW͚6ܴA?aVXfl|+ˌTߙn//>M7=8'ϢUP\hHHѠY:8;cM2c>(S4qցV4X?S+-K1zak2Sz/ /E#R[=o_+˽*$3 NmM nKtw?ݪޚUVuy,>nᮻO > 6T $-[WRR4[*r/#EuWȵ^+߾뿊u:kat.b8rz-iƞ#;9'>]0)R4hH),']e.|%cJFHA+Њ#@+eEI n·%"Y['.C )R4hH`¢(, ¢XPtIX޴FŢb%X10Ww>h$g:Wi/cn/M/u=n5n3o9@*U켢AC< îT, tyOt߭U߾pH ].[/(< iv'{'J^JlX~W>C-"ӟ2.; /G\y'v'CO7ģϙ6$Sc;,'~|H>',x;d211:32sҥ(! *y,g -[r ;vk(75WO*H|mtv}  /02`d]j{$Stp,1>б`o bM<P %=&,5\]D7'$Og%ߊ5mOzwE'&bltf2h6Sah6C @AHN'֙gvyi]AL 91nNU[!P-3@}*,ϒ>ltCh6C;m4n %^LǥM5^KhP"B͐nٌAf3<Lf3T, e_2 sCKI{2M\;W9N$s\VNyӹR,7ᤲei5]trl*˺bltf X4ᩰ` 4bbPT,*P@*Ph_݋y[c|+_7re]nk}4%tN$fXRf3T, T,*lŚؚlw/eihrCŚWNpcɮnm> (3MnX6 M'āpѤ&75} ⨉o>PY&7T,(VJ"μjO3n4)W:6l/f bwO3"4%t$fXRf3T, T,*tJf6ϟ/>_nDL[_dgV+,prɨaN*hSbe3RvS&3ZT2 58 TdS<*ռNlf3^֭ߣ f*TW\6fP+fB@^Bl&}fh6YŢ f<:gVf3TXJD** bkڒ>'FT۾2twX^2lҺI1*gmf_s2$uRiMqTVyX'IDnQnn*h[q9`ޡ{)5y׻-.fʪL̒*VѽṪ>\&Oȭ*^KZط\4Il49v[ILK3/vQ׼kݰcp+--211!G [6Ȇ O X+8<Q#RQ 33uSH7y,bP`+V15ɴn?g )4JٌLn^V&eXvIQ'm,ƭr:- SN͘VT8۠I+ǖwX61]Ӗ^؛|.el*II&}g,NTTYr˫f3NN.L*FJhndA7CiLҔJLySHMf+f bw:Vf3TXJD** X@b XT,b T,bP@,(Grə:]ba҇Y>u33 X)ETl84"p X@ ɐ5EYt\z 뎡,$e/ȶss2zycV9ACO *1*R(G̺8=zOnUP^Ue?FYxdEҽRd}}}o߾شP(dWUbu+PnN_ iI, Br/Xz@>-H&1; Bn208$K(DM(V:K^_ui)c ^w5WU5a^wh{'Xo^"tT7wŦ5[ ^sq@֦ju6v.bΨ%t3I P:ԿO %\&돧Y_51 S 3<խIE,84i|Ȃ5{9vBFKC Cd#`YAG[cl3N\dz(hݸP|; 葰 Ӷй+54u(:~lQ>!뮻>>>38cqMOϣѽ -i^<#rw˗%?,˗/=yWRVX! E<}/~Qn6V2wA,o9v&ozӛ/x- |;/oQ^9z  XVO?]:,y/---r<` GݻwWUmW]`ve, &%I2н ` X` X ,`Mۉ˱IIyoKݠ+"LL*ֆnmrݐ0: _Э ,}t _] Eھh/dͤЭ @A=Od[,ET ^t/b(Ut*Xн `*{ JR { IIҽ `%t/`!X Xǂ{0t~&n=N/ݲ$dچ4+˅hS#:2 Id3YɾOKNSs"ljGB Kwet`?77. ``ѽLehNK"Y XV;/A,Yve, &%I2н ` X` X V1v/3s6]@9b^d۩I7(Gb^&[G@`A|,,н -i^A2 { *qE2E2"tҽ `AѤ$^BA, , crfy2;::|&M{prNi=4WMk~tmR͟nLqEvM5LI?_`ܥLsr+z!"@Q dQt`3gA2۟${/--wcehNKrbƤ{gyF/?|H~7i57KFF, *jU,WScXJ,9vlN'bvӲgAJ{ƹNg~N:IQK?Rqry---SO7?~FHiJr񺗙~V.{b~ɕW^)Kw,뿕XBE%':I.ovy`!X9G<~ ߨ8A><<a!X-@2Zerڽg'=Axy n1+n,ɾ{T:JV:mc/Lo+,sE2`34)#/9w l 8@ Ib&?=%Bе -i^˴{2z8Xj,]j%SS`*d";{e -әe|rcEޯb*1T733EҽLS׽~}ŦB![[rsVH5Mݍ`!X{$pXuK@,@0AAj}dۅL[Dm;EF$L&93 i,N/:>vxAY=ziaqꮜSm-.d((kZ-@^ehNK"Ie,  X@tҽ `AѤ$^BA, , E/nf~ȓ`C2^陸m9=«2LN/LVk3=7պ[ȳ`R2&]8 \`NMMeۛd`5]'⓪<="=r2NE)WĘ8']\ܙX:?nݝ[jZpXsWuz`WZ&C2t{ G9u-N{ *qU,I2"@&^BRt/`!X` X`` X` X X`` X``%hgdiș`e+V^,G5t]7i}+tJRm#p[+2,Xl?"` X X4/_.k׮$"2!<<1btX*pv\z=== eɒ%҂`!XVI A k2gjjJڔx]d `ۣk&LLLخ+rvY; B #YfrQv.kU effF-RScɾ}8, *9( %߲sYP(6MM ``p![@il֙9zIc`y+X4_ȏR;dKmܢ{n7VTz~5B''Xu$ר77%A޽{, B#XЏZt(Z|}bGXt[R{S-\Z, B"X)U?{TTKUUH~BGB E,DbxxLq! Bn`UGC/cFK^ SOW&w탓r`On,V}LlMӃr럜/JC4_cC54ۗ (XQAn8ֻ@(,is8niYtSZ{Gch-?=')=!L@{F !X]>8ZN_>l֝.fg(&s=o|C>[V9S uժUuVO.| Poo}\ZqE(~ӟCǣG#> XcccK/Wr%H[[? kT%/y-@'b422Rv9`ţer-`"Xs7)>O˟KEEy晲zjs9GN9[;<[ُ.@^ fbb.h e, ʊ'x~ܶm|3:y+^aδYT&''Ooe]f 駟./| o~\tE|E~Wx͚5EUڹիW꡹t[ƒ}pXQEZt>*@g({}_~wK*++Mo~i&~ B*+-%HEx1A,0*@o_O}*&@G)ٷ<o/|Aw˫_j9餓o|444CܹS8×c|ܲJ U-`̉Kz;,[+믿nPkt|``@nfijj=WW9,/G~/-[ U1VqcElgj#?#X%t,uWPq s[Z+:o|7`!XydK-D=FK=rƢےڛjmb`!XҩTTL٣"b\B ߸"X`Pta[2šC, % X XxJx4$:8Zu֥E 6H]Θ0%~;A-F돟/xÉ8>7hd(MFb\>(:cmtVk B %>r=D:@"`c &OkZR= gNZnk6۟DIc5v&8؞%|d?EcrF\($ Baz]kq9l;zޝiw©7wgR䛦R>vZ.@$<^c1u8i;D '|."IۙK?y=wSGƤB_ݺ'Q{TE6{6;N+Y.)I}B;'?a$Y]uxzDt݂G ?d.>:y^.<0ƯA ހvDr}ͱftV~wf8$6/(>c244$Ic ɠ@h P`@ VrZ|]9*ԑH. aqEGJG|niA,؅5`ţjkkSu-`"XU0WnK311ah e, *8TʏZFFFd͚5EUڹիW꡹-RScɾ}8, *9( %߲sY XVY o e (ZfA١0v XE\.ˑu+ȖZE~*n>j#?#Xet,uojkTҒ Xyc޽`!XdK-DD-\>#g,-.-f`!Xynij HEŔ=**ƥ*$~?!#!`n"1<F~F('Xu$ר77%A޽{, B#XЏZt(Z|}bGXt[R{S-\Z, B"X)U?{TTKUUH~BGB E,DbxxLq! Bn`P e:fcihcP"u:rs] hn`2` XƢjPN`:qc[we<1JLRPȍ8>23ӷ]E  ȗ`17^^eϡP@t\/UF҂`!XVI A k2G֦"[D,`]3 fbbv]۵R!XUpQ`Ț5ksYW4Cs[ƒ}pXUrQ,YYi)AJ.~e6A,.v9q(-TQ:3'C/a@,o \ #?W -r*UXQ!}>F~F('Xu$ר77%A޽{, B#XЏZt(Z|}bGXt[R{S-\Z, B"X)U?{TTKUUH~BGB E,DbxxLq! Bn`P ldߧtddLCgt|T]7@ VM.ThL*02'"xjGnީ_A䔜iyh+cɣcEf"HNv9AAfr٬]܉xb`euqG^?u&]]wR$yIKC,$؅u`駟K/O'͖:`!XV\=fcǎ)uP+;wm۾(-`p~XoI8(Ӗ\u%K^jxq5mZHe%``p![@w[g#q[fA٢[- i=c*fH5-`|!?Kr秞zJPS#~R=*wI`0`*;_&&&뮓M+ W^)_eǎ=3ròd÷TUmT=j?"X`TC|_ӱi۷oϮXP??V7'i`!XSvyQs;U +_O>[{'|RffdHǦH`!XV~Ke~*~ޯyB, ` X` X X X M5|a Wn=5qdTm]ӱ 31:e*O`:&xіM2fT˚:lɺL1x=u6 Br.X/^Xd8l.v/ˉX,'DJPRt'Ansqc2F4yT7q:yl,'E:e8yq:2}; cLm9uOnWl7Eܜ'(#rz-2,'o0SwF2=J9M'{4u229rfn`A]9>` X` zHuu-_\֮]!]]'H(T#;3*]$* 鸢C3>>.K, BJJ]X Vj#?#Xet,uojkTҒ Xyc޽`!XdK-DD-\>#g,-.-f`!Xynij HEŔ=**ƥ*$~?!#!`n"1<=*Bbd~ME<`!XV\=f,Ą188h/kC,P)?j5k(UiV^ehSHM%,䄣XR\~elZSSc/`!Xe)X=\rH/-PZhufNe^؁`!X #p,/G~@ [jkUtB|#9`QO։I*QonKK`E獏{"X`G/Qp6R趤Z[!X`E) S~$?"X-HСC`@ݒ, ,  *G8,AH~nG6?IfZidžNFvS&0#A aL+џݎl*&NtT7wln"^^왎TvE٬ *`22Ι."//d2q^ds8GL",дbq~:9 btR.p-ڴܔp9u]&74*`rɅr͝SrSNu3 ['kqr{Cl^L{a3GB7̦<3s>~B c㠓ܘiB<[捗2tزMiNω`yU߲}  Xe>EQWBI  HЛG#Mkv {PPGvf UH.`UCqEGJG|niA,؅5`ţjkkSu-`"XU0WnK311ah e, *8TʏZFFFd͚5EUڹիW꡹-RScɾ}8, *9( %߲sY XVY o e (ZfA١0v XE\.ˑu+ȖZE~*n>j#?#Xet,uojkTҒ Xyc޽`!XdK-DD-\>#g,-.-f`!Xynij HEŔ=**ƥ*$~?!#!`n"1<*Q`yjnfLLWt7M qIf M]2*,&t`˭GL 0X G,+ksLtj@L126XnL\y,`r@A] To^Ԓ],db’+rªnE <+ Vb}CeefffdddDdٲg[6k0B,  MyeĄ2[mrJeڵ)3vB2gd0X,  Qwt 6`յKV^%KXvl^L `a0dJ`MMM1k TO6TPfb*&TQѣb% VM5  ``J`_FɶmdmvnHN=sΐ2Q>:;;&4GMRѐlپ6ZU\Mf=)$w[?L8Ǐc0X,  U:/l^6Qc@$G#PY_qYvKd! `@8YŒ#`a0X,  0X, `J`MN_uOzL=P!2_ M''|cvV w:!8hk!^ddžW2<+ ]({Ba'+#:1bмywl\6L"@{:FՔyf^~On$^n;xwZXB]κ DMm6hl3Z2`f_#7W_iohλG$[dHe(> Qk5/2Xl{rn^]<9y.9Gx=v|`"N_lZph Kgc]geFB;#oC>f[nPB3/ao^z`3&e:j+ m^fi7rFu&! 푬JT:I͉mOwOo9vº1TCW`վ^IG4fSO7Xq&c4`\z%z }2.;)Uj&uYΐA&~]Z`4;ͶSz+LabfhF}p PkT6E4t|55:v>5ᆜ1Ƙ HyNܛnLNN&Fx:۞ٺs@Fq6fzT:^):vxObULIowN| w ܯ25kLnS ^k4)̯bۋˣOzް:6s`4á~ %L286Hggl۶M~|3 .@ oxN8A^șg)w}O|/~Qm&?OeppPFFFdzv=j+˨jmm}sz[*g}mN+;So /SO=6uUVHu(j-2abbB6.[TӔ;AB!K32`,  *"z)y?|{ߓkF>????9#zի}E/׼5wwG.binn͛77,w_r!rm瞘峟mtFpٲe13Qj,#+6XNq%W%K,;w/& `a0XEүDz!E_F P6@Wڐ6ioy[^>o7vM=ON>d˿Kۿ[y-??koH>U3fOo}[6KbpؒF~*e|ͯjik3˷T&M/kMMa0X,  ~5@1ӟmt :D P[mu @w&ۋ1 6TS.Y;e/}^ӌ=0i9> #f2uFM']|<ܼVCyTO֥83Pu`,0Xu qT]_/.I`pkF>9=N\6mv掹_2#Whͱc>f[nPB3/n˻  LKWsu,205r\%mNNү='ě2dxZ‡IJl -vuHӡ΄6Da=Uisس2np-Oo9vº1TCW)kv}վ^aM`,; Vܫ杩5 n)iZkgtZ:7vdȌѐplcwCˎ$f gwV0X3;@\&K&299^<`t~yfɦ,ɄQmБT v.{3w[Gg] {d n{R:d ٘Ql{=V1=&A_¯Y w0X̯xC3u;k)ncsY?ϼOPۃ &OcfB~J8M)+{uM27&a_um5JaqzAyژmcNWYO`(Aٳg&={<p5X^5bҥe%X˖o^tH4.RPq_xd#,PC8*++Ǟ633####2<<,}}?'˖H>ےY`a0X, 7l,&&&j+W*T֮=M$9#`a0X, `Cg]z*YIJ3`{b0X,  !0*cYxuui3b%55fqᅖ=`a0X,  D[e l5PK, o8a0X,  Ca-r%ݳ Up~cU茗[1X6iz9^kj S`a0XEa.+]茕΂ʌ֠TZե6w@6~N#(zxd*1X,  bk'[jkƊ E fVCʞ`a0XJbD5ӆK/'U (3M~*Qْ@^S+M&uwwG `a0X%h/#d۶mq6YV7?$zD9gHv_vwɣG&)hHlb-*UѦbϞhw-y^&1X,  *W]YVmSNѱ[E ج¯b{d,[\rv;W_O`aD sTbIɑ`a0X,  ,  0Xf2 fL=F|o]67wp{&eĄy1[#|3Wʋrlnnonn4Xn5ed^0c6{ Vγ,^,75&+36;c3YSkW+gfKs&ᅱE/MOU6muVr1`n2Xɦgc2HWN CS0X(U6 7˥Aey}g2=47EvY? +g&i/35^Lg5C, [>Vvyf, P`^Ԓ],db’+r«nE <+ V~b}GeefffdddDdٲg[6k0B,  MyeĄ2[mrJeڵ)3vB2gd0X,  Qt 6`յKV^%KXvl^L `a0d27XSSSrAeڡ?k6RzY.mV,.В`ВG1X,  "h}amjɒ%"Ph:͖6Pz]'  `a0TB"{ѻ_J./`jitK͘n,Ri4n55`a0X0XP{.tJgRerkP*u-R@ `?oc<,  E VDr-rcEܢGHtءB^Ueϋ`a0X,`%1X^ۚiå Ubئb GTlIEBj&m𺻻#f `a0X4X}}}m6ٸq]SO="3LvN ѣGmz4$[ojתhSYEgOo 4ݻǏd{~t~"tӽpְdc,m{ynk~dZ6X<^gWܼrzǭʶ\\G6+4bJ/~1 7޸ClU.roWvioYvLN!̓O>!= =<$o_|UŷTܢ;*I]㓎;d  `a0Xmuuɧ?"~嬳5WrWDBOﵿ;._^yk{bE\tї//}KW,  bNPq+/#^"N ,  ``` VuMڝ?O6:nfqbo7g J;p:izxU7 2x0nm;=4X6yyZ P+S슛\n_5WٖF}26&sfA+u浩ׯ!'`esYU.PEfkZ8lfksM]AKԔc`͟^hlmO0X8l^yz|\l}> V.σW2+Ebܶr\/F6۽2OҸ=ۺEx}S~j \yy^37YEfR/oZ^l;[Q;\G6UW&ٜ6Xƽzfs<,``(ڋmtKZk%LLX23cE.["QXum["ѸHqC}uʟ@yRc{̌\~,["9lKf F`a0Xܰ)Op`LPfMV\RY4eNPR  `a0 cl||\vիd΀݋`a0X, U@)9x2F{П{gFֆቶqtl(Ab%\R;O( I)tJn@g˅] <Yw>p]-x39sVGEJuT66< ]O O} B, r 㝿f\.Ka㲥B, B,a}NG'VOI゚1*4hKVr.4]Nk H`!X* ֤hJ`?о]U*@f\m_B, EӂXBA>d2ќ0[&4M>}, B,@,\3._ۼx#5 ɝIˤI›R xfs$k`!XB+#j598ΎN*++wz_M(zd$sݑQ ZW&LM&bp{R  `!X` X"߯Y Q˚3(/&Uߤ>+kk_doTTz!B B,H`0Y2qFۉ`!X` X X@+ʗNo/⋃I%q/qqq#iFw6͗ XU'7>I:;[iҶ젓c2=MO*Id8wX` +aUi*5 XIƅ`:$e>L+J6_ 3̔tVz|Y @E(իiʕ YN".e\~ع2i$۳(Ã6''ݎÆ6ۨymr!H6L(v1Ԓdq6Ymd+'`<$(ĹRl>Ƒi}$B'U.ۨa3, G}1Qثzzyr^d67$(yP=|ۇ\.'V+^nnnJ|ᣀ!B`!X6"VzC4*;;E:0 B, @h;kZSvlo!٬Tϑ( B, !H` C4btDWGEJuT66< ]O O} B, r 㝿f\.Ka㲥B, B,a}NG'VOI゚1*4hKVr.4]Nk H`!X* ֤hJ`?о]U*@f\m_B, EӂXBA>d2ќ0[&4M>}, B,@,\3._ۼx#5 ɝIˤI›R xfs$k`!XB+#j598ΎN*++wz_M(zd$sݑQ ZW&LM&bp{R  `!X` X"߯Y Q˚3(/&Uߤ>+kk_doTTz!B B,H`0Y2qFۉ`!X` X X@+ʗNo/⋃/Τv٤MD}l0$mKgٶl.jݮ<V\td>m҉:NI)<$}|x7q֬D&6>[m JfYVQ\OWxRA ϳ'qne&"W`Y<=%6Ľm}m|4'Z?rX>ׂ庤o'ݮ''eKkq{Jל9X P÷rjF[|(kk˗> "`!X`as߾(PlVt:9.[*P. B, Btbe0|KZVo1,_.ItpT!X`-`ѡ^&E+VZYḙ䴆}RR5hhr`!XT`-JŢ !2iD>`!X``D皩pxū\LLZ&UO2k6#YC, B ^nVAMvvtRWYYDՃ:>>>nB+'~ IՏ*2ygrhR5Km`0 B, J~UZ^֜TF߯G1&]Y["{{Փ "X`@JɒIv4N B, @@,@, , @@,@, , @@,@, ,?ZeY\IENDB`src/site/resources/ref-output/png/TestColors.png0000644000175000017500000010350211331616417022542 0ustar giovannigiovanniPNG  IHDRXXaJIDATxtTսkӖXry)-z7c@D !rSJ_Hc3h@ Qi."  T\.*EeYFMg&9}>|g}V5dw>;#bY ƧsȪ`J4P?{(@G?D"1Ш:c⇂"@5 o?R&Ǡ!؎3  ы(ӃU`Y(EKD I0S!w`INW2Rw>`x-[g;x7>}e عŎ fZKUљtXI}釟.*|4`%0Y|@uX06u@Ĵ^c,nш7`5gL8?y &)dJ:.VR8K`SU,:PIVxJwjeeN;Xf>ΕD ,?E4)J@88%BtP\VW NA3'@q?p, pp4B9?0`029X :Pt=`&*w VmTkA,s`Yr.4`M2B9Ը20#zbcR$уhur9PV sBݑ$(',}>P~BՈ7`&TgBI wF@+0E` .VN-3p?;yC./XQj ؀̩; å0/PW"AEPˬ^?'GˢPP=Jc$j԰e@L2XLG/jlJʃeK [+uL /+,J"Ug˝ggN8Plcƀ۟XM޻nSJlI|c81L#jbK@E"&>Ht&1(n{J@0<qJXռ$`I<7WE{&L-B+v=2X!,uQKg%3X6"bU t=#?G8`3@0\v]@iĭ2wcK>r17,8zĖ5X&ssDeicD kl®3"w3X6@3X&>W  *EA:lW ֧ 7Xksx;'F9Ý ^|N`n.>9:mUp킅uOno`;;x[G)vG9,F4^$($,jnius䶴eSq,`54`, ^,*")]:ulE*20gK@=ob2Qe nhr,~{ԏ^[k[ d>X˭[{ RLɭ,23X;27 ߣ.XEg V)[%Vv̚`N8PQv{{K?!ў ʦ[.Xdh*ߩM솪A6ómy #[s֒x%t:M3Qm|+g^,;'vfmy Qp V] P(HKˍ46S]&X6Hݰ`'Nk+#ⱓ*W} jP?hL=P'/yg)K;*RU ȁFE-.*K@n;lrX|Mzm)/p#{yO!\|3\טz b=g"VΚyHkjn6 Sqb(x T]ͦ)c*I6`JεBK0hb1bk5T<:+[auCϟOFߠ9Ƅju TV %yV؉BȐ6ZO$7QNˮPi,[`mde**&|*h-oTUJ".GRB,Gq/'%_fbLM:?X%'X "7>6`bׂ"SOqav?)`Nr먓tJ3D)\SKHz:4SAJDS3X%QyY!(Q,P%%Y33N9\%D`9¥פ@}ɇ5v<.١R+\En lB5. l6ۙ` U^qnr8oqnڥY 3k`P`vWaC=u_,ˉwFмwЫ >j\SoS W W_B9݈U+tLe T4zbYYaZ\3Pt*F XGkf · ר2^74it \Y.ݫW5 7^8Iwk8f:8e3JceW4fF,P`*WkE*TZ_ҋ`).@쾙DB2=y3BI@efzf،+}qѩ+=xə̙> Bʅf,`{dUw?G9 Pd+Pd+?qL,{;d>CdpMp#6icc7|4ݰ&5F+\6NjC,0g T4zb*Ql4(LXFU@%0`fy`iL]ϵ M*0fn>_7YD!65a"rE^B&6tɈMgc݇)p#\>RƙN0] 3 l<i"|V F R-\)HU&H+*OU䰉pJa- Pd&g2ٯIʳ τF!X(KV;F  V~MG#c4ZMAGM*/Ǵ#ınM&sPKf+@ES?TAKD8Brh Ô Px4\"CZJZX?ks<.Q®jT,\+FVnmԍl%ZTPy+QfTJL-Xf ~>OL8,A#qZ:_:V*}"X`!X`!X`!XjZyP`u)qx"XBr4|LoX-$TT zߠt'(A_t`hNkx^+~sĵ tr*FN;//浽.%.Jߍ|Gg'eZ3szl[`ibJ?t _5^p=p% ȂP*RR GCSE"Ղe.3 W CekQJ5T_ |-Ҫ[Z0 g30X*U㽭ӡOp wj2!dJV1L$[[WLL& ~VRkl} X6 ` 7&`_( `iY@`NWY霐 2!c2៓ ʆ/XM*Lf5q@EsU]Li*PL`VH*@EP( rBx8F!.Bp zR'T]5܋ܽ]5Ap9ӨJ&Q7`kMfPy+QfJ?OL`J` cÜ P+J`-A*-qnSZj z[u`!X`!X`!X`!XNkFvPC:ɞ*qqN6 sĄ*` ֌;qMa\ Up $ V$>Vj$QC9ZFFʺ*QX,~|P]@22,lߨ.JPTcˡ]Xs1rc Ίcj1HDzD[CD. M*}5Z==nuk̈́+25fB5עwU4o[W@\pNYYPe.(3]Wm:\`ܰX, nVMV&p,=qO/P5Lߖ>sF0c@E*7af^ػ!d9Ј '!X@̂`!X`!X`!X`!X f"X&9[ cgle׮JP!T&7swY x*X2x2X r8\2BD|pY: TK3qbrtu;=pCM**Cꪫx@kBP(JNYXpd, CE霐 1PNR]%Uj@EsUT2M* n UP{Pʴ**ƤQخ^g$j,e%2T: Px2\B5m-X%(Tk`mH W zB[ U6 m%Zɞ .~ [U穔gmU\Ŷ% ֘bږ(X;PeqGZ~CgbjtiPZTR ·8m*_L!*էfC5??sЉQYtO q\MwVWP?Ve6T1'LVI*hsk}(Lg1xNy;C2L򺊾(L T4G2NJ r\?RfB#Y, B, B, B, 2L4 [J9kyd,K52q xn+Yb.ʉp1Beg&&L淑"61Pn"m@]|^<(CMcBPBP( BAX׉DD9ˉZZKΏ ~Mq(b9xZdK /j9$\m`^L'^Y~#(ʆXYp@2|b0Taɩ *ZtXIT"㽨j_+tNT1hn>꘤b@%+f^P%e-RJT{ /CJ"<2b^x4QC2{V⪯WJT]DbN~bJ1hD*^N{)&'Ιʉ +XٔXV:gTj7'+w*'6~@VjƜt(6 K1Y\{5Y|8d;JCtZ K[?StZr>ϜONV:-:~]fQ8?qME_߄.,zB, va]D&!,Ljr頢O=-cў\1jaAXY$FVMIݫS)ɫub尰WJXma=SLM5YMX.)e7"5Y5(]JNɺ`#o~jjTj񛰴ZZ9gO.xO_fԏWP~qMYPJVΠNWuӵZ_?fRCvV5N/w,߭N}5Lvc9vyZ o=rēix!Ȋxs%殜ß鵴x:9ySNV2[ATٌ[s$3bU,F-@[vT, X,yNy$u&ZrNYZ!-Vdu 'y^9¥ģ\`| wߣmvK)8} OٶtOdtrTSNѝ4=x Q$SEHk L*O.3VRNk{vWOcyꔓ0QeJ0wyNPcN'{n픓%PN}ehqV nEP93Yłwewbwu"X,3:iYboi.cyzXϷ$ 3bV; 9=\Pf(XUQbǬ^> Ts4*fU$߽>z'#HF*IZPQ{8)QE}آT˲!0BY:6KDT(E?.*hL]T %S`ʢf_MAVOOITѼ`~ʢ`dO[WѲ~s`aұd.xZNѶqef)˺ B3/=% y.a Y`\*+8֣}%u#lCYFl _U4+h_Ҫnb7Ṅ2ɓ [.qe8"@Z!B*'^Vn̘225KҊ^==ڥV)89ׅ5vK7p Mg`dvn |=8r]!g+): kTw6|B/gQh^ZRbJBPvvn7BCiM- }=ȰO<a8IFMVCZ)$ -xZ* HK87yow/,@8`2GqQ \Ȝ9jjwCJ k ,pPRE{=TM,>@ɓJO_/֕-Zնe`F3ghuXF@X [X( BP(T⠎Vf˵;3% T2fYγ8n,)Ls2Ċ28c9eIfq+$}=ԗ`6oi1%Cr XU+IrtgU$QPFD*dA%($ *EQ)uOM(Ć:(X %IAQu#J*ȕEQ)urS6[:i#kyUԘDDK7NFC+&.@T )hFRST*J#RT(&- *ժ٪Dҹ]F9q"e_EJijB՜ElYPJCԒբ9Ռtv7 +*fZfiAV(WJ:tZJs*Nl1*jILFV:{bHyY vY<53Y vY<57a)%eψVV3[. :~HψVs-Aa%= x5n\~:i!AUO !,)a"du‚tj ^E{!,%u"uA‚t[BDʹrVXsUVk:+!V6O1a|&* +E5)&߄Z5e=۟&nb .k2TOjDjPpYr!BU'慨7ut57д#~qo'T^UXDNo++Nxߟz5ޯ}0w_{|vӏ,CZvbůNbu|cA]NVȘm6icccQi9ڽ^HuvyA]NVy۴qRcuS1w#iհŘo{ۊYbڽ5 febOS߶"nU,NK吕N?e,0T,ꊉ D_؁@o^C.0T,M D܁@&RTo<"_/}KT}Ǽ%QEsk2&ӑJ)%#H~b쎟~hITѼv z@\RZSU4GϤ$hf-S 5/% Z`iIIT,Q!Wei9ŬjhYi䳺L;Nt.eÒei9UTM4(v*,KdyeZHIŶMcmaQEJ U&$u T^Fzi)-t6J+*67O'TZ72!)JDjۼ;8yZ/wV剖fdɒ1&Kr`L R|cJ -ZAP( BPr[U rGAX( BP( BAX( aQ.mNTQA cr'GQΏ:~H8Jr:!5ɼ _'ji+h6o6|I(,h6yQl|A_@Xb>QEsBsApO+ɅX/袃/JڜU$;wvz~8Zó-b"yQVrܬt*+I; +ESIҋ:aY3gԒgў\ ?P&c4,":Tjʪax;+봢jiQXڕ@dU˲9xrҺEŌ.]yYV:UE+~)&JԽI 'VQS]V:T.TJV,t:G)aWJ‹eWՄUau&+CY(v4+#Y!,eO7jya84ů6q**,70]|PJX!vW:_ ՆMw[{eJȦ օ,ńJѹ&H讔˪ձf%/?D*&/K^X@ΟWNXs]Vs9y?˓]V1O2~; k/ij N q:}kbR֗ɪ܏r/e͏rUiwvgthԏW tGw]Ց;p:˜l]Ű'et~!P*::XGp:Z@tJ*SLV zRYUïҕ6SLVi۶ L_rx_%P孻)8kVub?w'cg vS%?s vr19au97|;/,N ="yln*EX:ktG\IE_ƛRA5l!Z8>b*w~]F펕Q=-+d,_]FMsYGfl(*g^VO3FN~鈡tj0we 1;dH2(cΝl0dɓ-R^p0-+Ged>Te uYUkYV: SK~b%*,˪0Sx,=%U(VLtX49 ؟dHkyxsTX)$+ƯTWbbʥBL[w*hQoHA%ϯu3lpU*m)+fRVBdm;/jΛBdh ~AHJ˲(Y\{\ y;JҲr5 YxR_XZ-[fy YyKYa] sVvƊ!+/$ai|] _9bUrU#Kr\ +歺LH.sEJ Nn4IܿYO EXg%0V&Nn,$:pj-bJعs)>|O>\\Y}XQĉ=+f sU.se´]"nv]")$}q)]Ew]=Vvm u$tYZ[X1קݚw)x%ԥ ñ ]-JZR<%rN0x<* dm a$ ‚ė{!,dAXZBIIa/ rSW+,_ %%Y%q,BXr ()"LCXɭht",]v>QmڄO)QT kdOȯ^O%YT{Z[V~V((* ŠKjkϷ2H[ BP BAX( aP( K ,@XqB&(u qB& p92dd;XYB5^ 6Xp|O,rtNA1T!4] iNz:2bД_6$,J&+ٕ]*d^dAGD:}/8QEIk& T<>,2%* f^Dɢ*E8rË́ i"(UT\ŮDRd5YTѧU4={v{==X[E}aH$/u:(H!IKsNTu\똬"IgV2d)"+u("+ސeԐNI VzCXV觘4n薐b _?dřsk=n٧4+*P;K_MY4iOX jteYܬz@J *&{.J=IKaA5Yv9F1Y]V:^UNZV JUi{ՄQZz>_V:H)ai!쮌d\Iu\we(+źaz*584m4/PEaҹB5aBVBo`ҹ\)aBK5YMl]XסBwe䉯[u[e$<tWeXV-/nTO$/oBw!?]] ꥠF]Veիr hH^X vYY,*頲š-c\}:fj=8uaeQ RzVW. ,+qR uAeO gN=-tp,\>FHXMf# ޱrpջi1e>Vq1eŬ? AXx;aAX9}HXs@X6QJ#YV`,K!,#aCX61AX1G4²!lFM]VUi##;rޠ|=%ԸotºWq0M]X׮B5W1aH]XW&+?>k\1 x<n~-00b1n) WL$tq(F|M_C񮫮r&5) 鍧KiMsx–˲ K3X6H)&12*Z@jUϺg(#2V_a9f% uoxrbܛܝ}{U>A%{FS15ӓV(u}?w>qֻ"׭]8ia%wT$Kv.uւ\BȲQTAF4?MVmJ+RܸJˊ!Ho_vUGXve 3-]ƈnv\ְ?1/4/y# S;LӲ8XV6+H2 + p;LJ&jSdAfTa+ad5YUaxxYAuc0)*7ʲtR="ٍ*kB~E|Y]dHk3FyCiHZX25RT+\edefr 7gZ*hQBJ u3,3UAZ5UT/\Jk+"+z\ߋN0 DZE s.jBdStV*Ҳr5 - Ag\ ҝyeJmaiNb Yi\-ː$,YٖYɐUWӡ )>/YGXV2^-eezPԼUS "\ZV;(v5Нw(5:ELtM%+bJ Nn4֧tV~j- Uh;^VEu]"QEs@a=?@0;^V"Efk:aZr_zEΣ BTߵ"hH|Y8޹g3c<(LHa +3Rt;L4T:&@XBp΅fGy,'4ț<_x gx ’l ~6aI)- ,LCXp , @X+(p!,K NAaIaAXR a aAXxl֗AXAp[ ,) N!, 􂰀pz ,`B a)D+ ]| ,iPV=!)+s[ , &Bp+}KeDV%DYx}/_qYA.ez=/@ ,BXH;NZ&!,nE ؊K lD|}r1OT'v˞/),}93Y31YAXR%k >ƍc4wFxdv awBP( BP( BP( j%c(fqJ|Q:"N$N>'* XN'dYbE8EI|r尤 8T!4]wvIs ,ʈ$5C+Eǖ'+A' tYb1'+h,5dK5akHVXvYY>U/Մ=Ԑ("*,>VWNl? K)Y^JUXOqZH젗RɁ2N !.Wm kVaAXTӶTc AXʪN>-#Y§$\6FHXm ,z  e²b ²b? +aaV‚ , RPXs ,(@XQ'a͂]fAXX.CXm!,'a lc5²!~VjšOUV7#a&Sh4i>֦* !FRZB5W%a kxš'Ekr^X l쇅G~ⴰg0~o3 5=<ޘey[lNqZzCÇ/[a>ѩ7XOgvmw6#,eb7b=\;>xB*󱰔Y@z?Zߦ4b^x_,,Gu?V{&:=&aI;Y Y>pFԨ·$#,8ǖ~><-|]$RRuo[OxPaY9-[)HԷꯛ=EX:lsʲKT,|[7b*S˨ʲKTZ'ddj2ѹ+DsJҸ5"QeM0ΖYY~CaivOnvةlvҹ77L*OV+ ip)=ݬt{{F?;~)YErͧj!WQ&CVSٺ}Ve`<?/IV7"I݄5L}Ve`<7>/IVUiTEV/+&ꭤ%GZҚ46}_Z_m[I K+iu3fq ZEܺHDvUøW"nreY6ҹ]#DV:_Ҫm"d´|}Nzk9t\ ^k#\V:謔V}~oJҚmu Yi|}}OOKKcViͶJ4>-?}i)ZvY)|PԼUwWF0a>ҲWmlz(jު;Ml ^va}¥emr%HZiFnI!ؿuУ85,:+J3:ELtM!MV:Gr԰䈫wܽ*o+hrϊVSHW{Y U=n+hϊVvBlWy]DfvpiQEsӡW%tYeu~qGuAM*C7** +>ʞd%u;{s{/v~qҢJs[ºcFu\^ٯ}{ԛtkqҢBJڙ-ia8K R$]¸}-kc؎ؖIqvhٻkXa2Ϟa7Jq\N1ݵe/e7m`O[u7Ex?Uqea|H׾tnymBwuNҸ]ik)k0A;7>uSL[K;QS:9ejM W*6JYe&Fe}u\X \t:!&}UtC Wpk%X 0ବyTXȕa$k<JfCX(*PU a0aa‚ ,a!ZJ!,h@X( *P2C %AX?P2BIVO ww W}$\)"$(a$i1~PȕBCw +a}JV\(xߔV \P8yxpj(EtJ^JX.rxW\Vex\) rqAV( Yd+ ( i JV0 4LdFKPU (YҮ lD/]A (*g'YTc_K` )m?,ZOiaU4o`h f*%]?cB%]h`g+4XIvw\u5T]{G*wnWS ;Qtũw~BB|j7VѼ wP]hrhQtxC^>b?1@Wh0kU<KJ%80[BaʞYxià&F Bխ*!-OʁIR."2xUp?BY_2DǨ|*?28ҞlR,惴\lsɟ0@WhY4P}X^cFeplmȳg5Vmuy\p3W`+[9TW2rgV&`-Z&*OѢ=5W֟2Xu(銳Չ䃴g}͕&o&˧oz5(VoJh c( ӆl]mossoOu M+w93mtgCV69\`u%2ۻ*ؾ aݕ/ٻ*ؾ>ӕZ4QԮ|s?B eplúw!ko4o1>ӕ 4QTF= -Lxhs =+|'BK{@4[h4Hzn'@pj4W:Bepʃ!/Po1>ҕ[Du=j5XL˄>.6dV,\&eB6X˖2`َ|h e@yPW.6d2xS`aΆs4B ep, ?9]sN&)HWj@Ts@yPWxkz1,4Xh`BB ,Be@j݆ʃ!;jM1GWUS&ʀ-jމX~Rsw![jjM1GW[h xkUZ Ihx YZ )&f]&ʀ Pch s@yPW.6dM1GߣrHP]{X(tcCjBF:&ʀSKRh <+|' 0gbfԟzw,'c?Pb7ʟ Dhp*ߟ\8Z((S<is V c|+[k;FʀKkӔtG34O_-WјGԧFGOG?DdpG.Omk飽tw?B]ۗ^w^8I*Z|c|+kk܉FT9ՌB9)8{,JC 6trGu-rÔS+[-TCkoUαSAMU>ҮU.?J4KQ:>6l]CuYpnT<+{Yui1f =_6W5'QՕT W:H-c[c}S.FV쥇N-uEs3| eRW.3XEiAw ފm\AWh,WK ?ݪT:s6V<9r/:s ss:\ѪG ?P(˺ vAAsMghUv+:}h"%RIistug*XUTs(T,RWKVc7Vg9UupEUn$ :sƱFKuQ K#o0H4%89Bu5omEw4:oIhۊۊ۞9y.- Mv0q>?xBu|˵Mh;sP([ ,4Xp Hb20偰`q4/nA[6BXh^\ Wh^0Ba ` JT]m"P5aiףaqړP( 뀰`jjаի[ou@Xh|ZUUhX܆P>5aiaq'(O\ , B`BZYq "( ͊뀰`/GÂP( BrGաaq۷#( 뀰`N@6CnQ5ai͟-"(3Mk" K͋;.P>7ay]Y,^ ( X` 44 (T( Y3ȨIu5BE M@XhP]J[hlB[ΡQO>AQ(cQ ʰYd9P(SL@XhPK[5Y;=;= Cbы͙aM3 Ruzq938sc4L pfv4aY,1zb6,Ź&8 0%ދ;=;}wn l,>3܄i r7TāF*e|'.8HY x)bML<)2|4]hAo44Sf)So44Sf)6zi7Sf.OjPN|3e;!hG[tsQ^CoLfM8k;ވ5]@QM7{m~oK[t39(7 Z 븤)f+8 븤)f 4Æ_RzShl%t%57Uqi>/h!cqxtaV؄)cqxtaVs"3}q_x̚>6aoe,6+<6NVF1Tb;"3$ҿgLT6BW?*|`+C1eh|F _?4V+~FPNe72q,!ddz*d1-XECN&)-lRAۦS d1XE\`F [>J"4O 1WFh <IXT*ir*-qc͍oRr4T x=;`Y+ Tb~2Zc?2wwJȰXEh ]h0kU<礡Jvf:>VZJf*],M4Xݷ]Z+d-+H?:m*!e ZY}r)G`[4X]i@{3\EM4RgǿheKǗP`D*oV2/Ϫ/'C+[hʀVk"R4Rg`^2^rgV&VW/\J3W`+C|?t4P195Wt4Qk2ptbs栉J@z`͹޾J_ 4Rk2X,?Qʐ6W:DSW2p6W:ö2 h LsM19h<|Av6(gr9, +Cfػ*ؾؾdd`ݕsaﺫx`C|}5 !S9\i4PL@iƍCe)o4ǯD0M@e@2LK{@4[Ȍz24QڧF= -4|@Ϟ[Y BdhtAe4"d 4P z`͕5H0 AEƣ2dx,\&eB2o샣<49m΋r4Mp4A(ri4C,rhr\vϦ1v { V~$ʄfՌ`i)wM`ѓ0jW2me´KIHOB V!eJ{Zʜ"dĕ"Q&`]eB*BJ21X DL6o`!Xv2R{9eH)-EL(o=MH e b 5y2a l5 eBj^iHTRS2#=G##RI}sgeO!Q& H)-ΓIɧ͖AR\aid|y2  (һrɠ?l)}[_v>J <#+gȍ[(TWwV=uʕU2Wd Kͥ(X/UINbbTzpR5@I)MnWX*[ +鯹ŽY.UI٨Hzr, bA5xyzh-P+Mjd*e噑U"D?ƛr@4<…' {> S D ̕GI {|R\:U|Q5,TOD`\7XBS$*T޳_\y \!XޡeRա Pţ||zp$roK}r59 146J VuHqB=#W5 [cl))lw\SpkT3Zr5¹Η)M-8Zr}[j X*U/X+W6Z&WQXrÎ)j sO-5gUKjKXRO62锫XD}yb2'! :;%Vumv.b˪rjWϥMb9V'}qbVa)TI˜ZUHT{j07XtS0Sܡ!rU!P[k{*^˘X }s-))Nv!Ks\իz 54/OJ*V6*"XCْ+V& ?_6ۉUɆgUbYy9R߷ȕSDM'{)Ѵ6`&gDҿ/Vc5luQ`Ԕ2JJD6`&†#r5 gf]m*谅XuN)U5:(Z>nS Zx+pYt^GcD˦b0Y 'GT]]zY!y9ȧ#ZO4(5`eyreҌ,UT9@Z+UA[> Z&W뎐*}T%bU$Oz#UMJUPyn&e4Q\M,UeQJU"Fi4m*YsE};gRm@pæ&Qhlk[&RD2Ldo#r=lj6 660M*5PQ)dMSf:p|M&̶y#*3G 'Rn+2J*TͪYƨ1u}j*/ZD͍[5ɲd}2բҌf,UY)/S'Jdˍyi*3"99dUv6|2բZJUh5`y -^iGEgZjf&d[JƧ2-'in\ CEy'/Ωi Tt$]7Idy#Y"+G|;2^F&ʩ4oFˡ$I6E۪a"X|DsOI8%:^g"X%؞V)q[:؝V)r1T2^Ӕ#/N`z`u"-vM QD;.˻",q aquu[˳̸O ,Nq`y8B[$4c(3a@X cB@B ڑOގ8-Y ,,AXx ,Ѐ8ٌ[$ Ә=q`y2qT0n!,Nq`yR15[$99J.EZB8$7q`y:140^/#/e"X'U,Ǭ^3^届ի|+j0N4ݩa"XC3c[Ow=  8<ã38<ã6.cAl샟q Y>K P؆1G$!5va#)g%+1RX5a%+XD`H7p&+;͜G3|gyh.tm q[x]q`B~dTU!?fdb BD/`-JK "d5K_4DFRn d6r42DD c#Z)X ňp{ 2~,%V+V@6))AR]B, VD*|((PڊH;c@V nzyUV yX2"cܛސ-)Sx a Hp)F@=Re,D34⌖<*3ϧ-yUٳ/?S.c[1(i8mƃ#S`*]ƶ6& xPۑ)@`j59m:b(z*٨P{5Met˒W =*)/WR[dΜtP9xgcUllTRS%` X`dN!B!B!B!B!WFNS}|8/{ΎY}=Džu29Uth"~flMBcǜ#d8sQ\=EEsQ\=D7N"~=EEsQ\=usQ.k.^ۢD=k. 5Лn,1$oɧܭYGMX0?xX\=EEYGҍ0=˕.40]ӥ%*a+)2+9rCƥLkڲ RCSӀt˔Җ*z.JC+*SK[Dj. HqP;@R؞,C*,vLJDJEYJZ5];@R؞^GUfjQn'LqIg܆3NLP(Sr8ygM F g̙.b7nE-v}IJq#zE"VňUr^U_Ss9Շh}H"VU1b[_;ɽwJ5I!X"V~Z6gպՉXuZLhqD9>lʺDX gz')-X7Tb.en՛L3:{ Jʽ<$C+F`JLEYdb5sd2{yH"WUTrz-CUO"Rp"WUTrȖ`Ζ˓)+ªUW1:{Qu!RI1na2; VYJrbt!RI1naR*V jY2{5𥉉iKIXUrn4;k5T7ONDL[P*>H%൛# >+*\u#RehK0_G,>+*\)SWȕ@%$՝.ejeJ r5JΤ3ҝ.ݱ2zarst\ Rޔ++WəpN֦sj0<+UJ̅<xZϔ\ ʻV QgŞ\M; t@gJd]ȓH,JNZ?r5@ՋDd{JmK/e CrU@%g]jk6jBLa6{BܵUfC׉e rǹcjE&]%R<]%cw\%}>jգӒkB5ItwɃ=e*Kˏ3!W??7箒Dn'U>Q^!YjꆕTxoBLNd,WXY_rE<"Y,T7/WeT*?Az%+eʟCd5IUcWTwp*n~l:۰j0Ɩqk\(W$F$UcUPk鐫_ [cl);ƅrE"[,UU=X)U^U+Or-tv y].)NGnqTecX)UU+Cj0wrE" %@$:5m)V47Èn~jwFR*mk7;NXSȬ$I$@$*ItU,~#QzR*mלr'^Dbu}@=}=JE>[MOgE#Zm|fdk&VrzC6*}>w➷RΊ\9GB"#Mnfr+p(26h4}Yx[]eԔ2ۈUimLn[O.VǾ&bթ^KE8[V?m*axĊO%Z>nGѲ'6IDATX; X?S[s N+ۆj߱s՜}l/W,ӧ*Y"fɀh3uh<]p\]69~ eߜc,蓒Vgx+zE2*Z9tVuV'O&r/S}ecDkKSi?.jdAr4u钫dV'eʎɨ~L^vLjV˖}x]C"Y-yUreWGzS*J~J鵽d=cTynLVɕ\*Jį?J^X<@,[&Mx8re4]TMW{QLIql)YmkF UM$-\M,U2}rʔ*??}:"2cW3NJҩ Uf @Sm*m4a Ar#*3cz95Ve4N]5+JTjnڑm,S?2Z ԄsȪd=r82բҌf4WRsw\{Ge<#)[PZʌ]rnf9YGZ4UlSVSVw3_Zs} v77]~pVEj]XƝ\Uޭf>\mY/RS_ڥJܤ*^IHs ⼌{T6DG柲Zd֡d7toڇ*RCB 9?q9][<(=OY.Uƶ KSwɛ !1ʧ ;JtqJ%iŽA"$ZierI^U9*rU8a qaVU,B+WH]\"-zE<[jQǸ%ZqPgKVaq͌[Q ,zE<[B1nG+8lBX !,Ł0r ! XXRڑ%vqPgKq`-AXx qf V8Wij% aq[Q*CXxdh"-!e Vf)t٪C\Cx\@"/Yyb9f*J<.Xyb9fzE.[arIC"$l5#1%$*jFbl A%+GmIm\BH`-4q|lg}g\W|ѳ>}^l!5a 㑐U!)-?+YYqHHJg%+PBLV9h!C9s;| x30X `|3X>? #@"xUT4`I VyoK1U'Uy;>#J;!]^a*hLi ӧ40X `1X 0X  V)U63z(21X<~\:^+z&$kfff:{wĖ\{.//Y],Dwh=zW<ӧOsm X}2iN/k:`{yMieOX_[cPpm֫|Vw.1+++ ota J@,>5TS``1X `ect9j0誑ar_C6+vٕ`{FW_ &9 uuHu'k*6Xn{v.ajܩRDaJ5X]Lw5XLI0X `1X`1Xv* uO}<`^킻¬ :`FՖbo߿r '''o{| ۚԭ`Ln޽{9]q0w*Dqpz佲b鮏x-F~fyf:l#,"⴦zSFu c<ogg2s.zeWrYUq7g bj` ߯iV]CD;x`",QVS<i+J25 X@`X@`f`ub1vU!㟷NM?.;Ivz==Zd_B2Ng>*Fruu-ɘ~u?ϟ?ЃMOO;s2s[RCNo +@c޼ysϡ+σ}/Vd]؅NT+d@Xz|p&j/^}=cPVǁ[FPeÙ":Vٵwu!нzuTg>0IϧOV  ڲ! g9>8::>vpXNrr`}6ڔ(J  [&̇2`IYr;UQ0 )ѣ]²J`CtZӧ f߾}#LlJ"Ƹ?j@e)Vā%zihwww{?3bޡҺ!kl*F`u\\C %0XX@`X@`@`X$Xo+=":.%Vm2g(Wuje_(W=ԁEA`z`mnnzFtC݃SVct V3.K |M[]ĩ6jWTնHc:jPVwXJz篭iմTԪ,2;8: dم\17U;>>}'T'5[^Rg+IE`Pԑ3LJK7 %Lޫ-acSA ` σ*jwhX?~Ib:j+ǏS4L)h+ BONN:cp !cX? X "kUCm0j}DXCWh ",!6y   , ,    ,$ju]!T"Z\VP>.UOp ,sdIkuuuгC+bu`ꉩ67;;;W[1~KGӪئy lrz};Epu0+,SRa,^^%\O<j)Q7ߝF`ez/vPhh!>vhT=CJ`lnnN₠#ljT=Po1ճgϢk vZ\\nb|w \ ;3Ԕ*z͝tyykU6[tTǜ?47[1wPeu\__;իW %6*3}^U[8??bL;,כ{Ji޻w{pp0y?T:t71~?<Օ뗱]` +U7x%Wia Fߪ5"D#9AnN`mmmM +#-|x^W UT@H{ >ڸ7o_JWw˗wL)jk`U9f?ۖ7/^ Q0Kl;k=>>n ,p+B~ݢ b .\*`|6Y#~ND`5\1YU_gJ SmAp}Ç> o鱳V Ui&HCT3bEh>6y|}b&"G%D1!ml5)KrXX AO` Uߘ mo(%EVHR-X-U] " ڄڑL`X!V~0 0-"uǏb5},J`gA 5MK !}]l\ǪhC!2y/ 4j%,eHz>je-+k-jH`EX&bm#$"@h{{y42\{ۻ6"ۺu& h`H`Ǐ jXm@%"T-%M ,}Pz^X ,ZZcX <ՑjH`,f8T   @@,@, , ):i~0+DD}6""\`A7Q Vx6z`1fssJ|jD)X6_~Dk :v#\L!:ʛ6̿Tҝڜ~ &'X6,_:==E"f JPɊ j߿ \V<4QٗI Vxe'?uIyB% `剗Vh!T0:* ׯ_#Z~>޽s ӧOo^mDG =n/^`P"X{zX y=z*ϟ?! VV>|praнP}NkdBlh]W*Q3o߾?3Ƞ qnNl#DwS:{ ̧O*ʞ>ߔex[p^*;cAߚ=HmӒ MjW^تB ƾrВmtuWN j}}4Bϟ?B լUݩg jE6%;*wpGrm6EB]'c u---Ew^fjXVPE 99/)eU9( Ss F/\1o޼-{icOH :m>ҍ`A4U|E-`Xejb;LLT5-buYsX+6B 9W.ݛ^bʚ 䰅*ɣ/aT4n؄]vf̬zN;GU` S6w"VY8mAC`Rx$U w:`!X%hV4w* X#a\gץ<y`8_:68u>e]qH7sX)'tv``!X'ݻ.H}:`!XУ`!hw1>|P*X: ,+U¼)gf/Cr\`mz!mۤJ^83. )~q`D#Z2`!X;-@,D˕`Ww @[:E-{,EǏw~@C@2NK9,6#XItgAXc!XI XɈ X`` X` X X`` X` X XV\\\LMMur=177wszz@@ڂKx  ~gbGD࢏HSow?O>w`z m {^9* т-'i1 &www?]BinQ@R"Z`.0C9*M>s@uY8xY )QzUzVS[-HF]'pWW(N wtpȫ>}y͋/s=!XSe]Q/eŢc-}]E"ka/7iz{oIq"Gu >,VT"e9??gPz$oS5g=䰺ESWa-8>+PIj-dµ`5Mi1 /s ۞*r3Kh=tJN~n~+or]D. )j7bS+P.>^!-+ =y>0{ ]8-^ &\p1{ %\> Z`pY;-dzQ Çe|Zӂ+䢾ȴ A9u[L qZ`o߾.k8BD ,۪pYÚB2%2[mTs7mg-;Gv{ȝ`wh%Q D8+ ,pYiO +`eݖJ V6 h\VE 'XYee5-E`u[eEPwVnkss!|ϟ?G`܂e0u[.+i!bUeIҐ` J+?V'n,CZU "&X7oD{i`}L/{)_ ɛ|AJ"+V8zbuzzzǩ^1 K᪳p̘S?F*XYe!Nz@l*Ԓi+[eTj(+a:ɺbL _`eP+-"Xk`'++}*5H/V/%Ɔc~ MlU&V-s@˗/ޏ`1'VC+`+yTjʿرXeǐt@vYnӺN{s EY'5s2T|]Vm*Ikmw{bS}I W{Ml>+i!nnmׯ܀^S8hɮM䶚cia΢Dvٳg>ZաNv[$:k(K_&B{UDٶ n{9Չi;0nVsѪtÇ\ӧ^0v/:+0UwZh'%,mqEDvXEg5oV jQտQ ZmeJ,\vt---Mib/ Xe5 HmٖۢǏV ߮vS3n<V , V62ץ{E"XeZL 9%m+\ncBd%q AV{N)`]a-[иmVIN &ZfZZ'W :zj1Fe|Ql Fg"XЋh )JvAĺbX6-,Cy; s+-/[cB14ݻw!6eoڮ̱XU`A?i#GVB@OqZ胄!XлhnE(ROIPNl[F{F(:},hZPmW^KS)шVѴPbUvL*C$Τqdźfh ^ DhZi!!r9Mغ$]L,N.KӾŬQS:؝Q&Xlz,OAciaYzY)TA|%FMC"X0H2ķL/ommUrfz@ )X!Evζ3ۚjM:+M`WB *uM*`7"V$UrVB\J] 9״0 v J 6&}~bJ]efv_) IU,H +)" a2ǂ9T{#X EB+%BZUrʾlOArb*oZ81,`%Q5~%j V!X]]`eK : ]lq+K.`ED5R, d KGmgZ C!Bh*o CB(Tz?@0+\+FVVV  C" Ԝqe2 X++2'\н`9)> n2OXJӇJ{!XxLE.+3SHپ]BD6lK\9X7sHفE]90-#`?  V$6xwyxD&lYCQL?Z+nz,@LSX9PPR(`Uq`c?N<1:Y=bz,EnnK[Qgu+ĽHj;7im~3>, +3M)VETcїu@``?@_RYQ XѸjwr;.(,\ևCVs.a0  J y@e!X@.U`!Xɸ, eesYZҟ,(]Pmh.,]z ZeN̑i@.K+V ,]ċ(,\`$/ BqYB,\P Fಶ  bHeX@G, 8@,@, ,  0X,  0X, `0X,``0X``0X```$)yE>\Ƿ#`DFdٳg|0*}o`̈+t}}AOυ2ZdiFQqf sc; V$%Z&W+#1ZdŖ"s|ҨV7 $`20, 6<|ĵ,H ӧOh'WD VƦw2Wqyy9ꢟ}"^S]-U*=@enܫÃ0Xc݂wS'$`ϟ?,D BKE`A`\Y%Ƈ+xn(F+.666y/e1Xz&˗t_RV\݆kB^sspվ]oN`3YU@jhW1Zة?1P^P^dv* ҡnwKcޗ0TކJf0XRy `TSɓ>ܜ%JX^^v.@+7WWWQ. ꈞ 3\2}  3YeF s6Rݤ0* d0Tԗg۷o)>å]>.  ʚ,dnn~Ҡ)h3Z[R*.-Ak6Y)(Hv\-c@{s]8߳www`i!.HHϟ?30HT=cpaaL,;C,.5 ѨO܅3Pב4pa4W6/ZSq}*vRFK~_,v`0\Q+Wcٿf'ۗRPPPq3 1W!-d\c-#8 vիW^g * kTudA_|7H4CP=:yÅ\yr!TE5T?N\41e^|]?`3pi\+k;& |t报Adp`sso =bi 7Cuijl{j) 7@,BӌVlK6ZN.qWJ\a`hF`h`5W}N}FK#0XdA(o>|H5nse`R4Z,  5WZ8@hu ` jskiKNodAY:di0X2P1-ə_+h4,rrիW^[!u8;;{s}}̀ kB7 r<7:hh1H|s5LFÇ `?\LCdĴwa0,  0X, `0X, `0X,``0X`````   , ǯ_n@` >L 0Z,˗/,`3Y-`4`{{i0ZhWK 0X>vW..!C577GF 0Xuںc~w?$,:x@]E62T.EF 0X9pee`ϟ?qe(F{`:ɲl0Xm:WfK"UGȥ*Ɗ`"3[jCGӥB`h& }eO|2+` ̖+('Ty H͖nvf Pޝ& 0XcGK. ;L@9٥BMb+-㟜0 eW0Xr],e|;d-qnnN-,,00틚cy= zAS +FT:QfKc+ eN}i*+bgi+jOޤW:L`"U5[E}RJ+]޽c *\no=&L^zقAP%c!0vW+cu|||*6&2MXVCqb5Vf)PK8*r}}\3figg߯;`6Y͖\T= fcf<ׯ *xX9T,2[+++ikHXg39xKQh"ڡRO̖kŇԍA<==}g2BmccsB`ʧ$l)ۥ>/+-ϡCçOfpa0X B\7l+;UdҩQ v+qgP yI Be].n4]jsr-vjth](b7"w. {J}bdg']`RaY`Mm\KlA2>մ1}-2)_j=vwwswkP1R `raerO٢n,]RSI5dOy^4ih\ h+UlQB75zuEKڍ=^%l1֕-EKb)k2 RՌ Uf؍BbvvNl]R=3Yةv);.Kc)W&%K`A&lI.?nYm> FSlmmy1d>}]fHc̲W? $ U&lIT0[6Z샌W7Ʈ ]K)K+@a&m}dgwݶFM>6^V U,HKFnD1Zme쬮ntm.ϘH333Ig^~}khCMߙI[QFp鑌vEťo %T3Ґ7ּz0[2Z-d;HCJlsJj}ɟ1]:ǷvT-Ҿ5R( 2⸐h;۷;ϯBhw*V,gM1_) CMi1@eSȾ5LZ&1^zjxiKٚ@s 0Y-v#BۻX* Dv|lKT MZIjHޓSv)RP2^U([hb0X0 l 2TkUGxV]]-b썍; ݔّM`d'*2K2A .5iUQVʵ[K+|5կ̖. MfiӲ`z:Eeޑ+^=!vf u I=&˜Syjsɘ?hѲe´ )sjkMGYZj-b@!&2􊹮 ђoB64xe\ cġ]q>˩vw#;ItR͞LZd͸兩V֌ZU @gFkssBs4[.-a 6]Gs\G"eUM>Oe<(<7F(ښc ebf|f3 JeBQl,ʠƄ0v{'b#0X#3ZM ߼y3y.GT[Se n ]naZ@s~~@݉d5A&~=S'&UuGgC[oL^_\vƊ@ @e]u0GTim9&Cqr/j1s8t1n;BibX `GƨIs3j]],jٙmSuPK[@>yKL0fu @]wU=YTseබz_\RµTB=oޮ@2V,hP'Y'cfB-7@gY Rvh),O`!17:b}ץe˼~W?'U=\:B-R65 @tC4&Sd.9Lfs2WˎQݞh+XaS'd0WPH: cQX ʞhPϘQ)tV6)G` u R˃5=k[__\u@vGiY}_Y+1Xbvө 1/\m0W\TXy],19Ǿ 0XhJ9PY-bǵ0k-40(tTRكJtvgT+0:))t.T4ixPf- `tEe7XE`tiXuyЧJUmEFyx} ߾};!6 y**tmyn߽ '''-iŠX&`t+{2d& )A5DT﫬 AQeyivӎB;& Ae\?{R9ŵ t%@)1W_˃[[[w^nm{" #se]}+lS7˝, Zkנeyע:}`t)tWgw`Sٳִ C>&cv-fY^^X&`t)t7˄-,-V,l`uLol˃YLMVZ3 ݵ\u ʻd>L]l˞,NYBfTgsf0 ̙}Jɾe}l42 8;;Kjyd2! 3 *5;;;)g0X*q4)205YE,SoVh xLN=Cʘ݅y&Nz U:egOGg}&\`AA! {y6_:yL2!`"FiO0pϟ`L0gdLѱj3elaaa8=He%[F1&:VGuY:BJ DqahyР۷o1dFgĀ{1 }ʖ ;g`Fϟ?'JbX%6dSPu,0c3`,, ^ 0`,|e  0`,| нq0 ]| +++ǭ1x,aTY490X`d<(LN; ܀=yfuuv8]>:J~`61VjZ,Hn 0TlKU  Dh/Aʨ,ȫ+4 5bS'P`߼{nRoR8m]RnZd ,R{`Dxvv69 ץlnnnbx MAA @uw"|_N@4Y*/`"* ?~|ÀAS,LVmdvV1`Z4E0(B4Qa `4 0nh;?A;W h`aҝߵGR0X(lN&m`€`݃YT 999ap0X`umtT7 `jz*ٍH; 0zwwwb竬'Ƽ= OYϥ F2':ץ6:W3dvqgSF2Y @(hGE(T{E; `(h7EQm`F2V2U2Yꃥr!`FmujPd. 0XGMGj 0X/2SYLVXGGG0X2S3333Y* sL'G `P }M˗/'_[[c 0XPf?~\j>}4y xf`;>Dú0XPd-`ҟ]}(t`@Z.h jrs- j,;,dBiԶ0XdOj< ,hhwQ&\`Ut`ɢM&KGZ]]eP0XQh2Yj,߿'&kee`@h, `0X,``0X'ޝ־WIENDB`src/site/resources/ref-output/png/TestOffset.png0000644000175000017500000002204711331616417022533 0ustar giovannigiovanniPNG  IHDRXXaJ#IDATxݱX6`"B`t0B&` 2& 5EW]^k?||3n5=Xݻw;e/Tübp-p*![iw[K?d:CUvw_~ϫ.k"}bݷ=\wX[>-to:,Row]-P[,A)uB:bEqm?\XQXG&YS|CX,@u3X,v3X,zv7X,u;X,zu?X,,k= ֨Q,K3XY,I7XY,?`EAY7`EaN V;0Ep~;`G6`5X`=J12 V*:0`0er% 2`U ޡ2XUw?+tipO7xˀ;ʀ;oA# ߄6Xv@m3`

7@ZoM6`c ~€,k}}5X*U{ X[쩲 {2`E@e X2P`(2Pl{@q΀Cmv %`o>|'.=z`-k,?Ma!p[0ebG2\q!`?`<\Q>wq"}Ѓ5pEkR V VyR V9 VH9XwNM;XwRz"l+Nxdye6`3`igf1pNC֞;w1=vHϏ =X-wh%?X-vQ;g V! VaW VKp*U|H *>,`.Ce2XŇPe VEFKb,`*4\P.Um 6T`Ue 2XՆ0x`-unoB;ۻmpx; 2Xvw*eKs*7X~4:,Cg= .!P[P\P]nP^.P_PXǮPYnPZ.P[P\]PP]Peefe&eeeje*e W2T`*U| *>Xp,Ce2\Pe }`*2TՃe2\Pu,C9u`*edNֲ{fۼtZ<>|hlm 4XP@yGf f[O<@DžiɣUuK`ݖt5ZXO>\@ՠ/Vց ⁵_pnn?Jjqsz` .T4 ,y` .TKp X U\ A.p%@P ,p%`,l` . X 9M\8IX KpA`\s?\` .C\ ,;̱\[e ,ϥ2 Ce` ,9X@as$ F` ,9X̅2% ,,*~Xx ~X"p, ]`,P: ,p :!X: p,5,Us@\,>XKpuJ` ,A%XCP!>@EP!>KP!>KP!\ B` ,\"2s -pA%X *"\P .Dp!K` ,Xp T @`\K` *F`ဵK`9@  uB`9M` ,uD`,Y`,0"p@OrX eU`hg~XX́2 % $D`@07a2`+e ,X`s) K` X s+p0qzT.eXv8}@*XMVf-q2<J6uܴ>|`/j;lڒ[x`-iMZ,p_X~Z`<JBZ@<X.Ś笺KYͪy`<a5ME%@ X @X rO UׁuU% YY rO }JX.A XB UZ'Z޾6năf&4-VKӂ>x*E`y s&\ݥ*} {Z0f9Xǡq%6UhA X/.+%"nC~:-`{X~ry/KhA$e` -X|D}6nCyҴ >4-XA0\"Z0̼X V+lhXvBX ,;̳GX+ Zi1zrBX 3`Na69 u7q2X̣Ҵl{hVhZXB &ii!VrO a%B BX ,ÅyB`2z9+Ռ8 UY ,gJ̋Xs" #x$F`Ǎx<,iQ{hVK`Zjg%X%XaC=-a 5BKX! 7ssVkn; †{Z135A$p0 \ ,݈w2A`98?VvXqfwDXAý}V eXY% Zi +%BTBKX ,ಞ,d7ⅾXaC=B` NK`9Z/NBӪsVb{6As{Bh,垖XV,ahe%J|Pg -a%&Y ,575+%HJ` ,!f% J` ,BY ,zY ,EpVK`iy f=# E>+!BKB`qVU㞖B`Q-TJB`MX!ZB`ĥ75+֖{Zg"f"Dh +!BXtԍx E%XiZ E޾} Ea0au VRi!E?'XtVysg%XtݬyX]>+7Xtݬ\"VB E,kV܈G`hZ,βjZ,B5ƃbsXL4lh"ЬXj2~G` ,B]v/ u垖X9+bލx% KgSh%f pp\,V/XP܈XVLX,ҬyX9X|F` K`98rOK`!†{Z ajBXY/9+%n(n ,v)XhVrpYW%T._X/V5YiZK`9ӳi3X`4߾}+S^z0m6fnlϟ?Wl6fJnˋ.*X[iNß~xӋotWnpi -V{PI_(V V?W-PN=h@ŪG|/X-h@?* +IS zy9@xλ<< γ >< x <e@yS50h7$,΋ ^eyh@i\2_ x-+K289)X "+(XbJ6+˕T>lq,E g,V0<`5> <b`yCRb0hX)X8p^P,+ E ʹ?MQ(WFh(V(X8 W,(r[R+xb+x(XV9prU\+X +%6+Kr@ܝ(X Eb(V(X4h(V(XEpG @R,\DB{PP*4MGR(W.(Q,(V(X  cr   P+8`h 0b Wy *< E @Π` +,Ɓ-@B ,XX` @=V(Xhi, +x(X8-P@ c1 (X C<X? -Z+V.P,\)y +gq7ϳARP 0<(V`Ag@ q :a N  PWc (ZPyi8(X +xpA O@(X 8!9 ܂C۷o} `(Vw|Y3`*V{ X5(X@buj}+V Щ-@ӧOY0<`*8y, +7h(V؏`)XL(Xb +E~ |E , K PŊsh(VP,p`Ap _ (VN4.Z <(XXSW@'y-ϡ 8 蓇A ϭg@ 1(X-P@s D=V(ZK'i,` \W`)XXADBR@ (X#P 8|KBrE E2c\(Z(X I~g;.pP,:DRax, h|zF  +q`!Xǵ;Z(XXs, -= Ti,(Z *p _8'-,P`! 9`2+xPP иhC"zSPHp<[`r@K(X0(X(Vs3Z(X(Vr  +BBs(XD=V%,3M-, p>_`)X(VsRR,+(X +x,K XKJ{U,+>ϳ1]*X `)X`0@< `)Xs3Z r\Ruw,+伂`=VW|Mdq-,PW(X(V4>O(Z  yDRnp_`)V- VJc@􊖂zy8vr`hp^R OW+h|򌖂Xe  y-K9+@`5i}(Z e<X@d`)V༩`pUR}vٿGҴuX@;~R`<~<l`فIQ`)VGg+X+ZLJ)X/ZJ_+h}O[  ֩`En~ KE+lR^{CX0+۷l<,wE8,Z) ֩8ϳR`Q h^+W> [R(>ռ`)V@uc, hU/X_V˗/, h+XWWWw,flѶ_~岂 il6vc{eׯC۪?R`(X}i,_egտYg>~8{YCr ]OdΎT'_~,~,~v{Y~vY .^>>G#}N% )zs,z|gi;Fؿa,gq9KUZg9uwWǧ/O_8}w-Yp<|CY<Z<)Ⱥg$#/7WߟCr'urs.vg|ΉZg/3;>;d]_xz9 𶻞hg]!:@rrq;\>t}<<=rZ徤Yyy^=>uFYpGg;!zН#YYS ##48db8o!0cihM(`%Q=(5(x[YS;1 >YCbCsVNgR:+%ga{1Ym΢s~MuΡ77LLRgf&R:+<,L/g7Yw,vogg ͔fJYC3ଡRY9ΓY"˝b?:˽?/~(#y9 mq-%,nN,a8+a)r?+t?uC7y(B,pgy5 vMSe/SqVL)&yKTgqP3oCVהc,,lOYC·</=V,jXbÐp',i>gk,x9nq:kH =WQt#X㜕zPgA)<0JR&RC?,3kΚjRcвn܇&nqbKin]pVGPdU.8g;TgGCq;tU9vjOb>Q:kUǵ YR[h,ȵֶ Zj6Hv}b9eKy\)κ\O yEow'|q^wSrssK>UG}JCڞgןΣu~M7,g%)Bv_rut%qΓY@jgY_ :ȺN󟒐%yZg׷D Y/Xq_EX΂OQ;O,g9dByާ $JR`nmZgvV\`MdQj9+ .sVjEgYOk"ChEѠl(v֐հ.:+h !Ȫ]pvP8 wMSAt99 A[?}F>g5Ax_S΢-9O,nX~\jYɢϵ΂ :HrVl9 qhgzyZES=΢TgAd8 ΢ɿ:KAg+,)I;,H͛.,.G+z5͔<.Xאָ7I;Dt? eJ!L8Yׅ2ȺdJ8sN+ fJ̕QZrv!Z/p:d8!'Jo19x(YCxQࣜEZ΢-}ZLr7*v-UDk9,|-ck!,*5Upj`Ys fe?efBt ]R3͐L)v֐L)vL)Ȣm vA: w8,!wHRˑYw2n$Us~[CE[G9 ; )kB-9 D{(t,,Z7v}-8`:Jj283YgAi,g8΂TWSUjY]> PZg]C$v ΢gT$㮂MM\\9JWCqy^gA {ZdѴawp &w灚RL)Ta: iw9soȉR.R7T; p8khЌ>ΒF$g,RÝxYi>gs%k*v .sVjtYSh*H[mL;fk;ˇ,"kH#!]Ddc;VCz qTNu6B΢e\gY8IE!s udY9bE{(Cz:Y]0lC8+YSrPgy: :Z$ŜӜ(U9 'mK]B5ZgA> S3,hg 'T+~BM]}},诬u}ts8 V(gA΍PS,8Op#jJ5΢L67C)Ȋ/y@ p$ëK:D<-BYC;kV1A~.r8$Z9g-Y489,SqBVnQ:$@^g i5U0vVj`ꬔ.Kh.KżSWc킭k$562!J*"΅ 5 ֔kjT\-ouja,$ha +GP7`K7KXRQ#5񶜌;G]k$_9+5!7qPs 0MREk K]$`qzGc.HA_d:Z?N[q)E5J+XCJ6gMԠ;;ܬ>G&t^Zէ%7YM4?BߛfHݚP᮫n!b>մvw>*,t0'Eniҭ ?$\WXxU .,Xz i#d[y:'\VCi xC$\.`oVv< ,h,z*8mppyysQ#e,|= *vp@]S.`q|XpMp=A,q5V(zڎ2?wS|(]XeY:39PuwX%B ;]M't'-z([ aյTXi,lPx冞1;1;|@c-)cm͊Rw`K&H!wΜ Rq i 1 I R ,Ťe|Ǧ2VhI(͒QC+4YL,rVܱҒVE5ukIkPX|D2,VX} y=B1GSGoin[\ kk\cEl8-kjD ֔kj{<k>Ǚ!1|(`XR~ K`ᇘPZV$}V$9K6% C-~EeU"U$ki-X0`J#\w!F`7"[q(x;]]01<7PA*Ľs 3Vt1DV'KkT%5d84` ^S4cZ1` R\fȡ W_6/SX*lK몢_ yq`}W"wO shf`U>AL)Q ֶ_H(M~jpiQ`]8G~t+Hote𮊅~{~n4`qR-C``4֝H)|XB|C TbC)+v( (z&{B&_Nb,0՘Ik!Ɗ !9ƂgD*DXPE``a00 һ `a o6I`a(8ӈb#*,yXX` ?k\`^l|z8`U=r9[8Bk XkW^s1wd%u|-ٜ>vK+XP4ƽk,r@ ߸s ^>n+8՜ "BX>Fr ;P` d 5DV!1'ckVI 5^í"Я4c~涰VGjuZ*pG?ښ꟠移KףNraP& B_,k%Mxckc۽~GgL/X@ŐRG?;do `A) =ީh}+Li2ew-x`h'aꛛRm3'-+,g) Ȝ?MOdռXT~zn~Cv&d,gWov?p3 r,lڛ)h7Sl!cra12.RŻXؤt)BH7+gXcD)!J#lKIWhEF#Fy!5= ,)BGx-mPhee2`M,ߏ>iƼM=֘ף oBVe>۪쳯Pʼ)֔=HsXS 5URxɍ>_LnXp=c1͒ 3X! 4xrS  W7|D8hSpuK3w ܏VXp.h4Ga/'( ס92QJKz+r(z(6Pȁ+ XZ=-kx b/Uhud G(~&g]5w]1?(DhFp#g!à ,8\$,6rSue3ۅr"SAzO؄y ,ZaK o (`: `E}Џu(,-9#)VHqcq)%S}i -(TXXco/ˆ>oO(:c-1 kJkIZ gǬF55?`y=j`Ye-33e,3̀U*Ϫz̀eXtI1֔kzjgZuA+wH{xb,#O922r?rCaMQ0s"RqK51r3,wr  ~)`2bp``ݧX XxP #wC! ~ţ+8?v@Xt(ssҁ+B1c`(X#K$SV+5¿n`? T3QMUX$VVѡ$P( r 4I ) C3R@pk >c ;7< Gc;Aڪc lD) cC)n%pge,n#یX9%q,sSXV{ZCKXhe+ܗng?^"ʕb,d$^5jRRIJ[)ȅb%wyYMkw:p4Ua;ʛ4X6O_1BX(!uQh$o)Hqƺ,k߭a!qg9mb6-FJ.Ƃ:!ud,g=Gߊr+XWE!Cᇄ=42XzGL#8VjT] 0aׄAcc,M0NaC~S/7`,\{ᅽT/+m#c.%Ŧ!Sc,vhz} , c]en~t(.v;`ww=si,F5,8Ju?b ~#q罥d0JT [^H~Q! = 04SazQ!0kLZ~H? "K3`ҌDV cQMXdp= 2$%>p`00 ~aJ'cQ~r|BZ $G$`2c) cHLak\404EB@t{E4)8BCaLIa V ƒ{8@IÝ2 x) (٘1a,͐C5D`!½c)k±1Kcܐ9eT(j g+ceV,c c3nkP5Dlcurh/ z=1>۹k,XWh }Tn~3gTg頷vЃ6MJhR* /):0zJ0|zji }Y2=He!AoH r1f5^׳mnA.~VOg,h;( r3iw2=.nzk]IaRKя]b\Axp, 0uUd.r׳~HAꮇ6X7?"7:vo% .~n 15AC~krN y U2VjTHKG{XWpk|=0ʌ& x[s.hpD:֕[P? `Qƺ'k 9ƊI7%OhCD,n=&mqR`ti#|c(?QCfk%HowCKyϑ h,#BT8fzŦtlJgS:OB13䬌vnwCj*cn cXƂn9 s7ŏyv!%CVC5D(85Ck cqslQ ?9+6csi,\nx7eQEZThEn.-mz55ik>ɍצ=H94^X>6ìuruv*?*2ˀeAkXS}XS Uk |y%`D1 zj Ǯ~(, ,tbhJ`zn]SX9r|kJ}uPX5 N88%caPLXTp=E2 ƂXHb$ $p욃v-bL~$`23ix*Xcy.ƒ6 wr0m4e,Pp Xx#X9JR5;cQf -WBcIx+Pj.^dX C=H1lu9 X0ۃᦣߺQU䇮uQƺtMXǤm.ƺ$ z?=CwGֱX)[WҾ *2cZW}x'**Ma,h;;q}qdA XW`%}O22zn/΁s33qo7ÌU\c]D ɾ%-wLhz7aМ׎iǝ Xt' -nNxh+/J7@g; {,n.~=A5f,?+A*V#A]x@+&AYL)RJorOࡰIh,ދ.qdVS2 ;оsf,^s96$qvQ! |-ZƢ`Xp| Էn@+I%pk0U,cq#1LcƲBkK`1jk45$ǚXA5%|lR55^~[}_Uˀ5 0XS^3 kmݣ)r-<5Es[x ZBZBZB71 Wfr35]KaQt}kS0XH9\r=멎0 ;%ca)ITpM>^( QcB1 #6]Xx[*cqG:=Ek},$E+0(acEF<c`:c a܌542)H7o,"j)B %֚2*hfеAt\B]b,uH,?+f(ui ,S3Vfs kPxkTB{I+!X1Cw:PkFV4X'=wz.r0unE;=@pG?'(uAzO -qޠ~2u=mcD;WP] bkXX{wٶyZf8P.kЃ4c9 = m_ =Hs1ۇ%1tq~_ '7^2nn EQƺtf e.ƺ4۽蚬V c}׻ikI4cйyۃ(c7Blj 1֥ {DXo(yO}c}uAzu1qX@#0/qyFz~J]sFk ޡ5c #^bP/b]xG9_]%U2*ZE1,+S|TcM&y_=XxAGLRRc |<~`O>C 4Tw*iSeީ:)2TcSNBʼCIhbM5 -wIhyǞ3 cq7J7rB`a,fRnO TzX @f@|@X8Ҁ+m+iX>^*,2`xo&>v_)`u_aVwƂףe1}a1'gajkk0Vk,i XJ67LM,05YG?7~3f23`a#̌l4fz+3aaaaaaaaUEXܺE1Sޓq!9~9> a-CZ:V_BXss֒1%%c’K 5⥇G K[HIX>Q >XRHP .15x~) _O~5^ w\:Q¢a//R*a(bFs)``?<۟b|gi^saGpծ|9|?nb>FG@\yRXQ#e_kTX\=% b%Ea`n*bԕ{ RXR#DsVIDߋOLhXvZ55V=Ey0fFi5{+ kA%YK kYNbꬖBj +jv wz!2Xm/Ia+? # ~*Ua`t&Rf^E(EmU)RnrX\-zlL*`{=.3#X?皭JaИUBa\U*ԑL)xTtNu`{ss3XuqsxyXΟ?u`{6,CXSNV֔!C ҙh02%`cC#:plN;gGά9sCn`vt##_nfퟵ~">5$CVMj:$tﹲqW?##Hy,U3`ۇΑ!Қ"$t_MPnH^lÍ"D|S[SaF 5^D##e[gwH|Hl휈GcȓB5Da6uwv<+itDѹalUjSX5bYr9@`;B@sؿs"8?&I+0q!k}CŸQO"C±Vm1^O:H9q3ޑ;>`x'F%\0Z*kC,kF# Y'#0 Gg琙q`{0%=RSh) -pTcؙ:tVn͡rgJ7l CrkC 5E[sJZ.\ϩ׺Ssr#؎ϵ=לwl"1؇ۤrsVYB9v| }%9}c+>| &'÷?&%'D,Wz|jEI")q>;J),|BĢ!.yIϧVX$1!WxSrXò,5ɖZ,a+5ɦLa2e +.bKa?9\}KaCY +E,bCi+E,bCNXK{l^.kˌGX6 _>7 njAX RLCXK3 a-?Z:y}~CXss}1D R1T,$ ~²0LXf ,IulAXhݜr:Z6P’TG|d$$gv [H S8[atGRPѤGVxM}J"1z[EJ}#+w&>E%Pv %s~- ēΝh"tH{ pPD~ +aqIJD&Z ^S Ν(Jd׀!J00! xa BA-),G nhX:Fa#p/t߽%E1 4j Ѱ.t| ˗[V-|5),NMq)6aSW),_nGZDsTդ85)؄O]Rai·7çM׮BٗloAai·7çM׮Bٗl*e!uUsnV) sX/pYBehQK% 6K -GSXc[Re9+=P+aQp>eK5C'j% O ~Z9`fU N\"`)ؾbxߍv Yrǻ?*hT?g#@=`Q84ª C)1Ԭ'^0?7:~!gRA9Qz@;Fr^Qm90TªCcklG>%`Dc?[;Bq.!lxtĒ)ysU89Rª C5*0t 3?vM4A1ۻ? r[gr) e:ѼA9F#ւZsX5ahH:aC4zHf/pB;Y} SZ% CNYa̿;%Gxgկ9(e?31СSj54ZCuX5ׇpr$T.'LQjV*S0J -ҽzsk5wԛgU^\n~K%/Zp3\_ʵN8t8߹||ۧTXD |7H>m|mmRaab^s;_S ;G\酈KR`iEGzH.UVX1>H/D\EK+,zD >Ӝ7Dr*rX=~ʗ*:KheeIw#,Kτ.uZk[͵E+]r*b(š3FWXEr)9J(b(š3VJ($Ҙ4J-46g NXKrٜSl\&?e1wfWXCf d’TV8L2ckaao`փ]}qaa F0#n{tAXC- GڇMa%$&[WIqUKUXarHNto]%I$a9=?!)x|dJX4X@|?vGTJX1S),L!~`GFE1T@|9P*aqTݭpN |m\fi?(D\ڐ7t| c(ImRX9Aĥ yCWXc%B!Ro%$$#д*G-pm!rѐGFIǷb GhZ#fCBN&J̷_Bg!!wM1 !a(רP9pBKʒamZk>^N &ݧ,mIϵDYPk}O)ue K-kºs[B/3,kcVIuuGgGUCcVIUCzn٭3CtN|By^;UgoΜv9ƖǙ6C>:o ?"9Pk k Na]Zܑב3wM3u;D#$0{|Z 9Ρa]> m|6ߞg 8X v55jWX5`yv-L 6pvt|c%9sHsG9+NAaaCp8`<jTXaFUVX}W#q cCL[g^Ll  %AU}9t>m6 զjP;fLHp#8 ##_#֙ؑ% k`N6>GΎ7r _aՅVjVa\!uhtrv@FE*_ws*VX8݊H9_}|3hjP904YB Wa9 U3Aη0KC<:n|jyGfl-Nf l4ގr|gxhZÒ6?gxb鏎kjXjkL ͺ%F<:f]鮜@OKn̺=\Ctí9KKXKJo):K aKQK ,5Xs\/E.R!!>mmM!R!!& Jt'7q5~H㎗>7\K$(YmttsH5J&HGs5(,882Cj(Dj>gidhw.>GfyH HGX{aY{K[ݒt),SXLa2[3}?cFXFXFXFX ,.!֒LCXK"\c^'9b߃\x_ a-C1T a <7’2 caI%簨?sXGÒ KRJaF05ǥHܣ_I5`ێJX!i{tBaR$&mǖ$ Z$1i;Ԑu$&UJj}N\9I >2G|^c΅oEaar Ij}N\9I >2G|^S IRX>rȌ#%Y),9pdƑL}Ő(rƐF Q2!n;|ﳚVXLj,i% /_ #kAaQ2qצ%Px kVX0|'bHl …'FͥVI)&I=QuQK|X‚_HG BR:Ҩ%Jf>š*ފ#%TVv!-a54 5*1 ti1 5*1 VR6dU械9_/eڝMEXc(۫o7>r>EXx CS +rP ˁ9]}snLڙ8gss 3-*7qvG7GW{z>r[UXcaU5&f.r#}G~s34B:cWkGy|f`-(,hX W_(VXSc5%R:v F[gvs&eG#89jl?u̙.)R]S)gapHlq`{S8=S)0Tª CM+,x?f}-ؾJUlxttk_8v=r_D@z@g?#V[GGRXa6U#UXΑl^9M>遭?BRiq_Ry gvGKaՆVjZaa)OG΄ 40g:wvIcȟ+VXRK#NΙё&Lt 1q ?#r#2= #Hy꣟dUC}j ՞tC'ݹo!zOHbGb}$3[,k ex@|S?l\HBYjaL -p0CXcgXm媋X8z{3%wE/ҽchN t[s5nͱ[sRo~í9V7?7uks<nΑz^5Y(,;^-x5w=S+,n&#kRXZbR#N\t{ KCNd$+tеTKK,x_ aqɝnAaiȉD@y%ΛNJ!ȏ{>’H{-=|JV =D~D"kSZòV3IwaYf mf mf Ma²YBSX6K(,P:˥  kʥ挡LDX14LDX1F'%\ý\6p/5ej2333ь̌̌̌̌̌̌̌c4 fz+aaaaaaaaaaaaaaaaa͖>=K2 a-?Z:4d!, ;9|t/S0Z"??TªS҇QKXKƐ!#HQXK[Z2*ZZ=ZZ=aI+&aUV8L22JX0+f+cYCKV[~gK&,XjI̭2| 0lɄF%sX>B9 gZ$,gv9Pk%lAXC-3n{tMaљ9vIq-bI [,ܒIqZaŒ6 U"RsXV!a0DF ,\K4r^CN.]akrJx?~xj&,Xbq(|vFKKTJ!`p_!*BBL C2sL.sr*!adi9GH `ȷ#HiUGPT1i Gq} O1i^s3pW;aȁ|?n/^ a }!4;AJK; H:ƐWZ@#m`!p`?f'HiigyCJ (qMl>%OĔ-NX>Gʾ1%OĔ-NX>Gʾ,!VENX|y*kazԐ{k%"MQD,>:JbWZ%a}$aIa`,NFXϷ_i ֤;wM1JXϷ_i ֤;wM1NNXs)Ö\8#++L[rᨏގcWWFX%VH]͢pVZڽ~/a,a-^BMFXCc)eGLIՉ#j!a( \zHj!a( 4*|һ5a-`3 o=}ӧ;X}yO_8RUkHx?#'Cd7௩ k̐0C֐0CFXgvu99wfG>y@;{wmJXg!O_͉J`hnUCVp3ssf:G|BvwFKp{=o=$G?#Cx@ꋞZ P!ai ͞h@8љxǑXRG93G:?3|t`d` !M6D̈́5Z#14ː/N~8 6,U0g:ё:-rJ`ZcY3^GH3Gt>r`{FH}VB)1CXS5LYs$834:r`;Js[Q]9SCZS.u>7Ó?ojg܂m ~|:0T{kj ͂{.Al9&L$Ϝz[g|NMX?W:}ΟQR`JX5aVªC\tXbGBl `;>yG~H rX?ttEItg|9??۞.5jP90,aAʻ'a* ;9b[3mJF>|!xsV0& ԄJk>USZIX9B˜0Pj+yšsYÜK)aIw+k:,ò:,#,#,t7²JZHh!òrXFXFXFXFXFX܏4GB9c(WH8WaE12ʍ!# Kcny:SCX)ԒKcsƐRB)#4*aaĐVe$sB=5PeFXFXFXFXFXFXfFXFX<_c%Y$#7W/K k(aJXCK k $Ayw {N1o}NWZ ,L k `H7cq>+G-,+=K{ Pc@vV֐P")|@j8*(J^(p J!oHGZ(f8$&Ä2aGn\UJ15Ɛ&|,q:aGn\U0 9򑕦l􅎯1$ׅAL>f|ÒB4i6/l􅎯1$0đd=NS ~bTWKIw|mZ 3-$)iSg1;6 wCB)ċ!,n/ZH!,wrVɐP b_ƆC 0’S4GB7;JkX;aI)|!f E  %5 Xl2$ DlR=½PCcZCA&c*[ 506HrnѶ kQv+Jaҕ\tkN(UsV-]8 -֜PKax1&<] ateX*aYǘt)ӕB-f,$ '-$6.9$ %ڍ o~67ԛEXwWߜ~z|nOW`e^8O % -ja^}{z(7 sWIY6#h*#CƤ{. -;`#QLΑݻ kjº?`t =bG$r( 4:'N8Ι[_0!Iqu!#$F꟯p Ug? -cbՐp, ͚М#8so؜⪁w>r`N7:l0:?$*/V?##DXSaš C #7#펎['9C#PBKxyac/[PpJ N8*b~\uN`;"`sۂm̟:¿r^S&/ ?G02!Yk]ۀ'8ڃSV-5^  #/uĎ؟ m|GGp0:!{%lNAr>!`9(ך*$ C5aYr;<`Y};º)(h~!ϼ8 =C~@F @XSbِ##m_4~R9GTT9,x?P9C~K*S9矵?I!ֈrXaiρGDokhnly 3r0pl?Oۗ(П> 6 FXa:9h}1rƲ:mOܭ'v(51Q?W,a-6 5MX=dQRox9'Ki aMQ83X=V)c B_w38JVMp ͢p9q;%[CCi0|tVP FjtCWOYK8%0i^B:%+Usl] /ZK%p})׺__ʵNNX>M:GygBXtwv[kz&,n&#kj!,;^-x5w=Ma8DHyMT }Ȅ;w1MEXP" ǽI:/w)sXp" K$2)!Ӓc-QBis%sX5%O Ԙk!,N8ǝ+5*CR>b҄>Ug+ÒK[ W1rX1$#&MhSey9,4y5$ 4&m^BX)Jhy[",I6MI󅦵Vzf 갬p Gp%{ ^BBBK[HhIw#1Ъ-[(aCk=$~ %B9\!1+$+IXLCX)%! a~FX܈heCFX֒l3l3l3k~l汻7f?cY̌fKX\LCXK! a-?E ߘ;9|t/S0Z"??TªS҇QKXKƐ!#HQXK[Z2*ZZ=ZZ=aI+&aUV8L22JX0+f+cYCKW|w%49s_/]|-C>ШbGH=aLݟ5j$B9 cErmwC),:0Ў#)+İ-Α%V,a0QuqÒ(Z cT$2a/bXr|mm)t;l%R(bFRNk!a&¢a//Rq*H~sj 19' H1p%RʩJ!%OĔ-NX>Gʾ1%OĔ-NX>Gʾ,!VENX|y*kazԐ{k%"MQD,>:JbWZ%a}$aIa`,NFXϷ_i ֤;wM1JXϷ_i ֤;wM1NNXs)Ö\8#++:QYa K~ /LX!u5Z kijnr^{ 579a kNNJX25&RV'ʎ f %0p!aL0 K`:4$ӯVOn`V?}w{<KV!3_9߀&1C "ZC aՏޙ=`sQ8~޵AV+a>~q6'*V UKX%B79Ιv9 !!-]>7p >#/z>j=$C14{r!&L`GgvGbJ̜̎S[#,ѭ3-g7G5j,C‹;0ذTwFGȷȑ>*ie x! Cs4ȁ9!GZ P aMY0fEXhΑȁ3*mEvL iMú?O:8;$q jP914 rDut0r~ ::b 5|d!aaI*' a/G(o{>|#CJ[Ԑê C5jP)F랄6L@ۋMl μؑ3k#,+;G!;iiπ0ذB*k ªCVmj6$)g0h|@ƳGKվwt:(;wM”Tyy?`9R5b{mjB#v؝d ;uq~;ȗ`%7 k=qjPm90tH?u2;B!'b9 `SttAX&JrE?<#IΏEXCC0T_. 5t°MJyב0 jh0"N*M0)q YM1^.k Sۭ*22pA!ie |4 kTGgj q V 6 5_8zEQwx C͕d)|EO*n&G`[7T*kj \^ fs/!.{ܛ>$< U> ½ϸyJ3Pq'L%9½Sb{ n~xl-'ܡEJ矮h0[ 5<Zy* ͶV\߶>֓+.۞)mA3ij5&Z5O?%eO҃#wӭǴi=mmmϭnƞC:GwwU/$ %m&CV$t^qO6lHLsޡ +wGIJ:BۛaqJGC,Z Y8RIZӨgԐ┎X"0jaq $-iTX3 )iBj>;'a c@Mh9) KK\SU>:^위#$ 5'959龔ѩtò:,22²Jw#,t_ aYHh!aaaaaYHh9, -eeeeezHHs!\}+$3rsV#,#2435J-46g i+%2ZaIVN aUFXK9's\l \feeeeeefe5a}~xc>[}ck!%bk9>#,l+!#,? FXFXC1d51a,l0LX6K',%@XRdLXRdhŅl?~k1##,CFX 2 ;G ,Yǥ`GT97s"!qTj1%]9jKPX#Q,!%9 -Aa$Fc5Ĩi +4s"M"$}$FMKXIGnet_ ajPUϕj, H(XY^56\5&c8D9*8@X@B!|g{C-&o}NWF%,ZXVz+Ñn`!DR(qUZaQ  Q 05$C 5%3QX% #q*I"M e򑗏4abj ,!MƑY(>u򑗏4aa 5r#+M _cHH 8|$fwo)%hl^L _cHa#p3zAgt#NŨڴ+ig[HS ~bTWKIw|mZ 3͇RCXv_06BX&!ݗj-$ `h1%hI-%nv0$c v’S4GB7;JkdH"ؤzL{ ! |}Ɔ!MTj·w`l8hncm6V8Zaê+8O.֜P:Z2pZҭ9cLxŠʰT³1R++ZXHN[Hm\rHJa$lo`7?/9jܞ˞ܻqnK%,#V JXZ 5GXcn=Aglgȫsg{|4aʁ\Uc=KX΁dQёs&{N]X55a]]x{G?O:{wDX}#|UC9ԄUC ov@sv-GHw8IqՐo?#W83B11jH8fMXhΑ`t|tf`dt`9b7l\]Vq@X?;9tG6AF|t|fZ"0 aMمΑ̛lvGǭ̡ؑ(L_u{M!_Y<ذ౗{X`-(Q[H8%Z l y1?T:'[9GmvOC]_h9)smlA#5خmf)  ՚tC͇Α:gbGrύ6ƣ#HU 8Skн6' 9 yw0؜}|kMքC0,aqӬ>쏝al4?g^K]!??dmU#Z )1lH`/y[?E A)ck?#}*kgLI!%a kPm904aaH #"5476PZcY{֓CR;EP瘨+ a XP&,~2(Fn 蜉\4(pCp!Tn& Z8Z fQ8ꜸޭG4NJrJw:sQ(@wBW׀+ݧЬ%WVq_~Kдz/!F[*}r(%AAr/j^±04n MqNq$vf9;%̓ yb11b14~X\ n3ߙpR4jl৽q) w`0Vz?10zZdl9=l\KQ ZCgx>vmGsb(gZ:Ɛt쁧ڑ|mi=qzz`hi=S0dPت9jcB @XsYՐkƄԥꍰ0Usl] /ZK%p})׺__ʵNNX>M:GygBXtwv[kz&,n&#kj!,;^-x5w=Ma8DHyMT }Ȅ;w1MEXP" ǽI:/w)sXp" K$2)!Ӓc-QBis%sX5%O Ԙk!,N8ǝ+5*CR>b҄>Ug+ÒK[ W1rX1$#&MhSey9,4y5$ 4&m^BX)Jhy[",I6MI󅦵Vzf 갬p Gp%{ ^BBBK[HhIw#1Ъ-[(aCk=$~ %B9\!1+$+IXLCX)%! a~FX܈heCFX֒l3l3l3k~efffVaaaaa2333333333effffffff ,ff쿏?33dWff ,3Xff&L`233ef ,3Xf&L`Xoof \|\%̗˵\|\3ef ,3XfKX-_s̜ϑ9cCzO)eZJ ,r0TJ`!XI{ ,P 2 Ő ,P 2PN JN2 Ő ,P 2 P ,"*n:p.*VT ,LhJXSIf&|2aY_ǽߚ2K2!Xf)1d,0f+R63&b_WCVffQ@jJl8Hp<~]B\ X)w G1 ǯK*kL`+hҊ+y﯃6F qMZq Qek\EV\Cc`W`aѤWx;~PK7!TKnXL%Rg%!Bu Y %aȄP]B,Eqt'w8me4ޅQ;i+˥XCcvr7VK#n,F`9 (ß&_}1^ʗmGq潾d|W&ex(bk|Qy}1(_ |&_}{j{_LW{5 kT63~>dI-M9皬Tlj)B0}ۇ1DI-MnsMV*6{5Cs>ۤϖ7&+jЇ9La mgKq\^fUAr7Op7,rT>? ,YM1 5U|/ C&vPt>#ܰYSE_0dkWM1 5U|/ C6E8b45Vly)Ӗ1z6E8FPʴbgkKֳ)5JRc?[{g^ʴe̴MQ02;R-cEEJ6'gض h+ )*-C5/CC sm{&.А=b2^`M,X^NZ VZC`iS{:=h5X"gh{}OLU`ŋ9=1WӃVUIoV{h9.|ϕ2Vۯ )Z| seL`_kHʹ\+XiWZr=W`UZ{5_TXє+fS"b9JLƊ\5"LCQbz0V4ʮarӃ)Wvj̲Gm ,3I i M`II[8oLHy2t3E`q|-4="8 |-4="8 |-4="8 2! |SXVq]KN__rU\ӧVe}A"4}GMzGMzG`5| ,n0efksjgOW7v2h/nlM`-K` e 2,UC&+hOo=zcI|@yٟV?7>0FsV"wՄ& &]g5a6eE {g3:@@{sk`-]`Z2XKX-c V%eEE( tJX?! ȵ"إPTNBӥ2J-"E՜0dSӈ9aȦUsM6(] y3 JgT? `>Cʟxݙ9^3 ;`!` 2jI2UFT- C&ʈ%aVSV@&R7@Ӫ[P>bT?V.K:@\1755IDAT{Jl6Eǖ!"cKƐM%cȦ+Xy%V4꿏? %Uy_"@:s`5(!P^ހ0(]60+r7PCVo>= C} -})BH%JgV#UŁWi#2́ҥTBuJHx|˨0?Pjl!l35x `1d5X, 6nZ7oMӪOɜ5%.P~m|$>(=\"kI0Ɛ ,d }aHƐ` S1 n%wk+⑐VW8J gSoPZR3X7 1d+!?L`?0ǐ`3 D0o]25)BЅ3Xs"4 ]=5)BЅ3XV`((ތPOص>(<ƅ/ќ5%N`n JPV2 2`x g C<k6  `JĩU J !-!B\Lc6lǤ0}{[pmKĐEז![0-Ca=o8-EZYK d!ZP//I?L`Q5_ ,*拡R>3E|1TgV>yqc2\؆yloIOK]P+Z~ZZZ:R"Ԋ14}bA9mR) $|CSd5X)V3ɒkRf MؤZxpi;+ {a> C}o"gcamSl, ֌R ,3X "4)B3"4kO`2Ҽ"w3+r7Z`Y"mLwz꿱jS0cզaM8WΣ,/;~'~ h?K{=)αɷ_zm+<^Obsw^;דr|&F" M6't>dRaw_Ň&:FHbJ0Y gAΧ0ҶR5 nVdsBi[LV)|7*T+3$dRmڌ溦W-L2I)Yl6)UE2SLRJ,%ۦik qb{T(5Kɶi3zB\Y+FHdbk]4#R2iRIͮY VR)Z)y|Ǥf׬+MpLZl1+8-|2!TnhJ#ӑ6ELqXH"\,tM.S\iv:V)7vs%:*v~Z4Oq&~,,0RޯlE`^X` ý_[Gٮ/]& ,J9{J]_M&J!"IXx #ߴRuZ6E/|N;97ݯ-8 3n>;97ݯ-8 3n>;97ݯ-8 !^:ev"drdӃc+ϔ `(tDh.iCZ V)AP{ىʑ]N󇎵L^{3cS'݇K dBwfp=ұ)å`RcOSW Iy ӂS}_fB-1:=hEVȝ%Sh9[bZ1uzЊͪh,jSf9ŕM W6Eh6T\Y YuPqel2e6T\Y Yv˱xM.r,lS˶7-h,: } ʊܗ: } jVE6EtM:hS&NӁVe6ƫ&L`Mx`5dWߞ_}}Vsg/n?mson-,lpkcahn-,lpkcahn-,lpkcahn-,L` ρꛍ;3 F H LgpG09zڹm&P`V W@!X3"_}n7 x3#O:@yyz#{{6 6 6 a˩z"VL;Hs@>:{;{l ߿peFP`c+0180ad0BAca:; k(F :P:p0ӻϮs֩SU{'x9c}vGkАU4UiBil/ǟzuf<ՙӛ{ _Z{_Zol~giJIҘƌFҪ4MO,cJ#=eːFƐҘTF51 -z&`8E4衚^`VoH#)]Ae-?4fkםo|qrO9i e+Z-g52Xu=Dk&՝ސo[4oJƌR[CJݦ4eg3lKsv;  [k5kmcCikc1!M=cʒ4mʪ, g$MsK@SJݚocJILrO׀ejy;{IеX i/BS^?Է>fjV\ Pw꾬Wy[L^lCEXnV=^lCE8͞}eU)$vZ.k *`J-XiՊh!6{Zx͞ٳ-.7.$?(orٕU7}kUVyZދЧ5zjy/B衚}Zj/2Xi(xWշ[l~y?Lj`{`4yo,1 <4aL4TV}^p&Ir1a䡩-4CS Zid( r ےU_)Z+CK~V}xhIߏ =`2V4zʘT؋;`!2X Zz jT7VZ\o+XWkrݿگQ&rk{Jk5=%n6rl9B^o;1ץ^gCi:zK\G96. >zN{[:Bw̱uiescwc MsAa1^zcۃXKa1^zcۃR奁`KJmk/tAB׋4l)@m텮7=H} J3N`S b5暦%g|U!pRs145\-9 S,ؔkj,_fb\k5M WMg4अ+m.ںԶc/-B8iJ۪˩h.mKPNZҶr*ZKm[1"ԁVjRV 3;"44ʘĘ,9Xi`1BLrGi"Eh"Z!,`! `!2X,Z,D ,`! Xshjn"<ͭEey[<`rPmX(Cl~99RUJxhy*XRUJxhyФ` SQ{\F,,`! ! X1o"O=~PnGe B,,`! ! XBVmLET)^RŽlW{ٮ,`! Bj|kv*o),<ԎjjC ! SNr,C>\L*UxlfB(Sb*PUc{(6Gφ>S erC٦P>|6 T({ *[C,z9߹}@ϚTljaCkh^&=d?;g|#TbWSCZC,z5!9߹}8*[EgCIkȟ5UjZK,it!7 \%3UK^[,? G I*_y:t!7 \%3UK^>X.1&d~)!Z#flZCmskW楴-cz3J.cϭ]Ҷi"(C><߮ԙpPmJ_YH=K!_lr2aJ)ZeԲhQEXF-{ƥ;C0$~71o2M)ϧ)BSgF5”7w4e7͈{С z{СO"a iLiycNjS/_ݗUϬ˔]IKA? i_9g˘ZԶhEC?R_r{ eaLom<.vYշ+gmR)7doHCSÔ %CtC~X!`"44FMi1e}Z9upUe0<'Kە7w%Uې–2XxhCd􀅇",< ;,JC3dؔʋC◥U;hfHcv(Cm` =` =` = Z;I#ʟV^Cf|n-k=.nKOkiw~`-i}ʌ{S-m}3зYZ[]!>zkm-B]CsҘWʚbcܧV"=4}ju/B-l-CcܧV"=4}">lM5gx=SUJFRTejR5Ki+zr/U$TRmڊ溦%KU*I)Uj)j!RJRJ,ڦik bV&pŀTJ%-6+=N=52XiR)ج8V`W HTbRޓZ]#\1 RIJizOjua!hS JĘ)VҾ'T# 1-S+2}OL5F*cZVZeJjPU* ƴL,401 1 1 1 b(b(ŠQ b(, B4^ E Ed{XB,;"`rE`rGܓ_Nh,<< <47C[EKi["<ͭEoy`XP+UJRJV)`ZJV) B=jzCC,Nt(WC,,4w'e鿞|P/|%BY,,`! ! XBB`! XBha~֩RŽlW{ٮJ]-|dj6l),<ԎjjC YV ZX?(1KjC% 顒)'9X,<Ԧ, t +!@JJB4+Vr[Im%!k1 F=OW>Y_NR4J+u9?JJR4J]ZQg X>B(3w9T|QgCs`<,ϘߍVW %X,TBcRi yłK+!@h~0 n."DHZm•HZm•HZm•HB􄻞66Gy^Z4>K 顔ct4k_] 顔ct4k_] 顔ct4k_]-‘*Ed[[9 |1K-x vVBm7>i"k[m(v=P-x vVBm7>i-ETH^ Cz]slum\ :`˾!mim kAGt87ͱ׵s-h.#96p#5㖠)~n]x*Z%K}*42TJTAC%U%h<Yevh.iۃKLKx(vS*Q]Ҷ W!ȩꔂ.N*9URpU`^"S JV:٫PTuJUJA!mDE*z3kkaAp<CkaAp<V|eNl!1 Cv;i,3+R<`!kX+nJ/eq/cF{ҘzLy*DTN3J:y9Zj E8!Zj EpјNoΌ w! iJ҄Ҕ^Z?xޫ3C7cUBvX+TkUBvX i3[Ҕ1\UiJXƔF<{*u!!1=jVcZPMjqLC X-ihC53ސFS˪[,i(&h;= b2_ sӘV Z`kd U"V{ L;[!߶LiߔVMy?h΀gz)CLyޛa71%svℇ=` {:! 3X74G; 7%U_Yu_R] SP3+hL|WN}2+cJڗU2Z =DK_CnWC',swK1CeXSeU1ML@x.5;cv2<,MiR2Z,<4!Kw~<;?{-BsnI90!Ly7гU;C ʗYeUӳ6}sg[eUc !BCar>? {PC'~feUiJiȻf0[(hmOp Bυ!=5gа` =Dkx(!2XoX($`};[yq*>P g3= շ~Kew21okm-B<-B `ᡐhj ]˞$w<5k3Vr^jSo}<;D;PaIլ7%}Yuۯ~ѷv?ت؋z?ت؋p=ʪ>So/ۿIힵ\jAYubMyUZ@s=jCl\Z=/`g[}/\K[]oV]HbQ+nrZ~OkP^>C5W{Fռ_d&P0o}۷N!1<~{siiX:-CcKyh{h@Mӫ!- c̩-4CS Zi4'M}/`-P@%}?R<`WJВ,4{jeLXi@1 `!} Bd, ը\o+XWkrݿگ:c_ {M  ֺk{Jk5=m>nscwc K,φ+t<нslp]`u}6Xiuc~볡 O{%#t|\@b-(ƶ V奁`KJmk/tAB_kyi ,RR ]ol{Z^ԶB$>bWX)y1sMSՒ3X*8łM)ȋ֘kUi)lJA^̵\p J3N`S b5暦3Xp•USJm]jۊߗpmTR[ڶbE'-\i[u9֥}iI WV]NE+um+~_Z@rG E eLbLb,4XBLr`!&#Bi"D-BDB`Xd, -B "`X957GslwY"<ͭEeyPUVVX,! zhUJ\ S)*%<<RCS)*%<<XhRP XxBS{h)(WQ{\XBB,`!B! !BB!B!B!T[I&}rgIENDB`src/site/resources/ref-output/png/TestHistogram.png0000644000175000017500000006666011331616417023253 0ustar giovannigiovanniPNG  IHDRXXaJmwIDATx xٿrAMS[s1xh5iՖVkkZ>>#%Fe]5RbEilI *ZpQNnv7d{goy!*Jʲfv"JAǚ̵xir3ep6YDV, KԟNCe>IeiN*+g᧟~*K;hW- _kTFFdEZYGTZ~}*[CΪ:}3IMe<:PI^z)[\\q*(_~e"(Tٴ;5FEESY;翡bRYTjoߞz\X3$Dewށ>Deu JJ ֭)&J#)++뱲:=i[~lu!BUnHzY4\DSYFpn}`QDiO;VH=G:E:͛mei450O0n",[ZYNuu{rĉzN5G;0}\F?tO7N.Ci}d $o_tۊJd'>c5P+G1ݝr:DYш èYnRPYJBNH+oIҦʢ,,*ʢ,,*ʢ,,*ʢ,,*ʢ,,*ʢ,,*W%۶=AY^ZЧ)M]k4O*~] YDV?,梲JUYW^W3'ƒY&Ƨ8{dTYVUVU c)RMYY}yɇDi#˝H*+֬ _YV7_dz rQWVtgȫOibkٙڤ!MlsA",MB#bɎr'ZD*%`OgmeHEsCEquiż9K.8ʺ_eԐ!==meRZZ gt݁39lX]:tl@p]N>8tri-㏗L=]&}gD€{OǟCJD;+?ߋAJ`Aln-XV$6th҈*m6%"sW&g7cb4`dA6q{{~C M_@]Z# ,w?/lv6Mkߌu`{cvgĈ3SST5ҙ5k;mء(ow jc"KJ'˛62& ,|s}r5$%{XaY=7:^%F`F~W`EzKG!Ǫ'8X;Xq?1ob;;XF3b'..I`}Cwgk7h@y+]|F`ֆ0O(ÇwJf^)*ڦO[Vч۶].>4LKG+k|jʹI=S{scBn:31zTcX@Ɗ6&[r, \ogK-ọTiNCƂ , ,    , , ,    , , ,    , , ,  T_bɶN6aJ5L`K; -Rb[&6#ڌX %_z1[ C% 3= gV:gJėc,FJo5Jr3%',Xe e-XoTxX't[R- R]8VPAf\+&+ f"'_$'",K{u? /j%جUݦg7.k`9r_`npEXiX٥ujr7=5) ,_aKF`XV 6XVlG$A`=ڼٝ}h+)*͟)k.Xns>sI[*!g?nM6wƧQ6ZgiX-jZ8.yA]X'[>C1K $Py>qZ`F3ѣu+Le yH^ziWR(lF`<֭֊$֌3;vw^\\,B2V8Ӕ0ߴUtt{J'9m49# ,mͿ 7_>i?pVUN*{J'++K/kDg5#mD_a:<)F@3cM>eht9uaM<+Q_a"+QCD˕퉫8.xO/>_a*c=ӛ:=܈4{_nPj["ζqGm`ݦ uHlQ >նLkXoDXǨ b ;M*<YgˏA%$ʌmjƏJՃLd`՚ R8ŷlnJJJhAJ`iֵuA k`M<9nRGemRZS:} *g_^m)6_cbNZϟcooޣNcu .4@.:^3o`^Mvw + GjnޑB+AZuDH`i`} eA3b[1P$}+§tK0tiDN}8oXUgD}x'\Io=B.oóu`)x0th|>}?+[EˤIK,EIvM\^yLmkCV'w?V:{ァ 'Jq塇lX}j^bN>|YuAU@>ϺN6ܼy>\j )S`:퐬^n7tO?$;dTxb>ԺֶXZ\4`;Cxw=՛VZ=j[iX {u/|ܷd,nHdZ -3F(F,#KK[9^n) <~q}Z;Zr+xn#^ZNXF,hpo'cAjB`XTX@`@`XX@`X@`@`XX@`X@`@`XX@`X@`@`XX@`X@`@`XX@`X@`@`@r\ @Kf^no\. 7edddbV-\( }rTU-\ ȱHFA466JUqXz²X,9"pk- itĚ$C%v}~Qq>.^n:3g>OS;<k)Ϛ5Krya>Sw,իIZW$,Hue떰rή&9$]o_VSI0G6:ӷ(a9LH@vmzK䐰HXq̀t/ %NÇOϟol<=s_^ | mW͒al2mxE2Z+9[26:ʁ h aR⒐$, E"aHX)Nee%?L aLznkk)++ӇڴK#Vj$,El++rz뭷d~kVuU5$HXS+Ē3UVO݋+tr*sȑzj*w|˘1ڴB4`@Z$kFƏ?m%r*4 ﲉN $,S&,`,n[k͓uVT:Z~/Ii<4dHw/]2zrQ\ʑR5aI%>sg?tڰ^>xL2C"aϧ~*#F|-?NjL.] ==]HX$P[zJXJ(*X ^.QHXiΝ6m_df.$$a3I:yv{S02E,e҄vqTX[s|"_z饘&:cI8ٳwǠU|7_JD8z +խ2'" )֜ ;I' KHVVWߧ45mͶK=. $4_eʔ w;om 5$BfwE2m’4IX=C'ƥ_|? EŠ3w-D~ӟ|uNtK=. IX)a=3}r444x&N}rvp)zcć+M#U +uQ KX*7]}\9u>;{vvƧ~j%x(+<`%a&FK'sgP{!EVN䥣FIdLn3Azqlum\qI kd̩5^UHV@ٌ [F7Jp’8'3ĵHX\&CaIV<_飏軟D"azڵkFN9eǭWB{rgC U[555_$yH{mĸ'aHX JX2tny'HHVWwpG"a5qD9r>1jbuqǐ * GykV#FHupɒ%>[n:)x=v9H$^+aߚsh=D_|!@Vg +++{}lw޹')pU#7xc.5\?=8 '{ nm3 +%{j7[s>P1Cw>> w}''VL?=7p`$OLCɚRke[a<~Ͼ`w=GpJcsRǣ9$n:yu*p~$đw5a&+ \]O\Y0'-(;dN]SeHNY>x,o[, +^>b|c0!a{2p^yWO=3 ˗8Uun]59q靧8An;KBVbOO휢j>H"1ce!ro)SLa( +>d1h֯Urzu4~:{]qMX=ŔŠw_\O$MXu~Yޚj kOyeuam1]|㒰ݍX^o4J^U,__xXeeڸXzy2Sk. S;aL֜tNXGw.6y9'W\̟?? K*"U8PYj -EZ[;U슫{HXZ9ӴaFYۇ67K}}c}//%aIXVU>}oxK{#c^ V\;flE"au|1<\q]v>S/w$"aR.a8bV=YEz7j9= 틪/ ~E"a_\ &M҇7 GN 0e Sw̝;⋽{dSRC"aSe.R:%U.4xǵ+V%X5s=:w}nRq$ˇ~kpOLz\{[䦛HXB5gŊAyƝNgnѢX"T]UV\6p^eW\)?G__nl`=$x??'|7}PX$,V:sinޚV$, D n0f#iwl쏄E"a%g}VN}W1jJkk;W:HX$,VeƌL0s;U[^EJ\²y/V#"OZtLX&LqM6[otI~SÔ)SGF}{$,V脕W s޽L ]?~< +. JrTXV,@aape΄vsznV%"1q|R1aWu<ݬURVkOz0 ,烄%!$, + HX@ a @ $, HX$,HX$, aHX@ a@ a $,*HX$, aHX@ a@ a @ $, HX$,HX$, aE% $, HX$,HX$, a!autt@* PX(,PX(,)UUUqT ra… XZ6u4.](N5 RE,K?ZVԡly%mmmҴlLiWg߳eZ$A/WZFaAPfiVu5"evu~>m֬YSV/ b]hYEeYr>nxׯQP)Y2 pRǢt;ffW(,X3ƔP@aHw)| ~'(, ճg̀PX&TXM\oCGUwne82BaAaկj6M+eg ;C'&G *jWE]$\p<è  L ˚ejK}`)x Yb4oCCC:DE lF)Q(,ֲ]~uT)WrG*, HXTBaR]jBq/*4퓬< k:J3^x'_y%j._\6jj¢Vr=hjBaBaUa]r)*G hc{e5Bat̬ BajݩB PX(,s+,D PX(,S+ɓ8fL'jJ֯_/7pP)=tlٲE}V(@ .˗{6IVNEn馴SX77ݦ6~qn<41@a;ee MRWS#mKfz-j 5w\)**3gʸqeӦM^C^}uD[܄X]Z,ʳq[Ciis=~hx>;T׺ HB-Z$6n[=QX*+ ߓRCa̵Hl)op[Nc|ߪ>&,(Gwvtv5<묃")uYV?RX3%@ʩD,zwkݺrNYd<,K?W0grB(oJX7_f]w_1JѣG믿]BREaI(,AGm6Gm ;eʕ(, +<,I#WD)9ia%KqnO ?Xևovej^ +a={pmBagWHs: ־+;(, y恨l}/[\\,߫^F%Da7uw&x.ѫ}K]BV뮤w}t9㤽= ˗zcX=ӈ2+[~SVR.*uu%~[ddzs)HUR_<3V*F=qbSMzo Ɨ든8qWv98ø,K~LSw⦰[WF52X!f#IM/C FZaI| w3ous{%.a%t*e33~(yˌWJu [c#mh.)7rdBV"=,f}wk/رcdͦb{oQâVR։jrb(,9@L9c>Ӵ c_%DaBaI)ӿ%&;C!oAaRÒ4cw&[akoK~iBa{N 'jiLo.!w QX(E|.r՟-"&LЇ<cky5LfP}oEcPX1E{#̃>(=3|xB?V<㣄:3 + @'|P5y8e=mʊ9IWXMORZRV.mΎne3?[61+zl$&Q +ny=3n뮪]B4|،);Lv +VHJºAG \񫻩SpaRlլ,)w[6š99" K⨰3M|J]df`6wF.|[]$Pa;y[n~ΝBaq0VV Ca^}%%_'Oߟ+g} J4x}:<%DaPXv'xc'w QX(^|E8q* Jt=VTDaPXMa}>38z=PBVW}cRDa-v^^l-VխOX{TGGYU<΄wI[s}M_ޚPX)JshO\ےbkqu+'>?RSWogÆ͛;?ٞp~zjEia)b(e3QQQa|g-bTK}PX)*rk*ՍEZk\4,t +. KLaqޤmfyX4{MiMKd6Pjiko<ӽ5s0{dŠIQR!a ;zvĭV(ALjԗeV+CrťKY;l^SsSӎ)`t-oIO,\ioX ٥5Z#w@UX hY -NJuC P]6lޖaWlq(.b/}W6L7USS#pÿeƍIoV0vZ58S:}\QLײN58=}~9N`#Y|THX}wzV_ߴ)}챝BazNQ_{q))t{\VC+PX}VXoֆgO1VSw쉛 !P]xXWXvBar'NV֩%eV K"TX1]lqġ) k6UY,–ݍUh鞊 K{w>euš6eJӒb{vEa~ohey;mqY6.raF=&}Z;,!WKYdeY~EaUkUaay]<6淿̚5m w kMZ\cV]5=:^-7gfJnyt8ưel=&5%[vrPlR`.a*,Ua).q4VHR>e<*-W _ߗn#=xTV}tYzkK9\-yUR.cUbofů)օ.Z.wKwY,(kV%t*e<ϜwfB,V$h{Wo NP8t,BݷiŮ].! +%Z2zh}6t  E;,'ˌqK%.S5\#'X.nM¢; Ąu۴7hC-n?(, '-[?!](,8'v>F~} PX(RX ,ГF2R=a{љ3ך:F>% ^nV?P9 Ve[ѓO}tvvPX駰> ri-aPe([ɴM']Oj%?(,VXosZ5&<$6ux:qntR  .}v!Y2ZoOo R]]sI';idN(gfzT{:JWSče$Uu \wtUfٳ8o0˞7b߼axHy,;arÃ,1jB&!Ƹ_=o^S;Y5ix1>v߼aGw;O;oޙ˞곏fd;=`8 8[X/9SFaZ5+Kꕠ kŊ^^{5@;nַ/z['aM.fZvժU~+Wxp"YV zXBɷ[|yGa*{GBaA{?S|{{PXJgl⓰Rn۬Y_PX(t/]_iq<3f|BaҕO?Vdzf{EaPX)Ή'ȸ<$N3twɒ(, +^QkoRNc{yBaRCnޤ}V-2fL' Je6o?w ئ'#+PX(,V*O=̟{91CaPXptxW{7#<* }BaOaٛkTo+Jhmmqzˋ6^P;o~oJfQڳqɬG÷_UOYgݪ#]OUU ճª̵HC>egMM[t_wN}Kv˶mۼo~ jRP. ܪs~С+lO>]_j^>4[\F<}e7m$ĉ;hO>I6nһV֦i1cվkYv2{>w] ]r%ЦLd7x#z9$Ӧu%>a 41w;6kZ,h1YV-fCڲZLiZ^j1ŢVbSQ-Vq-vbYbeBz)9WU5{hSˌ?[7( <[UXQ*Oo9]}83(X? ]B_=T VBaqE;,Z̧-խPJm,48A2~S|:V*,]U2D`y[fFk8S6W#K0@aՕftӄ_AK~eʜ&[v:O8r>PX)2EPJO/&M8"SJ,7=;Dm8dYydzgKZ\#l6YO%S]l\4(.-ٙgHM{r egʂ8ZIn{ҢDV&=uAq"u=gz[]簼Ϲs܀s8X"%*e Q/9rUA֯xchϐcZw͊(eݎuH#pdis(8]Nq8h]h,#*FS֮~^*uRf8CYe9Lϼzw?wx'ku;X9<{ϝR/y8Xw+S˒>Nr|'&RiUMo|5ҲJ˳LrA ܧ.Wٲ˹*-6S{cQ.,2R9K|[TQ+ O^Ǯrz`vsʬ(5G}+2ۺ:XuΩOATDQ\e\;nIqnW繺ͳ75vO甆Bo }R:šk<CU Ű.#q*KkM`@?embS\$y99#yŲE͒bY  pppp+=>{B7O à.TϞ , Xq7erKeyj]eZ&sU^xuգHe~̴-EɢzO ZҶde-.XSi-t pp,"Y;RyG"f;=, \U,ZNUvi]a  pREP,mwM%@ 2,gqzH ,`a,6`6XqT8X8X8X8X8X8X8XE]`hlٲE֮]3}t)++˟| 8X8Xؼy|WЦ.&J pp bUM+--nMrrrdҤIzY,,rat$Gv^֦?SQ]vҥreQt\6^dE Ҧ9d\JmKl8Xs<iUG*4ʏ]T]_/:,,軃\լx..ҧYZ]ZZZf(/r(uG˕睧s2FVsikk+VtC.8X8X!+sKJef[h}( e[*Zlzْ].OnkV."?eiq;#gPXרJ4Qe^m3Fv;8X8X,ͽ:Rf[0eɟgezEvʪqCCCd ~gp&80XuV{{;8X8X=r2ʗL]U-_,مRi|[]b:m`8X8XSn=`  62(kUV0Ҹ5|(s8X8X/,饃#ץQl(yW98X?`%J```V/zha/1+Bjkk{˩,,`; &ׯ. ppph\``Erֶ, MMdCݪ:,,,,V㣏~ ppp͙g)#F#8Boˣa8X&硇v 'eڴr1ln!`I,,JH,c+t5AaQUpuoI&}rq)SPwS:X ,/:(s圊ZSKz:Vx妛n V ;ea3p@oYT3f|-?3f̐So=T'x1娖l2|8,w'[S\-6wr(N_$N>ģ9JE8d^Q:x0Vyg巿r-o~S/O^#_>n2~N}iu,DK|`dS=``AөaeV^)Z w(kTlu'2tU޶&uPQ[&p(2~q򈏸yAVI!DVYh\s5R^Kz_˯[%h|A3螄r")G:-H7  "vHG{2tΜ9z>O> ԩSq px9X`W_SN٤:wKN>q/mY=XӔ|XB_F,,J6XfX8Xn}dܸwfXiO=T{UG p"}/Xp"inz_s^$ߍW,,,ҲU&L?AOl<JqG$e8g``VBOJYٞ89d;kr2rdlLh Ԅvuܱrpp L`Kw_]z㷍+WyɝW",,`ݥy:yoV,)B,'`ݩܹs9NikK}W:p  p8`1d~^ǫBKu|ems5q@/Vy(?rusy@|39NүR jc=V[cEEE)PH arX(``A,,isA鐶%3X~%m!`Ŧ͟gYfnH9uקZbLr PZGnuL8Qi+7(V"]+,,վ\rDQU9ʑz!Uy&k"f[|=tUWz,_mir\~Szfv~=\g Tʴ?G>ۑ}&EqY~*XW:^}=~"=VqpOC3-ݒ2[2;[/78vK&tjrwܡR;Xv 't&u,w! "'FZkX "yZﲡ9R6K^Rc"(VZn:嬳.?jN~7"몫ɗ_!!!hOߥJWv|2hA׿߄ ;ۿ"쩗PmamyGboީVZOKT(eWk}%;;[sΑc}MN=Q}|ӦM V'{t`2W_q 8X`%M:dCA;3>N<ӅfQѼq h+];wo9oۿs= ~=1c,,,~`k裏ĉ_ʤI?ƿogen}",JQ^C>\2|!-",7֡SO=Սkצ9}쳻Mw߽Wk,O~"vzzY#H[NO*>"FuľV?`kSh!EX,O,,J >39ꨣEorg*.ZfJW誫ˋ/WV>"w]`cTC*'x5qDjkzreU:X.ӻ {ڏXY8X8XٶD-i\dKCZ#%xne4TKf:VXVX!" .4>Tm5ATe RJ'vzOM)|_FZE2/w, H4/tR2吪<ڨ<# :}(8XayWQcXQV*O? 붔%EE{xx e%sOWĖRMNqB*\n-ݮ-,M`}`:Cgn0*S WwԩR2>Ce OO`A,Ed%Xjܩz8+NUSek9@%'?#_re 3g_`$R FKx:W,Vjm.wtܽN;v})`EC qpz~Gx`W\Nξn`V(++3 /i.mN Ճz_z,,,t,p|#-bպ3ݟH{QmXo|  pppzAl;*2r!59~h{8[{Hz_,,,uJJJ[÷wܡq}M_rOJ_, !6n(~a7v{R]wܓq~䑇O!``V:;XZ릦#%Æ#c'w 7M++[*p]>epp +.B)7Sn=^^tiΑͶGnu_̃; _vWgE.+hB).uwŔ#{ Xϩ2y#F38 ~˗wȹO+7OFdb8w(铔ᜭͅQ8XN-T?OdAGikrVA/ C,{.gʝrUL^s~Y`gӧ&7k߾ Æ풱cϓggV=f_  bQ')'sv(MnE=MkN+**%Dѝ*6/խG>$כ"ǿ$)B.v% OY>i=K TQY`% ֯~[gw ?ٞ`ʎq$L,,)n|MFy,9X۶uȨQ϶P_S.ַȺuM[~OCpBo!J 5hWcU<žޣyע37<8X8X@?X믗c`p&p(oB8X;ROE?ʐ!z^S0'ng/vgkVEJ>eV{M^vyCXwɖ-L`+WJffرcȵY&!Rzmy;@P׿ȑGvͮv$mB6XB9W/~kPњֳVEw,UV]DY ˾J/wbU"Ԭ fW/?Oz{wN,,J*}rg… W]2uu_,JN=a}|ݺu>_h[{R۰ˢDVE6X:)L,UZvl]-THj2v]Hbz"6 M<˶H))MnǦ]\|IQҸ{Ttw|˖-}:'t0S2}3S ^`)H3[Ό=M,S9X`]`MVg|*ӦL[%>&>Y|aаMN9`9Xឌ ~HsS2W_/e,,JJ`e"b"' TQ~To}nӦM.7޸Mzك( iˢE 54ke?Xєqp ..ՊVYl-9z+=NB`%MN8 ! 55rYre霂OzJ)S;UdaA$,, 5Rr-}`g.i 9 +Stb.CdgeW8X RpsYdY{RS{v~49<}ZHIf,h1P)VaQ+XWm-(̗ʚ:,t/I3tTF=O@!rHECΑz{*ö6*lvk*ǃNXWii0mir8XD:X˖m .On_.S75@`UAr7q,E*j4z 9 7yPWzm^i 'gk"=?W!d{=ל%{dKuSwd#{e5ƿgwrHW8L=6}+XVȂ5>׳`ݗ "q2 {eS,ֺ{%@ 2,g~'t`!`=~ujVĉ痚. gusi2`k3=@Z{W>4̚%ܕF}aBj#Sh M<˲H9塬~4 q'PUVx뭷[;䨣:壏"Wv==]ߴ$qp~pP`5o6L燇.kHnzkZic!ݟeÆ i```cuʥFobe5 ۻ ; +>Yuw-5hUb4ۊTjGi\U7+Mdh!U€ U:N{n0|=}n}n=ظ^}U1E8qm\{횊NV`I`m#n217~M &XGo2Ofܟ܎&@=b9˗%=  V[dI;TWd9M$X;3gN|EM[-Ooz0. 5O :9X,  tw;3uN#3Ɂr'XS(N.hm\y*CKiqiM ҽM[91cF>}btUv?5ćeJ\Ud4;Ue^mef|b^ŋcԩ Z꫷r%OvG , V'4Eq Vb4/n(M6Dc2'pB3f3ifv!o;_jZΉ*ז&Vgf;-Zd|…c6o `!`;۬ה=Xm|SOY`!`!ۚt3>}>jcsKOnl{N=!B%`-ĸqk㭷E%zwb b$KK%<_!.'?)ĠAҥO4ӧ>Ӧk|$XH$X,ۨQۜc~M˞w-)B%`8+TC9$vJm}A}`!`INKcǭ')~?ŢEDP7xmU !xgⷿC=$&ץż==?x}ѣG{gGYQ՝CwԨ-;(x>ר4;P-8tp8ppYWGmQ ~{|vM;![vט8qbżm~%YQ=Ζ-{yk'eO6-qm}1[+q){ウ,lG˿+qg'mrK̝;1Yۿel=裏Me07oNGO绺&9|-;2ߏ~jķS}Hu/׵ԈzJzm3ޤOCiTR}Ju*իR8>oK,յRG.սTRLc^Ou4TWS}-ՈSTS.y}Nu:T%X,:`5븘TKwgoXM7䏫ǭeoҫڍ曫bֻ֬K~{=o;)K.Yۦzc ㏯.7>6m>o}|c {ѳ6W^&رmÆ7e_ʮo~~ڪ=um҉ͫbPz>ZRmi=k`i&=ݴƘ*z125EqQ)s#>Qzl0dȐ/c!N:)Os$Xt*j.̏&i4żmnQ5vBLQ7wֶaС|rc!O>9Nc, -= ܔ42.}QcQ!9眘>}`I` B%܊QX\(4ut`klFǶ=`I VmӧƊ{kǪXؐο/Xn)ťOK߶mۏ nJMΊϘxo)TU'Ga ,OndҷB׍w?:2á*ErV;RYͫhE=NDVj}-=ߎg 7iʿ]aTd^#.Azu=uBd|hV.f.vgj} 'QVdhwwZzL;m3~}oHGR="ku̚ Y^e,Taޑ EVoe|'&~41+ïDIiD֪zz 5E.w=]s\W3|ğlbݽ:vMUGrX={Uks[20*ߠfT>}|GzS3v۟MU UfT։OwC_Z4ݺ-0 \BJe,\YR Yzz7_w \W$#+V3TY*kʊ,Sn|5** eQ'\YGE֛? G!':*}6ۖ!;9k7S54ZzʜZ-v*}-ۣY"kgbY'GV{eId¬ѕ5X>]|;4)}+k MURYPY*Ke7%"YK>~mݹJֵ47 |v'2#Adg#~wj+U<-)ߩ *+_ZHHכ#ߝ8_m_y_]C 5CA[85, _DGwnj!$ XXxK`I V^X*>޶%eߖt#_x9,,,@`A`A`|` 7<5ےtQeA E$O]ց̌B@"tF>Lʳ/RVTj^vْƳ3*9Oe{b;cGne22edDe5G9^=*M7dTj:V]sHƜS,*ZFg)+.ʰlnqwQ,|KFF-uZw_4fpu욋+s.LWx=TЌz<л*30e]ӟI#rÚn]$aJ=Tʆw2uXXϫ~tɿC[p_=wwwZ+sn*oJˮ'v# 8֣m5w&!5x,,@`A`A`   XXXʼSV`   >#PNR]!^XyB#yٗ|cʪc}a#e=+u3>-Z[ӆ+2,<X#=.+w v(n <PXk#~,zVŦKF}-){L`UMi{<V4vknӅE_TƩ/O?[Mt6{Éf1kÎey,,i2t.obSAΨ[vTGW 0:=H5j"2{Kt+!v.XXxe`^;Y4mcWtV_˪eͺBXW#+v6F9]{?z+; Z Z4^g͖eTeehv^Q~gW[VaT8sW*}d`i`$[^Oc*p]atw2ZD ka½q7~hkg*)H&S/^+3'2e"QQfUʀ=&֯}KW,i6IRX]l`08+Mv ?W1xF|Yb=Uj$  gW9;=f')֓|> wwD)ZGis2cA`A`uNhzWy^3Ozz;AX z1Iv$@i03fV^Ƽw~JXXX_/wZ*zGPZޭg{o]ftT`ExnE+ӧTg_s-Cz 6xB`A`A``?}ZB<=Ư? 3{:]]EE3r޻Lw;0aEW$p[?u*ԈZD,fYAyNџz qXG M6# F VtG߿?MqZ52Gv V6=_ҷL^ŵ]' ` X@` X@_|HFwc{4pdG9G3"<%sק_KEc_]*ijtOsOmO Z8Z{:t߿;S&@\jt{Wͤ '>5ȨEEurg5CB ,   fVtfe=1G}9_ߨVV4 V$)ʾ!!BeD7!!pt#$b  VdQ[,9E|Lgj,s] V68v9mB8Jv_zsc,  X`ElyQ\U8W\PD%q5-8V8^QY1a?ZXLG X@ jig:1KaaЂfyʖo:qX= }\p:ZVUx'GsG7M*}g[Rw-ZC~*FntІ/\C~<{Gս*,ٯ z;({hd;3/ XZdާ~k*jU1:Cfyԇӫ:skĄ=n յe*3!9no\eE%sː(X+v=d.Is#aNG2]=o 3sc{SSrH` EbZwg>2޽eo_u{|"9B-_3Nb=u. ֎!wM6j_ZUmD1G ֪0zF? `0JpF=x@Tg| `ɐ"X ?P(erznfڜM;VnfkF~fCƞI_} ֪lv]ғW/ &\AW =g➲nuE6uXr [Ⱥ9OuZlUϗ`Օe3úY#W5|>;&#C޲ 7‹bRQ X@, X@, X@, X@, X@,PZU&b½Y$6֨LvwXOҘHzv],nH(xsl+r[, X Cy_miNƘ"X7YOsـ#'ǹb1K0$ÐojU )Z睢Qx`]pl7L >~gNZA!Ό;,ȼHkV,I։oEZ+2^=YuIzُAB ::[iEzwwOLGşN)!<+!xe ,,&# m1M" ڤ&ݟtp3ϗlg|N,`U0u^nE'wvlaa$jP=_=DZhl-=/ V[<ܻɳ@k&aL ,Y@{[Cid'``ճ\`Do R@,NZVk}m rX-Gdug6t$R&R+NZVVJu+?cpX@` X@` X@` X@` X`ڒeRy8-Ɠ/W)s.О2JF71[$3Y54W*{wGC»Fӷ6HPF\ߟzjQIG+~юDJ*D*R0l) D$ #A#wNIܣuZ"c4'ͷqÑdćW}ͣk ĎC`@`@R+gɬ;W6ѕؑEm矄Zu=g,iӵR@ǐ^[U]t3w{VpXS/FCp`@`@`@`@` X@` X@` X@``l;Fl2=gVUvx`i+`_i\!@`@Z2k@Uvcgbe|fs˫qeTvI#3RVYbErX]Yb ݶ,`",I6*YZ=qNְY2s;f4ݖ -.#;g5샏Z)X#qG}"L#X S͏>[b2$ȑD~FYC݆)w$:9{{@^Y ,6^*X#'G{qv\9V VEţPm%U;#^ٱ^hkH 8[f*AQpWukX,XrAA< , X,H V43BI1TL5?dˮ_C]U,' XgGV:.df2w[z VN2E\ Zz@-֫WD+:3[5i=o3!CYM&+$ C`5'_k%iwD;+OeGO侞iˑl=W3ʼyI{ 2?'XE*H.F]ops'k*e:Q4zS8A2UFc@;,m9t#CUފk ֓mzf33CH]UlŐ}yG~͇[x{XW4b}(g8ZrfI}K^1U,:A97UF]n=z^!<CjSȏ[{W_^өfҨ;+gɽ;,9kH,XFl5|gHg:!z&XX>rUoF&}89g2ΎD;#>NZҲ`nܣ~A4jz74jQTO ڀF$BnNƯ/(, X!?]{[[*{?WY$v~vV\/$+eEe8,x;nO˜](;zVbV94'3lY [%X;vH\!&k+k蛃mf٪zȊON`xx`id,r 6T7R>%bySX(XV%u}X+hΫ9* ,(X+z=g]93u"Uo])~jHXNnb֧,'쬑߽i8ػ}:؍HO/ ,, X,!X#'3اzq|vNJsHIT$X"{m)-lv\BftH.,vXгNgl+z\XVFFrȰZ׭++ VX m )QBDhKS` VIr;yAQbؽےQsvK2 &+ zfȮXL9g 骥8OKS=,aר-GiC7:U/g5 s$ ?zڠ _GkpX0^VfM<]ˎfeEpH" LՐR N*'rqnUfU"kZ XE39w{!X\Vd k%xϐr7$|` Wݰ,hoV{kڱV])`&|=וM:Yq>k!sĒF2 gtYÈŁ3'TZpLHgnhl:LY#g|(X9`^UW\T`YmN, X@, X0Xv|3(e` \;f!ٱa925:a݈p gqmE5(Y_!eg J5;,4 O9#בeG n>W|0?2g+ gkZb[5ôkF59,'4M봝GdΨVOٕKVe-8C,xE#MN2uw]hH,ţ          }߿O"?ErSO9\=WMCD~iz櫆9Deq_>>Z ~S}+u54QdQ]s]x. X@` X`1;>,{Cy i QmWK"ijueQ0 VtOgQ[^ɡE|_Ɏ;}uZ?҂Y~ab~&D ,  V6hbӊMs]UY_|̀W ֨F:U jiª G Vt%>5һrwR\-v\[H]j`oݰB~.]p0%'ӵVӽ={KJ"yğ_9xMDG\cZz-#^:*  ~5EeQeAh5X!s1'U.lYTyK8Ѻj{[^IaU,ޭ$OPB[6.)7@+Z\5C^FACHoat# 7z>֯Z Xﺱs , 6,+ݭt^UCJw+ݟGH _*x`Y~Jw[.ftCB nJO<+, X@, Xxo@=L\ 23P#6nyϜG+>'2eTz~zEo͎1"VQQ i3Cz6P8YAVzޟU^k0ZW(ϯ-2uǻu=?ҸVgY3t%&-Df)e~7 7-0W` X@` X@`0X  W#n&1j=Vu=\Kxֻ:zd;mv7R3iQ.qGo] ,3X-E7dln{_Nj\wtȶ*=ڹ^_O=Gyt+2+ڡW֎'9doL挬C<,' S&람wfYU&'%[xo^Rgp>a`0X , ``0X , ߿ϧ+OT։ݯՑZ0X r7x=~xGt$+g6^F)qz!,0X~5'Ssձ'r߻߽:]g3ih~ߢZIoeg6EdFz4%rw5@ϋ60X!y\DD1#-u{-B1SE[:*g6ECd5XFk"ϟ6lM~-n*m+cUº['5km .&΋׷>,0X 1+(<9bՓ*zev5V+E&q62XWZ4]LvyS&-xzI/;%8DhG1zQՒ]9FKɪ.(1X`ǟ/` VfNkv\w ``0X , `0X , `0X`5XUVYeݫeܳٞ1`eYYeUVٱf!i0WՍXYeUVY4XNYeU`)2X6X 1, Jegvs3uWYeUVY`*(*Ll`` & ``^RYC] V2-*sk^϶3eZћ dc~OzF;35 ֶ`vl=:8vEjk4+|,ZaW zsv{r`}`2f~83X+geVͺ2pbWvFYcU9w'@Wػ.3I4``0X V7ȇ5I !O Uyފ%3˯U)Nv:*q1*ټ44u_3h'%q]\XCY#kL*lֈGy1r̼ӛxEiv\/^c`\eFuU!=_AZ+Ghv=ӭ2+^ q`ᝍ_, g`, K M^}zޞ/g߻\o܌k~*{_hy+22m9Vu[L|Lc eRw4l6wʤyErīؼ;\oOg꼣se[ @[Uf}Q*CUY& %h5X=^{FuF[v$`sQS:˘5:ճΣBllL*zL=4W,`TfͬSϫ يRivl;Lنgn0XxufeĚYk2Qqޙ뙲93eb󴸊>mLfg6QUI3`%Y#đ+ , iu,O+{Oˊ/a+'Pqz7+N_}*IhuGjy\}ͽ { Lf+ޏ>IN{5G_?gѻKd{DG}ځf>-)jkl[<$k^Ci ћ/-Umbfm* ;m'vΧb2ûbjպ4xb Y0X  ek]#μ_֝T׳Bח *ÉC V6ٲ{g4If⚫􏎏L2uߊvߓ'ﲩ?'7_eN4X?5`e;YN*n,^!Zm+9͌̔>l=-U%SzJ;v.We** U+֬S k>`;NO=wvo ` `[}ػ=/1 ,,S2˨|^\`0X >keޔSιbkpX`m\U2eV瓍:[*ܳުxa׸N2Xk,keg+Stb=kIJwUW:).g`Ud>ub6'3{uZۚ;Sϳ3WYٯ5{V"W tV~ [,5*'J#L hw~R`,0XbG,yC׽θEwy"U5oy_FC_eZz#pץZOw٦e:1.:5I=*N%_6_W.zV= _\Y342U_+*ydFjTѸzdAJ5GTI16``iK}DDtZ7[ Vz5X럲zgV/wg VU Ni3s% 3fxC V~^"Ύ2BŚ/ .BL0X`M&u Vc8C[ql9{|gt 'SjmcYe3׼W}/b]+rp~ = T~4+H3:L:ފ;O|WҩR;O*]wNvB*Λ/^ge=eg(tsLZvP1@B(*Dj{A˷JCwz{ՑoU!2&IQ 髁ٳ@#0``0X ֊E_f>/ҧ'?_9>.VI<;>VƉE W%^CyR6\N,[Wk+erhjZ=Jٞ=I>_e[ xO{Z_iJؽZ;bʂRٚlY7SMu7{g;n9=Ov\e,Ӎѕ,eG+B`e;^'3X(7X޵)[wwUX6cTs``0X{YL3<'~{]y'n]=?S5C?`aQgԲ> lv/|Um-bٯu"wIC{clڷ2=4z;f/Ί2XCٜA|&>|'[O=:萢R_ea\6Ό[ Vv@#V e+8l&6{ff3_*[l*ʮ0Y ֧;U+^'xrOG<#xF8`A`,0X+{wѦavROiO4X'=ߪ_ת_|2]%)))f$rZl~e5fr_u^|`ye[Sv']5z68WΩ犸`,h3``i^1V%‰X!Z9b;20Xo*`:q6w5` QQL ٫Q\}QcWr!Xr\f  ``0X , `0X , `0X`, `0X`,  ֿn^uLk?XnSL*;ٸ?Ίs5#_q$"quw}~5WY+N~upmX[ V5He|1Q?c`x1`EjH Z^ew 0`MdJmj! `h [ VU1+Vvk]~* ka|>Ӈ4q믈]Dﲹ*o@i[L4<]N W]F\sԸ7rJ $' 1fߙ٪vS2RvLՖBOk`+~w֌UFb6$Lٲ᮳?O{> S F} $Pu7`,0X m"`>y{vE?Q/zzJrg$-VqHu1._MO6cuJ5-oN)ݿtOZe?)?eK$OSͪz:v6=`% ]ǙM4zevZ:̧l[렵m蹖󪪷S=FoHU.E v&o$Z!c{\i*Z;֎Z"譋s=-kZ_.=VTa2ϕ`a^'D<;u:qmI`, `Kn ޜF't+a9w˄{UeGQdBkjͽtOדxd7'QEH$Wh}g`N9{u<'ktHni7T3[|l'R%-ْrFvlg;zgGd=Gt5 Gvn zٻl`&uUVHq2XYY5#s,Eٓ0;Y]׭fej.33e+ ֬_J-,l ^nzyC= .``,0X 5g*O/IENDB`src/site/resources/ref-output/png/TestResolution.png0000644000175000017500000003007311331616417023446 0ustar giovannigiovanniPNG  IHDRXXaJ0IDATxݱn"MqK`˱':tD;x$M@"OG\0" NXߌPzߙ:s8]Js t;888x= k?jU.kz R*COj\qPVu}SΪPo&+Y:Kg,S4> Y*xS4hLј1E#+LјPg,,S4hLј1EcAg1Ec:Kg,eƧ:Ko)S4h$x)S4,e)S4h:,S4hLјQBg,v8^j~[EVJ.רE.r tV%+)ntY> YhL"tΒMј1E㻡΂YhLјQnt2EcF(uwCti2Ecito) ut2Ec wCt)S4JE;,X_S|tIđwώ:#8jXǿ7 "ql?{Ce`R÷B w[q4>  ,}XցebQ,?[qX0 =XjqV(͘2X0`` ,XebQ,?[qX0 =XjqV(͘2X0`` ,XebQ,?[qX0 =XjqV(͘2X0`` ,XebQ,?[qX0 =XjqV(͘2X0`` ,X _׿fwrC I%8q3V3w1ı/)"uw)"|Ya_67ݚű#tb`n*)}NIq$6~_6UA!cX&0đ2#FfZ~+GL#J0#8  , 0`` ,~qm&51ıKq>+.-hd`Y'Ky,{eqX'cMa`#eG 5̌8V(ͤ*8X:Hl`=0`` ,X0  ,,wnfRCXG˽}`Y"Fx0đ8Xvi%|2D8X]XoLၵJ0#8  , 0`` ,~qm&51ıKq>+.-hd`Y'Ky,{eqX'cMa`#eG 5̌8V(ͤ*8X:Hl`=0`` ,X0  ,,wnfRCXG˽}`Y"Fx0đ8Xvi%|2D8X]XoLၵJ0#8  , $,HX aUw V9RXKЃ;TOGG~z$!e[=MX~b-e?=vOdVֹ}>A8AuXGЃnvŸvyzc_z;x|ާ9=葦I'$l8/Ѓ!a1=!a)y}=v.aTL zä{O?ӃH*aō=,ͱ4OmAD Nz^& lGC  ú $,HX a@ v:aYlK2=l/SQ6z²lޟ$,)NzeAzmȴ=;&AAD0e΄0U=葺r=葍twg5=葍ZFzdG5J_aAzk쨘G?iAzӽwOyzzz=<m=!^=;zX@ HX$,@ a $,HX a@ $,HXŠgܵxу'?t:k sWdl6MGG~z$FQcbq Ѓy\ vĵ@zGR k2lL# z#=IXrμ.#?nĵAzG2 j꼋R?ke=葾I$R=em=葶I$Ҳ4Az+߿X,>Neߡ=Rc nI~kŹ>Veߡ=Rc ke!Gzl|ce?EM =葺[MXp+kFz#u=nrDz#u=NNN$ڴЃՄݻdﲦ=RCOtz#Q=a3=a iAzCzd;YMzd֮уn *v=~X~ЃZ;*=aOguZЃt,SA^Oi=v[%w-^9xnϠ=<.:B?\=#ل5j=葟I&hԘoG\G^z$Abq-ЃTšL&kCdr\3[اGOhӾBzVp8J6Ѧ}H]&n Ѧ}H]&6+Gzl5a}v6绬APa;~HTsXLAsXe+HZЃ>,ЃNwwVӃa-kG6zd[C$AViAzqY=k(KTSZAs =\uaz$`45.F\G^z$l6kL87AHfNSq.ЃyB{ zCªS5ZЃ$,HX a@ $,HX a@ HX$,@ a'x]x=[zx3AO~N8A|H6afڄxĹAzG k45&=著%`иoG\ G>z$&x;⚠=#\.Wx|||=V=O\Gz$ZVλ(l&^[qmЃDº-q+;SЃiDj,-[NH[b:~Q*D[z#e=kVkE[z#e=6]BzV[07QS$ڴЃՄ5?fi_=Rc &'Hi_=Rc $9AM =葺[MXݽ A.kz#u=TX_D=9zV Gz}?G6zݝG6zXKh=葍Y+ɫbwz#==a?UbZЃv{V=aO=zc\B=AD0e΄0U=葺r=葍twg5=葍ZFzdG5J_aAzk쨘G?iAzӽwOyzzz=<m=!^=;zX@ HX$,@ a @ @ @ @b>E+nqyyYGGGEzo9>=^(b:߿/vqpp?X;Kq{{[6jG#?ʆrYܼNɦ`?Ѿhg+I&Iq||)tD?XI0 4şk+F2#?,۩u~#^? ƈ߾}+~Ǐyh_ ?CU+,6|:H{qN]m-?Xׯ!*F׋ֵJX:Bu%ξkmQUr)Su7ke* ~#J+W%?X+qvvViUG5G9??E? Je7MJO(J4Y]7'?X>XUV??*ڃ)XGGGkǬbk? R5 (jMnR?X5celg8?CU3uQ<:V>nd vD/FF;mk+ 2F?C$۩hw+Ibj%mh_s?V"ֶJD{,?X;C`;N_n5C?׳s.?Ky1pXz>V8<<|Ɵux_ @ @ @ @ @ @ @ @3b<zE-.//hZ?ǿx?\LE.;q^\k'xyy)nooFPvD{]?Xٰ\.)L#P`%d2)6şhw+ AP`mhSxD|?Xa6e;o ?CqS_۷oE/~V}8O틸(j%v:ܗ/_^ϟ?io7ש~U>$WWWbhzqݺA?Z6+P1_H\DP`M<*TCR1E{NFP`]AtqqoUvEk%*Hh_U#(?CUx\:_w즉vV3 V)zڃ:XUV~gkʊ?X8<<\{<==ekwXP`hAUuc~?CU SxV͸IMf,P`5l(jƣ<P`5uzX'?J+Bގb\n5~j,/?Xk5VXoF>'Ţc+^^^NS {WG?P`Mm.ύ舸(c6Ǎ Ԏ3?hP`m`Sƈx(`2d;P`%I7ZMvn{JIJAchkglvfuzv?X{|>/q1^Wt Ss}{.^P`(P`(P`(P`(XP`(XP`(XP`(XP`(v|^b8^veqrrRVx]>?;tZ|hAcG?׋P`///mqzzڨюhO +eqss:%)tD^? $L&qҦP`%`0:"? 0vk#flrיx(#nkb ~ŏ?jW/i}7VIJNSۀg#:u9<P`¯_jۇX,m\/[>(?Xk;c0ƶ a;? GT}xxH*hOթ? 4...*Ѯh_P`YUj\(3+U.4*qF???*E[{\__gkwXP`ʏbVYkbk? R=h5ڻnO(Ja/?7)IP`Ռeق? QVxԁG? N?X5\iEquuU,˭׏vT%#km(dXb8R7P`eKtjdoS~qS="? Zm_5zxU7VcfqF?Xa49">? 0 vVL&l~~? $B⦾V)}m?XXXz{{[>(uC\P` t:}}T@n qN\ιk/x<.anXuJ6}~? ,X ,X ,X , , , , ,0ϋx\ ân,NNNj7?X{s1N߿v888huzq]? 奸-NOO5C#vP`er,nnn^dS0şh_3 ?C$ɤ8>>N:~? $ YOG?CFNP`mlT:S/VcM}M o߾~Z? 0Ͳ]g7?j۷?~X]xE?XR;Nm˗/ϟ7\?CU ~mbXlqn]DP`M`/$_Q? (&Pu*!=U~_(V h7D}U?CgggVu[sʪsY??*xE+cNNN)o9>=^(XP`(XP`(XP`(X{4o?pIENDB`src/site/resources/ref-output/png/TestCustomStrokes.png0000644000175000017500000004417611331616417024141 0ustar giovannigiovanniPNG  IHDRXXaJHEIDATx/T+@D @T DDQQ@DEE@ **D"@ cl6sΜ);" K7 O ӭbcں/9? TVG?Yҿs5"Fm+c[[eTX'RYq4H(u֗ZYuIU*`X{{+Bn9+d8(de =l[FD{kXqcx4:/ތ9;ŵƚiS*k^1pssygA1+m*ķuH 톆&^Yn]UY:>XZ$|ڜ%ߪh%kO:Aur q;kg%h) ;E ]&Z|7|**ʚRY{TV~W9?@e:~IҮOILòq79\f埝_Ŭ_Id쥼Nۍڳ=zJ]!f+ъT`q29?ȱuyVͦNz]'B=kH4kTV~בC:Heo`0⹝[[S,߉\A$mA0i<-!AgkMH>z11w`yƬϋߍy@8+K*< J8zPv hS~'%1\tW3vNtF e|+b*'dK9Suk-Mab` ,*ʢj]Y3X J*}ύd'oHNz2پ¼x`5eyfιmh/eh(]Kg>4I޾a+{(̘Z m3Xy7W}LIin۰iO_35/lCIB\*c=m@y~~(e7$ߜyKv{'l0?_8@>0i Heٰ%mw'6ՈbvS$5~QI޾95j>~+cagDE; Q>77D-gt~ƴceDjVSފ٩WzܹK ;ٖKݶ_z8_c3!u0OvY7+uz=OmO&p+O)V"nPBY)'%zOh($5GPY N!SaME¤uWa]N.U$'5i]!/%S]Ihxn82DZKnH~HٖNJ{m{ENR*7e6A m$/ ?_-a1qٟu q k=pH|4a5vB%iX2% +w͒|ƵlX洲PRz?% k}6{F/ZKjXv01o:94@{xnѪh0nPKUa )a rG]:)qSs<'ͥEDŽsqH< `s4ϳ 0n{)tQ5;6y"Ѓg^=5<*K>pC^ZHi9l>nQJJ7EF{Gz4"ys);G6/'$6un(>;[~4*yNe؞U1ZHkwG#=@>@ hsB.NS^V{G=G<-{ckНzynU]r]Ǵ?hX2tn EâaѰҖףaѰB4+ +DjӰhX!Vs?ӰhX`KâaСaѰBhӰhX!hX\)kclX53i fg5Ά5 XԌTosXai ՏI1c;,_ = qt5,ΰu+ҮBh겻|i;r=,1iX~˱"MڀuUw3'm)6K=[%V$#z֟geN[ΆBO: Dr|ٞ5g;ߨ/k@)^U4}(e gZYm|w݇Gzk@ΛMv,r>Xc΀h"c{ nYZewVc_03mW= >Y|II,1a;hבr%gg]q>Yp[>後py7:h1,,)=d.7YlO vw'Qk`}:Q>ow9?\%)cC\U+s[622HA v|tZ B,nEᴠЌǾhȰ]>:tjX:~UF6V XW{SU88։YX &>Yӎ},{mQnyE6`(`o3|^wT:'#'Hd=>/5|.ܔu =Ec7+ο<:֩gv=?_$`Dϯ0~RÀ5.sgWc)ٷYT`}R;P` X=;{] ` 4%Tj{.wib3L`$DaQPE{m:X'on#}FR_ˑ!VB2m Rfǣk]?@eO0VRhk Xv!sJ?=%f 6^9!Ȱ'=u=Nt-8`%=1h6y.oI] X+ZCa^c XGN=O\ ucXo~{h-V]d3.Kfn tKFrW|&f dOi3c:ڢ$|kwƻAH^K)v/S Vg.%{AIh8)7-ɞg5U,w,g'e| 4UE*wseǀ|@h:.P_2ĪH~WUH H XE]M-uʰQI*1`PNVUZ* !P0%x O/+Vc.o*`]KtXEwHs`UL(<d9mKg }m"`V͚Ϙ2VCi'& /]HA"=xx έ# M@+ ߔv'ay>cv_sy7>IcoH"6oDO=|I~oC}04sXE1 .Գ2 Wobl72уng\$~7úwk|qBmydM]7b.9F6 CTs&/efJD=%bАTY.2/vfdQ]?hSػ{RN mkۓm>ӷN#ȌԬ|!@U==MAFr> 9/҃}GIWtDؔ/ |XGl@U=dMj-3}9y}pzً>f׀%zͳRWv%o4 ߠ-o 5W7+u>+7nS~+'OC&9+.E"`X,E"`!`uuE"`j !E"`MB:ԠE"`XX[anohX,$d1mEU16Ew7<5Gs&a[XДnų Xu˰Ӿ\jhiʿ9;z R4PVek0,݊KoXai>Y0t9,Mu|1<,׺4DbiXZ|]3Ͽ5 'Д]}h=%aZ sA™}ư; lοם$O2&6u;_`ݾ{laYЮgKKY]Y]߻a_Ov,ru7%}nu =k1w7u* 4Mx:jՌδy([:zD_ǢG YWE f#d5n!Р=+-۰z2N>laP0'U/܌۷1l}g9eu bͻݦNzh{mn9~܇N6%|ꬿc2q9.PS6V@c5w[MҸׂkw󹅌즡Α}g&q:-:3ԉ3MX4+m<%A TY(C>s6ϛqJ ZeS 6t3`ɢ73(n%= Vƞ=[րӘ=)١oy>|S h%`c>\ENtm&2~WOs)'fLWi\ţȐAU:-3>s`|es>ʚC8Q2.@us[1VH;:Wp8] Qփd_h+LX1 TN=@7K4s99y+@m7Ժb*e XE>oD3*Fǣnp!Ğ=(`7K_on},xlrun{vy j۞߱*n م4v.=>oz-pQU;o.M϶zTD X9(`} u Xn k5 XfQC"`MljXw'{%VV; XG3F2,3Ye2+skr`-wT΅1, Z3+޵*}ގa[Bg)ªb6u X-m+uJU}.4 IIZa5 X|s;w,WLZv# X;V9"{4k99JjH\ʺ/dk#lOӾu:}T64?8YvWqڞ=wEɈ3Ƨkؖ!w`U 9pO"^Η. coK8 ?ON9&#dM>˾@":ӌj}י =ڊG@.`}Ԯj;UerM n!֍v>8]u;nu}̾Bm n[ұ)v_YqۋI)c'U%4];f=вI~o3ƍƭExPm+:zѓ{\6"`%S|k}Udhput-/`sLmVXfw oζo9V? Wk)A-:)MŦ;:fP5ZJUü(t~IXRkA-&SYKc^gJy[%~eA߂G7 V_ޮ.3AH!t1R|"'|AČ\x]Ӛ33z*wg9hX |bh,;vuw&}+e XשG}} X_C>f띄塊ɾj7\Ah-/N5SUZb7$ *`|qP>F~@^M]}s1B,0lBTiw~Gvƀ]*P|幠Se2'ۂmqn.*`*X7V2sp︶׳ݔ3`Z`YӕGjˌݟUU*OH*:,6|c: `.OV܋t{Q?6]/rQՒb35乩ֳ9j*2ޑbw21}|hْ쫘ft7~Ijy'%%`IY3W ?KlDQU+~E?g&PE*8ْ X2%s+̽E%O~Onݗb%`Sen>i8?'WF X۾+dDf"`}O\:T-k?Ձ~1]e XK۾(1&nZ}s>b/dKڕgenE܍~V7?l|$9p@,j%!gɃo%gC,{,5 |X X,kVC"` %VK=#kF\i XM?+=m়֋UR@ང˰N:}^ͺ qoy} /&`M~8 ް fmXeoX aiKeҲh m+_ZSxrYUݮaI֯ayJHnpX+XMx6e~]˘,c33,aðh|^"`gT RO:'I/4D3I VR;jIDNfdgQaF}s owBJ;rLH?$~P;ZX5n N&zk]J-_i]}v¸-ݧI1H|2 V6/8g2[d_HQR4>jO&[j^8Q6'>wkeGkٖZZkk# Xֺ5Ʀ1|CȤT1=/6sZ(-W}v]~nT˧i$NG4+{L|G{VY'@,3x=> 1wk˃Dz:u"uI>h'?' 2r^N9h8ƙ&:Nlƌ 7A^$魓mwrGlU/9#I9MNCVVO}UKw$$7l0G~3tWv)wlOݘ홓9qWVҗ&Q]?C M1bS2N"!7ߵ&o/[K' F}}~c3[#9%r;m]ZM86Iu,BJ8vBsB?9ߕ'? }%fĦ1ºנ[Eu4b]%fm9e$,N?Ur2O5'뿳9rE#!iS%7} M|=h]gn{+jWUObF5v+w96i-a4֭AHC\-yGi"t|-1 j$&|~u/T7XEժo /zb;Ttm'g?q'uؑ~$kA'D` n2uГovZ2'2CFݫ@94xv:L|QWOd&XQ; ;%︩x4$XnU$hS/ڑ,߯kt'oLۧIsvD+;>9=PNJMX.t(}E8tY|z@wioŶߢ#ۚC" `IdB'Xn>& *S'_Upm,kCG*[ގ2N&Eۨ VI:=O' 0ozN^G*/RN2'sI вL#<;NL,>NzJ;2q(hNDI*j#/{XtL#Y MDGB'Y}NNi!Ql\gB$)+M%! `{%̓-ګ !/o܉^}a/煺wpk,sAɏxjd,Cߗ'-k}2圽=_fֽMt7a' -vt?}y}L{ CMp!EҶ5uZ߃+.5Fp[0IY$aNV+HuZwDGB; iX ~R,1,z,?RB4v$ܓ,(TIQQ^vZ~Qw`;;-jU`mINFyulZ{~ {&n޷Ce w H'&_#iXi{| & V-z6TUtn*+NoGya4 %&Y1zp'~]A'98ȃw;|ƨ:@ N!G~,; w;l" |RIZ~t~.~w3INDIPQ{ 7$'X)L3I-iWWnӐbџv ;9qW ,Ϛ2 Np/v^2OzՏ}`gG ;|'aS^/v~n}jl^^/spO>IXAUɿh+Ӣs` k蓜`ۤ$W`?R>c'#}vٯ9:=$&X-$e߸}9%4 U$Xvw$0|Ď呞n#Q *,zOT?;9pLj8'%sF%{>WOIrIO(?kGy\ y s뇽Y;lsŖk]w$fY/%YI3g1Z$K(kNjsc'7X>kK::/Tskeo/U3zܼ8dfD`9E>瘓{}´$XszC1}U y|ԉ$vog.W|YFMM݇㭎\v4N 2) VS޾u6'H4%X-)6"#JA?ݗrr;82^IEh8y9ZҤ/^\*9FKN7"/4/Hĵ[= O>K{|&)8V$yъE#Dڠਙi Cry_쾄gWXʿdגחSn+GțI9Ư5H`550]8'˳.u_uՍ`$z='oDl/ YKnP VqŽ&md4+Z#f[׸q,z58V&X>M_صG IJ4pQE pO=D5IP+ ]*@1OC}q5m o&5n[U&Xݘr7G\#w"IQ8+њk\q>GOK1唽'eJ$%-3e*LxYOGOy~_OcV>:z\ *jK5Ϲ'u6Z}wcs\5ijk$3znh95(ўM$~ۧG9:wVB[4o}NX2'O@?|\".H 'X'2s:1u.㻜:jxu5UQe1}`E{cXwFzJ:_$~$On9ҝT3ɸ/׭ƥ޴]%K#N1ŨS('1`Q,{yMںcNo52+=T=_+-HnNlKyj^ޫr}ٗC'X!;RGZwSMhNCOb|}1SNA@5a_|IƜCy,TsA+pNK)3[ao;v]גHLrՔ{nuG^e;/ ө9`M݀}w]IbhV$k,7.$XoQ?%ZJ__r=tFV2')oZIN6 u:"!.o_TFQ\5Ge\갹>U:OU\ɿsm>+MH}iHy$%+kNt8׷1z岗w$׵-ֹv{> H&$wΫ߱#NAO ViI #LIucE}selw=iIDO3f̑/FzcU EִݩkB'& V}fSu? =􄘶oFƎ 'ks9!zDk2_kcoƑ`-"ULT0 VhIȗw`Z( Z&jI˄Ӕ`t?pd\.)iL[e'C+W½ $X iK[bOKge|g3c4KGӔ`іpI[>N B/?bs*HrFof Uu?- \E 2$X'XkZgO%iO~Kg`<-_HːӖ`U`XӒ`mn2n#IOFJ``Dh=Iy37vC?Qh0I{$XIɿ)z;iKN*JJiI%2BaZ/)p{oV 4M ֋&=)B3sV5 ף\H& 4ɿSAny 22˞,|>Q1t27q{4j:˝$>%4 2_-zZq$XKN2F^wj^`)M*LGG)?6 u? ֦dϠn_gTt%yxw73z[e'{L*,o_^M`UBwI$X%' !Dr.;~<%>a4$X[Y#/vcđ%'4Rwg8hg+,HOK!^b^25 hq~x7ψwe^Rw1'o%ǮӖz$45-!K I`lx/;jO~1s<(y}4P}6Ī%aZ2&ɏ}ᕓ~?ʞ`KcS(`q1dPrs={+:H'&yUw;o1:bGJ3 ݘ93yG`7&~{5IvOG{,;ɲImfYq7P]Ĺ8!Ihip> )5K9m]*sALhQvo8&ߠ`?d{WrHoP~8A^6=J[ߏq9#ϒ~9~AjdС8ϑY-nsܞ m;˂sR?03l0I{xYΐḇPd_k%s[͏ r!a/ .9jikڜn$gܹ>H%~ʼnhWJyIh=_qVOz>?a*]78w9gUOWLqk sY6ʾ oNC+jǻھBV=%':iYȱ{WkyٟKNj13P#1#We`FuOw^:}F,p8'3=W.}Y.>{ SiPΛtJq薐& m˜|cA^> C)KkFvn4I5zi'H;?lј}p.S5ߑ8S}BmA>8> ֔Z$Bo~*=_hf֠b&`T==j] ܲWxi`GWu䰥 쁼> y(oGbGKܟ})9>t5q80jM$Fev&$6:@g3`]$o~8AMHz3H6s"{IeCoO:2r+z:׿ls`˵}hNے-U̅U4$QP~5 Ikt*7RY4TR`5M)4iRS`~KVn,)˰wX~ K)qY$")kp2֦']ji32#e0SN `ѩ/n/Â&QaYL$G(Ο# I~FH"0AGؘ `NW=]q61;١j;|U#I>!E5y$X`GUk[g-נ*H@EEEEemj j5 `````Y FQۦ*H@EEEE1Q] A  ',,ף%96M,,,,7tQQ$ """"rqvqZwT HHHHH\GT\S$X$X$X$X$X)q!'$Xә`~5Zg"A8 % Hf&bk7{O5'(><NNLp>8.EˎOl;'X⅞&e&qP!Fl/h;mxY$@; qB~KHȮc7Sn"I_ Mp+M%X~@J}.f IENDB`src/site/resources/ref-output/png/TestLineStyles.png0000644000175000017500000002170311331616417023376 0ustar giovannigiovanniPNG  IHDRXXaJ#IDATx/V#HDD/@ ", h9 D`),`-|+ ܪ{f}Rlmd L2Y&d,S`L2Y&deL2Y&,eL2Yd,dFq}}o:{rr/Ϻr}ɯ^J}Lֶi^(}Ox'%s[9LVάm*0Y5Lֶ=&+AS)+ᒋp_ض/&t W#B=]VNf,2YMVhQ&]g~=dwl5Y]0Y1&+xyyB6׬XF{"d,eLV-uܰsô D.+oyY,eLd,eLd,eLd,eLd,eLBz}:!pYY&+tNKr7,1x_Yɏ˲,WP˲f z'ku:3Y:'%ocTve]/}š]mo]a$VLd&+Ƴ6o vb&_YMOWwJ|ZevS4n5Y(n&d,ej,CUMie\V21YXXXX`aaaaa7w yI_b z~~^{A{ *B,,"Յ55XױNOO_xpcQ7\RbaaaXXXXXXÚ7"x3z_C xE6GC6iAU[/m|uIҭ0T>ªbmoQRjŽX,VѪz>g}PPYJ񰰰rT7\~,µ>ڒkit-MQMҾ\XOOOؐX>[smPE{;+_8:ѧYXSMאZX}TźY,,Lcc%X.7f ,,,,j^X77zR|0% -"^Gz]P^ϷVDyX)ޒ.zQ)b 榌+VJ5ZX 㻯:,,  K@BgQ ]r7]y/ʻBw7! r?VB ŽWH,,,,,,,, V)_K,, Vb/ X*]@*^X/caaB*_-jk'|sb,u]"w&aaQr6* T[\*Pd.pVh+DŲJ K@zr}u R&ɠb ~7v_b{p^wzlN-N^b9+ K@{,,,,, ,,,,,,za%bm`pc1^#S],XX,,b|B@, _ U,K@=סbYXUTRa,?gggr^G'¢ޅ |DŲ,,=% ^e+$% Rb Hsg?#ױT c8LlaikXMlaBc 3bakM7A ؾ V}6XXXXXX`aaaaa:_6Ըl\X,[4 H*շ_G*Q/}YQ/²,¢V{J#vdټ(Izi]n²^X9E9+~lz(ba V^/օ5YX%Z,򲜅LuXX^eaYXba aaYXXXuXX% x.,z /bnpQŠXX{~ywFul aaYXe.,nNi361F =ªhal=ɞrXXXXXX`a ` ` @1ǁc1>}5c)᳏m~Oa HR,IN@RD  (X8% `IYwX5w4?t:]XӱJd vR#?dK@h,6n)(X:,C<,  SBl (X, SS AJ:,! )!6,  H)Xd8==]џ?WWWE^t3#Q<)r`)X&Z#ȣ` K \L oI`xT.HCBaxx0qqq`ZCu(XF7|M4D<>xyy1)~4GRC^dW x(XDKҏ)XXKlC)X`A Pa% #J Bq5 P, ᶆB )aK@,6. KK% $m dm >S0 5(Xl]B (Xvta Ip[p[ ,!65(Xl]B (Xvta Ip[p[|>~X* $S$oۨXj ~ V;qk/Xx c)*+k7ȏvUM ;KPK" nkP,K@"65 K(A ,`5(X ޗƢl³?cMR)X<3;xȦP,@P,@P @P @P @P @P @P @P @P @XѿLg׫w-Rr~~<99Y|>_|<[#d VmE)X,Vٚd^:j8`)X VtX:,#/ģkXCb'GGGC`)X4s ŷ ggg&BR$}m (X H#炅A`aGφ,,@K<,   V֠`w m (X ;q[=nkPP ,P$(X(Xs[%`)Xm vlAB,PC ``m x`5(Xѳ KY}X;ӂݴ ;ţ;S6lxGM+ P ! ! HCBx$^jWWW&97Z9Wr~RR}Dj\㣂U[eOʊyV|plf%xG>HV$xP &\[9ѯi)X߿uKRNaG0|C<+"(AK@$x%A "(Xx%A "(Xx%A "(Xx%AC<,$x` ! P ⁂% x(XD򽄾Y(XY\VM%k:+XY)Xⱞ b`xdSLJ(XX888PR w1㣂UKg% Vϟͯ[C4pΪ󂅏xD_ PPD  D<#nm 5f"2|8x|ޟb!>Kh(X# B<,C#P$x(X_K#/0 kX]^^T˄+X#&,Q܇x<6)nӺӽ-gt(X `(X `(X `(X,4X, , @ ?3 0 0" Wb_2,   @@6 |>_N&h4Z^__~-3w{8Vϱt5Gg{{WK_nkCh2`6pϟmk6a9Xs5Xkʹn N@K`@%A7'''"hnnN& ?`IH44X[)B@@i7X, " 3X1 `@"&4\yլϚ.<$d禔#Wlh P/ vAh P8i ħ h@,``!Ai yLd``!AZ,؉O`  CV<4XD1 4Xhpyv0S4Xd k lXX|~v&r19ҾWcMϭr> N%6h4Xh K`@%A7h|5 h`I@yL?`ħ  4Xz1 `@D1 B%A`mJH4 NO' wc@B2\֡cuͱ?7?hi2`mwU}&X}4X  h4X,4X, ,   @@``h`h4Xh4X, ,  @ r2,Gj\__~=5;7obpcUo`Q`m 4XzxxXnXKeh6|_,H|>zqvvo@K[A?`I`:ɍ4X>&4Xh$4X1 &hS`K` i, yL?`yLh`IyL?`Di>Qccެ,tc0ki4i>zOJwL0l4X%w&ۆ8 `^&=ya")N@@,药N 8C$` "I 2_,("Ah P0i ħ h@`3t4 4X4 <4XPD``!A`,؉O` z1 gi h "i yLhB@<4X"'  c@С,`AD,"`A CyLh`'>EN@@r2n'ɱijD?ܾzXjxLQ պMUXa}lyLNh 4$up,4Vo {n+8`}=7= ?@(B%Ah$DQ W ,HF!@@~`Ao<4Xh$tcK@D4X@d,4Xh m4X;izp]4*\wܱ@>Dٽi޿uXakj5iZMc, h4X,4X, ,   @@``h`h4Xh4X, 4Xl9 u\__Wu888X^\\,y9^Ǐo$ό4VKe3~\,-˦bh1UbXcq54XX, Fu~[Kceh4XFR&?8,K~ "}FeX,è&wah$Fϟ2,|QUGa,`F&kȧXC%A (r Qhf344X6C-GC24X,[Ǐihl*K.nr)<~b<rE`iϟ?yLC߿`i A\奷 @m4X,   @ @@б}}IENDB`src/site/resources/ref-output/png/TestText2D.png0000644000175000017500000002362011331616417022415 0ustar giovannigiovanniPNG  IHDRXXaJ'WIDATxzQYיNz<4 \q; UcH$C`43fq\z5G~D,e `Lg7ɻS64X`wۦ3V{Z0X`,eCچ4,e J%Hi?{XP|ΞY`,e6/l.f2o.4Qe!2XE E:y>nm8ʂ2X`m_:AfCe 2X`,e 2X :(a Q~pDŁ,䓣 VZVqlh 2X`Kk9 KqaE-GJk>> e2Xfum{D&ux{4p'_64X`,6mH2X`Ꮲ6xfT,hd.6Y`,eRo|Ϻꨙ 0.ǵ+4`,urM8 2X+`9fqGѰ2X`,e 2X`,e 2X`9XQrDXS8ce8@ G:o6^q|,D    Lv4FKr#1j81:e<"jaaaM迗x&:u,0B Ey    |X.vN|捿k>>?K'{:A5]ιύK~:GrM4Kɞo(##M |U& oBXZs   .H^+0t_8𻙰J&~xjn,V$a%|Sah*\:6*yju$aGO.3ot_8cnX ,@X ,[X_1]+7_r }x,ƨ瀆Vz|KsL^GڤƁ #YJz 0\pmVȿc`<ӋqaaB$aFY[9ZA]wxY끅u0QTa@Xa@Xa@Xa@Xa@Xa@Xa@Xa@Xa@Xa@Xa@Xa@XJ<x|=C=0C`1z@`)C=nK_zlz_A4=%SRCvXW>J RYGd]@[CNqz{ǜV#Ut3fI8&ȴs.6Q}X P X X P X X P X X P XP,zGh=݋Svs*nQ>ҩ[h9ܙJANY~nj0۞O밂c+-fҩ>UszQ:j|`]w)ɖ]`5>ݽz P X X P X X P X X P`QbF `/|UjkToQC;޲ϩ&Zy2Gu8_~ޛc=Ngamj3k&5AŶ KA!A  PX PP PX PZ;uK9K빉sDyFLs.w>1܈|A8kgP`3J֬/5X7GP`qђs.GMT :uɧ Pr(C=0C`1z@`)C=0C`1z@`)C=b.+ݧ?szěKMZXǼpӯR-]jJ;rmUJ厧),ҸUZDGU@ڟ:3)usk{qss-Nk{n&zV`? )+HS&C=lM(@=KA!A  PXkGд{EHyQ#l' W`mX}9~^#>f_baf)塳V. zԬ/5X룹]/?/4kMݽznnnn9U5C=n P X X P X X P X X P XP,zRz,@=C`)@=KA!D= KA!D= KA!D= KA!D= KA!D= KA!D=     VJ'lA>_[ǁH7(3{ׂ[9]~6kkZ5}\b/¥b?jj9/t}noVM{xϭ}V1ns27W̹YPs:0ϒB1X4A`@`@`@`@` @` @` @` @` JvOmjڠc1L gxc4B#ߠsL6c˞te6GypH]_KnԼ>s^1HlmaB'3si@AZzm`<)Bkà^CX O.1nxMX @`X @`X @`X @`X ,X ,XpE`9_pٶɁ>:å걼BrzӇKՏ"LϵTZ^}mi\ƺQVXy'mޛͥq#}T=؄3p Trzd˥,X,X,X,X,X,XpE*ÅTBr!UӇ "LR@szy}cB{x*}ԇ bM'6~&x>P +HMc5BOGM~)GZp0sAK>Z%8uX nsG?}S>iOkīzt`-}T1>!k-&%NdȎt MtHp        ֣.c>nM1>=żl}N}zx>P֠^/=Y#}t瞙ȝҞ ׂ[ \e޸Xn ## 2z͈1}M{tXZ^g }%H~Jx@s'Z0>a:vgk },$}ug~4*O!}仄-     Z럧LA;c{O 4 ߗT}Vßsf,̨ujV>q#͆Z((w-_z,FoPg& VZp0+vmM{b :o->sF^q]=os[zZ>n3i{o:谶-Q'΋Sqt|X-ZJ^Z0W` CX kZ.W/XnbK72XT=ч.    V "{!U_*: R q-E7*uZKETG[c=\H;{x^|!U_*l`)BRÅT!V\x5\H(]n`                  @`@`@`@`@`@`wA?4X`?A,h 4X `ACh?JE~^')>~lXȏj֙_Z[W[x]^n\!@$?R]/|hׄMGzl௢?d4X#HÕB%K5X`-m mlFǖ-3,Ipۯu7^H"m}n[}QUzhGD:,uφKϯy  @z`>Jr(Wzl.4X1<?e,0h  4X $4X `1C ?b? ,0@  ?4X`?A,h  4X  `1C ?b? kwQ~߯9I (A?ou:}Ap&[%dk!?.ɏ*8juKz6,D5aS[| ҃pPbo } 7XK[k[g5[e } K~ARkݍW+H[[V_l^2,Klk^G~?LI,G6w-dD&_mV~^9; `ې|!2C~ oB B4XY8&;k8R.!?Q` ^*}rKQMx !G]5cpDL+[mBw8N!?G̕]PlE~ǀ!2D~ȏ- c( M2D@~}2sVC@# !a<6p!2ɓ9I bdv@ xNgir{. pN?xB=  ?4X`?`A,h 4X `) `1@  ?4X`?A,0h  4X`?`A,h/)zs,#L]'CN+5?:`kp5d ,݃fv󧯟W Q3`e n`;B 2DX ,?G킵.xWwY k¦#=dȵˌq,&?Bٝ5K5X`\;}'C4X,0?,`47}<#B\q V_]w H`ɏ`- c $Cd4X"4ho9+=O 92C2iBmym 4X2 ˤ2i4X4or 4XϚH3؊VI4X `ACh? `1@ J,0@  ?4X`?`A,DGL}M2m޶i {j~k~Nnukpak>K~Uͷt@B~k}e3ߒ 2DX $?R]/m>4XՀ(&lje|ҽIoCv)* <`?A,0h  4X`?`A,hDICh?b ,0o~߭NR|D٘2oy3?ﯿ߷> 494w- CXqI~PQ` ^*+η`a5 J ;_EhG$+*{K8kZ\:r-[g4X#FB-t_nZDlBf-=!`ɏ@=tX`K _:,9 A2(|P:<`]!hbnyo( p;4X`?`A,hDICh?b ,0@  ?4X`?A,0h  4X ?`A,hC ?b? ,0@  ?4X`?A,h  4X `ACh?C ?b? ,0@  ?4X`?P0@  ?4X`?A,0h  4X $4X `1C ?b? ,0@  ?4X`?A,h  4X  `1C ?b?GIENDB`src/site/resources/ref-output/png/TestShapes.png0000644000175000017500000011205111331616417022523 0ustar giovannigiovanniPNG  IHDRXXaJIDATxOHnϛ'v_=mӒ{F1 f"e0 qh] 2H07ą . padp\8\p… .\z<ԟs|pԩzSzꩧ: `SV$f9mEoS,o`0-+ް㷙UZmOdvØi7apVErʺ=fgk< WgAF/~NG#)lzJϚ/t~鿯 eYeq**[awUTcL*#U释GUuepqq!ଽ .Y{{CVY_++2U7*fPkk΂( $cX̭^>h&t:(ς*uߛT+& 塷|~6JpUnI" JLu/#\Tl1cMQT;Wǜ0OW_p3 ӑ =*x%_ZNѾO #e2PW\?%PBVH(uhYGZ,b◾GM*44y ZҺy|Z#bѰIeUr,e,R@OVb,TA3##}n܊ʯđW5Tr;ńBGf;,ԶZ^5ye͍ *jaaAϲЛ hHX({!DwPg˩\uk˟de޲Z<ٖYIٽ,|raY*-^]YYE%@)`Y%FB[ 8aY[Z2Mf/S."aY2ŸRO{.,墲LZBcg,זewoEգ,+rMneU5:&N]6C{Pz|eFQVz}_[$Ve"\[VQp*ujYHB㬠̧ehy:*QZd.|m,TBePY-,Nײf{(}N/OV޻0-$纏sA> * ٘o|yg8Vį򖆉,k8)@r*onz~@n9Og8ѰWK]M$: pzN4W bw(=wLYWGՑ?! qÝuooYl 邽I~PFC1YQ++څ΂( ^V[ݾ'ޙtÃg`ק= i@77StX nA:_2PWeUB(z\YYY&ߘȚl*Ѩf]v-ͅaMyo.K>7so0ҙ ֩FpyM@ D{&]pQ޿Jph-E+,])/]I7RoZdf<>>. ߨ7~-UIR ~[iob|ӧn_)ª:< ͜Q65UoOi &gXPYoVse9u+ΛN.($k2]7˜$?:QJ'cTgr?~L/E3ćƗdSx3ʰe$>(ng}lC',+dΒ7IğB x6$[yCN rUYDkQ{K,+Єl_f HU6˲G, 2QY m.,& x;τe 9HPFIX/2&9~ژdsSWaX*ϸu7=>; uB`Xc|yc/.ZeXmơpw?lo30c 9;kxpZ, 90+cggOadV*CwͶsZMR(/{z\3V,,V$]+! d}@4<90ц 4ĝU>hᒱ9} 1g̻1?5]?84%?UaXj;?rdܷQz܎vs2,oT!JZESo> _e*?~¸<2֩Ԙz*Ļ/Տg7Q Tec&V5+tCn`mqmLt~7yXZ&S8s[ӌ"M.?(sBzo~f'g*:ZrI6Ux 5%[Ξnn:~}zJJEIUV]t@?ף7VL[a!NZuT|b64` Tv|ְиdX! ӘL3,0>$kA5U֘/M+X*g. *(647gCUމ^y%wy7b./#pNQz䢝Yaۥ{~3:%\V29Hv 7ܹ,U0e 9C{{^u')}VW&s냱,VX^sLt>ar޵ fU͒tLw2}tX:fXFe`X:Q4͊< p3V7K,c) ]l6 KkXZG7ΰzl)á0#smX=c-P*,a%jx`,0_Êr[? X@uʼneW7~],zI^QX-Jc,F6 ynP2D~ 'j5Ʋ`,N64 +Hv&԰tCO.Cqb8wOy3lItN,;Hw+ Eó@7SUXe=S_e7e}VԻnG نV>&i P.cq}mzA)z6>'`XZcX=P:]uaytF4o|cCϭNς#7=Y#vvWg\|~}>xfFǸ*1(ۣ8|Ȕǡ^q>3v7~LEI$.{s/a~ṇxB]"MBl _]8!=wYAfhXWW>“VǍ?B۩™ab Td/2c/\5;MGsͶQndaXwwUޞ\/wp?uz]ֻwj3RCC70YNSMxڂgyx#ayz=X$%*{`p'4km59&%*m ,~(l[OL5C-s==:+pgXtϫ)4 s=[| i'ƚf2,FU6,v0,-~_tCrV+֩°{isn4m{Le/'èꗞUN}sܛ,- na* ˗C\|vvXsqV0-M1z>z`aX+"|񱏬[Qg_°5N8فOsoqdX-ê{V|M&.n°WFd Xc}E7=WDS +Z!# 쯜XyC>fX:qtҒ[@l0,~4V]:fj0AñoF UcX?Qw_ `=Mq>ͩVYD;m3/9y[^<>j aX._E4ߔG2#6qkO00f׆E׮_ֽwV{.ۜ#߇ugѐڰ3l]WaTӎ5i%>{ASð|A+l uVaX7XնjX=+0Z,4:oae TLq bX3,LrOSKa(ٰ3r %Rm0* =E`loܰ T k !:.q6q-xu95~{.ʧ âDYjӓ{}t1i> %ڎOðhchsgkzGL})M<ܸ| mRY*l.b=13*YW.Ln?cy]Y)oĘ޿Wq?kGtuA0,a=mr{t+e,u YvacPH%muȝP׻W߹!݇y锻[YUPh\W?;M8DqFJUjF1c1QAݙ=7r}tn z2 *9^$Md߈z988w30^oQ$_uc͞{¾y:4wOWhXe}&onnPw[6=. ˘ 50,_~+%k?3 >~|]ZM1ˊʅ,z$n ky zǖ uja9Yy(|ۅ߽$3?4p6&>e^şCӚOWILZ"ǕQΨn~,j b9p;n:Z\W#&46,ng h-]SҦHX:=ek8f%NSN!~+NJw-"3,N,NpTH6!Lq_R],"u7ÓYɵ&tF~.r◲4&\eN^Npl E6ygmCi `QA14 rmXf/]UaN)`0fRew:5x MhǯZʗH˾KsDO h >3D |iq%r.Iv~ucYh 隖2ҽM7=WCiPԡuj*$06Jа\Q:1*deX:7Wo*{t Y}-/{9yg]|h$16,IrAU\\۰ޛAX)abl?acQB2Θ4Vh}]D֥قX q}]68pIfJ6[$bê[cq{ⷉ/N201,NLغ6+1cMt[,u)hY,tHb/ֈUcI2dž_R ?YRKUKhҰs<T>6:R@`X`X `X aaňwne=?+56M=ϿSjdD'?\u{CH_d;vU@2+Cr]FJX J]]vdK!C2&4>&fJu7:K@*r-#UXJ޶Z _ &4X8%*fSD^b񱾩zx(dSTԋ Wc O\oAXWRE@"l7Q"):hErYݡ>"%| UOј3הM"N񦀼Rrj $:4j-$Vt܏ck?aѼӽUtr)~keqR@ICd]J0 +Ƭ{^`Mi SBKYZ7a--:7()=sf5Ⱦ^F=fGZb}9aQ0'TeX[܈Ѧ4{^+nhS <+fVa^m 5~NjmꧧJm5(t ʻ-K5mG!>nZIC7hnpzZ40&UAdIjL Gtj_mSD%jka}YqIkı׆ gQ?wnWW,ˆ}(.9]IhaDVtZ Չt 0f'T[LMCieofƣMBRYM!NdǕݩ(<>jzzyي au@X\TNw@Ս Eh e}նU7݇NN&aR/O q?yD-L _'Z|9P¢&a^@h&i}w/$,/话W*Rf a a5p(F+'5a ytdČ.VHXDR~ krEhbhvp@ő BrBR~ L597I{-%7qkΓjj$WltNR!aQ}`g1C#9ύA$WI7kNK!AX4\ƒY!d۷3 {y rtsqq*!gaUFsOU9h{kGǏ}/&,;\k*=Pn*jSDBX$U։]Ϩ/s){`,0[2&fA[ oOz hL"QXyJg'?&¢mwN)޽Y6ǜ>]E̋W$h} T˅rfG̎@4ƘWl;ϒ"HR>W1@VYQTĸVuܬ+ ׳jkIZOw rFRM$^P`h mcAEp,aOlqd:C6ܽ ʑӭb"|MRb$#M}ԽER%#DeCr{?WAX^SU?a=GXfȮa6bqTQ+'>!yF:|;f^yӽ T[ke%wO4XwT>W9]l0իENXhO0CQg_lyLlx>8)棢rq#o]+P[uNRU9$+Cy2_]nPRrI ,>"G60^3r\DM9$u]q%XCXy$EǶD75sME/_;PAsa%4Q;)Ia8w&2?~VnX{aUܩe:iFDGXplW̼ $_~y|&t3ia]\]Z^WA'vp.rHIoLbJ撮zzI IVL? ʆ~s?>బA[F"z򌎎U^zNsGyӚHXu)@O;0 0X@322,VV)򲞤̝]@PpI5B&*˃djŀ sAr!䵶WNw noN9DX+EQE7k#d/'FO.fg0kwg:$Š*ZdO⊳t""~)/k"{n_,[a(! -aueu}mO<77oq} j*ᡰ@ѲU‹7sq!+KX qCoMjńr"PDulj7I?ٙ%;A?9ϳC糎*G +e "d DuyN+~> }r"';gl%uetkґ:ct 4lJ`DX.V8ʇI{ ]?&">' JfU%]˴$>(ɴvQ$[%A~@`J|Jt2&SBl Eu9@% %yd(SQt52vJ:m÷@SV '2>E]q AR }LW֞6m Y}X$H8n$ן{W>2ndHG}9%Aq&a^:̕TF u"a&LiKJ&{NLrnٴV%M"'%.i2Gѽ r:ln#͸~7ª*\jGc&H&)%b{Fϛԧ͑`U:qƠwM4&  Kgx$}|$7q޿!]8'4ܢr2LOA+<_1Ug˶̪)?u[L$L_8GI|d.O橒cW:y$gַ]ɴyh YҜ\!$LM>9itMŷL0Lm&,g JT6BVHdy̖p$!?ƥ4CM@uRsI(֭` $4'G񝘨qasmrK|\$՗' >,dV!Tl_ϊ%{i|hYutI,UiMzS妦NMhΑv|n~+Iħ' CVcn̓QB$~> 0r5/%dX_vcRaU~41b鲤^PX|X\c~~1R'r5 Rѷ ,ςª܇Uu? ,Z"])QYTHsd.{'X3߄;2ɪU$&+WtST]ܻg:[Nu6µ]iy$1nf=%i1ǪsҿJSp nĆ丩M҃M{h&>An:$W+%M}7哎R7qK*ʔlFPN1%&%%"!}N=Hjֵ/; ؒIUpԸP+j0+>8S&_D7KFFjqϱvJU ېֵݢۓ$ }RV?a }Xʖ==NCX1ѻ8,3MEr?/_6ԝ?T pWv>*L⻈D\W >,>,|i)$$qe+Q\|X}X ^BX.\W2Y1Q枡-] H<_a!6,P7ٸ _ 3+aq`EÝrM`u~M @X ,@X , ,    U Շ "wJ]_P'FyoOQ66:;SOϕTjdD9k&&k5'Ur'5\I{F\}Mo?֒k,ΉЃ#Z<}{%+?&Jy~%08MnbI=tp딼R&w!}]rVb!^({}L"U.=?c3 w$̌U 55^Ilt; уcϤgzTŅ/{iM_AU8Xe8nB5$Pj|yqjݺ9- -.:lg\ʪT}Jruъ֓h wQy^BXqq~//yENM!4RmTP-< wo~*&(Ģ 9YEDZ/rҰ./u k?w8԰ѻ\etFMIR7ZXc#A6ym 7­f:* Ek$rǂ!7%WE_eU5Be(BX5g\yr?=lȽӂT߻<.}5:+jv#,ϛoh*|JT+\šW \e`RUOJUJja4:(s1>J-+Q|a90G"~%Z2rŠ&UC)a~dOC/EqU5naEX =rj^)O}%"ja=V3D0|&*.haBXq~n)ՕGi)I^E>2JWuu՘kϼ#bz\ZIvl,s̛S"Uz"eo+x97+*4'NNf|3MCiQ jAd K!7;mL)ϞB$4~4ltpqZgEd.(:G=g.%*!na=>6F:E66DR1+VRK{ ]r9̝U4%V@X@X kr"&LNtL@?*55'ah{NL1B({0֑2} k5C\nkxNu~eGI7Hl?B_UEytg^dN8H6Ṥߒ~;*ثt]Ɣpl,\#(&A=D=3AFu}mJ(Y $eEU|XB=M'ɸϤTz. \dy1O@pe"&{7!Hds?&H;ACxE[;kn^Qy9IoVc¢RM!NS+~`j$ݜ_D(Nxl׹a$, y.YS%HjaZ\;Q5ᤸuEJ*.J>BB&cyz~ 2:VmumaRP="sC6UU^]@|U :>ʠ{ Th^B=2BAl|wj$,:bs夸KᮮMVn_۷tsw$4AX2I a,e搹@j *&&Vu|MhG8c*BFZ^&(vy",Z3HYlNOFj 9~'Tĸ?>>VW'R[ p Al9#Tzqa8~_&ݼ>i )ÿ$,J\*2@M=1\n7JUUq,:?0 ,ZSw)(i=j!a4=qscp9&<Ճ|#N:n$%s ÁJ253w $< ʳ5?%E2ZCm ~!LE_x@a+% rSI]d<O1{cxuNV@,aaa<(Sd#:e6!h!b$ukEQf{!_U,a +>Z_/}¢#gf4 bYvl rzHUQ$cɤ1U+J\^}?S璹HL*;B\UdCvh/q4][_}=r*CÜHZ HmesX|UD\yOy{bj}Q=HTW9DuZOso4W̸o?}UYUL4 ;&3fm:lz5rz?2/!{YU%H $g5|n^9U\\])#<Gs%U])cPL/2M~5BOYͳ!.[m*syq DXuk`aEYwwƉ.swm_TUNt0u%YӮy+h=fn `JX竫y9"%텡:Q2k","ᜧ)EG@JX#}KMQW$= ̕|6r esHi݄_n/+Wsu[窪ZʋIaEX6^01aylT݂zšUpNX_}28ǓdUU(9!gg`UU kj*^šM!KF DI6sf]WtY{WT~Nt_ B)a*V滃VjK%*j+aQ^݅彽[S{v]_[Gajkװ5Q`61[P劰HԹid'K0k |V^f|U ,~i?UBIbSHH9;剬;¥ f9(=qVU=?Gc$~5p dEs\ҩYye&RdOxkgZV$Ʉտ1`~wiT"KZul&OlzUUE:Շu`@Xs=a?j$$'A+?ܓy'|๟r{azA5T[muި `પ?54894d|Q ?heǝzE:8fW5Vb^Z B[=2BWMUq֑`8_:~eع*r!S~m?Fi3t"KPzkZYV{,묏<^?_IlLLHڶ03ϊx$ril{]_7qsq⦡{Q@i$-Ϛ\X VyzvO{e$׸_Ҟ9Z na]_wC|R*1MkF iN .UBڟ#)~SFfffӽ˷zu^SSm!d&8Qo̻ǁz"syqqm8==ae^%He/ɊtG@XaD{HhugзÜ4..Ќp^qӽ30-)<\ ?;B( =`ha1,SUQ1[UurR- 7zfvo BC έ8&㤥E7ˢ_bqu?妗ɂVP s%"ma2 ,LT S̤,Q7~YTamFG_m"aNVtwߡ׊}V;K 'veEs;"/3܁ݦV]T~XU-F<<+S'G㢷!f od0eV,dEgM>rf Fܼ+Ѿp흞,=fS=bw׸DXaTV)Con^ussz~UUUU[6dCu||X܄M!ͦf$rH $NڲWUnl.x2JoaewLXVLݾFmuhH_頟iw C:[+wxE+6*"ۦMd塂kγ:EtQa5>z+P{666qoQU&(u<hX |I`7Dc?ZȪ@X-",jI39ʂ6'V0+ot¯obZwT^r'>.a婪۟\$%@X$,Wk'f`PU|(m T}5;r$",.=8,uIX_6:7W\׶=pzKaS:F{-",D+uæjK|q/)/jcA锳j2%36c/ -KH9I 43cBI6%(-r +6?.[]}B05~UGgg|~ |SOo6ZNXMˇUFzV$Ppz z 91gjڗcw@m!hGrxSEHkЁxLZV/,)s\OX a -%&tO*b\BV&:KKKl2-.X'˵lAXy)S5{zjNvm")jqxonu/@ mJ!aeIMho b*2GiwD6&t4srĽwwGNRMީMhΖ&eC֒X6Y]qIєrA] #LE=*,\u=ظ D^y t™H GpTue*kos9gJZ@ZPXx ؄n + a6nQ}?VմC:*Ey0EȧsBg?ש\v/E]=8,^gY #gq]6qLvԽn7HaqGJr܎Rit3q$Sg:E mY]sW:\W!u6X(,|cL狰t)g$o:paqAqpeQg f2}$fJy}g]ǔF=pUw2mNsu]M 9Q۲ jClbucS  voV{l$9'q<[ENXE *M5#>^.IQH-+$yL>k9Er86[BY9\Di'q;7Lm(:Mrq3;? ,V}]r1U5Qtll԰+;m@uÒ qp[rԵ)Al3ͱř*yt D*/LE_K? PHX6~\K*sI5-p\L4PaP1$~9HAGͲΙ{_i@%%@_\FHHul'HjdU%|JhKX&cQY!N_e&SR (TaqIJ4 7 4?gJi#)r^ ܇z@X ,"%,i܎mtdRuW9a +CWD.8%jI|ס,9DAwz 'Ϋ&Ǚݼ[(@$q_s%+"SBc:qGUIp4<+anITzLipHCt;2FLHaqjLdmL:8.q?ʙq;tW$#JlAWߦuߏ3%yDa5%#76ZKX#,͒#B*Hc,O923N.Iځw]s>0tU}%V6rK h1prWlMݦ.mfr8乃KX(%,i̕)aIUN- vDIЦM]lڇDTtgI #1#s$S8IHLi9Do%n*\YI(,hZ:ڊntsSt@X",i@U:MƙGnp;}ҕ:[ҐgZ.i ᙮ &ĩ`| HRØFM6vQvPՠ4qX)INr]'L#8qX6;8(X7锐[>.q_\0SSPHqbՖx',@eL]NbbUe.ۼb\ae%';vY $O GvQ9tvVΪdO0}Y)|y7%$N]sSwwL=ʞW5Y()#I:l8`P(E.r:j{KB78D\;<8DBevk[nۨP$㐁iHK[G]%Q--Ga#U2!*CZQD ,TKζQ&Aen3hpɄkrAX\UaZ9Ҏȝ*M/u2Taq֒ћ#m),; 8 i Faq&ݥc>1\55vtab7EzvpL$lj.S$&D#Wbw 6 2ʆ-ÊyY+a r Q殘,dH4^콤~D[lV}c}ؼIXĉ-EB~@DHP.ά먒8& iMޒ$PYL8͵SI0s%;aɦ&u )Fi%%1`i;pջ As7$Rғԉ/BaqQ2JM#6'gWHU+⒊ɔ4dCJ Aa//8,Uf.hvI+L{ouMަ95*|0a!T|XVWe?ծaga1nỉIij2"{gp$ "16atdi N}Se$^U{iV$*KJV9t{UKXҩ*{i|X23NmTaܩ{!²n_qXvRWm !{Ř a $݄a*qU쾎2 YU]7’:C ,*ҝ.TJXNM=ᓄV8[פ*𥰚@Xa#).~r߶)!>LS44hY{7j˶n\c?aa@X@X ,@X , ,   aa@`@`X1PI~RGGJmn*R33J)50y'ktTiZ_W^myr%vSr%M+jJ U0نz&ȈR J+uz$EzO`$~$^141)Hϩ%A>Sox;Jb9}> 16 |KU~ Gi>1rQC`)zw]J--utWW>K+-:pTl"f.51U  Mb;K޾X#MwW7hAC*"S\}:eH Qu\*XJ[H"E.T WZ" XzfVxLAAZu7TjmTc8Q]G #wZh[b*."U7hܿ0swُy[`Q'30_ǡ6B  P wNmfꁷiT]1r"60 +ns;Œ,j.PTSW }*z{*Z :+z1Czj88Vu3AʂR+1U\Re{FnSTA`]tV v VL} lLUX Z ЗVOTMwM4{&Q +z9XC KAwP ^AmQ/;$SG  z Y=BRӯB2ٚ,[ie4cTC`A`aTA=7[k4}9ڶr&Q~m|@ V>hN `G߿=/[QߡK]˗q:ԶͻIETXPuOk 8c)r/1_ "(ʼ:sn'CH2t/#HLLNd8։?KO)cQ^`{+yr*HTѨ@b'3 XW4< d{QѢxG0 "wA8t磣 X'p&ċ'uNlmu=UGG>+Luq8+חk'^+NE -#52{p2X2ŋx^]_]" hO=-V[rQH@Аc[SՌ`:לߓ|ll$f2Rp p^x^O_ OlQyvvb _-Vx1@ˣeUXPmox>2p>z~Id8KnWlmo+ X4?{G dl(*d5iM󑑡d8h p^xV_'V%E +( XHPM  "WX5H,װ f[[[/bߪ@l$_$#N0V뽀rڍHee[I,VX _CC>28xLC y='"Lo9l x IT/b QLy>1C`) sFc"m; xzzRZ 6UGG2"ڞ;NW$2n?EUr@`A`r"!k&~3zM2L$W%/;SE)<޾NSwǂ@uJr!ƴJdNԯ_z -]#ͣ3Cb6 Iҩ@?L ̧E2 N2w@i>|ľ! p#B{ KX"4+55je ;ӧL~GA`ye7wJCnŕV1& wkpqo:p{i[++J'r"(I+, M48>hR4 MCpd8kJ @r?IbZ%֯"F"<, hԉFiKH cRrBNLhq6}V(4Qu 翟 d8oVgpϽ-w]|r]hpVt%ٵ^]% ]JEեjGA.h=:/(;pގF8;$`2;YSQUQf^ Z%^ƊGpbWJkUyi^> XlGsMAOS}j\oXq ~P\dZO ]VaeLJD.'_;ɰŽ;IV2[*Q("}*8:zH +^w򥻚TEɃXRe [ODSx&=I.d8zUU.#lv2/bB~XǨ?E`h '9x[f<LjXXXXV\tNo'ayHPO,iNZz`t4 T^2e*?:8覢h( 9I*Q5`=&Qu]$$NDjX"d4e , .뙖ȆʛqM=:e-H|!uV| ht*R#;zqCK+Xƣs ܚ~¥Fo5O])!S&[{\^*U?dSx~T!Qv._4m1ޑrGP;iZP NUAUxP uΚqU԰nTnᩂW`]%3様Pw=ZT>UIN]z տ7Ht-1y)F٢[dcU{gWcU$Pe)Zj Wj#Uj~K*_8d*_J%,@38׋*=^Y3[ bÙ{Ƅ*^GWCUBDt߿, kZ: H' t .PFXϣ)Vm*MU]@3LEUmS T$ ­g Κ %踝lᰀF1׈uqnZAZ ϛR9bkݓKoH#T;'1bsDU1UXq 6R`rjQ!XB\Nݮ7T2"P~َUmuTA`QyW9]5rh3>\8r]5g!XW"T* Q\ T'OU +zڡwkDjqc(8R|2;Rt*Գ"T #oyI3oQ-Nq5 4=ZQek4!5t1Uw^xVkOB^L̦s.0Wتv䩢74 +z>>ΟH? 5bF/^j"/ t(B=J.EU '؈jP= Mԡ |?&' =s;j*moE .9_+<(]׼/O"hNT|+z&;2s- ^@p ):nՓ?Pg׶sq*s{'4SXĄ@TjO=  b4PBJu*AAk w-t/: uU*!s[v#6heT aL&=8Grudg<.N%T:>'b:/=iR6XR'+X&Bh[QxĖ|Ħ y(jY=??wd˻wNnFPBh]u݉ebkE5/]^e~W>eb"w~U~T fq@`z-t.&vw-7yֺ]&2A#re ϩ3@u`7nߝd+Eis}N߫RժsT"Į*_m},X;;`O5?@ݦ(ިmť!-KS5Z^|k:o޽'Mt|.q=\^2"G+\`ʎEި#uV*˂ kNΝ$@Rs,T8,h}@$t̩& -e9uI~ &|5Z!]iwzm bK}$ /noNKJ-IEJ@IS :Rՠ؋Jlllm?mJ.;D' xUߵs:Q$(1)P J]&55_GE)ySZ]Elk nv:8tOiIל9_KP'z*O>%<Ї˘D8tEpP %NEUE!OqY 0p6!w&[wU_uR0r"ԉ-T|d$Q"{(44& cĕ)u__ץir'PŖ(p% _T.;:fM)ubkl+bBN2*z;_NJZZrfUʗ4B!X47 G5Ns^'l2^:9./y^C^_\-_u>`8{٣p$e+@GήNE"fJtדrDey}^V *%4G'h\ _`!C5)$xH\u"!_ê݆5e"grTM'DU8u먤/u#"=7Q®A/`&qzLO8;;ӊrTTϗ*]$ T +5>^{({Ғ~7#^Xa ,j.."#}04g'L'6e;d0*|uI=)2JP9m$4@`A`A` _3q҉N2EY)^'򒜞DiXXXzĘVр1p:6Ę:>>+:~2s<[uv˻e<$!H='홈oid]!Q]fG:,iL,@`5K`cDD_HsZ[[{),U[&ڏbtۼ"[XXXz8MTAr3?'z$f/[N`?) !}V_2OG8XHӀ4 , 6EQ@ViӧOjh:pN½6677_VSU&ȋUEAq hFyn)n4 MpX1TGippSI>k^"qتG`qDyl,Q9U/P^.U\O-{[x^T |aSe|L: =g1=mUaύ:칇/_zS%Hqn2W% ,zDj撆}iU+=,m6*GHWSlEՍJlBk(@ C~XoőZ_z֞܏WjdIĪ͒J@`T`,AR؁mKU 4Ut]IbӧrE˛>Ė;Etjm-\QU*/Hly. "YUhQJqSɸ>VORQEGU][MG;GgSzzrt4Vϟ!lrW6_Rݝ$.P6m +Z9Pk=U2ESlG:|Y'准g!ϖpn}A`5^`L)d2Uᒦ)k:׏DDZ\f7mG--'4zI(0B[ϫI [93V\ #sjPh8Yi0֢I$СebbnN䊭JUJT̈ECA[tn ڇΨ78VV{S_+ Lxp驚Њ_T bU;c]E"bٸ W%/PzJBy*Bȃ"&{"y*zM˙{*\I_Wx=#eY. ,j&G_,a蕈^)@F-,,CAܛ3 68K=Cyc)[ bڋJ@wH}ʔ qJߙ̲rݟS_1}Ǽz/{o]YN*%˜c/*kۑڴt˲. 'kwR2i?"X܁c|6*w>G:pcEUUW&ї=-}˦}LO:x٪n?"X&u,bF"$^& 2KK~CWrU>_@`@KtE:T1݃Y^ ,Љ[e:2]tQRhN1zLV`C,h @+l VֻϺG͋@`JF({1 vvQ.smu[CAnȷ-zUkT?Xe£l.inq;7ҁOZ~[•<,FpsDq-׎md&ث$daSO&my7W}~}%GqW5|΄M:4S6Kد(-ۊ0W/w0%4֏dr1+4m;yْz4M*);#nQi]Uv.lTW Gj{vL? ,iv)tٚmgԝU'IDAT&r zl澶Lh&"G.Ǚp q_Mm. ڃ.:BX0l OHtڴTW9:朗gh;Qnu1{wU*tlIߕԑUՃ(vKU Zq@ T\dU|M-Mq0uPSnukL6Pw\qhh%>_T&CMsw59ٶMrGLԇ顿){w6e3M L$%m2;tw\嚒 &=\@`YΨmUM/}K jG<05JH8 [!(Kl¶o:pl]gI7_{w:nDa8 @aKZs[bztv:be2)uzeZ1[1ݓ3gtԘU*S-G%uvq2Ұ ,`ʶ .WxU%2;?rMܯbmhTE[ωvze䉻W:Eqe&O5 Sd~зƝ&7x[_yv knƚl=s%7g*)>Ho,[X,/jHO>FkMY ,xo}N}KFOWeNauFݻbX-G#1X=k jPyFu]`%Ũ!\1AfʒQrZ`EJWLܧ+%;FQSNX^-*_|~J`EcnD>˖9#&w&U~%rF"Uwar]Oc&,}  |ޯZw~ڮª޽ ~]7:CWLDOWE~Mgb1,SD^Yw W\O;B}vEWf>f"-UQj{G`2?ZxUBtq71nm֍+2)FE V`eu:nㄐ=cLsxLʟlx?ͪjDc" _E`*krҮe=&o'Vew)ۖuVޝ#19 gM-hB^L~}x@dvsV%c\Y?Y,+ZªaVکV=^zb"X+}2_f;!~V>+jGݭ.oYw.ϔaX-EjEdvUTdN~OT2B'gvb?:'b{2 O&DB\UVeB&Um;:eFu6iG{uLU['EFW8DiBd_c"@`}\#%tV%rGW ״b۞GGݸ슭l^]_mq:Gm)}\ctEY)v~utIʤqx?ޮ>|vL~,XXGmy4OؙAʻ1|[nZm kޙ;:t™ڽ#J'*ψ6?a_:].|3!HݿQ_r =FSH-VѠ Y+7_(,s*ߨjO n{vgzeЮ_XgYLxX&Jr[5MyPuq+Szhe QvxX+'8ߕXd~_A`=_{}/p8 , 퍵SL<+[  p$yJgX>}"Ğk] + cMeiW}? ObILG固D2IzuԍLl)R)O}pTH+Mg+?UY׃*+*Pf\Ux5~ oG' D_)*ʩ[$}nȨ[MNѶfxWo~Ycvn~S  ݂2[iMb;F&ɕUkrY)|b3"bO;&Q`ܵ.4$N ^g> NꪢBpYy~f"bhXmLUw(7[yVm: ,Vl|W̜'U?@.pOyAOGMFGQթoGu&ajtwiRTw*I>kGgOkv䧌Z2e:L׎VsQ{L&9E<X7 [<,DVR^UVwZq*jĻ<r7yL]7^o-''!(L16I:-Kx= tܬ7NzNE5ȔzX| '>XgVP:vuW5ɽzD#s}oV=wqLWXe1qWs3]+;~]:c%u `eNs5%DuJu]}܈ů_ ipŀK>u5wvů (\7&P~]kuXX!~ktUycǺ[cXDw`îc.7L1u4pVѷV.c%cVjX*3?zbU?L{`X`VG;/U)9X*?5=_1Uɍ?޺uzP"szX?@`-O0;!r8p UY92}*K#KSvф}_ӻku].wVj흍L{UB7D[T3U7n>c:Wn7>{;1:/f㨚*y [n@^jYbɊ$t:0ζ{4xVL ?؉6hubNl|*s%JVWGIwbQԩguΘr2k[QGSrڵO#㭫|zʊH<(=3;gE;VkWUdTDHg$-AtסC`M}%L EpGEYvϬITTڹvsf L\P#( @"8#>UHN;XG hVf%]ݩ9k֝v&' 12X:87?+b<ĭ35CvY;X*ҫ$E*t/b}H>#LY%2jev&r걲#LVl_΋{w&<gw<=,;ދ{ I'Ԝ{G?q$zA\$` _H>g|/jJ6?j%Kl9f5/|ֺgU" [* V,^bi^b2 %\/1>X|`EmdE:T*9ӗ1qt</1^bxu%뤑`|eִҔ\Dbrl.;XG /;`UwyX:=K,|`Mu=kF{BfSuxI^b|n Hv*OČ]^b>/XV)cV` X>XD1P&ӳ&)q0ڛ-[rv#` */wv7v#10_ɃV?vc+ylL4ylsȸV%qf,>Xg$+c.^L<#<7kb++FUbȴ};XX}:]h|'ccb-[:mX`Ͷ!k]c=~s}ǖ ,?( »~P^qd9"/- lWFoIo6s ;D="Ϗ$wB (C*!2_gq+"*Ԏ/^1X< U}vc+#p+r}Gf~X/~D,l`,oZe   ,M@`X, @`X , @`X , ^ edȪ&IENDB`src/site/resources/ref-output/png/TestGraphicsContexts.png0000644000175000017500000001670011331616417024574 0ustar giovannigiovanniPNG  IHDRXXaJIDATxݡ[ 88q1@88=O11O8@ OLL  "| YZ&i>ynG!o?}$MSkhlhL&d,e*cx1WH-_i6qb*7Y{s-|=Z':2Y/LXgCeL&db\]q&k?RvL;Qy'.\^2Yd,2Y&dqAVY+1;uttqEyR?UUaո>¢<~Ţ Ea1޽{yBaBa@aV?/͓*2 klĚ~dNmң6kYj[<Z;prRCa!@aPXPX(,_hoOaQ PaQ`A KAUV͍«BPX(,(, Vy*~IoXT k@oXEbBa@aPX,OX;'RFQ} Ey|* PX(,PX(,(,   BaBaz#"NXHf3nooVvt mmm),f+{Oϧ.^Vi'Tk7PXU>Kaՠ +$WTSXdWo6ڗUۿ][ܭ(,   BaBaŝH~b1MabT8xAH{ۖy_J!5AtiֱmiR Kbaw0+CLE6(<BaBa@aPXPX(,PX~g6%hQX^TU).UsNvae|aRՂO>0yWXOXcB>aҊlRaUJ),O@aPXPX(,PX(,(, VF٢ȥ<Rٌnnnۨj=~n+,f=1m[[[ ٟœ )*4UZ =մUԒXg)XPa1[aʛj FjwkBaBa@aPXPX(,PX(,(,   BaBa@aPXPX(,PX(,3zL45ĢѧrO9lɟ$j0<ׯZ3M {t\ ?ZW?W`A9u 22- ,O>Xggg&W`A겒GXPQ~v߾+t ө wwwin}_,vXX X @` @` @`)ƣnֹ+(<&V+V4~ynֶV ^ %* m0Mt-߶:uB^[NH`AmdӍy^가<X X @` @`,@`,, Qјz?MjZO!l6?L7 J5 Bsc{{i~ߤ ,(M͵^}!P;;;O!Sdmmm\~ٖY}UeVQC`O>Xggg&W`A겒GXPQ~v߾+t ө wwwin}_,vXX X @` @` @`,@`,,   XX X @` @`,@`A- hcc#j4KӉX<0jc*4 ,X͛7ϟ, (`9au||Ϝ - 6L Jg۷>Za J2p>B`,@`,,   XX X X @` @`,@`,XW7hc۾C`ƣ1 0~r<Ə<>^Z6H(* B%0w=UT * +祛'Ǹۮ1={mͷ-%tmGY2l+߶d0a,B` ,!ځUKuܙ/mه%։᫳:kX ֗GAKB@` ,XOEt(PZnX @` @`,@`,,   XX X @` @` ( ̃{xoTAx Z4/ *fkǰ-G`AE-{Ta5Z$77ӇhE` ?hM`|5- XpBZX9uUX)&O %J_\X=-a (V%lC`ݕV%lK`?]V4 JG=XX X X @` @`,@`,,   XX X7hc۾C`ƣ1 0~r<Ə<>^Z6H(* B%0w=UT * +祛'Ǹۮ1={mͷ-%tmGY2l+߶d0a,B` ,!ځUKuܙ/mه%։᫳:kX ֗GAKB@` ,XOEt(PZnX @` @`,@`,,   XX X @` @` @`A hcc#j4KӉX<0jc*4 ,X͛7ϟ, (`9au||Ϝ - 6L Jg۷>Za J2p>B`,@`,,   XX X X @` @`,@`,,   XX X @` @` @`,@`,,   XX X @` @`hX ~?:??hgg'܌ZVh4W^E[[[a_Fġ`0Do߾Sg 988nnnL.,m]HCt]__t4XgFvPa88na4XǪd6>_~ـCaT@9W& ,   @ @@`h`h4Xh4X,4X, ,  @ @ыGwg\#Kzmw4XP9v<SOǸf)|m5֧`Ҝcڦ Vr}4X'22~_4X0eU` R#=o10`q"Orn4X'zr1`k~_4XXϓ-Zm `BIԶlK,`ٖmi&4X-`D,4XͶlK`i|4X,D6XƕGvR VZo`@erS0e ,(wo ,q'/$  @@``h`h4Xh4X, ,   @ @@,(ݍ8gέ(s 6V%|-4X0f3J.>+4X0uu:/7V姟h00wh(ERD_*S γg k`MEv9Uzw{h`e/J/a.r~^Y j ̄Z~c\(}aXp| jz5EtqQ]| *ߏYC>vGK.{/yN`6U]~}``h`h4Xh4X,4X,   @ @@``h4Xh4X,4X, ,N/ cI?s,y~a<`@ecnooBڤ`5]^^>;ԗ^666nxpwww áq۽p'`5=VN'y9TE n Jy}fߗp~9hpzIEzI^֡ RecU^qެp8Ҟ,4XR8)kղ} 'Çsҿۢ Jny`,z@KX!r Uy^xGcw W h,J7X~ Eeh([|Vh`PiზE-w\ 4X~\ 9>><~oooE;w,:t:v{z hX h}q^/݋ w,VSha*z M=VhX+Y2E4Ta=/_\4X0u~~x=],J {BϹzxx0qh`h4Xh4X,4X, ,  @ @@``h`h4X,4X, ,   @ @``h`h4Xh4X, ,   @ @@`h`h4Xh4X,4X, ,  @@nW_IENDB`src/site/resources/ref-output/png/TestFontDerivation.png0000644000175000017500000003706711331616417024250 0ustar giovannigiovanniPNG  IHDRXXaJ=IDATxݍ+)ϵ>ޟz436Z3;?Z, ? 4XKci,M4XKci4XKh,4X\Ϗ5~^[cjQx?wFҫߏywܻ55VFQ*z^W4ֻFyMF~ҩW?ǼϿ_=zI>׿?D6ໆ58NG^}Gmx[cEJb6z1GnEz2=;u5[kd",#n WÜ-v5*5[>1ن2 GV":n1W1Hݢ|%11ath1ϝ 5؂c+#QqcEeooQ\EKtGdJgƕuVn hdX#[+=-01+:UvZ80Xva44?'5T&qqJZ@ci,4ƂXKci,4X Kci,44XKci,h,4XXKci,"Gz|d66i_U+S1ڤ jzvKyHͬ;얺&ƊVXjjlF}lh~_=r:WF6֑#3 om%5ֻh.wdo88gKG&FksVR5X"Q퍕/)[f ކB_Z|4nDޕ͎n9i q"SE]yhh%H&R{=&Eۗ9m fm c$2ًŶjVuTyvn'"Wlw\4*W<:̨^5;֫RϷ yTV5ҭ!2Nw~ld=Z=2ƚicBѴl^걍>z:Kci,4&XKci,4X  XXX ,,,@`A`A` 9Nux/HJ~'>X;@O:UW`m @#ϔ9(4Wga 2ծ+{M$S=)sRH6X<ر~bޮYo{WVШPϿP\XU2Ab1}aw+.F~zP?) ݊U]ay1*wwK} .WTQ51t1U3;0 w9JD0R<֕au3QNŽKwӴ#u(ϕ 8xүUܑ`EDS"\(%H"'G{GHDϟ9рDEYʼnҨ7yAjdt3yƪ<ݚ]U]!hZ1Q.s#,epHw&~?tq;7jУfgRdļ+>*Ql3t..̬;7||䪳.E+l6UZ%?o6%V(O$&;C):RH*c30*iF_X١(=13)UՈw:yc̬&NR+h+f=,hw֢dG:;/UXg(TXF}ֆ ,,,@`A`A`   XXX ,,,@`A`A`   XXX ,,,@`A`8?G`5~TK ;H@XS]+ez2PG]R`]vyn#OA Q*{o w]ڼW ޲=d`VTj5Rw Wu@W<|O'*i *H#)eM;5RQ\zW#u?LQC>2Wvʙc}BElRg뛂#ke`1.~Ɓ;c⯞oWYyQq<2j|o uek52F#vUﺽ;Hnez OVw=uX˫ng- iQ劌=߁ۛ~@TV0?⟢ WS][ňxUm?&1 ;^ӻ/10;B5HtF* *420Ro4].3 ŕe5BU-6Sp\`Ek%xj7x|\ӫ<׌6A '["{&#{֋YQٵ3>- FL`G@zQEN3#Î<^TQ^"]H(GFfEĄGVqdraV7~l!<&:umo% b"]>i4Yv4rGW3ɽlzaWR1Q0f3s{/jx+ !]B]ɰg 3'jgr2*L;{tX"f&3͓]EM|B_uM#TPy՛M`M|f#fFJ`r}mlƻEESB"ŚHfH*+/;UOQJK`ЫgY]*鄑"eG"uѭ쮡JsWkb3wu%#]stiUVZe6TTU"XT3yw]af(YW>3ss]WdjGR źGuNtLT5af6%i6U)qܟEoXs Cl JuXw921ۑ`zj|s UPeUk6}!%ViT/:"<5G%kf>S$Z2qKtdY$U zJ5LI|XETO[XIXH놠^mU`   XXX ,,,@`A`A`   XXX```@`@`@`@`@`@`@`@`@`@` X@` X@` X@` X@p|`wxw`!$D3 !!Mq` XFkSusWA@t7+#8׏^3 hwn~ HU1zĸ/rQh6(͈Y1F^ WWɈY3rX qXEJ5^I̿{;a~6"Fp/;,q9kdxE'"X=E*2ԋFVg4L$XA2bv2N[øEV#&d ٜUFFEd:zYbu(2.+",f -G:NL`ad~7bcQ*  UNe[DދV2"??ϫe,r m7աӕ`U"D"~``&Zm5QrU!kה1Zp%|U@θEoިX]%G"u# owCp'|cfG`}d*2þSt_\_kQ CF,?I xzw]OM~εē7K1?Vn;ە$:'$ ցČtUUg㰮 %0<$!V&oMG[4^A ;qQΰ~:g8[%dϼh,8ƾ8Jk“Q~`a K&uu btúnl0Dsaul9IUU%'ݿ_uI O`lQKp-A)dsP7^gg3gy&EIc/;Tb E++CU;4Z Ղݠ|@͸NgTq՛{fCխub ]kN ]fsv+]u;5˓W3g0Fx@EcE{w,!X_2,ܕtJfP3[*-X3)W  LfU"3sTVy+65@ԕ:X7Yv[Еhd$s3õe | |U%g\E+69;,cpgb|6%A'* ]9jllۮ%*`Ƥ{ǚ$|TLCώQ3*Sөth_:)E2FϪ]dKՑeFwXAl|z+uvYLŠ!eFpu8. X'+7A4YYqIYʹi8~P|u?XtxXu*7P$6̈hWC:sft`*ZMI۪k+bSY?.eF2bE"p#gę蕃 UEȲ.`acty0&+dY߲7l gEJ!g[td VXu!XhuS2;LA**339g]p6w%p 9po0kqcdh73,*C߬OP깳=p5^VZe5df̺ B:3YUVь ͺ4r\lѸY7#4iƍt-,!\bUL;zlFrn3 O3Bn!ceiԕ]rXu G [,JvHɋbbB v'XH1dZ 2?s UbsW縪eE.5ghN16,lբ1kre3nhSrl,`[      ``````````@`@`@`@`@`@`@`@`@`@` X@` X@` X@` X@` X@` X@` X@` X@` X@` X@, X@, X@, X@, X@, X@, X@, X@, X@,|I X8BF=`aZ8]``az(W*[Ϊ-EE..BJ"jHy3u:!]C5FhR}$ 3yDBgUu.,,\ TFPF+ֵ  $Xkf-Eaefݵ^"XxPERt?`F~JbZCCf]5rC] CJLCū׉W5/q\ X8Xn̰/:YʮÆaWEG._30+;ࣕ#+.0T$XY*BqYeYwNX,ܜ +3e=D;Ds`a`\Ud-;\%X7١!#X4$܌a^t8qn6JGU XX Z1ʔ ^djN`ahen `dmUdHn"VEfkOtW11h)"XX$L!#29YόH+FMWOY>z͑U\AUd,#_E] jEUso!6"CuM{H/AAnkQ^,xkQlOsڲ .;Lp%D su]yO`"Zѩ+7TYUVڿ)%3.rSk5,iW7j5UoLY?1$3"X;AA1Ur9#щ>zj>`^#U)n7#V#V579}n QtD:Es^ϟ߯J@^@Yk,bU.(=>="9lORo,MGg"3:Fx$N>V2yiѪq!v\ 7kZ:s[zO+us}P7VI7/Xn{uAFWlY=$|]}0CB[sA氪:FC'' ֗ VFFg&3v`v`a`Eb4_C±`bdw`}p0f(fj*X,uKr$ۣ{2w^+ݯf |DtH 욪Yz7$0IPD5dj}Ղ5 ,rT3&+p`oXh!afYӆ.#JkwI0Nq[]l v[#XTk榜n5+ر6ݺ^+ GV !a]-f\^&Wmӻ[8:sa EkFܢ+{8칆+T37zݻ`G`.de3-ILwowɸkUJМʸ҅h;+P̌kuI]n3 bENZ9 :;#bEEiFYjުs 糢I_N|ى, ]yD{V"֯pUWt%;sEgH RCHUFBQ~g&39.Z%XQ5PHV*I 0 [+a;p:,fn5\T5aʐu:^` 个DyeyԶw V6WZ>MLvf9csOiԹNu-=XYV`azȘJξNuu:qr`!$:$D]E*Wf ̶֪E]ӭd Ux!5θwFԢ.)#QHHgN^sf!B{@Cf1iu=֌`uMfW;fNs/߿[Wh<2ܰ(Ղ31+V%dZY`<e22kQ/ f^uV tFYe}M%^w~xdsDYqwU|g0\تJg.&2t<̋uHPrFuaCL.\YNS`akȺа:Cv&t+ʹ3kժ3i t"X2TȸȰ*↪U}'|hlv)C0*dDZ:йƩ2|ȏ,V43#X]UL]dV떯59}ٿps[]9 \ʬD+9lC4*CfG0ٳټXuU ƃS rVYQ9ifHQqS1fvHތXU;_u w l<;Z\t X!Z7Iu&q;uȬX8 ѢU=6;D0h,oM'V4W4FmYYK7E ' Vwһk"XH Vu ֊Ӥ%  Zdt>>"ZYx A k"ߺkyvC&k[א $ϰZBEHk3qV"DH1 QnRCJKN8 2L%X uW?33G B*)Z(,<@]YsGX,.Z+E)3Z~ AYV kW0n2#X lmCYQt XalVv͙e$3#Xlf !v X@` X@` X@` X@` X@` X@` X@` X@, X@, X@, X@, X@, X@, X@, X@, X@, X@, X, X, X, X, X, ``, ``,0X  `,0X  ``0X  ``0X , `0X , `0X`, `0X`, ``,0X ``,0X  `,M`0X , `0X`, `0X`-8??*k#LR& 50\,Gw[XY+``l1XyʚO `eM5{Y70`թN`Stߕc0XQ5Fsb;Ȁf``*i1Wzsg3Y,AjƸtwAGfqGL2,yꞾ1Iw=7>Wd &LmYH6``4IS)lg_5;3&e` r1A,5if2YNs5P4nc}ϙܽ>|>nDìɪ<CܪLیf F59W{Q6EFb)>&jh_}`d:ReLXԼd6fbg`Vq:k֐~[f2ku |Q>w|^l9m*ٺ+C`ǚNeM;ԑ=~Q6R:b41X|Mƪ2ݓ5V3FfjV1xX <\eLJŠeiEj*f,kf Wlm0XW11gҽ|m5*);5ʜ:`G βwUkn:[QyJ 8hefPU!w]eVk 8h*ٽ8;ؕdy3&zѨ,Ds`Vzf K%{REef3MwdXa`/7If4W+W fjr(4Zei`e'WL'5^LEYcVj1 ffGW=chvv U5[3&,Qy~5*.w3S3>޽>Nz;2sw?0Ym޷ؙC6F~ ɮIy`1] hLtLF^k!sa:׈id, $20يLG[zX똣SgnX:?-md1X@:sӹ>bfLalù ?$YgcOIm`wlS5+-Jfd6w}ߣ MBu-6v+M Vb ?#\u`1X pY31?P9iY3ZͰD.uو64;!W]`1X ֎U[QSaf2luU]f)¼yqC]2Xi`(}NWwf* U`EE/(VZ)eN1?J50XpfN͘ϘYjqv c׽\N%Iݝ0uRwrSV}Srk xJgwO!1XgMתXm1-0_UY8}INvoXL1X2#CWk='8E{wv e;,`y&h{dՌyOf*pEGkԦo5X`As*>ow;qC5bgE8o03 {(-``\E[;jXx=k0j|K#Ti[S k`lSw6lwʟ}E']}tdvh`KF+M5s`WwׂŽݤ`nSR evQCٙ+GCV}YLd3ǟfN0+X1Xq+:wLjsVtٶc+#:y&sǢ (,|b]@v'.f,`|핻:j~WF:G?^:XΠtiԽ;.sk`LjՊ•;2evەQwc3kvڱ&h|R9'-g/4SKi^if7+LlM6nu<Њyv2X(esǨ}Whص)bvw'd0W;}f,`w>b1W;F ;>l,͎EY\mSUWէ80X2[Н5:%kgv" ]w%^> ,1&{][WcR53)H={w*ó4,^wF, +:'v$? =бvG٤o',ZY%#Uo flaϝ4Z3fv](Wfղq [P빕VYcrϮӮLFf*^v+;iɻ2`;DaN:J,0cLWD\k0ir+cjxx4 XhDEk]}I[aV2Vwev[e`7uMyީ4vDXX[_݃Ţ[74suiV^[edk7 , -\FdzՎ^ j|d;;S4TLԊYt۫v7ȶhhNqi:LU3Ajgh Ut'vJu;۱{-l$c(wU^o'S~ϝ1LP;╝WVaZ'USLVw`U?uvbsuGF𧛬&EԪJ'L9.b݅A:4NO0Wkƨ2UJg؎+',K3Z'(O0`u]&+SX|wMke`8ڤ>n*󧚷ӵ\QR`(wY#]i:ګ.(TY`ZѬЬjV4TВO7X;Lj0Xn5Xc'uN׺9 ] 0Xbف>ݱ `Gtc9`_eVef{I&Wwd l5t~wv秙SK& 1k+ &)fj9 s9 FntݓL)B0X`~)Ӑ;Vkf 5X;M8>`m0X`-Kepy}g*͔PTe=5Tthe-YETe)gaJ҆mRROS)}r')`9]$YEz(.`YT7)9__m,ZT|蓿K%=%oq g,^?{SSO=Rͫ~7ny]~;[)`Ud.韙JZLFd`ʭDW#rČJ؛)Os88Z-)ty.ve~?ﵨT5P1++ ݑ{S9UYFDa |Ʃae]YV.$1,*_\*ʢ,*T)ETPpuERNʢg77LUYxYLiVF%241)Z[G]Y"RY2LԣBFU&)1%@DOQ.LtH#+3!hTpUVE8gRuvV0Ĕ8헾w {T'q*kez4N0`GX*S:C0@e9[Y#6UVy'g6L{sznlSzD^d+Rsv'ԜʔxT04![RL;uzB <󔳬%f3a|x>}L }n5Ne_ ^YahVQ/VUm[d-MJXuSڰF L9/RЬTUQ+zVTsJ~wJjFUVfUVwȎuёUī0b)yXULdz<ِqJXt,0=5y/8LKZ(鴿,+ f"B)"!\1H#ƍ[GZXkUtBijsk:W\њDL]j^8֨&k=i*:C Kgêh‘5"p1:~܁LXvhzښNm=&GU;]SS:W LQr0=1iyW #|wbV t,cб`Ñұ\ZKǢsiy.t,:EҹXt.-EҹXnIcwcJ:б@;VYt,':VgsxnXyt,;t,_Qթž:B7 S%BBEj_%٣E .U~N\Ev.}C2]apC).t,lrK_J|XUvF/HǪUM[ՉS(eesbtW:p^bfs[t+>,B]"4MX@:@ڎ,#V]atj=7m 839WJԩ_;[Jb"T=K^;V:chvuoY;V7O_j\:VN#8.w$ϧce(:-Xt#~RX&suq) cn=s9R@nf͂v){A:T~Ws~oH:бc X };yvHKֱnNz)$ێud7IMv35Nud32H T^$iXG¼$?RKsuyޮ%8X9倛\"55FAa\gq+{d'_CAY`P6d]1Ft d@ˏʐe$Zs;SKIYjzͧ3w9 .#t,cJ:Va\@=X;B)~&ow/KǨұw!O4^SGZݱNTEGGF<.lpHyk:VNB*cK:ϟ~YWz&c@գ;r؞*bUdZR7t+ce%bV*Qˉ RAhgVWANK+xt5NQl >[)r+kD猗mc4gKn5 %"XFW,?hrTE5;L'+횦ϝsP: \D#6PBq)feь?lY|n+glck!T&Xh X0snYbZtpvGf}kF * S]V:KSt @s<f2•@ktϚ<:\@>JHm:լܫ\{/Ɣ`Ps5fXjBUgW, , J] fS'N2`mut޸l!d |qZwA*Z{!eG56vmmC|VSz%tj"gM}0e4#m߽٥l8Mmb-k>U}?[{TYቝϞDSLk& ֈh*`%ʸ]o*mfԯph`" efh^öz1gM}־etRC,sV^pݲwh6 r! JkYS!Xƭf=ytDzĴcˋH2a#7M S! D?aduf ;V:>/}F+訴aܠ``]tUp3 A[{Yz8,Ke/v梕Swq/!@YE,, , b UdJ_Ag2iWXA8:NX-V-F+OVYR7 i V& wO/u{jgBr?;ɦ2)Ǧo߹!Jr'KEyNzGpR1Tah=(@p֙5 XNv֑c/Zml9:3"Xwm{:G)KӺGZ, nBN2W-45w' E Jh9Z!\yǯ}/N`[rW #+%+Nk@@,(h%zW3zڡ+ޫ /.uKyomK}BF*cc:i4_zNakG}|3ťVh߾>Yxbd$HE§?mO"<52}7/R*XNMyT3x۸`oMNjtΟΪ|gtT8ww,#yK_JT9cM~~MK_sP:y,q7/Y<󑏤*gR.\P:kxPv\KTˠ2f*+ /umQeEUK`i- eJyմ~`Wyq1U9nHح*F p{C[V:˺?.lK79u"VWY%,qMW^UϞ:ANҴeզ<,նj[<1dG1PY נ͙/| E3^ӮuGeF3T^B2"?qWO@hj>RdWsZ>``m: L)X:qqkK~a%(jO8PX XO]M/atu)"]16vehm nn5o%jb"6yeYьPԦQ ԶQ Wz!Tn5| ++U[~7^`=ϞEmhHp ӱ`UfJ\vyA%el/͛jQ(5~rQrj* ]=%c`v2 +)ϓ ~rl+C$gXaBp,G$#X^VW:45Y q+j`RCL[ zh[,ge/U@WhN =`Q9gY ZI ي I|gJWh)/1aܠ``}ykQQε#ؘ+ʧr8\n`c.Z ^8uU80A@@,@,@, ,E7}KT E4b9pR֘7u^ "Xb9P<-Ye-FEb`_-QyvA40ny7 (/`6 U^鬖I0qgVޢ@kX-Iy[*`X+7͎$*`]ӰdgeBy,jU^<[Ī"X6V]^ @vE끁E4D*/#%IZʣ@%IR^ JJ  @@,@, , t4},CE,:4~Y>GÑj_E`,q¢S"X@pqqa (oT6r(/oA\K8 lkiy1۷8#X@*vZ:$lߣtˬA\sXzV{]^ h_EΣ(r:"btо ցCΪh*/oF:n% g+w khџ/B)G|:bX&n̔[i<ˋ`ah-bQƼE WvD+훷h!X@62n YEo`P5maվyo$I@|EQGy,}c:4I6Ŵ▷[#X@Y2 ^B*nn3Py8SB@` M]оN`` X` XG­f:Y :s%؋$; mC}8ɆϺug]Y3X\۟g'j@&XK)~oga%1dC\ŌD!ΔgѾ6 ֢M:5RϦϽ.~ގPs6e;Hewش6Ńj#'R*X4|)xFiߴdb2Kzh.e}gtO D$3qXL1ld:0!}F{|:%yV*>gT#L ^@.r+nt<[if1w@? ĺlmTǴV%f 2r58-RLC 3c*V x^3N+jhʒ'Zص4-*{$f6cpnJCcML.w<ʸHMkP=URΎ\fUEÌ1\Kg/[sG-?3=a@7]ٚk2箥YE DIy3Tr> 3\tqCa2Ͱ*^*`%X  3nn)y'.[{o:4|֦p+&3 )shpCq181֭T`1͒7r ,WӜ8  XcVp, X`K hR`F}8<`e։FGÐvݡ^⠭m BZ*mJݸ:۶`Ft\y`K{[c~P㱆šqCs*>ōy*)7q}6cEΪgLͶ/[m`ǃ}SMYm=L.YM Mے&WV`ࢆ/x 2v`;?;m?oH:^¦ [2 J`tf4`Q9w:~L)V읫&VfQ,#N3UE+@T̂5` XF-uy\n#˪J`}Zh &&X*b;6/gW۩t$ 'ھ 9ˎhoٙk"GG67Spw$IȸZQV,# +tt*l(LW5yXN V{yȀƢ6&=(:МN;~r[0k1W8 =G`'<1A7-qfqIGטi Va~l3MD VS;rq XW-Osp,8Se.%A=2|o-W`#X,e]͌e)V"XVikS^DF] ZS9th+,#jh# u3=qQV<;M?t|UR`m5r|!ݷh ,Sb_NO,]pY9v@U-ZZ@uxjhJj.XWؚt9E3[ w.-7˹J* +h5S*XKu+>˚i ;ҊVúp X`jce]dk9"yR=lJO-hy yjb-PU ` ¢#Tbo1x ʻXp#Te\[?SV |A{`p` X` X X XT XPZ3Jv@<16}嗩 W~ '*W|Mk5Ao~eSyܡ>d?8=uI{ybb;rgJ' t߀ss:q"_H˞(D ֭IO\Ux\,Ky_}={ u׿]O߾\}Olm%xst8ÇO/;oX]}zn`U^Z4ޏyƒ@;~4\<,bf7Cн$%WV͛V$P>.T2O[S Ţ+W*,24z0kڲ3m_d.^L-dNss5.&'q`VmrYZ첽hjSN+CL7]VLt l1_T#uƋ/Z3ߏ|=tWuַ~ؚ#)wy[8sӳTE8):Rr,ɾklP 26( iɤP'.hGՇN7Fi,yRki irͽB/9=81r|ot~77*k?r"U~/"X XBf}@NФ. Vpy˂uGq`=!C8A[6\11:T"ڔqYumڍ$yc<ё}ts4of~tq=!ZBkǕr?3<ް( BjSg\{jog`,N#j{LFy |+it+s-euYִ/ w-Y/`Rޖ5kh^\GaΪ};Da`Eev XYk`ũ ڱDbu&g%QP`mliIn=M8ݼ,(Wh _Оu;J$ň Xe~z-v'd4/XU*Cɻ>"9eiƯ F _Hxsrxi'd _*:jdw}Տ__`bh`:`bh``0~1X400~``` B: :|Pθju uag` }V|K 'm?E`v,{g8Ar/d^B-\5 4}n;!7C~޼@`0\[ w1Qdj0C[0Xfqۧ?0Wt <c z0@Ki0X$d1DH ;.M&ΔuP(SF6:+`ŒֈHk&/KAPRjp,ejK7 @t8r% "xwb.-B9 5"ʗ(öҷshےJ mp,HI0IQ0HdGF.ZZ ",#d{2q8Іeyc }ş{|n:V^Pu, K#ZK1v\8 `AYIԃP'C؆~ď ȱu+fy( }$ zNFriUر`K|-hhփu V2sby\ p N #w Ly,u> }jBHѲ]F,r&w) w 2KWi6ea>ΖI. ^j: )8jn99lFqs>QyGyra` 4Y! H~gzv 2(+)`N Xr1:ahȰ\@]G}`O"7}WQkӑ]\G[- cIIáv>eBںA- NY*``a80!'<ݱ13d۩{01X%g*&owҾVaWߧCōsb:0F/60XvJ!NÅx1@jqz0/91n`3XHy#wC i0hs1d (jMU=ee32K"iD9;ǜR7~n"gF=.2`UZ DYdzan0u@ _hm 瑈('>]rŒX Ո4d. r)+)v .G*uYKgVfhgHu3Z0Xbγ8b3,OQqD3cv7W7i:K[)ZK "w -N00X=DDlkڥ]4VnY7cu%j`3&<6QL z3!iIam{:"'6U#90XɸQM+0d-2(1Xh0P#vw6BSsŌ9ht>0uX_cbJ݂v e-ޡ-3/DNcl9<11vs5g`yK"h܏Oi|v.[j.{ΐ>+*½[#2]G}@reeҥ5XHG1X1z}\rSc"KYM,0c2ϤG-6Wi?*v[`ݖ]pVu $ΤG;j&fR`qkR!lV(w GuSL+N22,ؖ7om Ctͼ V2&0Xd`ym=MSlvȼh2+U V?ئ.cyܱ4Te@` sD{wȤ*nV&j2XC40,xaiήv b0Vf+ P /y@݅H;^4Ze;+RPTvf @1ۤe 0X, `0X, `C(7`aU-0X /{^.{3"/{sHӗQ/V$:T Ϻ, h)xn0Xr#",nxȗcsاI]ǝ Lh9dh뵄 $KFx4Xu2Y)3 mRAdem0n*HY`X1\`65Q+!O;*]`epce 2q[aqN.ݚF-X~-[ ,2`]p^aaJjcB}ݔF^YZ`;+<Ƽ/'YX'Ǫ\`gς^21Xki8e[FMɊ@WQkrs zcNճnx~U,b3b`b ]h ]TȤ-F(%AY6]oZо22zD{=EgM檟8imBخ#ljp2qmp`]dbgV{OR5Z&O2Xw0X,A`} D~p63c?'>~םhYa}Cw㉑OggQ|@R v)ȴH%g%P~ozXbc;wʗӈ\,XA:DˤM o~QNd6իuPR`%5r)e9VGK&x;x^ALկ>ڔ^?=s񨁯}I&q/>/THc%#Vm:K=O=Zmo1pww};`a 1+|th_{GLz~_U/}#*mX%dx M)*{7Y X9[o=jݝϗϟh;uK#V11X8=ǪCyOědb \6l6>!uo?Oz4*r-akz^3 1XЕ_row:WI❗Fjq}Ϟe8q y,0ZrpyMޡG?wHFC|l)o~W=qQ9Y})pyw2XϼuW|g?,/},kW5cvʝI*NIs-%˙ u?{,\y,Q4[‚w~7"1G- Y 0Ri lVC"X,hAy%;SrޫU*0Bm\{C^ʌ+d$ȶ֏^N 9X_' ?3x//<; 5wonߐYOݫ7ZFozUk;#n[lv<`GNqwj;w7y%ߒE~03sbaB>!g>%ص5:I,ޗw N׹PU3\ӹo}nњ4beK8%,{bo*sO~r{u``W?yOܾmu i`‚{ym!st͹9o@k DwIxu\*'@5=K-ޢN hɃ>uGۿmRUzF~+ V9h#0YRX''?oſh%XU-6Vٳ?[Mz_;l+80XM`*M:Q*.l68bPX ZhjG-hIc>] l .0h/=kx 66{-5Xg@>/?iڙFt)P,XdL'==|_Kt6GuG =W}{_ U<xept9Vo}tzroסWߧCōsb:0F/60XvJ!NÅx1@jqz0/91n`3Xy> ]9ahb8ѣv[ `|l1X}{5VEOsx[BiD9wh6O@0[ zwjX_|h7XwJKK8>Ngz!MOG~ lh942}Z\Xmm ( cx CFXSj09&* i&'##Z 2 dʥ ͣ\^>.忇*uYKgVfhwXI%ThɈK=݌Iƪu`پܹكٌG,;nnƩQ:8艭d5RÅb_Ȑg5̻Vi83ۚvi զdXu.&j`3fԕc"G+$aތEt.áK 0Դ@FMӡ!iSuq"?K2+7}E&kAȄЗ j{j`lFQtF.m}iҎrFEceҡ0EpC0q y#Cr@8O4;漰،b0WC݌UC w0`ͅ5̌檅|AtaǬFzv&MnV S0~Īm)0inea4g=Hz G3h1XhVh[mMί˻M{#;hDDm2haB LϽX\)uQ\䬻xr6qqm>b%O^/:bey2<36ؕ,;_'_hazT>:S|;E+\4K$S,01X%?s`Za!0ͨOW{GXt&ܫ'D+U VȮ \ VIgš_bXL\93w |FK7``coc0XLG4ݤ1{; 51F*P3Z`yX4:wxYAqiw|;efu6I}"4VccWUƿ`"훍ݨ]:$ҥ6"o.!FKEX= /@EG!ߏY/Laz00Qu]b! ]:Lc, J՚w3Zy's{"<fA`x*@SВ8e*"Ǫ{Uot{ɥCysVn\ÀM; #N߿LڷtfX jO2![GߏUGTr>A.J#mq PBTFfZkB~:shu5F^y&S5D09ٶE]9ilN^/ C.YBAr`k _ fH]^8i`6X`Ӈ5S0X u,KI`?'/f\WqIENDB`src/site/resources/ref-output/png/TestClip.png0000644000175000017500000003513211331616417022173 0ustar giovannigiovanniPNG  IHDRXXaJ:!IDATx{} YfOٮY%Rdp/s{k VU2݇1f+WP,,,5&םkV;q#e[=P,,BKkxqid3+AnAOŸrn ksiiѣG5K,,BKJ8'öZXXhդk}mCi-..fsn7o,ݼ{umm4ߝ299Y+AshfX٬p ` ` ` 9d _L^4d7^ [k94YnrY:(` ` ` Up5wփ^7AָY92Y,,BKKF7X\m6Y Sfasɬ{+7/,0.Os<Ӷ9XttUmo5+z:XYYN< ` `!X%XC^߽<>裱$2[[bVJ"!%X%X%X` +9gV`z=AքqF.G ` ` %XU`5-HzN=}DoO_[9m4.L2¿y5 4X֏nıǩ[7и[W<χ<^;&,YlwSn?O#=:**͖oVӺ |wk@wI6E]a[! %H,$ $ xSUnRcucY0.Xa >hnXlH<<5herR BbA VhCq.+{uǣ^Wv'gSxۍvwwS{ٛz{G[. 3kΞ=ղ_1.XBbBb!@b!XH{YRsWZ5?̳cM;f}M_8-gzzz["y +iгH~4h+ g.X-d.X6VTx^CZ\\,8766mF}VBb  Bbx(…u{bSLrH'w^s9(ҩYyUXH,XH,$H,$ $'VT=aJ{jnc}E+Lzjc333.X V?^ V^b7`; $  Bb<.u׮]K=}cbϫ-jƍG2MG㾦׳%< wqk,' _S.ɦ-֭ǚ$ٻqV\14n@8Ϝ;sNئ0ɛ'>cMINXqN5 J۷Gyd ,+oKb=Q ge),BMa03HhʳVXNɵRɓ@!ls#X XH,XH,$H,$ $ '[m[bu;~S.aeܛ}^IMuNqz.X~+y x ]U)/8_q]v\r.XMw.(xk ]ZrSMCM>{Abw $  BbBb!@b!X jnK;^+bݮ&jvqq1f1pNiǒ񺅅HN7UjTIOXYU~_[Tbى5(ebih\kwOXMUA%VJR$z]W'.X-u$VJ ]N~`d> QJˠեcH[Dba; %H,$ $  BbĢ*!Xצ &`5͗}˘R]$Wduj gZ&D~N}uI V$VVƹh6w] V]]':'O`X XH,XH,$H,$ $   V Vl `/]qU`rj.XH9` Oӱ$Avs+EDVD|I7^dL6̙3]__riTc:Pw+\I-O%i Fq[V `LOJ^1"b/1bʫS$vqi*XjOG_Z]0;{yHtipmyJ&No5+mT+谒4Ϫ{^YYI5'O̲|Ovww3O,;iLvx{hه]L"F&ϾQ0QIA5:NW֘ê<:..^vN?2*5qeVcjlG Ŵ0,Bw0337nSc`tP @P @P @P @P @`%}Sߏ V&-jE4A];9}1M ,9,蔧xE$0ɛA&ld AǴ׳i"b؎! HuXcjxj1 +j:izj 1G , P, P, P, P, P,a*XY>imm-G)h,HP&13==]_sU*OG9cIoym!Tʿr]r%'t,iղG_.E\iɧ2~C?#%+Xqu&젲41-`5?|M2fEv1Dj~WV1 Պ"}cȣ`i61UJ^&{ϟW2aeSRÃTG7k)W,1liii`tXX+յkī1U'(X`(X`(X`(X`(X`(X?spԤE肕TX ;}1-!e~jϯ}b}=j腦8ȑSw|%LY>HȄXO})[L(X/ӃT|Wj}jAُ3_ ՝/~w7F?7ԄMoСJ$ տzER̀AĴs ۿgRUb-RM~a++zj)b=RP @P @P @P @, @, @,N:%`4>;Jc+_ƒI;-seee 1v?`_óX?<vŋollT=jLz%x7)ݦ)(Vׯv횂5$+իW O,k/xӱ^'M\k<[VFw4;;;yO.\<$G:|~uOxn?ד{ܝ[=&bELiWa3|rϾübکc͛ga|޲_R̙36:ޚq;n:uYY^^EuXƴZ@"i"?njz}^Wipy)X!i :*`]<@ VҘv{}^k^aڬNsIS²tK.%i̳鋵Y4u)Vݺ" V.+v.8JOn%Oe:j7(VIceL16yX N]󰲋isv>gy1$N8W [[;L(5wY?`ĴLVcʕ|_VT'5kL˴1 Bهeeu;j(>J8 1 GZ꣄uy8yXŴE %Ӝ%a|gpm^.]n b`^R ` (X (X (X (X (X (X (X (X (X ` `(X0*klln)b@Vs{ x" VmŵZ>|kfi?|VV0{uQBaٷZw͛gF_?v,zn~>zizzo/OME߿?zvi)z̙k+ӽΪz8;<21o!!G1]YYԩS߯r/^xۅƴSj 'X-_]\{ޓx>}>7QTblllԧv VuYȣV*׷+ZykC٭QZcuL_>vzf1 y:2%_IUsDke`߾Jƴ…/"sss}\3uS1[LaUyٯ&ai/갬\eOml*>{aYbwYݎp%,Ñ?^ҥ<%UL49V AT<, P, P, P, P, P, P, P, P,@@P @P @P @P @`w+XJsTٚqv[x_Luw\~;m~~enDNkLŋ٭3FAȫsTׯ_ڵkە+Wzj^kV0ˤ۷/׍my7bL<MMM9;w.qFqzqv`Q VE1 CX=7 y֘5 VË33jġCR;0˗'77uXLS" Vѱ*`i*Xsss};L{= `uUUTz}taaG`JS a.3ǚ61-Y"M7VQ-׾tr +Z VêRL_l^ȑ#:a.X~SbZ}XUi؇rرcc]i}Q`5NKL}1}lw7_;>\ѭ[^~^__N<6|< `=R1qN<=+<rMNNW]V[vw..F+8ַF8z>/+,ξQ.XIw+Wpkggf]YL܌^Vlcg+K ;9,,b\n1mȝ8,*B:1-f#!h9-!˘>` S ^bZPڿּ0;[LuXCX]VƆTΝ;'MELGv(Fii<˥1 Gvx7s}y8yX_Y~WL3\YT UĴ*XN&&&+? ~ `(X `(X `(X `(X `(X `(X `(X `(X `(X%` ` V\:m:E (j.Pq~`[djNefi?|VGbLX[NiGR=ћ7Ϟ~X|_R̙3Vj{QU+ +}%|b6krr2u؆]Ű>}uq1w]c5ѣy9J%kaaaS*`%O.ς5G2q%)yřcׯgӐס#S2^q]uYi 1m•`Mվ r\i.=KQ1mHG4O?_OOG?}ko?Eؿ?w3zoZ;݋ꬲ\]$|b6krr2U amn1,"F_]\0%şG(aDH3N]Vt>V< V+8~Ǖgf]wLyR3S2^q]uYi 1m•`MMM t\i.i :a/X.+xjcCL *X>6j^1k Vj4}jLÑ?}o~s]=7?(apP)K}̙ǎ Q~yj* kg,@P,@P,@P,@P,@P,@P,@P,@P,@PK @,4X, ~lWRL]t){'ڿ4>>fff#GDN~hggG=t V/-WdQ4b*Pd_5lƬ22)Oj݇AsM 1cǎ{-81uhzzG/^o'E8x 0/O ڃ4{ mc,̀zڿhjjC)a#ż_ޱ9yChimܬv&Xdi4Xi0QpC,͇J`ۀ59yCw`rrV;9Xx0J>[HeaJdu=Tf/V[Li_~psP8̕_zKCVyXq"z̙3EprFћ7ߺv^ut)Cէj#GWj?doi4Xe!i5 V&+jbW3ߪ5X6tkzJ`%W=X,2{zioUק=kF)euu5M4ߥ_Ƙ6{ޟ[}[Li\aq1][[{Nc:pqu?I4s\/GOmlDy3[m~^K=P}/նa_=^z12W$+ƻy8b"ʢ敧ZL/^>gff2ߐw377~xdNyfh g՚^<]׻ ]O`o:uTUŽe{#-6IUsUVC;l1{ Wss0r~<Σ*k"0;}b}yl=_kRU=rq, Ǐ52IjM_UiQyz2Aܫ }{{qu;}@a FK(|4Y`ukmE> ֠uKՏy'5X,*~R樏?1;\e1zjPƟ똚+.y$wyZCN&9}q~1?tQ6XE1S6 El6n`Yܦۇ'MChݦ!4PnC, @``h`h4Xh4X, ,   @ @@`h`h4Xh4X,4X, ,4Xccc{2D5.tk߸4/0 V=Rq-{ VR|4 KKKniYرc0yV#]/~>`U-oߎף3gD+++Eub0117{キ^N>]x1zG9*9X~0qmm-B3BLSrO f\G%+?!^Z_9MNN.f! M}WΎM+CrXujz5eoA=ܳ7ѣG:aӴbu1E9Ƈlg=(Y9B6{ִ<}ltZC^5K.--;q}<6 #6 UDc+i|'|"[kyss1}ʕ/伭` !µ%a?LЩ0Ĵ k 8<5!|>=7XA/ ۣpFɿy,O?GK+[hi򵽽i /R0B^{h5n>NLoλpLyx}8.(\D  @ @`  @@``h`h4X,4X, ,   @ @``h`TKni6\P&kkk]|9RL"Ոi666hrr2ӪTj0݇AsX5˳RdԆ+ۍ\f{zz:~z*Oi{fTjohY1f555{]SyZ!v{4X6n|,EVe՟p8,..T^zs"̧qJ"&K+<  Wcܕ+l(ygVzlw7:+Rx,V>~JΎi4X7Vy5Yl<6pelΟ??;wG,43O=4=}G 4O܌9s&ΡCq}艭- H\Y*&K5Z Vy rl#`%"AmBlJiس\ VэUMk4Ai26Xγal"As.T2OCC- ֈ*~XzL.-%?c j*sj4X_1k,418qb`yj1O"DAؘ+.yڰY wޖ$lɿ{`$'>i8=xNrqf~nv; B0 pN7n,'߸M?~ 6 0lJ-%|K}Υ*v0 }K.1T0{ =t7bT@]\ᦏ͇͗#w]㜼T``h`h4X,4X, ,   @@``h`h4Xh4X, ,jXm ݖ8`kڽWթa4v?wj*Sӓq(]koT+ɼ`ك뼨N{>9Xv9I2˗/'GT mL=j_~JΎ\Jd sMde\ KL4*6Xϟ/j8wGh g8G 4O܌9sЅq}艭- ,Uc"ʪzL$*6Xp߿$yeU+40/FX_D=[ri4Xi6Y-WesU՘2Ol`lH0qVc\ FK5-ISobjizzz`)yj2KeSF*+b*OsӉ'ZYYa!Bʫᒧ ;;;dh{{[ۓCN&ܟ$p}8řI}I(USh>n ƟdL)O4|'NϜ;C[}ҥs=Tq@M R,  @ @@``h4Xh4X,4X, ,   @@``h`h4Xh`?2-`5Ʀ{5I֩aT2J`ukz5J{4[nC`O=X, V'axiC1Hbmm-\|98~ic٥T˾-o{,4kbgLK<7:~xfں'*i/Fj19E?Gw真w֛;}ʕWf )Cc"ʢ晧i6pUlΝ;WxsCizqV<}lR>~?z͠܌9s&ΡCq}艭- ,Uc"ʪzL$*6X؆+,{$yeU+40/FX_ߎ92<=|p=[E_(i*`X%m[l&+檪1dUF+øY4Zesѧ/\ihCQQyVܖ$Bթ715~4555VX<58 LiT2 ]#e1)l> ױc:Dxĉr! Bd\pӆhrrD$ay:z'f+L݃'_s< &o߾]?=xNrqf~jw; B0 pvnܸQ9.aYݦ^-BZwEZvo8''5A?#m|[?ERG ۵_.,',m`ȄZ`h4X,4X, ,   @@``h`h4Xh4X, ,   `?i%IENDB`src/site/resources/ref-output/png/TestPaint.png0000644000175000017500000006525711331616417022372 0ustar giovannigiovanniPNG  IHDRXXaJjvIDATxֆϯ^s9t mF1c #f1#,F0bF]uU,%JAQ_2ey?sL鷿9}Z[,3â"^,&j:VIE/V6RXQ6!mE$ E]޲~-闲lbUZ4,BU4x` -ˋ+O\ NJiȴ^q] b}P.׼/㙶+UB#hkIoĮ\d[,_aZ(vs'ˇyBЖhyee{+B'ѱs'˿Y3=E^. v uQ B)(2v%5=a, -YK{WU0 ZWQIgW_QN}[:I]E l,i,׳ v[]_dJ4/.aJ#D:vJX°cGQ59GmV/X'KX判o\? c8C`̂Y0 f,`̂Y0 f,`̂Y0 fsm _ZZ,fb Se;y;]껱$uՉ&6ѝz^'OxtmhKM65.V]N&hamM|`q&oJO0qLlb-YeP5oUPmϫQokX,[ UV[ [,[ բbZ(*t>:F9bZZ{tbZ5BռB fB}Pcl-_/fYbZ^5BռBM[~BXOjbZy5Bw`[[ 5bZwY[ekzX,[ U.1k Usl-TeŲP==5B\,[ tŲP5oP5BUX,[ Uv:k Usl-y5Bweemj.:bZZ[ekvX}bZj,;B\,[ U [ UMk Usl-Ԛ5BռABƻokNbmj.V{杬bűϷ|b|\d0̚,+dH,'{ 5L6A~'dҖi SvѮv LXh>%i bMC_ -T9A_S99c2mW<΅zR.GOj\ϴoS7ni0rݻ.B wroQJEo u< ,_zwZ =G]UUUn~6 PɋeîP ue:e؅:L>( vFfFZJ/"c} ]B)_vVϻPJA;ʾg&\e`d[;gVmL[`6l,i+Cؽj- K`EjTUd./"[TVEߚFUeqly炍=gMVV̊ ! `̂Y0 f,`̂Y0 f,`̂Y0 fRsXI,$G x,< c8Xx,< cXx,< ǂx,<3cXx,<3cXx,pV;_ٲ&K/@|/,`Q>"b,M_NW;f]d&u;vWM?nGv<2x Oіco mZ Sל?p. [?̹:0ν?y;ϛ{+?|?yךhܯ/p)MtNym'K l᧌{<\JlWVBu8Cr)/p)]m'萏}ȝX.%T:.%TͷĊ+U{+wbPחxPپQ'V 5`:tӡ˥ʾ\å*JPV *r* b 5mi:{<]]Ju<\J-XIIy2/ִK }}K }E:p)/p)J XM˥ʾ\å>{J|BՕX.%T:.%T;˙+\Ju<\JÜrɩ+\J˕X.%T`TBՕX.%TJ,*t\r*J,*r%K }\.9Pu%K }}˥>0J˥ʾ\RBe_KN%T]RBe__r)%r)/WbP+ɔTBՕXiyw)'.)|#N%T]wnTBWH,Db%Nz+GO{a0zrX˒C2:MO *Ť})'k$YI'ʪjlX5'Y[Ⱥ:R6Hj PbPR L˖ |I5@~A s &xՙTdg!j7ٽ$x'0IEhg[}cVs/HkwjL*9X?Cc\Z` O,_&r+Gruj s;AIɉbbƒ%<|Tt}^gXj^&` OE'U[9O Qi˾́UR=$rVkX}K#MZCnX `L#|H[BGdFŶUC1%VOUIuܮ]kP+e#{txfLI }X]"O>\,V_YYIfđXl$%Y}\ŔX{#Oq=_J̾VͿbJ`BR+耪ׂ\1'^ȓlyNϐvر#GbTK:( ZXyET'ɫzξV9'/I\ksb=yR-^"VLFR5J헙¾V9'޳'USXObJ,_6j?\'Z'VVQ&'t/ה% Z'VVQ%ULnbeUlR&_k#&TUUž뉕U1I|23#MkXY5$`T>$$*4Aکrf< Uؤ\&2,הkz-+0IL^S!`(U]Iudl)^+ቕUZS맕sJP|Bt7T]Y&5k9XYLW[הo 9XYIХdVb^O%2ȱj uFb! ! XB(Īog9I?FB>z֧?>SO;Lb3&a~7x>J>rՕy]$ݒaGr3=E74y4x^<H5=+5},b}, Xc>Xc>ބ>Xc>Xcb},b},›>Xc>XcMxc>Xc>Xx,b},b}, Xc>Xc>ބ>Xc>Xc`},b},.!ȶZ$"=5W9.KLYF:EV҉,kOuulecA6ml}d%;kUEhg[}39@`Pp}Wҷ}CD}YNr>/gr P\˕FZr!7mrs3?.5k)]iJ5uo^w鹋^zghfz+'Yϟ>q^z-]ݥ\@#slb}ۘhl@ǘ8&3qGM`-f&&cM21DwxD{&Z8DsĶ&64%u<\K[$uR=~˵:0ObT7'zr'kIuLr-bM,[I)/N,גɓX%\U܉ZRu˓X%.*eR[k\r-I,גTy)*uRM^yrr-FI,ג$yJBRo˵'\K+)I5wѹ˵'\KV+QIҵ#ObTG; J%Ur-&I,גyJdRK,גjTr-IeAؤʗX%Հ.s*X*9bgG?]twA@.88PU,?}-O*{RҾޥVt#$BWI=ղO J%p͇VX'*Xl4xJ4 ] '>fV*32ޔcGtsʵGP8VTS ^'$IhCH`*%^A?E>I@J%CH`J AG䒠r=BEWA}O z?#ze@+=*j*[ok)[! Vl!*`rT7mA7@UԿT˗+[_+w,QEJ |YWV)X\`K@IV)  X\UKy4xم*B/W@?vfR(hQVrTGT>փYhb T˗+:P>3O>O4أN -xP+_'to\ҵd2i!$ όI$/uOJY`i! P5|JPJǕTYzmת:-/jK_N9VIClU[2cն_ rvJC2Sj ^7! MOBPVr]HA Ӎen(#RVُi!}^46ueL*=0Vꕙ P#cu-kY(XKoA]E&oBQVrU:AL֕d ZZ/XT4]Vf22| !>j)KﺄfQhXUuZ`%IWE/"lB-B !B,BE/8{N~^ 9Z̿;㵐m;,z:?/Qc_E5 BDd(-1` ,<eg}Fg)a{XA`=1%t=Dр=G1ǃ=XxI+k {:,b:,â:,S"AuXuX5:,uX:,SŞ AuXXVuXa1=,OuX:,M Y' BâSM{XRG>Rx"â `QE{a=,:,a`QŖuX|Fg:,EuX:,L8REA{:,~NuX:,xâ`OAuX 5Px갨XaQuXр=uXa1`QxE?:,>cSuXa1 갨"âa ,E!GB !B`!P5ODӹ)Y\g,:S鲜NuSd%,+DYU'jeMIֱuu#eQ6ᲱML:XAmld;N}d-;i/Y{.Cvկe7&kWCHRβvO}ZD*9X?Lߗ=9Bߕ9ZߖcM9Vߐ㴃ɉ/)tm'gr>'gr>--O\G}H.r_*m#FkN^ܤZ!pI?.>gq]jRt)+W5ǯYW7n2l-t[}םz碌Ewﶻ^uЦ7fȎGj'rt=-'.Ԗ\jko[*n7ֻK۴j\>r#ϐk2&V6Mlfb;hlbohf'8D u&n1qL ,@eT {~*\Ka灕P}zž_ =?]P]"\yY` T]X.TvAu<+ksTԡ=?]P/Oi f@x`xž.Εgy6*P rthx`xž.ΖLX`Fl8BG7:<Uփ*r`P`xž.O,2`"AU(U 2 -,]P5oLo ,P`x PՎ }B@DXx PW~JU *aTԡ en #C@0`x Pz2Zו1JU *aTԡ e$SB@0`x P ./,@OZX`*ZVf53T -,]P-%tI=T -,]P-!1#|s@,`x Pb."> *aTԡ~B9"X!B !LU kPi5WEt^3QwY֕e)Oeg*;`J1XKtlfs.+[PDžPÀ5л(zX.r}@1ᩀu\ ,_Ir+Wki3?:Т ϻ$[ջ:CnQ˪pq!U\rBnI,ϣ X}+խr(~~Y6 X\r$㲢JzyW;v13*.>Q~\J|NNJ^V묊X=k5rόN^:b?. X\U+iW}pYqYJy78+~U:+PY˗KBĸRYrX_z7;KaT5*Њ_V_UU,_.<cNW)J:yNByBv,}IUر#g J| I=_J=1q!*`U{;$JQUYYə,_.\yFϖP T.`u<}+U~Y,*`r Vg zO,ϣ Xz:ESS"\ pY(UtX!),$e/ * 5U藅/'j/+se!v Vʛ:0311{YB(F`r V-=ZIˢ_B%֛N(yWd&%e/ %X!~b\XaLN$/ R,_.PP/e!U^q VKLI^VeP%X$Y]V_X ӋNj־NBu\,*`jsVI0 Hy/9}$}2tW},:.\J%j뽖hX%_j钬G,J'7 =+63-1k8R:.\J=zɛ ge VK7m,ݓ{0闅ViuwᬲUzht'E,JwLvJZ5nܘ~Y`%Aw4,9v+3#k僫nB˒noRU2X(;g֪I&B+ j}^Xm/}oNU)pY`Э^&VXm+u_XM^` .U3]븪8ʥna -$*Zy=j3A?83вQձcG:ӕ^o+T2`򔓺1LE= ϋy/^zGfe|qǺw~^m|$l x,_rkx}B+zGx#V0΍oa5[gK [.:u&g$jτ:)R':ꤒUCraQ'_ uRɪâ0YuRCĎâN*uX|㗈3x,G"&΄oTEaI\ uR â0au|oApA â0auԉ$΄u8,asaâuâuTâN`xâqa:*aQ0E ŷâ΄=aQ3΄:)aᰊu"âuâ΄:,a1~Xâ~Xâΐ~XԙPE?,@?,~nX~XSa~XWa:EuuX~$n"{Xa1~X"nN:aQe ZN:aQEa1~Xb|uԉ:,O?,a1~Xi3N~X,u&aJ?,asa)~Xâΐ~XԙE?,E?,LE?, ׶I~Xǃ~XԙKE~Xâ~X)ﰨ3~XԙgB?,u&ԙP'E?,VN~Xâΐ~XԙPE?,~X ~X:E"ϭ:Cau8,asaJ?,aQhN2â+ڭSXbA?,~X\-)R'B?,lA)R'B?,@?,~XN:aQâE?,+u&I"EP8â΄:,a1^E?,~N?,߂~X:x9E E!ږ:)a1`x:a)~XQ:u&â߂:LEbT$:臅â[J4E!GB !B`!B!X!BX`,seQCsdq]YΔet,e9UVЩNud5EVןe 'kOuu#e!ꏲMtlCds^uld;+kAH#)ײvUЯdO"MG}sOeTO XGrVJ3@p(Gr-[\ߐu9^; /i^NL}^g}Fնr>%r>.cr>"r>(r/WrVz\wuzܠˍZn .bK23~]AWOk׍~H7a3jVmmu>;hon_{~G|?=蓃?\~h=cNS_:Uhw9zSE_>|^yڪM+n֊[*{G>}貇Ÿ!k&7uLllbKۛĞ&3&3qM\`RLh{LrVO^dx`+jZ}X$Xs ,`eVG,`eV7Cz Xهq Xهrg^<VauJVauܕ^`9WOz5<}X]}X]#X,`eV,`eVM0>VauiVauܗ.`9x/<}X*X>C? ,`eV7,`eVWVJ`UupUx`+j]}X]&zVauOVau<6RN^Va`VaRuX)U&] Xه XهJ)7X*;a`eV+ŰKV {~+@t X)շ;~X*;a`eVS `o~iVaBvXe[ ,`Os`5d!iVauΒ 2 FNXهՙB2UV {~+:]'Xe 9N2U'NXه)rrtS Xb'dy%Vf,;#NJ,`/f-5+NZVV {~+:^^/B,`Oc XUX,Ү^X5BiVvxU!V {~+:JލX~X,`O#x`xZ=?}X. BiVau|`X0X,`OCC{Vê`xZ=?}X"j NXهR=UaUU<-vž>O*V Xb',:`aUU<-vž>hU!V {~+O>/X*:X,`O+O:,`- NXه>i8U*X*;a`eV{ɗ BiU;j"] BiYه՞UaVvaUU<-vž>vnBiVaX> *X,`OVa}@U *X*;aj`UU<-v Xه+V1`xZwbU!V ,`eV;ʷd Xb',}XW }@U€iX>JU<-v Xهն?V NX`+F> *aV ,`eV[ɠX% X*;ajK Xb',}Xm!߇> *aV ,YهfC,`OYهզ24V NX`+X> *aV ,`eVɏJU<-v XهՆ2"V NX`+Z_F> *aV ,`eVt`,`xZudl,`OVa Xb',}X)C`0`xZ5X% X*;aju%|a5JU<-v Xهժ21V NX`+ZE&X% X*;aj% Xb',}X(SC`0`xZjy Xb',pVaL}@U€iX>JU<-v Xه[,`OVa }@U€iX>١JU<-v Xه2'V NX`+ZL }@U€iX>JU<-v Xه"W,`ORrD !B`!B,X!B !Bl<̿#2&y#Be7V":W OYLzߙ/Y!Tɪ.Bec1YcGA̖%wY29W +6Y5ȑ#Y(B4Xj,:S b,e9s3_(UQQaB== !P Vde&믲N"+tp3ӕE 2YV6BT,_WadY9INUuT(#ӍFچ+A!3XYc?A5u?:ks2YqTe(G!Xk+Y7Ѳg#PjNVp!Jʚ(H (1\6֟L& ÅB(˗_nX M*̓흦2=9BiOL !P" ?ɊX}/[`2Aul#371V5Z}B *duX_~]}e{NCsufG0BM/p!*5ǘR>Cʎ[v {Lo(&kB ?&{b7H{.A]k-E:--G8E&PôPijNB(rk1YI4VݥvݵWv&ϻDሧdU&XE.BL׉7V~|){ig;죝>:5ɚ %uEܥB(vwc\2V_ȾA|.igr)~dC&+0Z~OR, B! B]5VʁDK zxL2Uoh7 ÅB7MHPfA| rvnIdLMV D*w-Ba5Yi3V~'GhG9RߕxG/ubf  #k&iPVӇ !0X9w[Oz[ -ioʱD'B'dQ%2YaXmE.`5Yb^㵃kr*'+rV{/dX LV}uZqL;ou@!T˗r4V~,Krj/i^NOd\IwB!(5Ynh'g r>/g񜜭z20B,_321V5ճrNȹжr^{dC&+0ZB!T 3*zJ' qH]a)3 /`K1\!"cXG K!LױadeUw>\!Ja|M3& cUzP.B+OS::3 .,kÅBcUW6*{[ >VB! 5jL*cu\wzrEyJ`+p!ˢceXqܬrKvr_,B(Tc0Vvխr"zܦ/x/bcR.LB%`cb,+?nzܮy/ac׏B,_S20V7zܩx`c׏BX1V]A\+wk[5LVX%cB(L%cuD+iOy0Y)cU׏BX1VW˽z2cB25X&e`,+~BqMLV1Y!P5Y+;ryP/RyXoAwy%=}Fܹs!,BDM XY2V~\"hKyTm:;YeMBa da+?."y\iVYd%dF%}Bama, .' @+믿qƐ!J~1& ceX/Oq;['B!JdZz<:ua!J~6& ceX#\5zN[&+!;mzd!0X6Yc,y=S^Q5w&X~d!0X xc0VvNOz52ceS`%d XY2V~*/)U}l~.Daq0VE+T3V~,I>da+ۯ 0X 7Yvj NZuda+ۯ`%X?eb, 7V/*>V_?& !JX1Vʛ\ fKLV1Y! V563 ceX#oN7y]0Ye Bej& ceX%Q+& X~,+d8\V~' }~LB`6& ceXL*PPzU}l~LBh#ʒ:D> |2cecBk1Y+;` Dz D+`%dXY2Vʧz|ĕ^<ʼ׏BadaZσSV'Q_jz5%)ÅBaЈH}{cWPO:q]Yo|#P}l~LB~̌gW0VE}${KgKK~eW5 WCvv5G9OzpaB,5<3Z:``h"]tOJ[zIZjo BX~,+%{obB+?tӋ$Pd )֠& !JTYMUZUcn^ &ir: `}XIGvj]GHO=Di4it+ۻY,4'I%F,h@r W}&\paB2U&IzmzCITUUwpaB,魍X }n/}lo8I`p5nܸlpaB,e&h)ʏn+,Gec.LBj`f}Jc62@z\yU}5js`#0Xn L1V[ɠ ڼHp>\B! *H3Zj >eh4;YI}BaPQꗙW{3V y*ëKm/G! D}3S j h/Y4R..Dazk6uC+i܇ B,d]faN@F2Jדڬ26\ @*>\d!0X(VLXjcǺ2FבzH dpjUDuZd!0Xdꕙ<Ҧʏ']KiƓ8)SpQ`DoA՚2>5g=@JU>\|]`ĩ{oz|QVK=T.,G@`!BUYzBUe"د4 դIF, 9տM~X,u%ľUƪ^p 2vB,TT֣LlZQ ./t3YP*WA;BUsS 2V~,'uY{7"7J|]`!dԹO=zL]Z~=BT_u!BUzprdVKG?X,T^hҤ>\d!0X,ԩ/ݿ2;e6n';YAza(`rէUO]L=ŢE;BZTKZc!Pjٲ%`!BaB!0X!BB!B!`!B! B! !BB!B!B,!`~rO7q~D}|k0BM0oE5d~b~ГO$^;چև>go`u+E0?3 I5X5M`".o`s3IDEIX V!9['&3s!x?G V[l|]ߟZcd<okvO,g~ (U -3'`S)nd򝿔_Dq#o{|jm?>̟&E%pׅ?k)cB%+d V)&b~r`Gdߐ _N}(f~O"4߆>Fg|1Q"Ώ"DϏPe~1MiP ax 1X }4>&(^a<]E?槏b }4>&Qb<}4XdT,h0?}L7Xabl)H5Ǥ6 Qb<},`ǏG<Ǥ>UIx'e,`a:}>,h0JGXH?OqEh0?}L iP xƧV봘?>̟>&Qb<}B`k"g(On }4?}}L 1kwy,HmIcx3>E.,A${^g~@pO406 BOqh0?}L0X`ae`GcRk3޵>Xc~(6`GcB%+NEAOǤ~E&ƻ:>>~̟>]3?}Lk@%r }?}}3?}L3XŜg|RƄ >\@>qxmmx4e飈b~ ,K_Ǐ󧴏 }O,5cQǤ6 g|`N?k)cB%+d V)&b~r`Gdߐ _N}(f~O"4߆>Fg|1Q"Ώ"DϏPe~1MiP ax 1X }4>&(^a<]E?槏b }4>&Qb<}4XdT,h0?}L7Xabl)H5Ǥ6 Qb<},`ǏG<Ǥ>UIx'e,`a:}>,h0JGXH?OqEh0?}L iP xƧV봘?>̟>&Qb<}B`k"g(On }4?}}L 1kwy,HmIcx3>E.,A${^g~@pO406 BOqh0?}L0X`ae`GcRk3޵>Xc~(6`GcB%+NEAOǤ~E&ƻ:>>~̟>]3?}Lk@%r }?}}3?}L3XŜg|RƄ >\@>qxmmx4e飈b~ ,K_Ǐ󧴏 }O,5cQǤ6 g|`N?k)cB%+d V)&b~r`Gdߐ _N}(f~O"4߆>Fg|1Q"Ώ"DϏPe~1MiP ax 1X }4>&(^a<]E?槏b }4>&Qb<}4XdT,h0?}L7Xabl)H5Ǥ6 Qb<},`ǏG<Ǥ>UIx'e,`a:}>,h0JGXH?OqEh0?}L iP xƧV봘?>̟>&Qb<}B`k"g(PB!B!`!BaB! !BB!B!B,B! B! !B6X":A%\Y4?e1Csd f,,YJu, YVrALWYAʊALt$YE'ʪ:AV Y]5/k8YK+Y7ѲulP.0$ Cʎ[v H#)Cvկe Kc&kW#dO"MRβwG;_ȾA|.igr~*'rPUr~,MHPfA| rxQw ޑm9&)r\AN59Q_99}IN E9MA39SxNg siim I 'B}\. \r>$ryz\}r+Wki=r-q\wzrMn % '$y.buߗԥf-\F ҔtIWY]ںuuQ#7Ѝ~H7nf[VҭnV﻽gݩNFK]twݻ{~^Of:y}r6!ڬzd#wo5c1Qm.&a>&dba&Fcb_LL21 L11ׄesUsUsQUs!UsTsTsqTsATsTsSsSsaSs!SsRsRsqRsARsRsQsQsaQs1QsPsPsPsAPsP~5Ww50Wp5Vi5`Va5U[5UT՛L\oWDK89&4qLoLf߄gMjbg;V&67 Mkb-XĊ&5M,<-XX*V`0V걋/zP=AkÝX`VVk6X3|`XUUۿ.Ke bdV`UVmՈ Xsa\^X`VVs e`VUq4eV``5 *_V`UVǕz+ʀ\+XUXWOSX`V X`V`/+s;w jX, j~XU8gu ,9a5 *_V`UVg7Xպ\+XUXsfܸ<+Z X`V`/+3iV= VVs e`V`uz<|WnY+ZIX, j~XUiq4X`VVs e`V`uj6|kn_=+ZM X`V`/+qN;VX`VVs e`V`ur9͊ j5j.`XUUۿNX`VV`UVm :1f j`5 *_V7FTU qmo~`X-#XUX~?/V`5q|+ZfX, j~XUqz0@ *j.`XUUۿ96J? X`V`/X`V`uL<+N`V`/X`V`5ζye V`Xke / :XUUۿl`XUb*@ XUXU`2&;+V`UVm+-M?+V`UVmV`UVlߥX`u++H?+V`UVmV`UVl?X`u++Mi+N`V`/X`V`q R!,:&8+VLIBN":Eg/Fޕ,,z(0.H*XL%l T)g ,rm璖—['+(˳:ׂt2CWc/X 0 ) & B0 :+&RC(}#2e6ٌH$ࠠI[U-> K҈ɩMa Zgِ" 7VmAףq\[aXVdYYeDD@@0 dJBKPR gS`A,@^M*9Fhe yl}2ߐ4tWn@sP@)>ISKk &)n0Q*cC 4 ?Ėmth j9e-PmIHkB" )'/ C6T01[ l3&! "5Z 5Fk%x te&6l-n \򳃞̤ J$#Vk2J;I2\`,b˫\̔L&s_ 4q: l0K'/O kG,ftm7QuLH S#(!Kh0e 1j$h٥EIH U.`U׌-a@0i)ɢT4ADUI[A/CT)@ _= @))@Q$$ m,2儴)ng-3%g YHBHC )%TkaFT5)`V;1O:IGRUAFdJ@@ D"q4" M/H^0"D!" C Y" THdC@