diff options
Diffstat (limited to 'examples')
105 files changed, 287 insertions, 326 deletions
diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 0aab3c82f9..6fbb0b7cc1 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -56,8 +56,18 @@ <version>${project.version}</version> </dependency> <dependency> - <groupId>org.eclipse.jetty.spdy</groupId> - <artifactId>spdy-http-server</artifactId> + <groupId>org.eclipse.jetty.http2</groupId> + <artifactId>http2-server</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty.alpn</groupId> + <artifactId>alpn-api</artifactId> + <version>${alpn.api.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-alpn-server</artifactId> <version>${project.version}</version> </dependency> <dependency> diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/Http2Server.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/Http2Server.java new file mode 100644 index 0000000000..d83c76f11e --- /dev/null +++ b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/Http2Server.java @@ -0,0 +1,174 @@ +// +// ======================================================================== +// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + + +package org.eclipse.jetty.embedded; + +import java.io.IOException; +import java.util.Date; +import java.util.EnumSet; + +import javax.servlet.DispatcherType; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.Servlet; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.eclipse.jetty.alpn.ALPN; +import org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory; +import org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory; +import org.eclipse.jetty.server.HttpConfiguration; +import org.eclipse.jetty.server.HttpConnectionFactory; +import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; +import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.SecureRequestCustomizer; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.ServerConnector; +import org.eclipse.jetty.server.SslConnectionFactory; +import org.eclipse.jetty.servlet.DefaultServlet; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.servlets.PushSessionCacheFilter; +import org.eclipse.jetty.util.ssl.SslContextFactory; + + +/* ------------------------------------------------------------ */ +/** + */ +public class Http2Server +{ + public static void main(String... args) throws Exception + { + Server server = new Server(); + + ServletContextHandler context = new ServletContextHandler(server, "/",ServletContextHandler.SESSIONS); + context.setResourceBase("src/main/resources/docroot"); + context.addFilter(PushSessionCacheFilter.class,"/*",EnumSet.of(DispatcherType.REQUEST)); + context.addFilter(PushedTilesFilter.class,"/*",EnumSet.of(DispatcherType.REQUEST)); + context.addServlet(new ServletHolder(servlet), "/test/*"); + context.addServlet(DefaultServlet.class, "/").setInitParameter("maxCacheSize","81920"); + server.setHandler(context); + + // HTTP Configuration + HttpConfiguration http_config = new HttpConfiguration(); + http_config.setSecureScheme("https"); + http_config.setSecurePort(8443); + http_config.setSendXPoweredBy(true); + http_config.setSendServerVersion(true); + + // HTTP connector + ServerConnector http = new ServerConnector(server,new HttpConnectionFactory(http_config)); + http.setPort(8080); + server.addConnector(http); + + // SSL Context Factory for HTTPS and SPDY + String jetty_distro = System.getProperty("jetty.distro","../../jetty-distribution/target/distribution"); + SslContextFactory sslContextFactory = new SslContextFactory(); + sslContextFactory.setKeyStorePath(jetty_distro + "/etc/keystore"); + sslContextFactory.setKeyStorePassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"); + sslContextFactory.setKeyManagerPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g"); + + // HTTPS Configuration + HttpConfiguration https_config = new HttpConfiguration(http_config); + https_config.addCustomizer(new SecureRequestCustomizer()); + + // HTTP2 factory + HTTP2ServerConnectionFactory h2 = new HTTP2ServerConnectionFactory(https_config); + + NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); + ALPNServerConnectionFactory alpn = new ALPNServerConnectionFactory(); + alpn.setDefaultProtocol(http.getDefaultProtocol()); + + // SSL Factory + SslConnectionFactory ssl = new SslConnectionFactory(sslContextFactory,alpn.getProtocol()); + + // HTTP2 Connector + ServerConnector http2Connector = + new ServerConnector(server,ssl,alpn,h2,new HttpConnectionFactory(https_config)); + http2Connector.setPort(8443); + server.addConnector(http2Connector); + + ALPN.debug=false; + + server.start(); + server.dumpStdErr(); + server.join(); + } + + public static class PushedTilesFilter implements Filter + { + @Override + public void init(FilterConfig filterConfig) throws ServletException + { + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException + { + Request baseRequest = Request.getBaseRequest(request); + + if (baseRequest.isPush() && baseRequest.getRequestURI().contains("tiles") ) + { + String uri = baseRequest.getRequestURI().replace("tiles","pushed").substring(baseRequest.getContextPath().length()); + request.getRequestDispatcher(uri).forward(request,response); + return; + } + + chain.doFilter(request,response); + } + + @Override + public void destroy() + { + } + }; + + static Servlet servlet = new HttpServlet() + { + private static final long serialVersionUID = 1L; + + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException + { + String code=request.getParameter("code"); + if (code!=null) + response.setStatus(Integer.parseInt(code)); + + HttpSession session = request.getSession(true); + if (session.isNew()) + response.addCookie(new Cookie("bigcookie", + "This is a test cookies that was created on "+new Date()+" and is used by the jetty http/2 test servlet.")); + response.setHeader("Custom","Value"); + response.setContentType("text/plain"); + String content = "Hello from Jetty using "+request.getProtocol() +"\n"; + content+="uri="+request.getRequestURI()+"\n"; + content+="session="+session.getId()+(session.isNew()?"(New)\n":"\n"); + content+="date="+new Date()+"\n"; + response.setContentLength(content.length()); + response.getOutputStream().print(content); + } + }; +} diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyConnector.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyConnector.java deleted file mode 100644 index f35957b978..0000000000 --- a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyConnector.java +++ /dev/null @@ -1,114 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.embedded; - -import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; -import java.io.File; -import java.io.FileNotFoundException; - -import org.eclipse.jetty.server.HttpConfiguration; -import org.eclipse.jetty.server.HttpConnectionFactory; -import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; -import org.eclipse.jetty.server.SecureRequestCustomizer; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.server.SslConnectionFactory; -import org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory; -import org.eclipse.jetty.spdy.server.http.ReferrerPushStrategy; -import org.eclipse.jetty.util.ssl.SslContextFactory; - -/** - * A Jetty server with HTTP and SPDY connectors. - */ -public class SpdyConnector -{ - public static void main(String[] args) throws Exception - { - // Path to as-built jetty-distribution directory - String jettyHomeBuild = "../../jetty-distribution/target/distribution"; - - // Find jetty home directories - String homePath = System.getProperty("jetty.home", jettyHomeBuild); - File homeDir = new File(homePath); - if (!homeDir.exists()) - { - throw new FileNotFoundException(homeDir.getAbsolutePath()); - } - String jetty_home = homeDir.getAbsolutePath(); - System.setProperty("jetty.home", jetty_home); - - // The Server - Server server = new Server(); - - // HTTP Configuration - HttpConfiguration http_config = new HttpConfiguration(); - http_config.setSecureScheme("https"); - http_config.setSecurePort(8443); - - // HTTP connector - ServerConnector http = new ServerConnector(server, - new HttpConnectionFactory(http_config)); - http.setPort(8080); - server.addConnector(http); - - // SSL Context Factory for HTTPS and SPDY - SslContextFactory sslContextFactory = new SslContextFactory(); - sslContextFactory.setKeyStorePath(jetty_home + "/etc/keystore"); - sslContextFactory.setKeyStorePassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"); - sslContextFactory.setKeyManagerPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g"); - - // HTTPS Configuration - HttpConfiguration https_config = new HttpConfiguration(http_config); - https_config.addCustomizer(new SecureRequestCustomizer()); - - // SPDY versions - HTTPSPDYServerConnectionFactory spdy2 = - new HTTPSPDYServerConnectionFactory(2, https_config); - - HTTPSPDYServerConnectionFactory spdy3 = - new HTTPSPDYServerConnectionFactory(3, https_config, - new ReferrerPushStrategy()); - - // NPN Factory - NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); - NPNServerConnectionFactory npn = new NPNServerConnectionFactory( - spdy3.getProtocol(), - spdy2.getProtocol(), - http.getDefaultProtocol()); - npn.setDefaultProtocol(http.getDefaultProtocol()); - - // SSL Factory - SslConnectionFactory ssl = new SslConnectionFactory( - sslContextFactory, npn.getProtocol()); - - // SPDY Connector - ServerConnector spdyConnector = new ServerConnector(server, ssl, - npn, spdy3, spdy2, - new HttpConnectionFactory(https_config)); - spdyConnector.setPort(8443); - server.addConnector(spdyConnector); - - // Set a handler - server.setHandler(new HelloHandler()); - - // Start the server - server.start(); - server.join(); - } -} diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyServer.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyServer.java deleted file mode 100644 index 60f2f8d461..0000000000 --- a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyServer.java +++ /dev/null @@ -1,210 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.embedded; - -import java.io.File; -import java.io.FileNotFoundException; -import java.lang.management.ManagementFactory; - -import org.eclipse.jetty.deploy.DeploymentManager; -import org.eclipse.jetty.deploy.providers.WebAppProvider; -import org.eclipse.jetty.jmx.MBeanContainer; -import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; -import org.eclipse.jetty.security.HashLoginService; -import org.eclipse.jetty.server.AsyncNCSARequestLog; -import org.eclipse.jetty.server.ForwardedRequestCustomizer; -import org.eclipse.jetty.server.Handler; -import org.eclipse.jetty.server.HttpConfiguration; -import org.eclipse.jetty.server.HttpConnectionFactory; -import org.eclipse.jetty.server.NCSARequestLog; -import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; -import org.eclipse.jetty.server.SecureRequestCustomizer; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.server.SslConnectionFactory; -import org.eclipse.jetty.server.handler.ContextHandlerCollection; -import org.eclipse.jetty.server.handler.DefaultHandler; -import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.server.handler.RequestLogHandler; -import org.eclipse.jetty.server.handler.StatisticsHandler; -import org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory; -import org.eclipse.jetty.spdy.server.http.PushStrategy; -import org.eclipse.jetty.spdy.server.http.ReferrerPushStrategy; -import org.eclipse.jetty.util.ssl.SslContextFactory; -import org.eclipse.jetty.util.thread.QueuedThreadPool; - -public class SpdyServer -{ - public static void main( String[] args ) throws Exception - { - // Path to as-built jetty-distribution directory - String jettyHomeBuild = "../../jetty-distribution/target/distribution"; - - // Find jetty home directories - String homePath = System.getProperty("jetty.home", jettyHomeBuild); - File homeDir = new File(homePath); - if (!homeDir.exists()) - { - throw new FileNotFoundException(homeDir.getAbsolutePath()); - } - String jetty_home = homeDir.getAbsolutePath(); - System.setProperty("jetty.home", jetty_home); - - // Setup Threadpool - QueuedThreadPool threadPool = new QueuedThreadPool(512); - - // Setup Jetty Server instance - Server server = new Server(threadPool); - server.manage(threadPool); - server.setDumpAfterStart(false); - server.setDumpBeforeStop(false); - - // Setup JMX - MBeanContainer mbContainer = new MBeanContainer( - ManagementFactory.getPlatformMBeanServer()); - server.addBean(mbContainer); - - // Common HTTP configuration - HttpConfiguration config = new HttpConfiguration(); - config.setSecurePort(8443); - config.addCustomizer(new ForwardedRequestCustomizer()); - config.addCustomizer(new SecureRequestCustomizer()); - config.setSendServerVersion(true); - - // Http Connector Setup - - // A plain HTTP connector listening on port 8080. Note that it's also - // possible to have port 8080 configured as a non SSL SPDY connector. - // But the specification and most browsers do not allow to use SPDY - // without SSL encryption. However some browsers allow it to be - // configured. - HttpConnectionFactory http = new HttpConnectionFactory(config); - ServerConnector httpConnector = new ServerConnector(server, http); - httpConnector.setPort(8080); - httpConnector.setIdleTimeout(10000); - server.addConnector(httpConnector); - - // SSL configurations - - // We need a SSLContextFactory for the SSL encryption. That - // SSLContextFactory will be used by the SPDY - // connector. - SslContextFactory sslContextFactory = new SslContextFactory(); - sslContextFactory.setKeyStorePath(jetty_home + "/etc/keystore"); - sslContextFactory.setKeyStorePassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"); - sslContextFactory.setKeyManagerPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g"); - sslContextFactory.setTrustStorePath(jetty_home + "/etc/keystore"); - sslContextFactory.setTrustStorePassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"); - sslContextFactory.setExcludeCipherSuites( - "SSL_RSA_WITH_DES_CBC_SHA", - "SSL_DHE_RSA_WITH_DES_CBC_SHA", - "SSL_DHE_DSS_WITH_DES_CBC_SHA", - "SSL_RSA_EXPORT_WITH_RC4_40_MD5", - "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", - "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", - "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"); - - // Spdy Connector - - // Make sure that the required NPN implementations are available. - NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); - - // A ReferrerPushStrategy is being initialized. - // See: - // http://www.eclipse.org/jetty/documentation/current/spdy-configuring-push.html - // for more details. - PushStrategy push = new ReferrerPushStrategy(); - HTTPSPDYServerConnectionFactory spdy2 = - new HTTPSPDYServerConnectionFactory(2, config, push); - spdy2.setInputBufferSize(8192); - spdy2.setInitialWindowSize(32768); - - // We need a connection factory per protocol that our server is supposed - // to support on the NPN port. We then - // create a ServerConnector and pass in the supported factories. NPN - // will then be used to negotiate the - // protocol with the client. - HTTPSPDYServerConnectionFactory spdy3 = - new HTTPSPDYServerConnectionFactory(3, config, push); - spdy3.setInputBufferSize(8192); - - NPNServerConnectionFactory npn = new NPNServerConnectionFactory( - spdy3.getProtocol(), spdy2.getProtocol(), http.getProtocol()); - npn.setDefaultProtocol(http.getProtocol()); - npn.setInputBufferSize(1024); - - SslConnectionFactory ssl = new SslConnectionFactory(sslContextFactory, - npn.getProtocol()); - - // Setup the npn connector on port 8443 - ServerConnector spdyConnector = new ServerConnector(server, ssl, - npn, spdy3, spdy2, http); - spdyConnector.setPort(8443); - - server.addConnector(spdyConnector); - - // The following section adds some handlers, deployers and webapp - // providers. See - // http://www.eclipse.org/jetty/documentation/current/advanced-embedding.html - // for details. - - // Setup handlers - HandlerCollection handlers = new HandlerCollection(); - ContextHandlerCollection contexts = new ContextHandlerCollection(); - RequestLogHandler requestLogHandler = new RequestLogHandler(); - - handlers.setHandlers(new Handler[] { contexts, new DefaultHandler(), - requestLogHandler }); - - StatisticsHandler stats = new StatisticsHandler(); - stats.setHandler(handlers); - - server.setHandler(stats); - - // Setup deployers - DeploymentManager deployer = new DeploymentManager(); - deployer.setContexts(contexts); - server.addBean(deployer); - - WebAppProvider webapp_provider = new WebAppProvider(); - webapp_provider.setMonitoredDirName(jetty_home + "/webapps"); - webapp_provider.setParentLoaderPriority(false); - webapp_provider.setExtractWars(true); - webapp_provider.setScanInterval(2); - webapp_provider.setDefaultsDescriptor(jetty_home - + "/etc/webdefault.xml"); - deployer.addAppProvider(webapp_provider); - - HashLoginService login = new HashLoginService(); - login.setName("Test Realm"); - login.setConfig(jetty_home + "/etc/realm.properties"); - server.addBean(login); - - NCSARequestLog requestLog = new AsyncNCSARequestLog(); - requestLog.setFilename(jetty_home + "/logs/jetty-yyyy_mm_dd.log"); - requestLog.setExtended(false); - requestLogHandler.setRequestLog(requestLog); - - server.setStopAtShutdown(true); - - server.start(); - server.dumpStdErr(); - server.join(); - } -} diff --git a/examples/embedded/src/main/resources/docroot/push.html b/examples/embedded/src/main/resources/docroot/push.html new file mode 100644 index 0000000000..9c3c817ea8 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/push.html @@ -0,0 +1,101 @@ + +<!DOCTYPE html> +<html lang="en-US"> +<head> +<style> +img { + width: 80px; + height: 80px; + border: 0px; +} + +td { + width: 80px; + height: 80px; +} + +tr { + height: 80px; +} + +table { + border-collapse: collapse; +} + +table, th, td { + border: 0px solid black; + margin: 0px; + padding: 0px; +} + +</style> + +<body> +<div id="pushtiles"> +<table> +<tbody> +<tr> +<td><img src="tiles/tile00.jpg" alt="" /></td> +<td><img src="tiles/tile01.jpg" alt="" /></td> +<td><img src="tiles/tile02.jpg" alt="" /></td> +<td><img src="tiles/tile03.jpg" alt="" /></td> +<td><img src="tiles/tile04.jpg" alt="" /></td> +<td><img src="tiles/tile05.jpg" alt="" /></td> +<td><img src="tiles/tile06.jpg" alt="" /></td> +<td><img src="tiles/tile07.jpg" alt="" /></td> +<td><img src="tiles/tile08.jpg" alt="" /></td> +<td><img src="tiles/tile09.jpg" alt="" /></td> +</tr> +<tr> +<td><img src="tiles/tile10.jpg" alt="" /></td> +<td><img src="tiles/tile11.jpg" alt="" /></td> +<td><img src="tiles/tile12.jpg" alt="" /></td> +<td><img src="tiles/tile13.jpg" alt="" /></td> +<td><img src="tiles/tile14.jpg" alt="" /></td> +<td><img src="tiles/tile15.jpg" alt="" /></td> +<td><img src="tiles/tile16.jpg" alt="" /></td> +<td><img src="tiles/tile17.jpg" alt="" /></td> +<td><img src="tiles/tile18.jpg" alt="" /></td> +<td><img src="tiles/tile19.jpg" alt="" /></td> +</tr> +<tr> +<td><img src="tiles/tile20.jpg" alt="" /></td> +<td><img src="tiles/tile21.jpg" alt="" /></td> +<td><img src="tiles/tile22.jpg" alt="" /></td> +<td><img src="tiles/tile23.jpg" alt="" /></td> +<td><img src="tiles/tile24.jpg" alt="" /></td> +<td><img src="tiles/tile25.jpg" alt="" /></td> +<td><img src="tiles/tile26.jpg" alt="" /></td> +<td><img src="tiles/tile27.jpg" alt="" /></td> +<td><img src="tiles/tile28.jpg" alt="" /></td> +<td><img src="tiles/tile29.jpg" alt="" /></td> +</tr> +<tr> +<td><img src="tiles/tile30.jpg" alt="" /></td> +<td><img src="tiles/tile31.jpg" alt="" /></td> +<td><img src="tiles/tile32.jpg" alt="" /></td> +<td><img src="tiles/tile33.jpg" alt="" /></td> +<td><img src="tiles/tile34.jpg" alt="" /></td> +<td><img src="tiles/tile35.jpg" alt="" /></td> +<td><img src="tiles/tile36.jpg" alt="" /></td> +<td><img src="tiles/tile37.jpg" alt="" /></td> +<td><img src="tiles/tile38.jpg" alt="" /></td> +<td><img src="tiles/tile39.jpg" alt="" /></td> +</tr> +<tr> +<td><img src="tiles/tile40.jpg" alt="" /></td> +<td><img src="tiles/tile41.jpg" alt="" /></td> +<td><img src="tiles/tile42.jpg" alt="" /></td> +<td><img src="tiles/tile43.jpg" alt="" /></td> +<td><img src="tiles/tile44.jpg" alt="" /></td> +<td><img src="tiles/tile45.jpg" alt="" /></td> +<td><img src="tiles/tile46.jpg" alt="" /></td> +<td><img src="tiles/tile47.jpg" alt="" /></td> +<td><img src="tiles/tile48.jpg" alt="" /></td> +<td><img src="tiles/tile49.jpg" alt="" /></td> +</tr> +</tbody> +</table> +</div> +</body> +</html> diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile00.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile00.jpg Binary files differnew file mode 100644 index 0000000000..dc303075c6 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile00.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile01.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile01.jpg Binary files differnew file mode 100644 index 0000000000..66c2e25253 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile01.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile02.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile02.jpg Binary files differnew file mode 100644 index 0000000000..f281dfd3f6 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile02.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile03.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile03.jpg Binary files differnew file mode 100644 index 0000000000..4787e69e90 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile03.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile04.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile04.jpg Binary files differnew file mode 100644 index 0000000000..64e6d1026c --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile04.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile05.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile05.jpg Binary files differnew file mode 100644 index 0000000000..1530c7687b --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile05.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile06.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile06.jpg Binary files differnew file mode 100644 index 0000000000..cd59c5f7ee --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile06.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile07.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile07.jpg Binary files differnew file mode 100644 index 0000000000..7f852875de --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile07.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile08.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile08.jpg Binary files differnew file mode 100644 index 0000000000..31ebcb0db8 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile08.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile09.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile09.jpg Binary files differnew file mode 100644 index 0000000000..b9cfb1a487 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile09.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile10.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile10.jpg Binary files differnew file mode 100644 index 0000000000..11c6faeb2e --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile10.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile11.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile11.jpg Binary files differnew file mode 100644 index 0000000000..fee6760310 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile11.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile12.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile12.jpg Binary files differnew file mode 100644 index 0000000000..a5032464e2 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile12.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile13.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile13.jpg Binary files differnew file mode 100644 index 0000000000..4227207ddb --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile13.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile14.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile14.jpg Binary files differnew file mode 100644 index 0000000000..6071c0ffbf --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile14.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile15.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile15.jpg Binary files differnew file mode 100644 index 0000000000..64a0bf99b8 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile15.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile16.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile16.jpg Binary files differnew file mode 100644 index 0000000000..f5995168c2 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile16.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile17.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile17.jpg Binary files differnew file mode 100644 index 0000000000..b4183b3ea8 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile17.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile18.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile18.jpg Binary files differnew file mode 100644 index 0000000000..5a568e2801 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile18.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile19.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile19.jpg Binary files differnew file mode 100644 index 0000000000..126c3c6404 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile19.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile20.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile20.jpg Binary files differnew file mode 100644 index 0000000000..5423ac1811 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile20.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile21.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile21.jpg Binary files differnew file mode 100644 index 0000000000..0b6edb0d77 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile21.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile22.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile22.jpg Binary files differnew file mode 100644 index 0000000000..f788a4849a --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile22.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile23.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile23.jpg Binary files differnew file mode 100644 index 0000000000..1fbc64d0ba --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile23.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile24.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile24.jpg Binary files differnew file mode 100644 index 0000000000..f565b8fff2 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile24.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile25.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile25.jpg Binary files differnew file mode 100644 index 0000000000..18a4d0697c --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile25.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile26.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile26.jpg Binary files differnew file mode 100644 index 0000000000..dde86ecf64 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile26.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile27.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile27.jpg Binary files differnew file mode 100644 index 0000000000..eaf0ce8a76 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile27.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile28.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile28.jpg Binary files differnew file mode 100644 index 0000000000..7e596304f3 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile28.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile29.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile29.jpg Binary files differnew file mode 100644 index 0000000000..1eb25b7dce --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile29.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile30.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile30.jpg Binary files differnew file mode 100644 index 0000000000..ea68292a07 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile30.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile31.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile31.jpg Binary files differnew file mode 100644 index 0000000000..31455ca321 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile31.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile32.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile32.jpg Binary files differnew file mode 100644 index 0000000000..f6a2a2947d --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile32.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile33.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile33.jpg Binary files differnew file mode 100644 index 0000000000..8362cf44a5 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile33.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile34.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile34.jpg Binary files differnew file mode 100644 index 0000000000..2b856a0dc7 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile34.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile35.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile35.jpg Binary files differnew file mode 100644 index 0000000000..4e59e21a91 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile35.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile36.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile36.jpg Binary files differnew file mode 100644 index 0000000000..7df53fdd73 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile36.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile37.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile37.jpg Binary files differnew file mode 100644 index 0000000000..31844113b9 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile37.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile38.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile38.jpg Binary files differnew file mode 100644 index 0000000000..52b44b8c98 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile38.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile39.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile39.jpg Binary files differnew file mode 100644 index 0000000000..2f7a636b4a --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile39.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile40.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile40.jpg Binary files differnew file mode 100644 index 0000000000..61cfdfacb0 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile40.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile41.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile41.jpg Binary files differnew file mode 100644 index 0000000000..d25a4e4db4 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile41.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile42.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile42.jpg Binary files differnew file mode 100644 index 0000000000..029e0f6731 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile42.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile43.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile43.jpg Binary files differnew file mode 100644 index 0000000000..5ea4f5582d --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile43.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile44.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile44.jpg Binary files differnew file mode 100644 index 0000000000..ba18b30f5a --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile44.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile45.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile45.jpg Binary files differnew file mode 100644 index 0000000000..b856d66a3f --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile45.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile46.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile46.jpg Binary files differnew file mode 100644 index 0000000000..f474cc2f9f --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile46.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile47.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile47.jpg Binary files differnew file mode 100644 index 0000000000..6b2f58e2ca --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile47.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile48.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile48.jpg Binary files differnew file mode 100644 index 0000000000..e5d1426542 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile48.jpg diff --git a/examples/embedded/src/main/resources/docroot/pushed/tile49.jpg b/examples/embedded/src/main/resources/docroot/pushed/tile49.jpg Binary files differnew file mode 100644 index 0000000000..6a33cf3725 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/pushed/tile49.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile00.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile00.jpg Binary files differnew file mode 100644 index 0000000000..b2e52fbb8b --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile00.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile01.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile01.jpg Binary files differnew file mode 100644 index 0000000000..4d98637b23 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile01.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile02.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile02.jpg Binary files differnew file mode 100644 index 0000000000..06b289b5a4 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile02.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile03.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile03.jpg Binary files differnew file mode 100644 index 0000000000..fcb7b194af --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile03.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile04.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile04.jpg Binary files differnew file mode 100644 index 0000000000..0cc4933277 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile04.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile05.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile05.jpg Binary files differnew file mode 100644 index 0000000000..6a6d66fb41 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile05.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile06.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile06.jpg Binary files differnew file mode 100644 index 0000000000..89ddd6406e --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile06.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile07.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile07.jpg Binary files differnew file mode 100644 index 0000000000..967931796e --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile07.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile08.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile08.jpg Binary files differnew file mode 100644 index 0000000000..aa895c4969 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile08.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile09.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile09.jpg Binary files differnew file mode 100644 index 0000000000..9c234cacf3 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile09.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile10.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile10.jpg Binary files differnew file mode 100644 index 0000000000..8bc306c463 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile10.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile11.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile11.jpg Binary files differnew file mode 100644 index 0000000000..85b62b6b70 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile11.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile12.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile12.jpg Binary files differnew file mode 100644 index 0000000000..448faa2533 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile12.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile13.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile13.jpg Binary files differnew file mode 100644 index 0000000000..4f4f9012e0 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile13.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile14.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile14.jpg Binary files differnew file mode 100644 index 0000000000..e03120b27c --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile14.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile15.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile15.jpg Binary files differnew file mode 100644 index 0000000000..64bc2383dc --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile15.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile16.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile16.jpg Binary files differnew file mode 100644 index 0000000000..5e858b9ecd --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile16.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile17.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile17.jpg Binary files differnew file mode 100644 index 0000000000..2da3aa8ef0 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile17.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile18.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile18.jpg Binary files differnew file mode 100644 index 0000000000..e934ce5ec1 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile18.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile19.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile19.jpg Binary files differnew file mode 100644 index 0000000000..15707bc73e --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile19.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile20.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile20.jpg Binary files differnew file mode 100644 index 0000000000..4b940f13d4 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile20.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile21.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile21.jpg Binary files differnew file mode 100644 index 0000000000..b340585ab0 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile21.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile22.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile22.jpg Binary files differnew file mode 100644 index 0000000000..39b08249da --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile22.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile23.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile23.jpg Binary files differnew file mode 100644 index 0000000000..42adae167e --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile23.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile24.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile24.jpg Binary files differnew file mode 100644 index 0000000000..a8281ddb53 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile24.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile25.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile25.jpg Binary files differnew file mode 100644 index 0000000000..43692f0795 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile25.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile26.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile26.jpg Binary files differnew file mode 100644 index 0000000000..f8de0f7f36 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile26.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile27.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile27.jpg Binary files differnew file mode 100644 index 0000000000..f6c210ac9d --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile27.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile28.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile28.jpg Binary files differnew file mode 100644 index 0000000000..39f262204c --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile28.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile29.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile29.jpg Binary files differnew file mode 100644 index 0000000000..952ce0bf67 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile29.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile30.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile30.jpg Binary files differnew file mode 100644 index 0000000000..e699a53cd4 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile30.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile31.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile31.jpg Binary files differnew file mode 100644 index 0000000000..d6256fe653 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile31.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile32.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile32.jpg Binary files differnew file mode 100644 index 0000000000..fde5e8b9b3 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile32.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile33.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile33.jpg Binary files differnew file mode 100644 index 0000000000..2ba66aa343 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile33.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile34.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile34.jpg Binary files differnew file mode 100644 index 0000000000..37e24f05c2 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile34.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile35.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile35.jpg Binary files differnew file mode 100644 index 0000000000..b147697ed6 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile35.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile36.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile36.jpg Binary files differnew file mode 100644 index 0000000000..6501650b18 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile36.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile37.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile37.jpg Binary files differnew file mode 100644 index 0000000000..e2d40eeb9d --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile37.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile38.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile38.jpg Binary files differnew file mode 100644 index 0000000000..1363781678 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile38.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile39.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile39.jpg Binary files differnew file mode 100644 index 0000000000..790cfd220a --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile39.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile40.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile40.jpg Binary files differnew file mode 100644 index 0000000000..3027238b9e --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile40.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile41.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile41.jpg Binary files differnew file mode 100644 index 0000000000..d085e38e42 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile41.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile42.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile42.jpg Binary files differnew file mode 100644 index 0000000000..b7ec60fed9 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile42.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile43.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile43.jpg Binary files differnew file mode 100644 index 0000000000..6230abd253 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile43.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile44.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile44.jpg Binary files differnew file mode 100644 index 0000000000..46ad6a1f20 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile44.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile45.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile45.jpg Binary files differnew file mode 100644 index 0000000000..89d2d325d1 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile45.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile46.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile46.jpg Binary files differnew file mode 100644 index 0000000000..9f3451f881 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile46.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile47.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile47.jpg Binary files differnew file mode 100644 index 0000000000..b702178926 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile47.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile48.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile48.jpg Binary files differnew file mode 100644 index 0000000000..9defd9a30e --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile48.jpg diff --git a/examples/embedded/src/main/resources/docroot/tiles/tile49.jpg b/examples/embedded/src/main/resources/docroot/tiles/tile49.jpg Binary files differnew file mode 100644 index 0000000000..26f2a44a56 --- /dev/null +++ b/examples/embedded/src/main/resources/docroot/tiles/tile49.jpg |