Merge
authormikael
Thu, 09 Aug 2018 10:08:07 -0700
changeset 51366 292a9d391a20
parent 51350 57565f7dcb2a (current diff)
parent 51365 1ba7c83cd8a6 (diff)
child 51367 d9439d4b15e2
Merge
.hgtags
src/hotspot/os/linux/os_perf_linux.cpp
src/hotspot/os/solaris/os_perf_solaris.cpp
src/hotspot/share/c1/c1_IR.cpp
test/hotspot/jtreg/ProblemList.txt
--- a/.hgtags	Fri Jun 22 16:07:15 2018 +0200
+++ b/.hgtags	Thu Aug 09 10:08:07 2018 -0700
@@ -499,6 +499,7 @@
 1edcf36fe15f79d6228d1a63eb680878e2386480 jdk-11+23
 ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
 331888ea4a788df801b1edf8836646cd25fc758b jdk-11+25
+945ba9278a272a5477ffb1b3ea1b04174fed8036 jdk-11+26
 69b438908512d3dfef5852c6a843a5778333a309 jdk-12+2
 990db216e7199b2ba9989d8fa20b657e0ca7d969 jdk-12+3
 499b873761d8e8a1cc4aa649daf04cbe98cbce77 jdk-12+4
--- a/src/hotspot/os/linux/os_perf_linux.cpp	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/hotspot/os/linux/os_perf_linux.cpp	Thu Aug 09 10:08:07 2018 -0700
@@ -1094,7 +1094,7 @@
 
   NetworkInterface* ret = NULL;
   for (cur_address = addresses; cur_address != NULL; cur_address = cur_address->ifa_next) {
-    if (cur_address->ifa_addr->sa_family != AF_PACKET) {
+    if ((cur_address->ifa_addr == NULL) || (cur_address->ifa_addr->sa_family != AF_PACKET)) {
       continue;
     }
 
@@ -1105,6 +1105,7 @@
     ret = cur;
   }
 
+  freeifaddrs(addresses);
   *network_interfaces = ret;
 
   return OS_OK;
--- a/src/hotspot/os/solaris/os_perf_solaris.cpp	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/hotspot/os/solaris/os_perf_solaris.cpp	Thu Aug 09 10:08:07 2018 -0700
@@ -808,6 +808,7 @@
     }
   }
 
+  kstat_close(ctl);
   *network_interfaces = ret;
 
   return OS_OK;
--- a/src/hotspot/share/c1/c1_IR.cpp	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/hotspot/share/c1/c1_IR.cpp	Thu Aug 09 10:08:07 2018 -0700
@@ -497,6 +497,7 @@
   // computation of final block order
   BlockBegin* common_dominator(BlockBegin* a, BlockBegin* b);
   void compute_dominator(BlockBegin* cur, BlockBegin* parent);
+  void compute_dominator_impl(BlockBegin* cur, BlockBegin* parent);
   int  compute_weight(BlockBegin* cur);
   bool ready_for_processing(BlockBegin* cur);
   void sort_into_work_list(BlockBegin* b);
@@ -770,6 +771,14 @@
 }
 
 void ComputeLinearScanOrder::compute_dominator(BlockBegin* cur, BlockBegin* parent) {
+  init_visited();
+  compute_dominator_impl(cur, parent);
+}
+
+void ComputeLinearScanOrder::compute_dominator_impl(BlockBegin* cur, BlockBegin* parent) {
+  // Mark as visited to avoid recursive calls with same parent
+  set_visited(cur);
+
   if (cur->dominator() == NULL) {
     TRACE_LINEAR_SCAN(4, tty->print_cr("DOM: initializing dominator of B%d to B%d", cur->block_id(), parent->block_id()));
     cur->set_dominator(parent);
@@ -788,7 +797,9 @@
   int num_cur_xhandler = cur->number_of_exception_handlers();
   for (int j = 0; j < num_cur_xhandler; j++) {
     BlockBegin* xhandler = cur->exception_handler_at(j);
-    compute_dominator(xhandler, parent);
+    if (!is_visited(xhandler)) {
+      compute_dominator_impl(xhandler, parent);
+    }
   }
 }
 
--- a/src/java.base/share/conf/security/java.security	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.base/share/conf/security/java.security	Thu Aug 09 10:08:07 2018 -0700
@@ -1070,6 +1070,11 @@
 # case-insensitive. Leading and trailing whitespaces, surrounding each value,
 # are ignored. Unknown values are ignored.
 #
+# NOTE: Use caution before setting this property. Setting this property
+# exposes sensitive information in Exceptions, which could, for example,
+# propagate to untrusted code or be emitted in stack traces that are
+# inadvertently disclosed and made accessible over a public network.
+#
 # The categories are:
 #
 #  hostInfo - IOExceptions thrown by java.net.Socket and the socket types in the
--- a/src/java.desktop/share/classes/java/awt/Desktop.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.desktop/share/classes/java/awt/Desktop.java	Thu Aug 09 10:08:07 2018 -0700
@@ -42,7 +42,6 @@
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.net.URL;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.Objects;
@@ -85,10 +84,6 @@
  * application is executed, it will be executed on the same system as
  * the one on which the Java application was launched.
  *
- * <p> Note: the methods in the {@code Desktop} class may require
- * platform-dependent permissions in addition to those described in the
- * specification.
- *
  * @see Action
  *
  * @since 1.6
@@ -389,11 +384,12 @@
 
 
     /**
-     *  Calls to the security manager's {@code checkPermission} method with
-     *  an {@code AWTPermission("showWindowWithoutWarningBanner")}
-     *  permission.
+     * Calls to the security manager's {@code checkPermission} method with an
+     * {@code AWTPermission("showWindowWithoutWarningBanner")} permission. This
+     * permission is needed, because we cannot add a security warning icon to
+     * the windows of the external native application.
      */
-    private void checkAWTPermission(){
+    private void checkAWTPermission() {
         SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             sm.checkPermission(new AWTPermission(
@@ -938,7 +934,11 @@
      * and registered in the Info.plist with CFBundleHelpBookFolder
      *
      * @throws SecurityException if a security manager exists and it denies the
-     * {@code RuntimePermission("canProcessApplicationEvents")} permission.
+     *         {@code RuntimePermission("canProcessApplicationEvents")}
+     *         permission, or it denies the
+     *         {@code AWTPermission("showWindowWithoutWarningBanner")}
+     *         permission, or the calling thread is not allowed to create a
+     *         subprocess
      * @throws UnsupportedOperationException if the current platform
      * does not support the {@link Desktop.Action#APP_HELP_VIEWER} action
      * @since 9
@@ -982,12 +982,15 @@
      * @param file the file
      * @throws SecurityException If a security manager exists and its
      *         {@link SecurityManager#checkRead(java.lang.String)} method
-     *         denies read access to the file
+     *         denies read access to the file or to its parent, or it denies the
+     *         {@code AWTPermission("showWindowWithoutWarningBanner")}
+     *         permission, or the calling thread is not allowed to create a
+     *         subprocess
      * @throws UnsupportedOperationException if the current platform
      *         does not support the {@link Desktop.Action#BROWSE_FILE_DIR} action
      * @throws NullPointerException if {@code file} is {@code null}
-     * @throws IllegalArgumentException if the specified file doesn't
-     * exist
+     * @throws IllegalArgumentException if the specified file or its parent
+     *         doesn't exist
      * @since 9
      */
     public void browseFileDirectory(File file) {
@@ -1014,8 +1017,7 @@
      * @throws UnsupportedOperationException if the current platform
      *         does not support the {@link Desktop.Action#MOVE_TO_TRASH} action
      * @throws NullPointerException if {@code file} is {@code null}
-     * @throws IllegalArgumentException if the specified file doesn't
-     * exist
+     * @throws IllegalArgumentException if the specified file doesn't exist
      *
      * @since 9
      */
--- a/src/java.net.http/share/classes/java/net/http/HttpClient.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/java/net/http/HttpClient.java	Thu Aug 09 10:08:07 2018 -0700
@@ -34,6 +34,7 @@
 import java.net.URLPermission;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
+import java.time.Duration;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Executor;
@@ -84,6 +85,7 @@
  * <pre>{@code    HttpClient client = HttpClient.newBuilder()
  *        .version(Version.HTTP_1_1)
  *        .followRedirects(Redirect.NORMAL)
+ *        .connectTimeout(Duration.ofSeconds(20))
  *        .proxy(ProxySelector.of(new InetSocketAddress("proxy.example.com", 80)))
  *        .authenticator(Authenticator.getDefault())
  *        .build();
@@ -94,7 +96,7 @@
  * <p><b>Asynchronous Example</b>
  * <pre>{@code    HttpRequest request = HttpRequest.newBuilder()
  *        .uri(URI.create("https://foo.com/"))
- *        .timeout(Duration.ofMinutes(1))
+ *        .timeout(Duration.ofMinutes(2))
  *        .header("Content-Type", "application/json")
  *        .POST(BodyPublishers.ofFile(Paths.get("file.json")))
  *        .build();
@@ -197,6 +199,26 @@
         public Builder cookieHandler(CookieHandler cookieHandler);
 
         /**
+         * Sets the connect timeout duration for this client.
+         *
+         * <p> In the case where a new connection needs to be established, if
+         * the connection cannot be established within the given {@code
+         * duration}, then {@link HttpClient#send(HttpRequest,BodyHandler)
+         * HttpClient::send} throws an {@link HttpConnectTimeoutException}, or
+         * {@link HttpClient#sendAsync(HttpRequest,BodyHandler)
+         * HttpClient::sendAsync} completes exceptionally with an
+         * {@code HttpConnectTimeoutException}. If a new connection does not
+         * need to be established, for example if a connection can be reused
+         * from a previous request, then this timeout duration has no effect.
+         *
+         * @param duration the duration to allow the underlying connection to be
+         *                 established
+         * @return this builder
+         * @throws IllegalArgumentException if the duration is non-positive
+         */
+        public Builder connectTimeout(Duration duration);
+
+        /**
          * Sets an {@code SSLContext}.
          *
          * <p> If this method is not invoked prior to {@linkplain #build()
@@ -345,6 +367,17 @@
     public abstract Optional<CookieHandler> cookieHandler();
 
     /**
+     * Returns an {@code Optional} containing the <i>connect timeout duration</i>
+     * for this client. If the {@linkplain Builder#connectTimeout(Duration)
+     * connect timeout duration} was not set in the client's builder, then the
+     * {@code Optional} is empty.
+     *
+     * @return an {@code Optional} containing this client's connect timeout
+     *         duration
+     */
+     public abstract Optional<Duration> connectTimeout();
+
+    /**
      * Returns the follow redirects policy for this client. The default value
      * for client's built by builders that do not specify a redirect policy is
      * {@link HttpClient.Redirect#NEVER NEVER}.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.net.http/share/classes/java/net/http/HttpConnectTimeoutException.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package java.net.http;
+
+/**
+ * Thrown when a connection, over which an {@code HttpRequest} is intended to be
+ * sent, is not successfully established within a specified time period.
+ *
+ * @since 11
+ */
+public class HttpConnectTimeoutException extends HttpTimeoutException {
+
+    private static final long serialVersionUID = 321L + 11L;
+
+    /**
+     * Constructs an {@code HttpConnectTimeoutException} with the given detail
+     * message.
+     *
+     * @param message
+     *        The detail message; can be {@code null}
+     */
+    public HttpConnectTimeoutException(String message) {
+        super(message);
+    }
+}
--- a/src/java.net.http/share/classes/jdk/internal/net/http/AbstractAsyncSSLConnection.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/AbstractAsyncSSLConnection.java	Thu Aug 09 10:08:07 2018 -0700
@@ -80,11 +80,9 @@
         engine = createEngine(context, serverName.getName(), port, sslParameters);
     }
 
-    abstract HttpConnection plainConnection();
     abstract SSLTube getConnectionFlow();
 
     final CompletableFuture<String> getALPN() {
-        assert connected();
         return getConnectionFlow().getALPN();
     }
 
--- a/src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLConnection.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLConnection.java	Thu Aug 09 10:08:07 2018 -0700
@@ -28,6 +28,8 @@
 import java.net.InetSocketAddress;
 import java.nio.channels.SocketChannel;
 import java.util.concurrent.CompletableFuture;
+import java.util.function.Function;
+import jdk.internal.net.http.common.MinimalFuture;
 import jdk.internal.net.http.common.SSLTube;
 import jdk.internal.net.http.common.Utils;
 
@@ -49,14 +51,9 @@
     }
 
     @Override
-    PlainHttpConnection plainConnection() {
-        return plainConnection;
-    }
-
-    @Override
-    public CompletableFuture<Void> connectAsync() {
+    public CompletableFuture<Void> connectAsync(Exchange<?> exchange) {
         return plainConnection
-                .connectAsync()
+                .connectAsync(exchange)
                 .thenApply( unused -> {
                     // create the SSLTube wrapping the SocketTube, with the given engine
                     flow = new SSLTube(engine,
@@ -67,6 +64,21 @@
     }
 
     @Override
+    public CompletableFuture<Void> finishConnect() {
+        // The actual ALPN value, which may be the empty string, is not
+        // interesting at this point, only that the handshake has completed.
+        return getALPN()
+                .handle((String unused, Throwable ex) -> {
+                    if (ex == null) {
+                        return plainConnection.finishConnect();
+                    } else {
+                        plainConnection.close();
+                        return MinimalFuture.<Void>failedFuture(ex);
+                    } })
+                .thenCompose(Function.identity());
+    }
+
+    @Override
     boolean connected() {
         return plainConnection.connected();
     }
--- a/src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLTunnelConnection.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLTunnelConnection.java	Thu Aug 09 10:08:07 2018 -0700
@@ -29,6 +29,8 @@
 import java.nio.channels.SocketChannel;
 import java.util.concurrent.CompletableFuture;
 import java.net.http.HttpHeaders;
+import java.util.function.Function;
+import jdk.internal.net.http.common.MinimalFuture;
 import jdk.internal.net.http.common.SSLTube;
 import jdk.internal.net.http.common.Utils;
 
@@ -53,13 +55,13 @@
     }
 
     @Override
-    public CompletableFuture<Void> connectAsync() {
+    public CompletableFuture<Void> connectAsync(Exchange<?> exchange) {
         if (debug.on()) debug.log("Connecting plain tunnel connection");
         // This will connect the PlainHttpConnection flow, so that
         // its HttpSubscriber and HttpPublisher are subscribed to the
         // SocketTube
         return plainConnection
-                .connectAsync()
+                .connectAsync(exchange)
                 .thenApply( unused -> {
                     if (debug.on()) debug.log("creating SSLTube");
                     // create the SSLTube wrapping the SocketTube, with the given engine
@@ -71,6 +73,21 @@
     }
 
     @Override
+    public CompletableFuture<Void> finishConnect() {
+        // The actual ALPN value, which may be the empty string, is not
+        // interesting at this point, only that the handshake has completed.
+        return getALPN()
+                .handle((String unused, Throwable ex) -> {
+                    if (ex == null) {
+                        return plainConnection.finishConnect();
+                    } else {
+                        plainConnection.close();
+                        return MinimalFuture.<Void>failedFuture(ex);
+                    } })
+                .thenCompose(Function.identity());
+    }
+
+    @Override
     boolean isTunnel() { return true; }
 
     @Override
@@ -87,11 +104,6 @@
     }
 
     @Override
-    PlainTunnelingConnection plainConnection() {
-        return plainConnection;
-    }
-
-    @Override
     ConnectionPool.CacheKey cacheKey() {
         return ConnectionPool.cacheKey(address, plainConnection.proxyAddr);
     }
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java	Thu Aug 09 10:08:07 2018 -0700
@@ -83,6 +83,10 @@
     final PushGroup<T> pushGroup;
     final String dbgTag;
 
+    // Keeps track of the underlying connection when establishing an HTTP/2
+    // exchange so that it can be aborted/timed out mid setup.
+    final ConnectionAborter connectionAborter = new ConnectionAborter();
+
     Exchange(HttpRequestImpl request, MultiExchange<T> multi) {
         this.request = request;
         this.upgrading = false;
@@ -125,6 +129,27 @@
         return client;
     }
 
+    // Keeps track of the underlying connection when establishing an HTTP/2
+    // exchange so that it can be aborted/timed out mid setup.
+    static final class ConnectionAborter {
+        private volatile HttpConnection connection;
+
+        void connection(HttpConnection connection) {
+            this.connection = connection;
+        }
+
+        void closeConnection() {
+            HttpConnection connection = this.connection;
+            this.connection = null;
+            if (connection != null) {
+                try {
+                    connection.close();
+                } catch (Throwable t) {
+                    // ignore
+                }
+            }
+        }
+    }
 
     public CompletableFuture<T> readBodyAsync(HttpResponse.BodyHandler<T> handler) {
         // If we received a 407 while establishing the exchange
@@ -179,6 +204,7 @@
     }
 
     public void cancel(IOException cause) {
+        if (debug.on()) debug.log("cancel exchImpl: %s, with \"%s\"", exchImpl, cause);
         // If the impl is non null, propagate the exception right away.
         // Otherwise record it so that it can be propagated once the
         // exchange impl has been established.
@@ -190,6 +216,11 @@
         } else {
             // no impl yet. record the exception
             failed = cause;
+
+            // abort/close the connection if setting up the exchange. This can
+            // be important when setting up HTTP/2
+            connectionAborter.closeConnection();
+
             // now call checkCancelled to recheck the impl.
             // if the failed state is set and the impl is not null, reset
             // the failed state and propagate the exception to the impl.
--- a/src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/ExchangeImpl.java	Thu Aug 09 10:08:07 2018 -0700
@@ -85,7 +85,7 @@
         } else {
             Http2ClientImpl c2 = exchange.client().client2(); // #### improve
             HttpRequestImpl request = exchange.request();
-            CompletableFuture<Http2Connection> c2f = c2.getConnectionFor(request);
+            CompletableFuture<Http2Connection> c2f = c2.getConnectionFor(request, exchange);
             if (debug.on())
                 debug.log("get: Trying to get HTTP/2 connection");
             return c2f.handle((h2c, t) -> createExchangeImpl(h2c, t, exchange, connection))
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java	Thu Aug 09 10:08:07 2018 -0700
@@ -233,7 +233,8 @@
         CompletableFuture<Void> connectCF;
         if (!connection.connected()) {
             if (debug.on()) debug.log("initiating connect async");
-            connectCF = connection.connectAsync();
+            connectCF = connection.connectAsync(exchange)
+                    .thenCompose(unused -> connection.finishConnect());
             Throwable cancelled;
             synchronized (lock) {
                 if ((cancelled = failed) == null) {
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java	Thu Aug 09 10:08:07 2018 -0700
@@ -90,7 +90,8 @@
      * 3. completes normally with null: no connection in cache for h2c or h2 failed previously
      * 4. completes normally with connection: h2 or h2c connection in cache. Use it.
      */
-    CompletableFuture<Http2Connection> getConnectionFor(HttpRequestImpl req) {
+    CompletableFuture<Http2Connection> getConnectionFor(HttpRequestImpl req,
+                                                        Exchange<?> exchange) {
         URI uri = req.uri();
         InetSocketAddress proxy = req.proxy();
         String key = Http2Connection.keyFor(uri, proxy);
@@ -123,7 +124,7 @@
             }
         }
         return Http2Connection
-                .createAsync(req, this)
+                .createAsync(req, this, exchange)
                 .whenComplete((conn, t) -> {
                     synchronized (Http2ClientImpl.this) {
                         if (conn != null) {
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java	Thu Aug 09 10:08:07 2018 -0700
@@ -353,7 +353,8 @@
 
     // Requires TLS handshake. So, is really async
     static CompletableFuture<Http2Connection> createAsync(HttpRequestImpl request,
-                                                          Http2ClientImpl h2client) {
+                                                          Http2ClientImpl h2client,
+                                                          Exchange<?> exchange) {
         assert request.secure();
         AbstractAsyncSSLConnection connection = (AbstractAsyncSSLConnection)
         HttpConnection.getConnection(request.getAddress(),
@@ -361,7 +362,12 @@
                                      request,
                                      HttpClient.Version.HTTP_2);
 
-        return connection.connectAsync()
+        // Expose the underlying connection to the exchange's aborter so it can
+        // be closed if a timeout occurs.
+        exchange.connectionAborter.connection(connection);
+
+        return connection.connectAsync(exchange)
+                  .thenCompose(unused -> connection.finishConnect())
                   .thenCompose(unused -> checkSSLConfig(connection))
                   .thenCompose(notused-> {
                       CompletableFuture<Http2Connection> cf = new MinimalFuture<>();
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientBuilderImpl.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientBuilderImpl.java	Thu Aug 09 10:08:07 2018 -0700
@@ -28,6 +28,7 @@
 import java.net.Authenticator;
 import java.net.CookieHandler;
 import java.net.ProxySelector;
+import java.time.Duration;
 import java.util.concurrent.Executor;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
@@ -38,6 +39,7 @@
 public class HttpClientBuilderImpl implements HttpClient.Builder {
 
     CookieHandler cookieHandler;
+    Duration connectTimeout;
     HttpClient.Redirect followRedirects;
     ProxySelector proxy;
     Authenticator authenticator;
@@ -55,6 +57,14 @@
         return this;
     }
 
+    @Override
+    public HttpClientBuilderImpl connectTimeout(Duration duration) {
+        requireNonNull(duration);
+        if (duration.isNegative() || Duration.ZERO.equals(duration))
+            throw new IllegalArgumentException("Invalid duration: " + duration);
+        this.connectTimeout = duration;
+        return this;
+    }
 
     @Override
     public HttpClientBuilderImpl sslContext(SSLContext sslContext) {
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientFacade.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientFacade.java	Thu Aug 09 10:08:07 2018 -0700
@@ -30,6 +30,7 @@
 import java.net.Authenticator;
 import java.net.CookieHandler;
 import java.net.ProxySelector;
+import java.time.Duration;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Executor;
@@ -70,6 +71,11 @@
     }
 
     @Override
+    public Optional<Duration> connectTimeout() {
+        return impl.connectTimeout();
+    }
+
+    @Override
     public Redirect followRedirects() {
         return impl.followRedirects();
     }
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java	Thu Aug 09 10:08:07 2018 -0700
@@ -35,6 +35,7 @@
 import java.net.ConnectException;
 import java.net.CookieHandler;
 import java.net.ProxySelector;
+import java.net.http.HttpConnectTimeoutException;
 import java.net.http.HttpTimeoutException;
 import java.nio.ByteBuffer;
 import java.nio.channels.CancelledKeyException;
@@ -47,6 +48,7 @@
 import java.security.AccessController;
 import java.security.NoSuchAlgorithmException;
 import java.security.PrivilegedAction;
+import java.time.Duration;
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
@@ -154,6 +156,7 @@
     }
 
     private final CookieHandler cookieHandler;
+    private final Duration connectTimeout;
     private final Redirect followRedirects;
     private final Optional<ProxySelector> userProxySelector;
     private final ProxySelector proxySelector;
@@ -278,6 +281,7 @@
         facadeRef = new WeakReference<>(facadeFactory.createFacade(this));
         client2 = new Http2ClientImpl(this);
         cookieHandler = builder.cookieHandler;
+        connectTimeout = builder.connectTimeout;
         followRedirects = builder.followRedirects == null ?
                 Redirect.NEVER : builder.followRedirects;
         this.userProxySelector = Optional.ofNullable(builder.proxy);
@@ -547,6 +551,10 @@
                 throw new IllegalArgumentException(msg, throwable);
             } else if (throwable instanceof SecurityException) {
                 throw new SecurityException(msg, throwable);
+            } else if (throwable instanceof HttpConnectTimeoutException) {
+                HttpConnectTimeoutException hcte = new HttpConnectTimeoutException(msg);
+                hcte.initCause(throwable);
+                throw hcte;
             } else if (throwable instanceof HttpTimeoutException) {
                 throw new HttpTimeoutException(msg);
             } else if (throwable instanceof ConnectException) {
@@ -1124,6 +1132,11 @@
     }
 
     @Override
+    public Optional<Duration> connectTimeout() {
+        return Optional.ofNullable(connectTimeout);
+    }
+
+    @Override
     public Optional<ProxySelector> proxy() {
         return this.userProxySelector;
     }
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java	Thu Aug 09 10:08:07 2018 -0700
@@ -108,9 +108,20 @@
         return client;
     }
 
-    //public abstract void connect() throws IOException, InterruptedException;
+    /**
+     * Initiates the connect phase.
+     *
+     * Returns a CompletableFuture that completes when the underlying
+     * TCP connection has been established or an error occurs.
+     */
+    public abstract CompletableFuture<Void> connectAsync(Exchange<?> exchange);
 
-    public abstract CompletableFuture<Void> connectAsync();
+    /**
+     * Finishes the connection phase.
+     *
+     * Returns a CompletableFuture that completes when any additional,
+     * type specific, setup has been done. Must be called after connectAsync. */
+    public abstract CompletableFuture<Void> finishConnect();
 
     /** Tells whether, or not, this connection is connected to its destination. */
     abstract boolean connected();
--- a/src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java	Thu Aug 09 10:08:07 2018 -0700
@@ -27,7 +27,7 @@
 
 import java.io.IOException;
 import java.net.ConnectException;
-import java.time.Duration;
+import java.net.http.HttpConnectTimeoutException;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.security.AccessControlContext;
@@ -88,7 +88,7 @@
     );
 
     private final LinkedList<HeaderFilter> filters;
-    TimedEvent timedEvent;
+    ResponseTimerEvent responseTimerEvent;
     volatile boolean cancelled;
     final PushGroup<T> pushGroup;
 
@@ -134,7 +134,7 @@
         this.exchange = new Exchange<>(request, this);
     }
 
-    private synchronized Exchange<T> getExchange() {
+    synchronized Exchange<T> getExchange() {
         return exchange;
     }
 
@@ -157,8 +157,8 @@
     }
 
     private void cancelTimer() {
-        if (timedEvent != null) {
-            client.cancelTimer(timedEvent);
+        if (responseTimerEvent != null) {
+            client.cancelTimer(responseTimerEvent);
         }
     }
 
@@ -220,8 +220,8 @@
             cf = failedFuture(new IOException("Too many retries", retryCause));
         } else {
             if (currentreq.timeout().isPresent()) {
-                timedEvent = new TimedEvent(currentreq.timeout().get());
-                client.registerTimer(timedEvent);
+                responseTimerEvent = ResponseTimerEvent.of(this);
+                client.registerTimer(responseTimerEvent);
             }
             try {
                 // 1. apply request filters
@@ -344,7 +344,9 @@
             }
         }
         if (cancelled && t instanceof IOException) {
-            t = new HttpTimeoutException("request timed out");
+            if (!(t instanceof HttpTimeoutException)) {
+                t = toTimeoutException((IOException)t);
+            }
         } else if (retryOnFailure(t)) {
             Throwable cause = retryCause(t);
 
@@ -378,17 +380,24 @@
         return failedFuture(t);
     }
 
-    class TimedEvent extends TimeoutEvent {
-        TimedEvent(Duration duration) {
-            super(duration);
+    private HttpTimeoutException toTimeoutException(IOException ioe) {
+        HttpTimeoutException t = null;
+
+        // more specific, "request timed out", when connected
+        Exchange<?> exchange = getExchange();
+        if (exchange != null) {
+            ExchangeImpl<?> exchangeImpl = exchange.exchImpl;
+            if (exchangeImpl != null) {
+                if (exchangeImpl.connection().connected()) {
+                    t = new HttpTimeoutException("request timed out");
+                    t.initCause(ioe);
+                }
+            }
         }
-        @Override
-        public void handle() {
-            if (debug.on()) {
-                debug.log("Cancelling MultiExchange due to timeout for request %s",
-                        request);
-            }
-            cancel(new HttpTimeoutException("request timed out"));
+        if (t == null) {
+            t = new HttpConnectTimeoutException("HTTP connect timed out");
+            t.initCause(new ConnectException("HTTP connect timed out"));
         }
+        return t;
     }
 }
--- a/src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java	Thu Aug 09 10:08:07 2018 -0700
@@ -26,6 +26,7 @@
 package jdk.internal.net.http;
 
 import java.io.IOException;
+import java.net.ConnectException;
 import java.net.InetSocketAddress;
 import java.net.StandardSocketOptions;
 import java.nio.channels.SelectableChannel;
@@ -34,6 +35,7 @@
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
+import java.time.Duration;
 import java.util.concurrent.CompletableFuture;
 import jdk.internal.net.http.common.FlowTube;
 import jdk.internal.net.http.common.Log;
@@ -53,9 +55,52 @@
     private final PlainHttpPublisher writePublisher = new PlainHttpPublisher(reading);
     private volatile boolean connected;
     private boolean closed;
+    private volatile ConnectTimerEvent connectTimerEvent;  // may be null
 
     // should be volatile to provide proper synchronization(visibility) action
 
+    /**
+     * Returns a ConnectTimerEvent iff there is a connect timeout duration,
+     * otherwise null.
+     */
+    private ConnectTimerEvent newConnectTimer(Exchange<?> exchange,
+                                              CompletableFuture<Void> cf) {
+        Duration duration = client().connectTimeout().orElse(null);
+        if (duration != null) {
+            ConnectTimerEvent cte = new ConnectTimerEvent(duration, exchange, cf);
+            return cte;
+        }
+        return null;
+    }
+
+    final class ConnectTimerEvent extends TimeoutEvent {
+        private final CompletableFuture<Void> cf;
+        private final Exchange<?> exchange;
+
+        ConnectTimerEvent(Duration duration,
+                          Exchange<?> exchange,
+                          CompletableFuture<Void> cf) {
+            super(duration);
+            this.exchange = exchange;
+            this.cf = cf;
+        }
+
+        @Override
+        public void handle() {
+            if (debug.on()) {
+                debug.log("HTTP connect timed out");
+            }
+            ConnectException ce = new ConnectException("HTTP connect timed out");
+            exchange.multi.cancel(ce);
+            client().theExecutor().execute(() -> cf.completeExceptionally(ce));
+        }
+
+        @Override
+        public String toString() {
+            return "ConnectTimerEvent, " + super.toString();
+        }
+    }
+
     final class ConnectEvent extends AsyncEvent {
         private final CompletableFuture<Void> cf;
 
@@ -85,7 +130,6 @@
                 if (debug.on())
                     debug.log("ConnectEvent: connect finished: %s Local addr: %s",
                               finished, chan.getLocalAddress());
-                connected = true;
                 // complete async since the event runs on the SelectorManager thread
                 cf.completeAsync(() -> null, client().theExecutor());
             } catch (Throwable e) {
@@ -103,12 +147,20 @@
     }
 
     @Override
-    public CompletableFuture<Void> connectAsync() {
+    public CompletableFuture<Void> connectAsync(Exchange<?> exchange) {
         CompletableFuture<Void> cf = new MinimalFuture<>();
         try {
             assert !connected : "Already connected";
             assert !chan.isBlocking() : "Unexpected blocking channel";
-            boolean finished = false;
+            boolean finished;
+
+            connectTimerEvent = newConnectTimer(exchange, cf);
+            if (connectTimerEvent != null) {
+                if (debug.on())
+                    debug.log("registering connect timer: " + connectTimerEvent);
+                client().registerTimer(connectTimerEvent);
+            }
+
             PrivilegedExceptionAction<Boolean> pa =
                     () -> chan.connect(Utils.resolveAddress(address));
             try {
@@ -118,7 +170,6 @@
             }
             if (finished) {
                 if (debug.on()) debug.log("connect finished without blocking");
-                connected = true;
                 cf.complete(null);
             } else {
                 if (debug.on()) debug.log("registering connect event");
@@ -137,6 +188,16 @@
     }
 
     @Override
+    public CompletableFuture<Void> finishConnect() {
+        assert connected == false;
+        if (debug.on()) debug.log("finishConnect, setting connected=true");
+        connected = true;
+        if (connectTimerEvent != null)
+            client().cancelTimer(connectTimerEvent);
+        return MinimalFuture.completedFuture(null);
+    }
+
+    @Override
     SocketChannel channel() {
         return chan;
     }
@@ -210,6 +271,8 @@
             Log.logTrace("Closing: " + toString());
             if (debug.on())
                 debug.log("Closing channel: " + client().debugInterestOps(chan));
+            if (connectTimerEvent != null)
+                client().cancelTimer(connectTimerEvent);
             chan.close();
             tube.signalClosed();
         } catch (IOException e) {
--- a/src/java.net.http/share/classes/jdk/internal/net/http/PlainTunnelingConnection.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/PlainTunnelingConnection.java	Thu Aug 09 10:08:07 2018 -0700
@@ -26,11 +26,13 @@
 package jdk.internal.net.http;
 
 import java.io.IOException;
-import java.lang.System.Logger.Level;
 import java.net.InetSocketAddress;
+import java.net.http.HttpTimeoutException;
 import java.nio.ByteBuffer;
 import java.nio.channels.SocketChannel;
+import java.time.Duration;
 import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionException;
 import java.util.function.Function;
 import java.net.http.HttpHeaders;
 import jdk.internal.net.http.common.FlowTube;
@@ -60,9 +62,10 @@
     }
 
     @Override
-    public CompletableFuture<Void> connectAsync() {
+    public CompletableFuture<Void> connectAsync(Exchange<?> exchange) {
         if (debug.on()) debug.log("Connecting plain connection");
-        return delegate.connectAsync()
+        return delegate.connectAsync(exchange)
+            .thenCompose(unused -> delegate.finishConnect())
             .thenCompose((Void v) -> {
                 if (debug.on()) debug.log("sending HTTP/1.1 CONNECT");
                 HttpClientImpl client = client();
@@ -70,7 +73,7 @@
                 HttpRequestImpl req = new HttpRequestImpl("CONNECT", address, proxyHeaders);
                 MultiExchange<Void> mulEx = new MultiExchange<>(null, req,
                         client, discarding(), null, null);
-                Exchange<Void> connectExchange = new Exchange<>(req, mulEx);
+                Exchange<Void> connectExchange = mulEx.getExchange();
 
                 return connectExchange
                         .responseAsyncImpl(delegate)
@@ -96,14 +99,36 @@
                                 ByteBuffer b = ((Http1Exchange<?>)connectExchange.exchImpl).drainLeftOverBytes();
                                 int remaining = b.remaining();
                                 assert remaining == 0: "Unexpected remaining: " + remaining;
-                                connected = true;
                                 cf.complete(null);
                             }
                             return cf;
-                        });
+                        })
+                        .handle((result, ex) -> {
+                            if (ex == null) {
+                                return MinimalFuture.completedFuture(result);
+                            } else {
+                                if (debug.on())
+                                    debug.log("tunnel failed with \"%s\"", ex.toString());
+                                Throwable t = ex;
+                                if (t instanceof CompletionException)
+                                    t = t.getCause();
+                                if (t instanceof HttpTimeoutException) {
+                                    String msg = "proxy tunneling CONNECT request timed out";
+                                    t = new HttpTimeoutException(msg);
+                                    t.initCause(ex);
+                                }
+                                return MinimalFuture.<Void>failedFuture(t);
+                            }
+                        })
+                        .thenCompose(Function.identity());
             });
     }
 
+    public CompletableFuture<Void> finishConnect() {
+        connected = true;
+        return MinimalFuture.completedFuture(null);
+    }
+
     @Override
     boolean isTunnel() { return true; }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/ResponseTimerEvent.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package jdk.internal.net.http;
+
+import java.net.ConnectException;
+import java.net.http.HttpConnectTimeoutException;
+import java.net.http.HttpTimeoutException;
+import jdk.internal.net.http.common.Logger;
+import jdk.internal.net.http.common.Utils;
+
+public class ResponseTimerEvent extends TimeoutEvent {
+    private static final Logger debug =
+            Utils.getDebugLogger("ResponseTimerEvent"::toString, Utils.DEBUG);
+
+    private final MultiExchange<?> multiExchange;
+
+    static ResponseTimerEvent of(MultiExchange<?> exchange) {
+        return new ResponseTimerEvent(exchange);
+    }
+
+    private ResponseTimerEvent(MultiExchange<?> multiExchange) {
+        super(multiExchange.exchange.request.timeout().get());
+        this.multiExchange = multiExchange;
+    }
+
+    @Override
+    public void handle() {
+        if (debug.on()) {
+            debug.log("Cancelling MultiExchange due to timeout for request %s",
+                      multiExchange.exchange.request);
+        }
+        HttpTimeoutException t = null;
+
+        // more specific, "request timed out", message when connected
+        Exchange<?> exchange = multiExchange.getExchange();
+        if (exchange != null) {
+            ExchangeImpl<?> exchangeImpl = exchange.exchImpl;
+            if (exchangeImpl != null) {
+                if (exchangeImpl.connection().connected()) {
+                    t = new HttpTimeoutException("request timed out");
+                }
+            }
+        }
+        if (t == null) {
+            t = new HttpConnectTimeoutException("HTTP connect timed out");
+            t.initCause(new ConnectException("HTTP connect timed out"));
+        }
+        multiExchange.cancel(t);
+    }
+
+    @Override
+    public String toString() {
+        return "ResponseTimerEvent[" + super.toString() + "]";
+    }
+}
--- a/src/java.net.http/share/classes/jdk/internal/net/http/TimeoutEvent.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/TimeoutEvent.java	Thu Aug 09 10:08:07 2018 -0700
@@ -43,9 +43,11 @@
     // we use id in compareTo to make compareTo consistent with equals
     // see TimeoutEvent::compareTo below;
     private final long id = COUNTER.incrementAndGet();
+    private final Duration duration;
     private final Instant deadline;
 
     TimeoutEvent(Duration duration) {
+        this.duration = duration;
         deadline = Instant.now().plus(duration);
     }
 
@@ -75,6 +77,7 @@
 
     @Override
     public String toString() {
-        return "TimeoutEvent[id=" + id + ", deadline=" + deadline + "]";
+        return "TimeoutEvent[id=" + id + ", duration=" + duration
+                + ", deadline=" + deadline + "]";
     }
 }
--- a/src/java.se/share/classes/module-info.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/java.se/share/classes/module-info.java	Thu Aug 09 10:08:07 2018 -0700
@@ -24,7 +24,7 @@
  */
 
 /**
- * Defines the core Java SE API.
+ * Defines the API of the Java SE Platform.
  * <P>
  *
  * <dl>
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties	Thu Aug 09 10:08:07 2018 -0700
@@ -98,42 +98,42 @@
 
 doclet.help.main_heading=API\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u69CB\u6210
 doclet.help.intro=\u3053\u306EAPI(Application Programming Interface)\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u306F\u3001\u6B21\u306B\u8AAC\u660E\u3059\u308B\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u3042\u308B\u9805\u76EE\u306B\u5BFE\u5FDC\u3059\u308B\u30DA\u30FC\u30B8\u304C\u542B\u307E\u308C\u307E\u3059\u3002
-doclet.help.overview.modules.body=The {0} page is the front page of this API document and provides a list of all modules with a summary for each.  This page can also contain an overall description of the set of modules.
+doclet.help.overview.modules.body={0}\u30DA\u30FC\u30B8\u306FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30FB\u30DA\u30FC\u30B8\u3067\u3001\u5404\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u6982\u8981\u3092\u542B\u3080\u5168\u30E2\u30B8\u30E5\uFF0D\u30EB\u306E\u30EA\u30B9\u30C8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4E00\u9023\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u6982\u8981\u8AAC\u660E\u3082\u8868\u793A\u3055\u308C\u307E\u3059\u3002
 doclet.help.overview.packages.body={0}\u30DA\u30FC\u30B8\u306FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30FB\u30DA\u30FC\u30B8\u3067\u3001\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u3092\u542B\u3080\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30EA\u30B9\u30C8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4E00\u9023\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u8AAC\u660E\u3082\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-doclet.help.package.intro=Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:
-doclet.help.module.intro=Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These page may contain three categories:
-doclet.help.class_interface.head=Class or Interface
+doclet.help.package.intro=\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F\u3001\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u3001\u305D\u308C\u305E\u308C\u306E\u6982\u8981\u3092\u542B\u3080\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u308C\u3089\u306E\u30DA\u30FC\u30B8\u306F6\u3064\u306E\u30AB\u30C6\u30B4\u30EA\u3067\u69CB\u6210\u3055\u308C\u307E\u3059\u3002
+doclet.help.module.intro=\u5404\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u306F\u3001\u305D\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u4ED6\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u5BFE\u3059\u308B\u4F9D\u5B58\u6027\u3001\u304A\u3088\u3073\u30B5\u30FC\u30D3\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u3001\u305D\u308C\u305E\u308C\u306E\u6982\u8981\u3092\u542B\u3080\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u308C\u3089\u306E\u30DA\u30FC\u30B8\u306F3\u3064\u306E\u30AB\u30C6\u30B4\u30EA\u3067\u69CB\u6210\u3055\u308C\u307E\u3059\u3002
+doclet.help.class_interface.head=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
 doclet.help.class_interface.intro=\u5404\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u306F\u500B\u5225\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u30DA\u30FC\u30B8\u306B\u306F\u6B21\u306E\u3088\u3046\u306B\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E\u3068\u3001\u6982\u8981\u8868\u304A\u3088\u3073\u30E1\u30F3\u30D0\u30FC\u306E\u8A73\u7D30\u8AAC\u660E\u304C\u542B\u307E\u308C\u307E\u3059\u3002
-doclet.help.class_interface.inheritance_diagram=Class Inheritance Diagram
+doclet.help.class_interface.inheritance_diagram=\u30AF\u30E9\u30B9\u968E\u5C64\u8868\u793A
 doclet.help.class_interface.subclasses=\u76F4\u7CFB\u306E\u30B5\u30D6\u30AF\u30E9\u30B9
 doclet.help.class_interface.subinterfaces=\u65E2\u77E5\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8
 doclet.help.class_interface.implementations=\u65E2\u77E5\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8
-doclet.help.class_interface.declaration=Class or Interface Declaration
-doclet.help.class_interface.description=Class or Interface Description
+doclet.help.class_interface.declaration=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u5BA3\u8A00
+doclet.help.class_interface.description=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E
 doclet.help.class_interface.summary=\u5404\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306B\u306F\u3001\u305D\u306E\u9805\u76EE\u306E\u8A73\u7D30\u306A\u8AAC\u660E\u306E\u4E2D\u304B\u30891\u884C\u76EE\u306E\u6587\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u8A73\u7D30\u306A\u8AAC\u660E\u306F\u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u306B\u73FE\u308C\u308B\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u304C\u3001\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306F\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u3002\u3053\u308C\u306B\u3088\u3063\u3066\u3001\u30D7\u30ED\u30B0\u30E9\u30DE\u304C\u8A2D\u5B9A\u3057\u305F\u8AD6\u7406\u7684\u306A\u30B0\u30EB\u30FC\u30D7\u5206\u3051\u304C\u4FDD\u6301\u3055\u308C\u307E\u3059\u3002
 doclet.help.use.head=\u4F7F\u7528
-doclet.help.use.body=Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its "Use" page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+doclet.help.use.body=\u5404\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u306F\u305D\u308C\u305E\u308C\u300C\u4F7F\u7528\u300D\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u306F\u3001\u3069\u306E\u3088\u3046\u306A\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3001\u7279\u5B9A\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4E00\u90E8\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u304B\u304C\u8A18\u8FF0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001\u30AF\u30E9\u30B9A\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9A\u306E\u5834\u5408\u3001\u305D\u306E\u300C\u4F7F\u7528\u300D\u30DA\u30FC\u30B8\u306B\u306F\u3001A\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3001A\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u3001A\u3092\u8FD4\u3059\u30E1\u30BD\u30C3\u30C9\u3068\u3001\u578BA\u3092\u6301\u3064\u30E1\u30BD\u30C3\u30C9\u304A\u3088\u3073\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C\u542B\u307E\u308C\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u306B\u306F\u3001\u307E\u305A\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u79FB\u52D5\u3057\u3001\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306E\u300C\u4F7F\u7528\u300D\u30EA\u30F3\u30AF\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 doclet.help.tree.head=\u968E\u5C64\u30C4\u30EA\u30FC(\u30AF\u30E9\u30B9\u968E\u5C64)
-doclet.help.tree.intro=There is a {0} page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with {1}. Interfaces do not inherit from {1}.
+doclet.help.tree.intro=\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F{0}\u30DA\u30FC\u30B8\u304C\u3042\u308A\u3001\u3055\u3089\u306B\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u968E\u5C64\u30DA\u30FC\u30B8\u306F\u3001\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8\u3092\u542B\u307F\u307E\u3059\u3002\u30AF\u30E9\u30B9\u306F{1}\u3092\u958B\u59CB\u70B9\u3068\u3059\u308B\u7D99\u627F\u69CB\u9020\u3067\u7DE8\u6210\u3055\u308C\u307E\u3059\u3002\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u3001{1}\u304B\u3089\u306F\u7D99\u627F\u3057\u307E\u305B\u3093\u3002
 doclet.help.tree.overview=\u6982\u8981\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u300C\u968E\u5C64\u30C4\u30EA\u30FC\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-doclet.help.tree.package=When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
+doclet.help.tree.package=\u7279\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u300C\u968E\u5C64\u30C4\u30EA\u30FC\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u8A72\u5F53\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u307F\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
 doclet.help.deprecated.body={0}\u30DA\u30FC\u30B8\u306F\u3001\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u3059\u3079\u3066\u306EAPI\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u975E\u63A8\u5968API\u3068\u306F\u3001\u6A5F\u80FD\u6539\u826F\u306A\u3069\u306E\u7406\u7531\u304B\u3089\u4F7F\u7528\u3092\u304A\u85A6\u3081\u3067\u304D\u306A\u304F\u306A\u3063\u305FAPI\u306E\u3053\u3068\u3067\u3001\u901A\u5E38\u306F\u305D\u308C\u306B\u4EE3\u308F\u308BAPI\u304C\u63D0\u4F9B\u3055\u308C\u307E\u3059\u3002\u975E\u63A8\u5968API\u306F\u4ECA\u5F8C\u306E\u5B9F\u88C5\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
 doclet.help.index.head=\u7D22\u5F15
-doclet.help.index.body=The {0} contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.
+doclet.help.index.body={0}\u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3001\u30E1\u30BD\u30C3\u30C9\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3068\u3001\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u304A\u3088\u3073\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8\u304C\u542B\u307E\u308C\u307E\u3059\u3002
 doclet.help.frames.head=\u30D5\u30EC\u30FC\u30E0/\u30D5\u30EC\u30FC\u30E0\u306A\u3057
 doclet.help.frames.body=\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306FHTML\u30D5\u30EC\u30FC\u30E0\u306E\u8868\u793A\u3068\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30DA\u30FC\u30B8\u306F\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u3067\u3082\u3001\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u3067\u3082\u8868\u793A\u3067\u304D\u307E\u3059\u3002
 doclet.help.all_classes.body={0}\u30EA\u30F3\u30AF\u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9(\u975Estatic\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u578B\u3092\u9664\u304F)\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
 doclet.help.serial_form.body=\u76F4\u5217\u5316\u53EF\u80FD\u307E\u305F\u306F\u5916\u90E8\u5316\u53EF\u80FD\u306A\u5404\u30AF\u30E9\u30B9\u306F\u3001\u76F4\u5217\u5316\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u8AAC\u660E\u3092\u542B\u307F\u307E\u3059\u3002\u3053\u306E\u60C5\u5831\u306F\u3001API\u3092\u4F7F\u7528\u3059\u308B\u958B\u767A\u8005\u3067\u306F\u306A\u304F\u3001\u518D\u5B9F\u88C5\u3092\u884C\u3046\u62C5\u5F53\u8005\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u30EA\u30F3\u30AF\u304C\u306A\u3044\u5834\u5408\u3001\u76F4\u5217\u5316\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306B\u79FB\u52D5\u3057\u3066\u3001\u30AF\u30E9\u30B9\u8A18\u8FF0\u306E\u300C\u95A2\u9023\u9805\u76EE\u300D\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u3042\u308B\u300C\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u3053\u306E\u60C5\u5831\u3092\u8868\u793A\u3067\u304D\u307E\u3059\u3002
 doclet.help.constants.body={0}\u30DA\u30FC\u30B8\u306B\u306F\u3001static final\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u305D\u306E\u5024\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059\u3002
-doclet.help.footnote=This help file applies to API documentation generated by the standard doclet.
+doclet.help.footnote=\u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u6A19\u6E96doclet\u306B\u3088\u3063\u3066\u751F\u6210\u3055\u308C\u305FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002
 doclet.help.enum.intro=\u5404\u5217\u6319\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
 doclet.help.enum.declaration=\u5217\u6319\u5BA3\u8A00
-doclet.help.enum.definition=Enum Description
+doclet.help.enum.definition=\u5217\u6319\u578B\u306E\u8AAC\u660E
 doclet.help.annotation_type.intro=\u5404\u6CE8\u91C8\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
-doclet.help.annotation_type.declaration=Annotation Type Declaration
-doclet.help.annotation_type.description=Annotation Type Description
-doclet.help.search.head=Search
-doclet.help.search.body=You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".
+doclet.help.annotation_type.declaration=\u6CE8\u91C8\u578B\u306E\u5BA3\u8A00
+doclet.help.annotation_type.description=\u6CE8\u91C8\u578B\u306E\u8AAC\u660E
+doclet.help.search.head=\u691C\u7D22
+doclet.help.search.body=\u30E2\u30B8\u30E5\u30FC\u30EB\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30BF\u30A4\u30D7\u3001\u30D5\u30A3\u30FC\u30EB\u30C9\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u304A\u3088\u3073API\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u305D\u306E\u4ED6\u306E\u8A9E\u3092\u3001\u540D\u524D\u306E\u4E00\u90E8\u307E\u305F\u306F\u5168\u4F53\u3092\u4F7F\u7528\u3057\u3066\u691C\u7D22\u3067\u304D\u307E\u3059\u3002\u30AD\u30E3\u30E1\u30EB\u30B1\u30FC\u30B9\u306E\u7701\u7565\u5F62\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059: \u305F\u3068\u3048\u3070\u3001"InpStr"\u3068\u6307\u5B9A\u3059\u308B\u3068"InputStream"\u3068"InputStreamReader"\u304C\u691C\u7D22\u3055\u308C\u307E\u3059\u3002
 
 doclet.ClassUse_Packages.that.use.0={0}\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30D1\u30C3\u30B1\u30FC\u30B8
 doclet.ClassUse_Uses.of.0.in.1={1}\u3067\u306E{0}\u306E\u4F7F\u7528
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties	Fri Jun 22 16:07:15 2018 +0200
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties	Thu Aug 09 10:08:07 2018 -0700
@@ -98,42 +98,42 @@
 
 doclet.help.main_heading=\u6B64 API \u6587\u6863\u7684\u7EC4\u7EC7\u65B9\u5F0F
 doclet.help.intro=\u6B64 API (\u5E94\u7528\u7A0B\u5E8F\u7F16\u7A0B\u63A5\u53E3) \u6587\u6863\u5305\u542B\u5BF9\u5E94\u4E8E\u5BFC\u822A\u680F\u4E2D\u7684\u9879\u76EE\u7684\u9875\u9762, \u5982\u4E0B\u6240\u8FF0\u3002
-doclet.help.overview.modules.body=The {0} page is the front page of this API document and provides a list of all modules with a summary for each.  This page can also contain an overall description of the set of modules.
+doclet.help.overview.modules.body={0} \u9875\u662F\u6B64 API \u6587\u6863\u7684\u9996\u9875\uFF0C\u63D0\u4F9B\u4E86\u6240\u6709\u6A21\u5757\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u6B64\u9875\u4E5F\u53EF\u80FD\u5305\u542B\u8FD9\u4E9B\u6A21\u5757\u7684\u603B\u4F53\u8BF4\u660E\u3002
 doclet.help.overview.packages.body={0} \u9875\u9762\u662F\u6B64 API \u6587\u6863\u7684\u9996\u9875, \u63D0\u4F9B\u4E86\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u6B64\u9875\u9762\u4E5F\u53EF\u80FD\u5305\u542B\u8FD9\u4E9B\u7A0B\u5E8F\u5305\u7684\u603B\u4F53\u8BF4\u660E\u3002
-doclet.help.package.intro=Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:
-doclet.help.module.intro=Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These page may contain three categories:
-doclet.help.class_interface.head=Class or Interface
+doclet.help.package.intro=\u6BCF\u4E2A\u7A0B\u5E8F\u5305\u90FD\u6709\u4E00\u9875\uFF0C\u5176\u4E2D\u5305\u542B\u5B83\u7684\u7C7B\u548C\u63A5\u53E3\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u8FD9\u4E9B\u9875\u53EF\u4EE5\u5305\u542B\u516D\u4E2A\u7C7B\u522B\uFF1A
+doclet.help.module.intro=\u6BCF\u4E2A\u6A21\u5757\u90FD\u6709\u4E00\u9875\uFF0C\u5176\u4E2D\u5305\u542B\u5B83\u7684\u7A0B\u5E8F\u5305\u3001\u4E0E\u5176\u4ED6\u6A21\u5757\u7684\u4F9D\u8D56\u5173\u7CFB\u548C\u670D\u52A1\u7684\u5217\u8868\u4EE5\u53CA\u5404\u4E2A\u6A21\u5757\u7684\u6982\u8981\u3002\u8FD9\u4E9B\u9875\u53EF\u4EE5\u5305\u542B\u4E09\u4E2A\u7C7B\u522B\uFF1A
+doclet.help.class_interface.head=\u7C7B\u6216\u63A5\u53E3
 doclet.help.class_interface.intro=\u6BCF\u4E2A\u7C7B, \u63A5\u53E3, \u5D4C\u5957\u7C7B\u548C\u5D4C\u5957\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762\u3002\u5176\u4E2D\u6BCF\u4E2A\u9875\u9762\u90FD\u7531\u4E09\u90E8\u5206 (\u7C7B/\u63A5\u53E3\u8BF4\u660E, \u6982\u8981\u8868, \u4EE5\u53CA\u8BE6\u7EC6\u7684\u6210\u5458\u8BF4\u660E) \u7EC4\u6210:
-doclet.help.class_interface.inheritance_diagram=Class Inheritance Diagram
+doclet.help.class_interface.inheritance_diagram=\u7C7B\u7EE7\u627F\u56FE
 doclet.help.class_interface.subclasses=\u76F4\u63A5\u5B50\u7C7B
 doclet.help.class_interface.subinterfaces=\u6240\u6709\u5DF2\u77E5\u5B50\u63A5\u53E3
 doclet.help.class_interface.implementations=\u6240\u6709\u5DF2\u77E5\u5B9E\u73B0\u7C7B
-doclet.help.class_interface.declaration=Class or Interface Declaration
-doclet.help.class_interface.description=Class or Interface Description
+doclet.help.class_interface.declaration=\u7C7B\u6216\u63A5\u53E3\u58F0\u660E
+doclet.help.class_interface.description=\u7C7B\u6216\u63A5\u53E3\u8BF4\u660E
 doclet.help.class_interface.summary=\u6BCF\u4E2A\u6982\u8981\u6761\u76EE\u90FD\u5305\u542B\u8BE5\u9879\u76EE\u7684\u8BE6\u7EC6\u8BF4\u660E\u7684\u7B2C\u4E00\u53E5\u3002\u6982\u8981\u6761\u76EE\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217, \u800C\u8BE6\u7EC6\u8BF4\u660E\u5219\u6309\u5176\u5728\u6E90\u4EE3\u7801\u4E2D\u51FA\u73B0\u7684\u987A\u5E8F\u6392\u5217\u3002\u8FD9\u6837\u4FDD\u6301\u4E86\u7A0B\u5E8F\u5458\u6240\u5EFA\u7ACB\u7684\u903B\u8F91\u5206\u7EC4\u3002
 doclet.help.use.head=\u4F7F\u7528
-doclet.help.use.body=Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its "Use" page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+doclet.help.use.body=\u6BCF\u4E2A\u5DF2\u6587\u6863\u5316\u7684\u7A0B\u5E8F\u5305\u3001\u7C7B\u548C\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u201C\u4F7F\u7528\u201D\u9875\u3002\u6B64\u9875\u4ECB\u7ECD\u4E86\u4F7F\u7528\u7ED9\u5B9A\u7C7B\u6216\u7A0B\u5E8F\u5305\u7684\u4EFB\u4F55\u90E8\u5206\u7684\u7A0B\u5E8F\u5305\u3001\u7C7B\u3001\u65B9\u6CD5\u3001\u6784\u9020\u5668\u548C\u5B57\u6BB5\u3002\u5BF9\u4E8E\u7ED9\u5B9A\u7684\u7C7B\u6216\u63A5\u53E3 A\uFF0C\u5176\u201C\u4F7F\u7528\u201D\u9875\u5305\u542B A \u7684\u5B50\u7C7B\u3001\u58F0\u660E\u4E3A A \u7684\u5B57\u6BB5\u3001\u8FD4\u56DE A \u7684\u65B9\u6CD5\u4EE5\u53CA\u5E26\u6709\u7C7B\u578B\u4E3A A \u7684\u53C2\u6570\u7684\u65B9\u6CD5\u548C\u6784\u9020\u5668\u3002\u8BBF\u95EE\u6B64\u9875\u7684\u65B9\u6CD5\u662F\uFF1A\u9996\u5148\u8F6C\u81F3\u7A0B\u5E8F\u5305\u3001\u7C7B\u6216\u63A5\u53E3\uFF0C\u7136\u540E\u5355\u51FB\u5BFC\u822A\u680F\u4E2D\u7684\u201C\u4F7F\u7528\u201D\u94FE\u63A5\u3002
 doclet.help.tree.head=\u6811 (\u7C7B\u5206\u5C42\u7ED3\u6784)
-doclet.help.tree.intro=There is a {0} page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with {1}. Interfaces do not inherit from {1}.
+doclet.help.tree.intro=\u5BF9\u4E8E\u6240\u6709\u7A0B\u5E8F\u5305\uFF0C\u90FD\u6709\u4E00\u4E2A {0} \u9875\uFF0C\u4EE5\u53CA\u6BCF\u4E2A\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002\u6BCF\u4E2A\u5206\u5C42\u7ED3\u6784\u9875\u90FD\u5305\u542B\u7C7B\u7684\u5217\u8868\u548C\u63A5\u53E3\u7684\u5217\u8868\u3002\u4ECE {1} \u5F00\u59CB\uFF0C\u6309\u7EE7\u627F\u7ED3\u6784\u5BF9\u7C7B\u8FDB\u884C\u6392\u5217\u3002\u63A5\u53E3\u4E0D\u4ECE {1} \u7EE7\u627F\u3002
 doclet.help.tree.overview=\u67E5\u770B\u201C\u6982\u89C8\u201D\u9875\u9762\u65F6, \u5355\u51FB "\u6811" \u5C06\u663E\u793A\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002
-doclet.help.tree.package=When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
+doclet.help.tree.package=\u67E5\u770B\u7279\u5B9A\u7A0B\u5E8F\u5305\u3001\u7C7B\u6216\u63A5\u53E3\u9875\u65F6\uFF0C\u5355\u51FB\u201C\u6811\u201D\u5C06\u4EC5\u663E\u793A\u8BE5\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002
 doclet.help.deprecated.body={0} \u9875\u9762\u5217\u51FA\u4E86\u6240\u6709\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E00\u822C\u7531\u4E8E\u8FDB\u884C\u4E86\u6539\u8FDB\u5E76\u4E14\u901A\u5E38\u63D0\u4F9B\u4E86\u66FF\u4EE3\u7684 API, \u6240\u4EE5\u5EFA\u8BAE\u4E0D\u8981\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API\u3002\u5728\u5C06\u6765\u7684\u5B9E\u73B0\u8FC7\u7A0B\u4E2D, \u53EF\u80FD\u4F1A\u5220\u9664\u5DF2\u8FC7\u65F6\u7684 API\u3002
 doclet.help.index.head=\u7D22\u5F15
-doclet.help.index.body=The {0} contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.
+doclet.help.index.body={0} \u5305\u542B\u6240\u6709\u7C7B\u3001\u63A5\u53E3\u3001\u6784\u9020\u5668\u3001\u65B9\u6CD5\u548C\u5B57\u6BB5\u7684\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217\u7684\u7D22\u5F15\uFF0C\u4EE5\u53CA\u6240\u6709\u7A0B\u5E8F\u5305\u548C\u6240\u6709\u7C7B\u7684\u5217\u8868\u3002
 doclet.help.frames.head=\u6846\u67B6/\u65E0\u6846\u67B6
 doclet.help.frames.body=\u8FD9\u4E9B\u94FE\u63A5\u7528\u4E8E\u663E\u793A\u548C\u9690\u85CF HTML \u6846\u67B6\u3002\u6240\u6709\u9875\u9762\u5747\u5177\u6709\u6709\u6846\u67B6\u548C\u65E0\u6846\u67B6\u4E24\u79CD\u663E\u793A\u65B9\u5F0F\u3002
 doclet.help.all_classes.body={0}\u94FE\u63A5\u663E\u793A\u6240\u6709\u7C7B\u548C\u63A5\u53E3 (\u9664\u4E86\u975E\u9759\u6001\u5D4C\u5957\u7C7B\u578B)\u3002
 doclet.help.serial_form.body=\u6BCF\u4E2A\u53EF\u5E8F\u5217\u5316\u6216\u53EF\u5916\u90E8\u5316\u7684\u7C7B\u90FD\u6709\u5176\u5E8F\u5217\u5316\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u8BF4\u660E\u3002\u6B64\u4FE1\u606F\u5BF9\u91CD\u65B0\u5B9E\u73B0\u8005\u6709\u7528, \u800C\u5BF9\u4F7F\u7528 API \u7684\u5F00\u53D1\u8005\u5219\u6CA1\u6709\u4EC0\u4E48\u7528\u5904\u3002\u5C3D\u7BA1\u5BFC\u822A\u680F\u4E2D\u6CA1\u6709\u94FE\u63A5, \u4F46\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0B\u5217\u65B9\u5F0F\u83B7\u53D6\u6B64\u4FE1\u606F: \u8F6C\u81F3\u4EFB\u4F55\u5E8F\u5217\u5316\u7C7B, \u7136\u540E\u5355\u51FB\u7C7B\u8BF4\u660E\u7684 "\u53E6\u8BF7\u53C2\u9605" \u90E8\u5206\u4E2D\u7684 "\u5E8F\u5217\u5316\u8868\u683C"\u3002
 doclet.help.constants.body={0}\u9875\u9762\u5217\u51FA\u4E86\u9759\u6001\u6700\u7EC8\u5B57\u6BB5\u53CA\u5176\u503C\u3002
-doclet.help.footnote=This help file applies to API documentation generated by the standard doclet.
+doclet.help.footnote=\u6B64\u5E2E\u52A9\u6587\u4EF6\u9002\u7528\u4E8E\u7531\u6807\u51C6 doclet \u751F\u6210\u7684 API \u6587\u6863\u3002
 doclet.help.enum.intro=\u6BCF\u4E2A\u679A\u4E3E\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
 doclet.help.enum.declaration=\u679A\u4E3E\u58F0\u660E
-doclet.help.enum.definition=Enum Description
+doclet.help.enum.definition=\u679A\u4E3E\u8BF4\u660E
 doclet.help.annotation_type.intro=\u6BCF\u4E2A\u6CE8\u91CA\u7C7B\u578B\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
-doclet.help.annotation_type.declaration=Annotation Type Declaration
-doclet.help.annotation_type.description=Annotation Type Description
-doclet.help.search.head=Search
-doclet.help.search.body=You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".
+doclet.help.annotation_type.declaration=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E
+doclet.help.annotation_type.description=\u6CE8\u91CA\u7C7B\u578B\u8BF4\u660E
+doclet.help.search.head=\u641C\u7D22
+doclet.help.search.body=\u53EF\u4EE5\u4F7F\u7528\u90E8\u5206\u6216\u5B8C\u6574\u540D\u79F0\u641C\u7D22\u6A21\u5757\u3001\u7A0B\u5E8F\u5305\u3001\u7C7B\u578B\u3001\u5B57\u6BB5\u3001\u65B9\u6CD5\u4EE5\u53CA\u5728 API \u4E2D\u5B9A\u4E49\u7684\u5176\u4ED6\u672F\u8BED\u7684\u5B9A\u4E49\u3002\u652F\u6301\u201C\u9A7C\u5CF0\u5927\u5C0F\u5199\u5F0F\u201D\u7F29\u5199\uFF1A\u4F8B\u5982\uFF0C"InpStr" \u5C06\u67E5\u627E "InputStream" \u548C "InputStreamReader"\u3002
 
 doclet.ClassUse_Packages.that.use.0=\u4F7F\u7528{0}\u7684\u7A0B\u5E8F\u5305
 doclet.ClassUse_Uses.of.0.in.1={1}\u4E2D{0}\u7684\u4F7F\u7528
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/c1/TestLinearScanOrder.jasm	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,3090 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+package compiler/c1;
+
+// This jasm code was generated by jdis from the following sources:
+
+/*
+class MyCloseable<T> implements AutoCloseable {
+    public void close() { }
+}
+
+public class Test {
+
+    static int test() {
+        int i = 0;
+        try (MyCloseable ac1 = new MyCloseable();
+             MyCloseable ac2 = new MyCloseable();
+             MyCloseable ac3 = new MyCloseable();
+
+             [...]
+
+             MyCloseable ac100 = new MyCloseable()) {
+            i = 42;
+        }
+        return i;
+    }
+}
+
+*/
+
+super class MyCloseable
+	implements java/lang/AutoCloseable
+	version 52:0
+{
+
+Method "<init>":"()V"
+	stack 1 locals 1
+{
+		aload_0;
+		invokespecial	Method java/lang/Object."<init>":"()V";
+		return;
+}
+
+public Method close:"()V"
+	stack 0 locals 1
+{
+		return;
+}
+
+} // end Class MyCloseable
+
+super public class TestLinearScanOrder
+	version 52:0
+{
+
+static Method test:"()I"
+	stack 2 locals 103
+{
+		iconst_0;
+		istore_0;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore_1;
+		try t198;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore_2;
+		try t196;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore_3;
+		try t194;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	4;
+		try t192;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	5;
+		try t190;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	6;
+		try t188;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	7;
+		try t186;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	8;
+		try t184;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	9;
+		try t182;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	10;
+		try t180;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	11;
+		try t178;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	12;
+		try t176;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	13;
+		try t174;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	14;
+		try t172;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	15;
+		try t170;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	16;
+		try t168;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	17;
+		try t166;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	18;
+		try t164;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	19;
+		try t162;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	20;
+		try t160;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	21;
+		try t158;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	22;
+		try t156;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	23;
+		try t154;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	24;
+		try t152;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	25;
+		try t150;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	26;
+		try t148;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	27;
+		try t146;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	28;
+		try t144;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	29;
+		try t142;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	30;
+		try t140;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	31;
+		try t138;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	32;
+		try t136;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	33;
+		try t134;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	34;
+		try t132;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	35;
+		try t130;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	36;
+		try t128;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	37;
+		try t126;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	38;
+		try t124;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	39;
+		try t122;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	40;
+		try t120;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	41;
+		try t118;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	42;
+		try t116;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	43;
+		try t114;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	44;
+		try t112;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	45;
+		try t110;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	46;
+		try t108;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	47;
+		try t106;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	48;
+		try t104;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	49;
+		try t102;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	50;
+		try t100;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	51;
+		try t98;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	52;
+		try t96;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	53;
+		try t94;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	54;
+		try t92;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	55;
+		try t90;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	56;
+		try t88;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	57;
+		try t86;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	58;
+		try t84;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	59;
+		try t82;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	60;
+		try t80;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	61;
+		try t78;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	62;
+		try t76;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	63;
+		try t74;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	64;
+		try t72;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	65;
+		try t70;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	66;
+		try t68;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	67;
+		try t66;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	68;
+		try t64;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	69;
+		try t62;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	70;
+		try t60;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	71;
+		try t58;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	72;
+		try t56;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	73;
+		try t54;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	74;
+		try t52;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	75;
+		try t50;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	76;
+		try t48;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	77;
+		try t46;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	78;
+		try t44;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	79;
+		try t42;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	80;
+		try t40;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	81;
+		try t38;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	82;
+		try t36;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	83;
+		try t34;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	84;
+		try t32;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	85;
+		try t30;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	86;
+		try t28;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	87;
+		try t26;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	88;
+		try t24;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	89;
+		try t22;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	90;
+		try t20;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	91;
+		try t18;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	92;
+		try t16;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	93;
+		try t14;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	94;
+		try t12;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	95;
+		try t10;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	96;
+		try t8;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	97;
+		try t6;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	98;
+		try t4;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	99;
+		try t2;
+		new	class MyCloseable;
+		dup;
+		invokespecial	Method MyCloseable."<init>":"()V";
+		astore	100;
+		try t0;
+		bipush	42;
+		istore_0;
+		endtry t0;
+		aload	100;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L932;
+		catch t0 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable;
+		stack_map class java/lang/Throwable;
+		astore	101;
+		try t1;
+		aload	100;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t1;
+		goto	L929;
+		catch t1 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	102;
+		aload	101;
+		aload	102;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L929:	stack_frame_type same;
+		aload	101;
+		athrow;
+		endtry t2;
+	L932:	stack_frame_type chop2;
+		aload	99;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L962;
+		catch t2 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	100;
+		try t3;
+		aload	99;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t3;
+		goto	L959;
+		catch t3 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	101;
+		aload	100;
+		aload	101;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L959:	stack_frame_type same;
+		aload	100;
+		athrow;
+		endtry t4;
+	L962:	stack_frame_type chop2;
+		aload	98;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L992;
+		catch t4 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	99;
+		try t5;
+		aload	98;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t5;
+		goto	L989;
+		catch t5 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	100;
+		aload	99;
+		aload	100;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L989:	stack_frame_type same;
+		aload	99;
+		athrow;
+		endtry t6;
+	L992:	stack_frame_type chop2;
+		aload	97;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1022;
+		catch t6 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	98;
+		try t7;
+		aload	97;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t7;
+		goto	L1019;
+		catch t7 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	99;
+		aload	98;
+		aload	99;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1019:	stack_frame_type same;
+		aload	98;
+		athrow;
+		endtry t8;
+	L1022:	stack_frame_type chop2;
+		aload	96;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1052;
+		catch t8 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	97;
+		try t9;
+		aload	96;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t9;
+		goto	L1049;
+		catch t9 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	98;
+		aload	97;
+		aload	98;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1049:	stack_frame_type same;
+		aload	97;
+		athrow;
+		endtry t10;
+	L1052:	stack_frame_type chop2;
+		aload	95;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1082;
+		catch t10 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	96;
+		try t11;
+		aload	95;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t11;
+		goto	L1079;
+		catch t11 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	97;
+		aload	96;
+		aload	97;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1079:	stack_frame_type same;
+		aload	96;
+		athrow;
+		endtry t12;
+	L1082:	stack_frame_type chop2;
+		aload	94;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1112;
+		catch t12 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	95;
+		try t13;
+		aload	94;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t13;
+		goto	L1109;
+		catch t13 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	96;
+		aload	95;
+		aload	96;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1109:	stack_frame_type same;
+		aload	95;
+		athrow;
+		endtry t14;
+	L1112:	stack_frame_type chop2;
+		aload	93;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1142;
+		catch t14 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	94;
+		try t15;
+		aload	93;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t15;
+		goto	L1139;
+		catch t15 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	95;
+		aload	94;
+		aload	95;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1139:	stack_frame_type same;
+		aload	94;
+		athrow;
+		endtry t16;
+	L1142:	stack_frame_type chop2;
+		aload	92;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1172;
+		catch t16 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	93;
+		try t17;
+		aload	92;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t17;
+		goto	L1169;
+		catch t17 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	94;
+		aload	93;
+		aload	94;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1169:	stack_frame_type same;
+		aload	93;
+		athrow;
+		endtry t18;
+	L1172:	stack_frame_type chop2;
+		aload	91;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1202;
+		catch t18 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	92;
+		try t19;
+		aload	91;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t19;
+		goto	L1199;
+		catch t19 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	93;
+		aload	92;
+		aload	93;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1199:	stack_frame_type same;
+		aload	92;
+		athrow;
+		endtry t20;
+	L1202:	stack_frame_type chop2;
+		aload	90;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1232;
+		catch t20 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	91;
+		try t21;
+		aload	90;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t21;
+		goto	L1229;
+		catch t21 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	92;
+		aload	91;
+		aload	92;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1229:	stack_frame_type same;
+		aload	91;
+		athrow;
+		endtry t22;
+	L1232:	stack_frame_type chop2;
+		aload	89;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1262;
+		catch t22 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	90;
+		try t23;
+		aload	89;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t23;
+		goto	L1259;
+		catch t23 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	91;
+		aload	90;
+		aload	91;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1259:	stack_frame_type same;
+		aload	90;
+		athrow;
+		endtry t24;
+	L1262:	stack_frame_type chop2;
+		aload	88;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1292;
+		catch t24 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	89;
+		try t25;
+		aload	88;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t25;
+		goto	L1289;
+		catch t25 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	90;
+		aload	89;
+		aload	90;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1289:	stack_frame_type same;
+		aload	89;
+		athrow;
+		endtry t26;
+	L1292:	stack_frame_type chop2;
+		aload	87;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1322;
+		catch t26 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	88;
+		try t27;
+		aload	87;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t27;
+		goto	L1319;
+		catch t27 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	89;
+		aload	88;
+		aload	89;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1319:	stack_frame_type same;
+		aload	88;
+		athrow;
+		endtry t28;
+	L1322:	stack_frame_type chop2;
+		aload	86;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1352;
+		catch t28 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	87;
+		try t29;
+		aload	86;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t29;
+		goto	L1349;
+		catch t29 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	88;
+		aload	87;
+		aload	88;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1349:	stack_frame_type same;
+		aload	87;
+		athrow;
+		endtry t30;
+	L1352:	stack_frame_type chop2;
+		aload	85;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1382;
+		catch t30 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	86;
+		try t31;
+		aload	85;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t31;
+		goto	L1379;
+		catch t31 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	87;
+		aload	86;
+		aload	87;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1379:	stack_frame_type same;
+		aload	86;
+		athrow;
+		endtry t32;
+	L1382:	stack_frame_type chop2;
+		aload	84;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1412;
+		catch t32 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	85;
+		try t33;
+		aload	84;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t33;
+		goto	L1409;
+		catch t33 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	86;
+		aload	85;
+		aload	86;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1409:	stack_frame_type same;
+		aload	85;
+		athrow;
+		endtry t34;
+	L1412:	stack_frame_type chop2;
+		aload	83;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1442;
+		catch t34 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	84;
+		try t35;
+		aload	83;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t35;
+		goto	L1439;
+		catch t35 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	85;
+		aload	84;
+		aload	85;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1439:	stack_frame_type same;
+		aload	84;
+		athrow;
+		endtry t36;
+	L1442:	stack_frame_type chop2;
+		aload	82;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1472;
+		catch t36 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	83;
+		try t37;
+		aload	82;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t37;
+		goto	L1469;
+		catch t37 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	84;
+		aload	83;
+		aload	84;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1469:	stack_frame_type same;
+		aload	83;
+		athrow;
+		endtry t38;
+	L1472:	stack_frame_type chop2;
+		aload	81;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1502;
+		catch t38 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	82;
+		try t39;
+		aload	81;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t39;
+		goto	L1499;
+		catch t39 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	83;
+		aload	82;
+		aload	83;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1499:	stack_frame_type same;
+		aload	82;
+		athrow;
+		endtry t40;
+	L1502:	stack_frame_type chop2;
+		aload	80;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1532;
+		catch t40 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	81;
+		try t41;
+		aload	80;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t41;
+		goto	L1529;
+		catch t41 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	82;
+		aload	81;
+		aload	82;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1529:	stack_frame_type same;
+		aload	81;
+		athrow;
+		endtry t42;
+	L1532:	stack_frame_type chop2;
+		aload	79;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1562;
+		catch t42 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	80;
+		try t43;
+		aload	79;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t43;
+		goto	L1559;
+		catch t43 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	81;
+		aload	80;
+		aload	81;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1559:	stack_frame_type same;
+		aload	80;
+		athrow;
+		endtry t44;
+	L1562:	stack_frame_type chop2;
+		aload	78;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1592;
+		catch t44 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	79;
+		try t45;
+		aload	78;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t45;
+		goto	L1589;
+		catch t45 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	80;
+		aload	79;
+		aload	80;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1589:	stack_frame_type same;
+		aload	79;
+		athrow;
+		endtry t46;
+	L1592:	stack_frame_type chop2;
+		aload	77;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1622;
+		catch t46 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	78;
+		try t47;
+		aload	77;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t47;
+		goto	L1619;
+		catch t47 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	79;
+		aload	78;
+		aload	79;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1619:	stack_frame_type same;
+		aload	78;
+		athrow;
+		endtry t48;
+	L1622:	stack_frame_type chop2;
+		aload	76;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1652;
+		catch t48 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	77;
+		try t49;
+		aload	76;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t49;
+		goto	L1649;
+		catch t49 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	78;
+		aload	77;
+		aload	78;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1649:	stack_frame_type same;
+		aload	77;
+		athrow;
+		endtry t50;
+	L1652:	stack_frame_type chop2;
+		aload	75;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1682;
+		catch t50 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	76;
+		try t51;
+		aload	75;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t51;
+		goto	L1679;
+		catch t51 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	77;
+		aload	76;
+		aload	77;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1679:	stack_frame_type same;
+		aload	76;
+		athrow;
+		endtry t52;
+	L1682:	stack_frame_type chop2;
+		aload	74;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1712;
+		catch t52 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	75;
+		try t53;
+		aload	74;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t53;
+		goto	L1709;
+		catch t53 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	76;
+		aload	75;
+		aload	76;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1709:	stack_frame_type same;
+		aload	75;
+		athrow;
+		endtry t54;
+	L1712:	stack_frame_type chop2;
+		aload	73;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1742;
+		catch t54 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	74;
+		try t55;
+		aload	73;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t55;
+		goto	L1739;
+		catch t55 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	75;
+		aload	74;
+		aload	75;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1739:	stack_frame_type same;
+		aload	74;
+		athrow;
+		endtry t56;
+	L1742:	stack_frame_type chop2;
+		aload	72;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1772;
+		catch t56 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	73;
+		try t57;
+		aload	72;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t57;
+		goto	L1769;
+		catch t57 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	74;
+		aload	73;
+		aload	74;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1769:	stack_frame_type same;
+		aload	73;
+		athrow;
+		endtry t58;
+	L1772:	stack_frame_type chop2;
+		aload	71;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1802;
+		catch t58 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	72;
+		try t59;
+		aload	71;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t59;
+		goto	L1799;
+		catch t59 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	73;
+		aload	72;
+		aload	73;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1799:	stack_frame_type same;
+		aload	72;
+		athrow;
+		endtry t60;
+	L1802:	stack_frame_type chop2;
+		aload	70;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1832;
+		catch t60 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	71;
+		try t61;
+		aload	70;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t61;
+		goto	L1829;
+		catch t61 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	72;
+		aload	71;
+		aload	72;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1829:	stack_frame_type same;
+		aload	71;
+		athrow;
+		endtry t62;
+	L1832:	stack_frame_type chop2;
+		aload	69;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1862;
+		catch t62 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	70;
+		try t63;
+		aload	69;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t63;
+		goto	L1859;
+		catch t63 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	71;
+		aload	70;
+		aload	71;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1859:	stack_frame_type same;
+		aload	70;
+		athrow;
+		endtry t64;
+	L1862:	stack_frame_type chop2;
+		aload	68;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1892;
+		catch t64 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	69;
+		try t65;
+		aload	68;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t65;
+		goto	L1889;
+		catch t65 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	70;
+		aload	69;
+		aload	70;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1889:	stack_frame_type same;
+		aload	69;
+		athrow;
+		endtry t66;
+	L1892:	stack_frame_type chop2;
+		aload	67;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1922;
+		catch t66 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	68;
+		try t67;
+		aload	67;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t67;
+		goto	L1919;
+		catch t67 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	69;
+		aload	68;
+		aload	69;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1919:	stack_frame_type same;
+		aload	68;
+		athrow;
+		endtry t68;
+	L1922:	stack_frame_type chop2;
+		aload	66;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1952;
+		catch t68 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	67;
+		try t69;
+		aload	66;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t69;
+		goto	L1949;
+		catch t69 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	68;
+		aload	67;
+		aload	68;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1949:	stack_frame_type same;
+		aload	67;
+		athrow;
+		endtry t70;
+	L1952:	stack_frame_type chop2;
+		aload	65;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L1982;
+		catch t70 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	66;
+		try t71;
+		aload	65;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t71;
+		goto	L1979;
+		catch t71 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	67;
+		aload	66;
+		aload	67;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L1979:	stack_frame_type same;
+		aload	66;
+		athrow;
+		endtry t72;
+	L1982:	stack_frame_type chop2;
+		aload	64;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2012;
+		catch t72 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	65;
+		try t73;
+		aload	64;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t73;
+		goto	L2009;
+		catch t73 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	66;
+		aload	65;
+		aload	66;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2009:	stack_frame_type same;
+		aload	65;
+		athrow;
+		endtry t74;
+	L2012:	stack_frame_type chop2;
+		aload	63;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2042;
+		catch t74 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	64;
+		try t75;
+		aload	63;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t75;
+		goto	L2039;
+		catch t75 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	65;
+		aload	64;
+		aload	65;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2039:	stack_frame_type same;
+		aload	64;
+		athrow;
+		endtry t76;
+	L2042:	stack_frame_type chop2;
+		aload	62;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2072;
+		catch t76 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	63;
+		try t77;
+		aload	62;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t77;
+		goto	L2069;
+		catch t77 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	64;
+		aload	63;
+		aload	64;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2069:	stack_frame_type same;
+		aload	63;
+		athrow;
+		endtry t78;
+	L2072:	stack_frame_type chop2;
+		aload	61;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2102;
+		catch t78 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	62;
+		try t79;
+		aload	61;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t79;
+		goto	L2099;
+		catch t79 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	63;
+		aload	62;
+		aload	63;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2099:	stack_frame_type same;
+		aload	62;
+		athrow;
+		endtry t80;
+	L2102:	stack_frame_type chop2;
+		aload	60;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2132;
+		catch t80 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	61;
+		try t81;
+		aload	60;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t81;
+		goto	L2129;
+		catch t81 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	62;
+		aload	61;
+		aload	62;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2129:	stack_frame_type same;
+		aload	61;
+		athrow;
+		endtry t82;
+	L2132:	stack_frame_type chop2;
+		aload	59;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2162;
+		catch t82 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	60;
+		try t83;
+		aload	59;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t83;
+		goto	L2159;
+		catch t83 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	61;
+		aload	60;
+		aload	61;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2159:	stack_frame_type same;
+		aload	60;
+		athrow;
+		endtry t84;
+	L2162:	stack_frame_type chop2;
+		aload	58;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2192;
+		catch t84 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	59;
+		try t85;
+		aload	58;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t85;
+		goto	L2189;
+		catch t85 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	60;
+		aload	59;
+		aload	60;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2189:	stack_frame_type same;
+		aload	59;
+		athrow;
+		endtry t86;
+	L2192:	stack_frame_type chop2;
+		aload	57;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2222;
+		catch t86 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	58;
+		try t87;
+		aload	57;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t87;
+		goto	L2219;
+		catch t87 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	59;
+		aload	58;
+		aload	59;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2219:	stack_frame_type same;
+		aload	58;
+		athrow;
+		endtry t88;
+	L2222:	stack_frame_type chop2;
+		aload	56;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2252;
+		catch t88 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	57;
+		try t89;
+		aload	56;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t89;
+		goto	L2249;
+		catch t89 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	58;
+		aload	57;
+		aload	58;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2249:	stack_frame_type same;
+		aload	57;
+		athrow;
+		endtry t90;
+	L2252:	stack_frame_type chop2;
+		aload	55;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2282;
+		catch t90 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	56;
+		try t91;
+		aload	55;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t91;
+		goto	L2279;
+		catch t91 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	57;
+		aload	56;
+		aload	57;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2279:	stack_frame_type same;
+		aload	56;
+		athrow;
+		endtry t92;
+	L2282:	stack_frame_type chop2;
+		aload	54;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2312;
+		catch t92 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	55;
+		try t93;
+		aload	54;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t93;
+		goto	L2309;
+		catch t93 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	56;
+		aload	55;
+		aload	56;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2309:	stack_frame_type same;
+		aload	55;
+		athrow;
+		endtry t94;
+	L2312:	stack_frame_type chop2;
+		aload	53;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2342;
+		catch t94 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	54;
+		try t95;
+		aload	53;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t95;
+		goto	L2339;
+		catch t95 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	55;
+		aload	54;
+		aload	55;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2339:	stack_frame_type same;
+		aload	54;
+		athrow;
+		endtry t96;
+	L2342:	stack_frame_type chop2;
+		aload	52;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2372;
+		catch t96 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	53;
+		try t97;
+		aload	52;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t97;
+		goto	L2369;
+		catch t97 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	54;
+		aload	53;
+		aload	54;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2369:	stack_frame_type same;
+		aload	53;
+		athrow;
+		endtry t98;
+	L2372:	stack_frame_type chop2;
+		aload	51;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2402;
+		catch t98 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	52;
+		try t99;
+		aload	51;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t99;
+		goto	L2399;
+		catch t99 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	53;
+		aload	52;
+		aload	53;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2399:	stack_frame_type same;
+		aload	52;
+		athrow;
+		endtry t100;
+	L2402:	stack_frame_type chop2;
+		aload	50;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2432;
+		catch t100 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	51;
+		try t101;
+		aload	50;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t101;
+		goto	L2429;
+		catch t101 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	52;
+		aload	51;
+		aload	52;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2429:	stack_frame_type same;
+		aload	51;
+		athrow;
+		endtry t102;
+	L2432:	stack_frame_type chop2;
+		aload	49;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2462;
+		catch t102 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	50;
+		try t103;
+		aload	49;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t103;
+		goto	L2459;
+		catch t103 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	51;
+		aload	50;
+		aload	51;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2459:	stack_frame_type same;
+		aload	50;
+		athrow;
+		endtry t104;
+	L2462:	stack_frame_type chop2;
+		aload	48;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2492;
+		catch t104 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	49;
+		try t105;
+		aload	48;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t105;
+		goto	L2489;
+		catch t105 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	50;
+		aload	49;
+		aload	50;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2489:	stack_frame_type same;
+		aload	49;
+		athrow;
+		endtry t106;
+	L2492:	stack_frame_type chop2;
+		aload	47;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2522;
+		catch t106 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	48;
+		try t107;
+		aload	47;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t107;
+		goto	L2519;
+		catch t107 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	49;
+		aload	48;
+		aload	49;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2519:	stack_frame_type same;
+		aload	48;
+		athrow;
+		endtry t108;
+	L2522:	stack_frame_type chop2;
+		aload	46;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2552;
+		catch t108 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	47;
+		try t109;
+		aload	46;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t109;
+		goto	L2549;
+		catch t109 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	48;
+		aload	47;
+		aload	48;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2549:	stack_frame_type same;
+		aload	47;
+		athrow;
+		endtry t110;
+	L2552:	stack_frame_type chop2;
+		aload	45;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2582;
+		catch t110 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	46;
+		try t111;
+		aload	45;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t111;
+		goto	L2579;
+		catch t111 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	47;
+		aload	46;
+		aload	47;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2579:	stack_frame_type same;
+		aload	46;
+		athrow;
+		endtry t112;
+	L2582:	stack_frame_type chop2;
+		aload	44;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2612;
+		catch t112 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	45;
+		try t113;
+		aload	44;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t113;
+		goto	L2609;
+		catch t113 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	46;
+		aload	45;
+		aload	46;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2609:	stack_frame_type same;
+		aload	45;
+		athrow;
+		endtry t114;
+	L2612:	stack_frame_type chop2;
+		aload	43;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2642;
+		catch t114 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	44;
+		try t115;
+		aload	43;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t115;
+		goto	L2639;
+		catch t115 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	45;
+		aload	44;
+		aload	45;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2639:	stack_frame_type same;
+		aload	44;
+		athrow;
+		endtry t116;
+	L2642:	stack_frame_type chop2;
+		aload	42;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2672;
+		catch t116 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	43;
+		try t117;
+		aload	42;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t117;
+		goto	L2669;
+		catch t117 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	44;
+		aload	43;
+		aload	44;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2669:	stack_frame_type same;
+		aload	43;
+		athrow;
+		endtry t118;
+	L2672:	stack_frame_type chop2;
+		aload	41;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2702;
+		catch t118 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	42;
+		try t119;
+		aload	41;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t119;
+		goto	L2699;
+		catch t119 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	43;
+		aload	42;
+		aload	43;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2699:	stack_frame_type same;
+		aload	42;
+		athrow;
+		endtry t120;
+	L2702:	stack_frame_type chop2;
+		aload	40;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2732;
+		catch t120 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	41;
+		try t121;
+		aload	40;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t121;
+		goto	L2729;
+		catch t121 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	42;
+		aload	41;
+		aload	42;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2729:	stack_frame_type same;
+		aload	41;
+		athrow;
+		endtry t122;
+	L2732:	stack_frame_type chop2;
+		aload	39;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2762;
+		catch t122 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	40;
+		try t123;
+		aload	39;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t123;
+		goto	L2759;
+		catch t123 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	41;
+		aload	40;
+		aload	41;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2759:	stack_frame_type same;
+		aload	40;
+		athrow;
+		endtry t124;
+	L2762:	stack_frame_type chop2;
+		aload	38;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2792;
+		catch t124 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	39;
+		try t125;
+		aload	38;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t125;
+		goto	L2789;
+		catch t125 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	40;
+		aload	39;
+		aload	40;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2789:	stack_frame_type same;
+		aload	39;
+		athrow;
+		endtry t126;
+	L2792:	stack_frame_type chop2;
+		aload	37;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2822;
+		catch t126 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	38;
+		try t127;
+		aload	37;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t127;
+		goto	L2819;
+		catch t127 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	39;
+		aload	38;
+		aload	39;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2819:	stack_frame_type same;
+		aload	38;
+		athrow;
+		endtry t128;
+	L2822:	stack_frame_type chop2;
+		aload	36;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2852;
+		catch t128 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	37;
+		try t129;
+		aload	36;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t129;
+		goto	L2849;
+		catch t129 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	38;
+		aload	37;
+		aload	38;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2849:	stack_frame_type same;
+		aload	37;
+		athrow;
+		endtry t130;
+	L2852:	stack_frame_type chop2;
+		aload	35;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2882;
+		catch t130 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	36;
+		try t131;
+		aload	35;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t131;
+		goto	L2879;
+		catch t131 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	37;
+		aload	36;
+		aload	37;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2879:	stack_frame_type same;
+		aload	36;
+		athrow;
+		endtry t132;
+	L2882:	stack_frame_type chop2;
+		aload	34;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2912;
+		catch t132 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	35;
+		try t133;
+		aload	34;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t133;
+		goto	L2909;
+		catch t133 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	36;
+		aload	35;
+		aload	36;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2909:	stack_frame_type same;
+		aload	35;
+		athrow;
+		endtry t134;
+	L2912:	stack_frame_type chop2;
+		aload	33;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2942;
+		catch t134 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	34;
+		try t135;
+		aload	33;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t135;
+		goto	L2939;
+		catch t135 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	35;
+		aload	34;
+		aload	35;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2939:	stack_frame_type same;
+		aload	34;
+		athrow;
+		endtry t136;
+	L2942:	stack_frame_type chop2;
+		aload	32;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L2972;
+		catch t136 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	33;
+		try t137;
+		aload	32;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t137;
+		goto	L2969;
+		catch t137 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	34;
+		aload	33;
+		aload	34;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2969:	stack_frame_type same;
+		aload	33;
+		athrow;
+		endtry t138;
+	L2972:	stack_frame_type chop2;
+		aload	31;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3002;
+		catch t138 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	32;
+		try t139;
+		aload	31;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t139;
+		goto	L2999;
+		catch t139 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	33;
+		aload	32;
+		aload	33;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L2999:	stack_frame_type same;
+		aload	32;
+		athrow;
+		endtry t140;
+	L3002:	stack_frame_type chop2;
+		aload	30;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3032;
+		catch t140 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	31;
+		try t141;
+		aload	30;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t141;
+		goto	L3029;
+		catch t141 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	32;
+		aload	31;
+		aload	32;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3029:	stack_frame_type same;
+		aload	31;
+		athrow;
+		endtry t142;
+	L3032:	stack_frame_type chop2;
+		aload	29;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3062;
+		catch t142 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	30;
+		try t143;
+		aload	29;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t143;
+		goto	L3059;
+		catch t143 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	31;
+		aload	30;
+		aload	31;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3059:	stack_frame_type same;
+		aload	30;
+		athrow;
+		endtry t144;
+	L3062:	stack_frame_type chop2;
+		aload	28;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3092;
+		catch t144 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	29;
+		try t145;
+		aload	28;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t145;
+		goto	L3089;
+		catch t145 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	30;
+		aload	29;
+		aload	30;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3089:	stack_frame_type same;
+		aload	29;
+		athrow;
+		endtry t146;
+	L3092:	stack_frame_type chop2;
+		aload	27;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3122;
+		catch t146 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	28;
+		try t147;
+		aload	27;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t147;
+		goto	L3119;
+		catch t147 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	29;
+		aload	28;
+		aload	29;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3119:	stack_frame_type same;
+		aload	28;
+		athrow;
+		endtry t148;
+	L3122:	stack_frame_type chop2;
+		aload	26;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3152;
+		catch t148 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	27;
+		try t149;
+		aload	26;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t149;
+		goto	L3149;
+		catch t149 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	28;
+		aload	27;
+		aload	28;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3149:	stack_frame_type same;
+		aload	27;
+		athrow;
+		endtry t150;
+	L3152:	stack_frame_type chop2;
+		aload	25;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3182;
+		catch t150 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	26;
+		try t151;
+		aload	25;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t151;
+		goto	L3179;
+		catch t151 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	27;
+		aload	26;
+		aload	27;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3179:	stack_frame_type same;
+		aload	26;
+		athrow;
+		endtry t152;
+	L3182:	stack_frame_type chop2;
+		aload	24;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3212;
+		catch t152 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	25;
+		try t153;
+		aload	24;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t153;
+		goto	L3209;
+		catch t153 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	26;
+		aload	25;
+		aload	26;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3209:	stack_frame_type same;
+		aload	25;
+		athrow;
+		endtry t154;
+	L3212:	stack_frame_type chop2;
+		aload	23;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3242;
+		catch t154 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	24;
+		try t155;
+		aload	23;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t155;
+		goto	L3239;
+		catch t155 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	25;
+		aload	24;
+		aload	25;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3239:	stack_frame_type same;
+		aload	24;
+		athrow;
+		endtry t156;
+	L3242:	stack_frame_type chop2;
+		aload	22;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3272;
+		catch t156 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	23;
+		try t157;
+		aload	22;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t157;
+		goto	L3269;
+		catch t157 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	24;
+		aload	23;
+		aload	24;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3269:	stack_frame_type same;
+		aload	23;
+		athrow;
+		endtry t158;
+	L3272:	stack_frame_type chop2;
+		aload	21;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3302;
+		catch t158 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	22;
+		try t159;
+		aload	21;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t159;
+		goto	L3299;
+		catch t159 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	23;
+		aload	22;
+		aload	23;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3299:	stack_frame_type same;
+		aload	22;
+		athrow;
+		endtry t160;
+	L3302:	stack_frame_type chop2;
+		aload	20;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3332;
+		catch t160 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	21;
+		try t161;
+		aload	20;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t161;
+		goto	L3329;
+		catch t161 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	22;
+		aload	21;
+		aload	22;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3329:	stack_frame_type same;
+		aload	21;
+		athrow;
+		endtry t162;
+	L3332:	stack_frame_type chop2;
+		aload	19;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3362;
+		catch t162 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	20;
+		try t163;
+		aload	19;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t163;
+		goto	L3359;
+		catch t163 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	21;
+		aload	20;
+		aload	21;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3359:	stack_frame_type same;
+		aload	20;
+		athrow;
+		endtry t164;
+	L3362:	stack_frame_type chop2;
+		aload	18;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3392;
+		catch t164 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	19;
+		try t165;
+		aload	18;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t165;
+		goto	L3389;
+		catch t165 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	20;
+		aload	19;
+		aload	20;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3389:	stack_frame_type same;
+		aload	19;
+		athrow;
+		endtry t166;
+	L3392:	stack_frame_type chop2;
+		aload	17;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3422;
+		catch t166 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	18;
+		try t167;
+		aload	17;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t167;
+		goto	L3419;
+		catch t167 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	19;
+		aload	18;
+		aload	19;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3419:	stack_frame_type same;
+		aload	18;
+		athrow;
+		endtry t168;
+	L3422:	stack_frame_type chop2;
+		aload	16;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3452;
+		catch t168 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	17;
+		try t169;
+		aload	16;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t169;
+		goto	L3449;
+		catch t169 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	18;
+		aload	17;
+		aload	18;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3449:	stack_frame_type same;
+		aload	17;
+		athrow;
+		endtry t170;
+	L3452:	stack_frame_type chop2;
+		aload	15;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3482;
+		catch t170 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	16;
+		try t171;
+		aload	15;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t171;
+		goto	L3479;
+		catch t171 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	17;
+		aload	16;
+		aload	17;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3479:	stack_frame_type same;
+		aload	16;
+		athrow;
+		endtry t172;
+	L3482:	stack_frame_type chop2;
+		aload	14;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3512;
+		catch t172 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	15;
+		try t173;
+		aload	14;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t173;
+		goto	L3509;
+		catch t173 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	16;
+		aload	15;
+		aload	16;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3509:	stack_frame_type same;
+		aload	15;
+		athrow;
+		endtry t174;
+	L3512:	stack_frame_type chop2;
+		aload	13;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3542;
+		catch t174 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	14;
+		try t175;
+		aload	13;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t175;
+		goto	L3539;
+		catch t175 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	15;
+		aload	14;
+		aload	15;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3539:	stack_frame_type same;
+		aload	14;
+		athrow;
+		endtry t176;
+	L3542:	stack_frame_type chop2;
+		aload	12;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3572;
+		catch t176 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	13;
+		try t177;
+		aload	12;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t177;
+		goto	L3569;
+		catch t177 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	14;
+		aload	13;
+		aload	14;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3569:	stack_frame_type same;
+		aload	13;
+		athrow;
+		endtry t178;
+	L3572:	stack_frame_type chop2;
+		aload	11;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3602;
+		catch t178 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	12;
+		try t179;
+		aload	11;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t179;
+		goto	L3599;
+		catch t179 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	13;
+		aload	12;
+		aload	13;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3599:	stack_frame_type same;
+		aload	12;
+		athrow;
+		endtry t180;
+	L3602:	stack_frame_type chop2;
+		aload	10;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3632;
+		catch t180 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	11;
+		try t181;
+		aload	10;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t181;
+		goto	L3629;
+		catch t181 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	12;
+		aload	11;
+		aload	12;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3629:	stack_frame_type same;
+		aload	11;
+		athrow;
+		endtry t182;
+	L3632:	stack_frame_type chop2;
+		aload	9;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3662;
+		catch t182 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	10;
+		try t183;
+		aload	9;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t183;
+		goto	L3659;
+		catch t183 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	11;
+		aload	10;
+		aload	11;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3659:	stack_frame_type same;
+		aload	10;
+		athrow;
+		endtry t184;
+	L3662:	stack_frame_type chop2;
+		aload	8;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3692;
+		catch t184 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	9;
+		try t185;
+		aload	8;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t185;
+		goto	L3689;
+		catch t185 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	10;
+		aload	9;
+		aload	10;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3689:	stack_frame_type same;
+		aload	9;
+		athrow;
+		endtry t186;
+	L3692:	stack_frame_type chop2;
+		aload	7;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3722;
+		catch t186 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	8;
+		try t187;
+		aload	7;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t187;
+		goto	L3719;
+		catch t187 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	9;
+		aload	8;
+		aload	9;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3719:	stack_frame_type same;
+		aload	8;
+		athrow;
+		endtry t188;
+	L3722:	stack_frame_type chop2;
+		aload	6;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3752;
+		catch t188 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	7;
+		try t189;
+		aload	6;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t189;
+		goto	L3749;
+		catch t189 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	8;
+		aload	7;
+		aload	8;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3749:	stack_frame_type same;
+		aload	7;
+		athrow;
+		endtry t190;
+	L3752:	stack_frame_type chop2;
+		aload	5;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3782;
+		catch t190 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	6;
+		try t191;
+		aload	5;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t191;
+		goto	L3779;
+		catch t191 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	7;
+		aload	6;
+		aload	7;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3779:	stack_frame_type same;
+		aload	6;
+		athrow;
+		endtry t192;
+	L3782:	stack_frame_type chop2;
+		aload	4;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3812;
+		catch t192 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	5;
+		try t193;
+		aload	4;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t193;
+		goto	L3809;
+		catch t193 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	6;
+		aload	5;
+		aload	6;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3809:	stack_frame_type same;
+		aload	5;
+		athrow;
+		endtry t194;
+	L3812:	stack_frame_type chop2;
+		aload_3;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3840;
+		catch t194 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore	4;
+		try t195;
+		aload_3;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t195;
+		goto	L3837;
+		catch t195 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	5;
+		aload	4;
+		aload	5;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3837:	stack_frame_type same;
+		aload	4;
+		athrow;
+		endtry t196;
+	L3840:	stack_frame_type chop2;
+		aload_2;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3865;
+		catch t196 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore_3;
+		try t197;
+		aload_2;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t197;
+		goto	L3863;
+		catch t197 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore	4;
+		aload_3;
+		aload	4;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3863:	stack_frame_type same;
+		aload_3;
+		athrow;
+		endtry t198;
+	L3865:	stack_frame_type chop2;
+		aload_1;
+		invokevirtual	Method MyCloseable.close:"()V";
+		goto	L3888;
+		catch t198 java/lang/Throwable;
+		stack_frame_type stack1;
+		stack_map class java/lang/Throwable;
+		astore_2;
+		try t199;
+		aload_1;
+		invokevirtual	Method MyCloseable.close:"()V";
+		endtry t199;
+		goto	L3886;
+		catch t199 java/lang/Throwable;
+		stack_frame_type full;
+		locals_map int, class MyCloseable, class java/lang/Throwable;
+		stack_map class java/lang/Throwable;
+		astore_3;
+		aload_2;
+		aload_3;
+		invokevirtual	Method java/lang/Throwable.addSuppressed:"(Ljava/lang/Throwable;)V";
+	L3886:	stack_frame_type same;
+		aload_2;
+		athrow;
+	L3888:	stack_frame_type chop2;
+		iload_0;
+		ireturn;
+}
+
+} // end Class TestLinearScanOrder
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/c1/TestLinearScanOrderMain.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8207355
+ * @compile TestLinearScanOrder.jasm
+ * @run main/othervm -Xcomp -XX:+TieredCompilation -XX:TieredStopAtLevel=1
+ *                   -XX:CompileCommand=compileonly,compiler.c1.TestLinearScanOrder::test
+ *                   compiler.c1.TestLinearScanOrderMain
+ */
+
+package compiler.c1;
+
+// WARNING: This test will not fail but time out in C1's ComputeLinearScanOrder phase
+public class TestLinearScanOrderMain {
+    public static void main(String[] args) {
+        if (TestLinearScanOrder.test() != 42) {
+            throw new RuntimeException("Test failed");
+        }
+    }
+}
--- a/test/hotspot/jtreg/compiler/linkage/CallSites.jasm	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/hotspot/jtreg/compiler/linkage/CallSites.jasm	Thu Aug 09 10:08:07 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -21,12 +21,6 @@
  * questions.
  *
  */
-super class compiler/linkage/I
-version 52:0
-{
-
-}
-
 
 super class compiler/linkage/CallSites
 version 52:0
--- a/test/hotspot/jtreg/compiler/linkage/LinkageErrors.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/hotspot/jtreg/compiler/linkage/LinkageErrors.java	Thu Aug 09 10:08:07 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -54,11 +54,24 @@
 public class LinkageErrors {
     final static MethodHandles.Lookup L = MethodHandles.lookup();
 
-    static void test(MethodHandle mh) {
+    static void testICCE(MethodHandle mh) {
         try {
             mh.invokeExact();
             throw new AssertionError("No exception thrown");
-        } catch (LinkageError e) {
+        } catch (IncompatibleClassChangeError e) {
+            return; // expected
+        } catch (AssertionError e) {
+            throw e; // rethrow
+        } catch (Throwable e) {
+            throw new AssertionError("Unexpected exception", e);
+        }
+    }
+
+    static void testNSME(MethodHandle mh) {
+        try {
+            mh.invokeExact();
+            throw new AssertionError("No exception thrown");
+        } catch (NoSuchMethodError e) {
             return; // expected
         } catch (AssertionError e) {
             throw e; // rethrow
@@ -93,18 +106,18 @@
         MethodHandle testX3_null = testX3.bindTo(null);
 
         for (int i = 0; i < 20_000; i++) {
-            test(testI1_A);
-            test(testI1_null);
-            test(testX1_X);
-            test(testX1_null);
+            testNSME(testI1_A);
+            testNSME(testI1_null);
+            testNSME(testX1_X);
+            testNSME(testX1_null);
 
-            test(testI2);
-            test(testX2);
+            testICCE(testI2);
+            testICCE(testX2);
 
-            test(testI3_A);
-            test(testI3_null);
-            test(testX3_X);
-            test(testX3_null);
+            testICCE(testI3_A);
+            testICCE(testI3_null);
+            testICCE(testX3_X);
+            testICCE(testX3_null);
         }
 
         System.out.println("TEST PASSED");
--- a/test/hotspot/jtreg/compiler/whitebox/CompilerWhiteBoxTest.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/hotspot/jtreg/compiler/whitebox/CompilerWhiteBoxTest.java	Thu Aug 09 10:08:07 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -85,8 +85,8 @@
             BACKEDGE_THRESHOLD = THRESHOLD = 150000;
         } else {
             THRESHOLD = COMPILE_THRESHOLD;
-            BACKEDGE_THRESHOLD = COMPILE_THRESHOLD * Long.parseLong(getVMOption(
-                    "OnStackReplacePercentage"));
+            BACKEDGE_THRESHOLD = Math.max(10000, COMPILE_THRESHOLD *
+                    Long.parseLong(getVMOption("OnStackReplacePercentage")));
         }
     }
 
--- a/test/jdk/java/net/Socket/ExceptionText.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/jdk/java/net/Socket/ExceptionText.java	Thu Aug 09 10:08:07 2018 -0700
@@ -25,10 +25,12 @@
  * @test
  * @library /test/lib
  * @build jdk.test.lib.Utils
- * @bug 8204233 8207846
+ * @bug 8204233 8207846 8208691
  * @summary Add configurable option for enhanced socket IOException messages
  * @run main/othervm
  *       ExceptionText
+ * @run main/othervm
+ *       ExceptionText
  *       WITHOUT_Enhanced_Text
  * @run main/othervm
  *       -Djdk.includeInExceptions=
@@ -62,6 +64,7 @@
 import java.nio.channels.AsynchronousSocketChannel;
 import java.nio.channels.ClosedChannelException;
 import java.nio.channels.SocketChannel;
+import java.security.Security;
 import java.util.concurrent.ExecutionException;
 import jdk.test.lib.Utils;
 
@@ -70,20 +73,33 @@
     enum TestTarget {SOCKET, CHANNEL, ASYNC_CHANNEL};
 
     public static void main(String args[]) throws Exception {
-        String passOrFail = args[0];
-        boolean expectEnhancedText;
-        if (passOrFail.equals("expectEnhancedText")) {
-            expectEnhancedText = true;
+        if (args.length == 0) {
+            testSecProp();
         } else {
-            expectEnhancedText = false;
+            String passOrFail = args[0];
+            boolean expectEnhancedText;
+            if (passOrFail.equals("expectEnhancedText")) {
+                expectEnhancedText = true;
+            } else {
+                expectEnhancedText = false;
+            }
+            test(expectEnhancedText);
         }
-        test(expectEnhancedText);
     }
 
     static final InetSocketAddress dest  = Utils.refusingEndpoint();
     static final String PORT = ":" + Integer.toString(dest.getPort());
     static final String HOST = dest.getHostString();
 
+    static void testSecProp() {
+        String incInExc = Security.getProperty("jdk.includeInExceptions");
+        if (incInExc != null) {
+            throw new RuntimeException("Test failed: default value of " +
+                "jdk.includeInExceptions security property is not null: " +
+                incInExc);
+        }
+    }
+
     static void test(boolean withProperty) {
         // Socket
         IOException e = getException(TestTarget.SOCKET);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/AbstractConnectTimeout.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,257 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.ConnectException;
+import java.net.InetSocketAddress;
+import java.net.NoRouteToHostException;
+import java.net.ProxySelector;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpClient.Version;
+import java.net.http.HttpConnectTimeoutException;
+import java.net.http.HttpRequest;
+import java.net.http.HttpRequest.BodyPublishers;
+import java.net.http.HttpResponse;
+import java.net.http.HttpResponse.BodyHandlers;
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CompletionException;
+import org.testng.annotations.DataProvider;
+import static java.lang.System.out;
+import static java.net.http.HttpClient.Builder.NO_PROXY;
+import static java.net.http.HttpClient.Version.HTTP_1_1;
+import static java.net.http.HttpClient.Version.HTTP_2;
+import static java.time.Duration.*;
+import static java.util.concurrent.TimeUnit.NANOSECONDS;
+import static org.testng.Assert.fail;
+
+public abstract class AbstractConnectTimeout {
+
+    static final Duration NO_DURATION = null;
+
+    static List<List<Duration>> TIMEOUTS = List.of(
+                    // connectTimeout   HttpRequest timeout
+            Arrays.asList( NO_DURATION,   ofSeconds(1)  ),
+            Arrays.asList( NO_DURATION,   ofMillis(100) ),
+            Arrays.asList( NO_DURATION,   ofNanos(99)   ),
+            Arrays.asList( NO_DURATION,   ofNanos(1)    ),
+
+            Arrays.asList( ofSeconds(1),  NO_DURATION   ),
+            Arrays.asList( ofMillis(100), NO_DURATION   ),
+            Arrays.asList( ofNanos(99),   NO_DURATION   ),
+            Arrays.asList( ofNanos(1),    NO_DURATION   ),
+
+            Arrays.asList( ofSeconds(1),  ofMinutes(1)  ),
+            Arrays.asList( ofMillis(100), ofMinutes(1)  ),
+            Arrays.asList( ofNanos(99),   ofMinutes(1)  ),
+            Arrays.asList( ofNanos(1),    ofMinutes(1)  )
+    );
+
+    static final List<String> METHODS = List.of("GET", "POST");
+    static final List<Version> VERSIONS = List.of(HTTP_2, HTTP_1_1);
+    static final List<String> SCHEMES = List.of("https", "http");
+
+    @DataProvider(name = "variants")
+    public Object[][] variants() {
+        List<Object[]> l = new ArrayList<>();
+        for (List<Duration> timeouts : TIMEOUTS) {
+           Duration connectTimeout = timeouts.get(0);
+           Duration requestTimeout = timeouts.get(1);
+           for (String method: METHODS) {
+            for (String scheme : SCHEMES) {
+             for (Version requestVersion : VERSIONS) {
+              l.add(new Object[] {requestVersion, scheme, method, connectTimeout, requestTimeout});
+        }}}}
+        return l.stream().toArray(Object[][]::new);
+    }
+
+    static final ProxySelector EXAMPLE_DOT_COM_PROXY = ProxySelector.of(
+            InetSocketAddress.createUnresolved("example.com", 8080));
+
+    //@Test(dataProvider = "variants")
+    protected void timeoutNoProxySync(Version requestVersion,
+                                      String scheme,
+                                      String method,
+                                      Duration connectTimeout,
+                                      Duration requestTimeout)
+        throws Exception
+    {
+        timeoutSync(requestVersion, scheme, method, connectTimeout, requestTimeout, NO_PROXY);
+    }
+
+    //@Test(dataProvider = "variants")
+    protected void timeoutWithProxySync(Version requestVersion,
+                                        String scheme,
+                                        String method,
+                                        Duration connectTimeout,
+                                        Duration requestTimeout)
+        throws Exception
+    {
+        timeoutSync(requestVersion, scheme, method, connectTimeout, requestTimeout, EXAMPLE_DOT_COM_PROXY);
+    }
+
+    private void timeoutSync(Version requestVersion,
+                             String scheme,
+                             String method,
+                             Duration connectTimeout,
+                             Duration requestTimeout,
+                             ProxySelector proxy)
+        throws Exception
+    {
+        out.printf("%ntimeoutSync(requestVersion=%s, scheme=%s, method=%s,"
+                   + " connectTimeout=%s, requestTimeout=%s, proxy=%s)%n",
+                   requestVersion, scheme, method, connectTimeout, requestTimeout, proxy);
+
+        HttpClient client = newClient(connectTimeout, proxy);
+        HttpRequest request = newRequest(scheme, requestVersion, method, requestTimeout);
+
+        for (int i = 0; i < 2; i++) {
+            out.printf("iteration %d%n", i);
+            long startTime = System.nanoTime();
+            try {
+                HttpResponse<?> resp = client.send(request, BodyHandlers.ofString());
+                printResponse(resp);
+                fail("Unexpected response: " + resp);
+            } catch (HttpConnectTimeoutException expected) { // blocking thread-specific exception
+                long elapsedTime = NANOSECONDS.toMillis(System.nanoTime() - startTime);
+                out.printf("Client: received in %d millis%n", elapsedTime);
+                assertExceptionTypeAndCause(expected.getCause());
+            } catch (ConnectException e) {
+                long elapsedTime = NANOSECONDS.toMillis(System.nanoTime() - startTime);
+                out.printf("Client: received in %d millis%n", elapsedTime);
+                Throwable t = e.getCause().getCause();  // blocking thread-specific exception
+                if (!(t instanceof NoRouteToHostException)) { // tolerate only NRTHE
+                    e.printStackTrace(out);
+                    fail("Unexpected exception:" + e);
+                } else {
+                    out.printf("Caught ConnectException with NoRouteToHostException"
+                            + " cause: %s - skipping%n", t.getCause());
+                }
+            }
+        }
+    }
+
+    //@Test(dataProvider = "variants")
+    protected void timeoutNoProxyAsync(Version requestVersion,
+                                       String scheme,
+                                       String method,
+                                       Duration connectTimeout,
+                                       Duration requestTimeout) {
+        timeoutAsync(requestVersion, scheme, method, connectTimeout, requestTimeout, NO_PROXY);
+    }
+
+    //@Test(dataProvider = "variants")
+    protected void timeoutWithProxyAsync(Version requestVersion,
+                                         String scheme,
+                                         String method,
+                                         Duration connectTimeout,
+                                         Duration requestTimeout) {
+        timeoutAsync(requestVersion, scheme, method, connectTimeout, requestTimeout, EXAMPLE_DOT_COM_PROXY);
+    }
+
+    private void timeoutAsync(Version requestVersion,
+                              String scheme,
+                              String method,
+                              Duration connectTimeout,
+                              Duration requestTimeout,
+                              ProxySelector proxy) {
+        out.printf("%ntimeoutAsync(requestVersion=%s, scheme=%s, method=%s, "
+                   + "connectTimeout=%s, requestTimeout=%s, proxy=%s)%n",
+                   requestVersion, scheme, method, connectTimeout, requestTimeout, proxy);
+
+        HttpClient client = newClient(connectTimeout, proxy);
+        HttpRequest request = newRequest(scheme, requestVersion, method, requestTimeout);
+        for (int i = 0; i < 2; i++) {
+            out.printf("iteration %d%n", i);
+            long startTime = System.nanoTime();
+            try {
+                HttpResponse<?> resp = client.sendAsync(request, BodyHandlers.ofString()).join();
+                printResponse(resp);
+                fail("Unexpected response: " + resp);
+            } catch (CompletionException e) {
+                long elapsedTime = NANOSECONDS.toMillis(System.nanoTime() - startTime);
+                out.printf("Client: received in %d millis%n", elapsedTime);
+                Throwable t = e.getCause();
+                if (t instanceof ConnectException &&
+                        t.getCause() instanceof NoRouteToHostException) { // tolerate only NRTHE
+                    out.printf("Caught ConnectException with NoRouteToHostException"
+                            + " cause: %s - skipping%n", t.getCause());
+                } else {
+                    assertExceptionTypeAndCause(t);
+                }
+            }
+        }
+    }
+
+    static HttpClient newClient(Duration connectTimeout, ProxySelector proxy) {
+        HttpClient.Builder builder = HttpClient.newBuilder().proxy(proxy);
+        if (connectTimeout != NO_DURATION)
+            builder.connectTimeout(connectTimeout);
+        return builder.build();
+    }
+
+    static HttpRequest newRequest(String scheme,
+                                  Version reqVersion,
+                                  String method,
+                                  Duration requestTimeout) {
+        // Resolvable address. Most tested environments just ignore the TCP SYN,
+        // or occasionally return ICMP no route to host
+        URI uri = URI.create(scheme +"://example.com:81/");
+        HttpRequest.Builder reqBuilder = HttpRequest.newBuilder(uri);
+        reqBuilder = reqBuilder.version(reqVersion);
+        switch (method) {
+            case "GET"   : reqBuilder.GET();                         break;
+            case "POST"  : reqBuilder.POST(BodyPublishers.noBody()); break;
+            default: throw new AssertionError("Unknown method:" + method);
+        }
+        if (requestTimeout != NO_DURATION)
+            reqBuilder.timeout(requestTimeout);
+        return reqBuilder.build();
+    }
+
+    static void assertExceptionTypeAndCause(Throwable t) {
+        if (!(t instanceof HttpConnectTimeoutException)) {
+            t.printStackTrace(out);
+            fail("Expected HttpConnectTimeoutException, got:" + t);
+        }
+        Throwable connEx = t.getCause();
+        if (!(connEx instanceof ConnectException)) {
+            t.printStackTrace(out);
+            fail("Expected ConnectException cause in:" + connEx);
+        }
+        out.printf("Caught expected HttpConnectTimeoutException with ConnectException"
+                + " cause: %n%s%n%s%n", t, connEx);
+        final String EXPECTED_MESSAGE = "HTTP connect timed out"; // impl dependent
+        if (!connEx.getMessage().equals(EXPECTED_MESSAGE))
+            fail("Expected: \"" + EXPECTED_MESSAGE + "\", got: \"" + connEx.getMessage() + "\"");
+
+    }
+
+    static void printResponse(HttpResponse<?> response) {
+        out.println("Unexpected response: " + response);
+        out.println("Headers: " + response.headers());
+        out.println("Body: " + response.body());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/AbstractConnectTimeoutHandshake.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,288 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UncheckedIOException;
+import java.net.ConnectException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.URI;
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionException;
+import java.net.http.HttpClient;
+import java.net.http.HttpClient.Version;
+import java.net.http.HttpConnectTimeoutException;
+import java.net.http.HttpRequest;
+import java.net.http.HttpRequest.BodyPublishers;
+import java.net.http.HttpResponse;
+import java.net.http.HttpResponse.BodyHandlers;
+import org.testng.annotations.AfterTest;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.DataProvider;
+import static java.lang.String.format;
+import static java.lang.System.out;
+import static java.net.http.HttpClient.Builder.NO_PROXY;
+import static java.net.http.HttpClient.Version.HTTP_1_1;
+import static java.net.http.HttpClient.Version.HTTP_2;
+import static java.time.Duration.*;
+import static java.util.concurrent.TimeUnit.NANOSECONDS;
+import static org.testng.Assert.fail;
+
+public abstract class AbstractConnectTimeoutHandshake {
+
+    // The number of iterations each testXXXClient performs.
+    static final int TIMES = 2;
+
+    Server server;
+    URI httpsURI;
+
+    static final Duration NO_DURATION = null;
+
+    static List<List<Duration>> TIMEOUTS = List.of(
+                    // connectTimeout   HttpRequest timeout
+            Arrays.asList( NO_DURATION,   ofSeconds(1)  ),
+            Arrays.asList( NO_DURATION,   ofSeconds(2)  ),
+            Arrays.asList( NO_DURATION,   ofMillis(500) ),
+
+            Arrays.asList( ofSeconds(1),  NO_DURATION   ),
+            Arrays.asList( ofSeconds(2),  NO_DURATION   ),
+            Arrays.asList( ofMillis(500), NO_DURATION   ),
+
+            Arrays.asList( ofSeconds(1),  ofMinutes(1)  ),
+            Arrays.asList( ofSeconds(2),  ofMinutes(1)  ),
+            Arrays.asList( ofMillis(500), ofMinutes(1)  )
+    );
+
+    static final List<String> METHODS = List.of("GET" , "POST");
+    static final List<Version> VERSIONS = List.of(HTTP_2, HTTP_1_1);
+
+    @DataProvider(name = "variants")
+    public Object[][] variants() {
+        List<Object[]> l = new ArrayList<>();
+        for (List<Duration> timeouts : TIMEOUTS) {
+           Duration connectTimeout = timeouts.get(0);
+           Duration requestTimeout = timeouts.get(1);
+           for (String method: METHODS) {
+            for (Version requestVersion : VERSIONS) {
+             l.add(new Object[] {requestVersion, method, connectTimeout, requestTimeout});
+        }}}
+        return l.stream().toArray(Object[][]::new);
+    }
+
+    //@Test(dataProvider = "variants")
+    protected void timeoutSync(Version requestVersion,
+                              String method,
+                              Duration connectTimeout,
+                              Duration requestTimeout)
+        throws Exception
+    {
+        out.printf("%n--- timeoutSync requestVersion=%s, method=%s, "
+                   + "connectTimeout=%s, requestTimeout=%s ---%n",
+                   requestVersion, method, connectTimeout, requestTimeout);
+        HttpClient client = newClient(connectTimeout);
+        HttpRequest request = newRequest(requestVersion, method, requestTimeout);
+
+        for (int i = 0; i < TIMES; i++) {
+            out.printf("iteration %d%n", i);
+            long startTime = System.nanoTime();
+            try {
+                HttpResponse<String> resp = client.send(request, BodyHandlers.ofString());
+                printResponse(resp);
+                fail("Unexpected response: " + resp);
+            } catch (HttpConnectTimeoutException expected) {
+                long elapsedTime = NANOSECONDS.toMillis(System.nanoTime() - startTime);
+                out.printf("Client: received in %d millis%n", elapsedTime);
+                out.printf("Client: caught expected HttpConnectTimeoutException: %s%n", expected);
+                checkExceptionOrCause(ConnectException.class, expected);
+            }
+        }
+    }
+
+    //@Test(dataProvider = "variants")
+    protected void timeoutAsync(Version requestVersion,
+                                String method,
+                                Duration connectTimeout,
+                                Duration requestTimeout) {
+        out.printf("%n--- timeoutAsync requestVersion=%s, method=%s, "
+                        + "connectTimeout=%s, requestTimeout=%s ---%n",
+                   requestVersion, method, connectTimeout, requestTimeout);
+        HttpClient client = newClient(connectTimeout);
+        HttpRequest request = newRequest(requestVersion, method, requestTimeout);
+
+        for (int i = 0; i < TIMES; i++) {
+            out.printf("iteration %d%n", i);
+            long startTime = System.nanoTime();
+            CompletableFuture<HttpResponse<String>> cf =
+                    client.sendAsync(request, BodyHandlers.ofString());
+            try {
+                HttpResponse<String> resp = cf.join();
+                printResponse(resp);
+                fail("Unexpected response: " + resp);
+            } catch (CompletionException ce) {
+                long elapsedTime = NANOSECONDS.toMillis(System.nanoTime() - startTime);
+                out.printf("Client: received in %d millis%n", elapsedTime);
+                Throwable expected = ce.getCause();
+                if (expected instanceof HttpConnectTimeoutException) {
+                    out.printf("Client: caught expected HttpConnectTimeoutException: %s%n", expected);
+                    checkExceptionOrCause(ConnectException.class, expected);
+                } else {
+                    out.printf("Client: caught UNEXPECTED exception: %s%n", expected);
+                    throw ce;
+                }
+            }
+        }
+    }
+
+    static HttpClient newClient(Duration connectTimeout) {
+        HttpClient.Builder builder = HttpClient.newBuilder().proxy(NO_PROXY);
+        if (connectTimeout != NO_DURATION)
+            builder.connectTimeout(connectTimeout);
+        return builder.build();
+    }
+
+    HttpRequest newRequest(Version reqVersion,
+                           String method,
+                           Duration requestTimeout) {
+        HttpRequest.Builder reqBuilder = HttpRequest.newBuilder(httpsURI);
+        reqBuilder = reqBuilder.version(reqVersion);
+        switch (method) {
+            case "GET"   : reqBuilder.GET();                         break;
+            case "POST"  : reqBuilder.POST(BodyPublishers.noBody()); break;
+            default: throw new AssertionError("Unknown method:" + method);
+        }
+        if (requestTimeout != NO_DURATION)
+            reqBuilder.timeout(requestTimeout);
+        return reqBuilder.build();
+    }
+
+    static void checkExceptionOrCause(Class<? extends Throwable> clazz, Throwable t) {
+        final Throwable original = t;
+        do {
+            if (clazz.isInstance(t)) {
+                System.out.println("Found expected exception/cause: " + t);
+                return; // found
+            }
+        } while ((t = t.getCause()) != null);
+        original.printStackTrace(System.out);
+        throw new RuntimeException("Expected " + clazz + "in " + original);
+    }
+
+    static void printResponse(HttpResponse<?> response) {
+        out.println("Unexpected response: " + response);
+        out.println("Headers: " + response.headers());
+        out.println("Body: " + response.body());
+    }
+
+    // -- Infrastructure
+
+    static String serverAuthority(Server server) {
+        return InetAddress.getLoopbackAddress().getHostName() + ":"
+                + server.getPort();
+    }
+
+    @BeforeTest
+    public void setup() throws Exception {
+        server = new Server();
+        httpsURI = URI.create("https://" + serverAuthority(server) + "/foo");
+        out.println("HTTPS URI: " + httpsURI);
+    }
+
+    @AfterTest
+    public void teardown() throws Exception {
+        server.close();
+        out.printf("%n--- teardown ---%n");
+
+        int numClientConnections = variants().length * TIMES;
+        int serverCount = server.count;
+        out.printf("Client made %d connections.%n", numClientConnections);
+        out.printf("Server received %d connections.%n", serverCount);
+
+        // This is usually the case, but not always, do not assert. Remains
+        // as an informative message only.
+        //if (numClientConnections != serverCount)
+        //    fail(format("[numTests: %d] != [serverCount: %d]",
+        //                numClientConnections, serverCount));
+    }
+
+    /**
+     * Emulates a server-side, using plain cleartext Sockets, that just reads
+     * initial client hello and does nothing more.
+     */
+    static class Server extends Thread implements AutoCloseable {
+        private final ServerSocket ss;
+        private volatile boolean closed;
+        volatile int count;
+
+        Server() throws IOException {
+            super("Server");
+            ss = new ServerSocket();
+            ss.setReuseAddress(false);
+            ss.bind(new InetSocketAddress(InetAddress.getLoopbackAddress(), 0));
+            this.start();
+        }
+
+        int getPort() {
+            return ss.getLocalPort();
+        }
+
+        @Override
+        public void close() {
+            if (closed)
+                return;
+            closed = true;
+            try {
+                ss.close();
+            } catch (IOException e) {
+                throw new UncheckedIOException("Unexpected", e);
+            }
+        }
+
+        @Override
+        public void run() {
+            while (!closed) {
+                try (Socket s = ss.accept()) {
+                    count++;
+                    out.println("Server: accepted new connection");
+                    InputStream is = new BufferedInputStream(s.getInputStream());
+
+                    out.println("Server: starting to read");
+                    while (is.read() != -1) ;
+
+                    out.println("Server: closing connection");
+                    s.close(); // close without giving any reply
+                } catch (IOException e) {
+                    if (!closed)
+                        out.println("UNEXPECTED " + e);
+                }
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ConnectTimeoutHandshakeAsync.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.http.HttpClient.Version;
+import java.time.Duration;
+import org.testng.annotations.Test;
+
+/*
+ * @test
+ * @summary Tests connection timeouts during SSL handshake
+ * @bug 8208391
+ * @run testng/othervm ConnectTimeoutHandshakeAsync
+ */
+
+public class ConnectTimeoutHandshakeAsync
+    extends AbstractConnectTimeoutHandshake
+{
+    @Test(dataProvider = "variants")
+    @Override
+    public void timeoutAsync(Version requestVersion,
+                             String method,
+                             Duration connectTimeout,
+                             Duration requestTimeout) {
+        super.timeoutAsync(requestVersion, method, connectTimeout, requestTimeout);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ConnectTimeoutHandshakeSync.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.http.HttpClient.Version;
+import java.time.Duration;
+import org.testng.annotations.Test;
+
+/*
+ * @test
+ * @summary Tests connection timeouts during SSL handshake
+ * @bug 8208391
+ * @run testng/othervm ConnectTimeoutHandshakeSync
+ */
+
+public class ConnectTimeoutHandshakeSync
+    extends AbstractConnectTimeoutHandshake
+{
+    @Test(dataProvider = "variants")
+    @Override
+    public void timeoutSync(Version requestVersion,
+                            String method,
+                            Duration connectTimeout,
+                            Duration requestTimeout)
+        throws Exception
+    {
+        super.timeoutSync(requestVersion, method, connectTimeout, requestTimeout);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ConnectTimeoutNoProxyAsync.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.http.HttpClient.Version;
+import java.time.Duration;
+import org.testng.annotations.Test;
+
+/*
+ * @test
+ * @summary Tests for connection related timeouts
+ * @bug 8208391
+ * @run testng/othervm ConnectTimeoutNoProxyAsync
+ */
+
+public class ConnectTimeoutNoProxyAsync extends AbstractConnectTimeout {
+
+    @Test(dataProvider = "variants")
+    @Override
+    public void timeoutNoProxyAsync(Version requestVersion,
+                                    String scheme,
+                                    String method,
+                                    Duration connectTimeout,
+                                    Duration requestduration)
+    {
+        super.timeoutNoProxyAsync(requestVersion, scheme, method, connectTimeout, requestduration);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ConnectTimeoutNoProxySync.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.http.HttpClient.Version;
+import java.time.Duration;
+import org.testng.annotations.Test;
+
+/*
+ * @test
+ * @summary Tests for connection related timeouts
+ * @bug 8208391
+ * @run testng/othervm ConnectTimeoutNoProxySync
+ */
+
+public class ConnectTimeoutNoProxySync extends AbstractConnectTimeout {
+
+    @Test(dataProvider = "variants")
+    @Override
+    public void timeoutNoProxySync(Version requestVersion,
+                                   String scheme,
+                                   String method,
+                                   Duration connectTimeout,
+                                   Duration requestTimeout)
+        throws Exception
+    {
+        super.timeoutNoProxySync(requestVersion, scheme, method, connectTimeout, requestTimeout);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ConnectTimeoutWithProxyAsync.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.http.HttpClient.Version;
+import java.time.Duration;
+import org.testng.annotations.Test;
+
+/*
+ * @test
+ * @summary Tests for connection related timeouts
+ * @bug 8208391
+ * @run testng/othervm ConnectTimeoutWithProxyAsync
+ */
+
+public class ConnectTimeoutWithProxyAsync extends AbstractConnectTimeout {
+
+    @Test(dataProvider = "variants")
+    @Override
+    public void timeoutWithProxyAsync(Version requestVersion,
+                                      String scheme,
+                                      String method,
+                                      Duration connectTimeout,
+                                      Duration requestTimeout)
+    {
+        super.timeoutWithProxyAsync(requestVersion, scheme, method, connectTimeout, requestTimeout);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/ConnectTimeoutWithProxySync.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.http.HttpClient.Version;
+import java.time.Duration;
+import org.testng.annotations.Test;
+
+/*
+ * @test
+ * @summary Tests for connection related timeouts
+ * @bug 8208391
+ * @run testng/othervm ConnectTimeoutWithProxySync
+ */
+
+public class ConnectTimeoutWithProxySync extends AbstractConnectTimeout {
+
+    @Test(dataProvider = "variants")
+    @Override
+    public void timeoutWithProxySync(Version requestVersion,
+                                     String scheme,
+                                     String method,
+                                     Duration connectTimeout,
+                                     Duration requestTimeout)
+        throws Exception
+    {
+        super.timeoutWithProxySync(requestVersion, scheme, method, connectTimeout, requestTimeout);
+    }
+}
--- a/test/jdk/java/net/httpclient/HttpClientBuilderTest.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/jdk/java/net/httpclient/HttpClientBuilderTest.java	Thu Aug 09 10:08:07 2018 -0700
@@ -50,6 +50,7 @@
 import java.net.http.HttpClient.Version;
 import jdk.testlibrary.SimpleSSLContext;
 import org.testng.annotations.Test;
+import static java.time.Duration.*;
 import static org.testng.Assert.*;
 
 /*
@@ -74,6 +75,7 @@
             // Empty optionals and defaults
             assertFalse(client.authenticator().isPresent());
             assertFalse(client.cookieHandler().isPresent());
+            assertFalse(client.connectTimeout().isPresent());
             assertFalse(client.executor().isPresent());
             assertFalse(client.proxy().isPresent());
             assertTrue(client.sslParameters() != null);
@@ -88,6 +90,7 @@
         HttpClient.Builder builder = HttpClient.newBuilder();
         assertThrows(NPE, () -> builder.authenticator(null));
         assertThrows(NPE, () -> builder.cookieHandler(null));
+        assertThrows(NPE, () -> builder.connectTimeout(null));
         assertThrows(NPE, () -> builder.executor(null));
         assertThrows(NPE, () -> builder.proxy(null));
         assertThrows(NPE, () -> builder.sslParameters(null));
@@ -128,6 +131,26 @@
         assertTrue(builder.build().cookieHandler().get() == c);
     }
 
+    @Test
+    public void testConnectTimeout() {
+        HttpClient.Builder builder = HttpClient.newBuilder();
+        Duration a = Duration.ofSeconds(5);
+        builder.connectTimeout(a);
+        assertTrue(builder.build().connectTimeout().get() == a);
+        Duration b = Duration.ofMinutes(1);
+        builder.connectTimeout(b);
+        assertTrue(builder.build().connectTimeout().get() == b);
+        assertThrows(NPE, () -> builder.cookieHandler(null));
+        Duration c = Duration.ofHours(100);
+        builder.connectTimeout(c);
+        assertTrue(builder.build().connectTimeout().get() == c);
+
+        assertThrows(IAE, () -> builder.connectTimeout(ZERO));
+        assertThrows(IAE, () -> builder.connectTimeout(ofSeconds(0)));
+        assertThrows(IAE, () -> builder.connectTimeout(ofSeconds(-1)));
+        assertThrows(IAE, () -> builder.connectTimeout(ofNanos(-100)));
+    }
+
     static class TestExecutor implements Executor {
         public void execute(Runnable r) { }
     }
@@ -292,6 +315,7 @@
 
     static class MockHttpClient extends HttpClient {
         @Override public Optional<CookieHandler> cookieHandler() { return null; }
+        @Override public Optional<Duration> connectTimeout() { return null; }
         @Override public Redirect followRedirects() { return null; }
         @Override public Optional<ProxySelector> proxy() { return null; }
         @Override public SSLContext sslContext() { return null; }
--- a/test/jdk/java/net/httpclient/TimeoutBasic.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/jdk/java/net/httpclient/TimeoutBasic.java	Thu Aug 09 10:08:07 2018 -0700
@@ -164,6 +164,7 @@
                     throw new RuntimeException("Unexpected response: " + resp.statusCode());
                 } catch (CompletionException e) {
                     if (!(e.getCause() instanceof HttpTimeoutException)) {
+                        e.printStackTrace(out);
                         throw new RuntimeException("Unexpected exception: " + e.getCause());
                     } else {
                         out.println("Caught expected timeout: " + e.getCause());
--- a/test/jdk/java/net/httpclient/examples/JavadocExamples.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/jdk/java/net/httpclient/examples/JavadocExamples.java	Thu Aug 09 10:08:07 2018 -0700
@@ -64,6 +64,7 @@
         HttpClient client = HttpClient.newBuilder()
                 .version(Version.HTTP_1_1)
                 .followRedirects(Redirect.NORMAL)
+                .connectTimeout(Duration.ofSeconds(20))
                 .proxy(ProxySelector.of(new InetSocketAddress("proxy.example.com", 80)))
                 .authenticator(Authenticator.getDefault())
                 .build();
@@ -74,7 +75,7 @@
         //Asynchronous Example
         HttpRequest request = HttpRequest.newBuilder()
                 .uri(URI.create("https://foo.com/"))
-                .timeout(Duration.ofMinutes(1))
+                .timeout(Duration.ofMinutes(2))
                 .header("Content-Type", "application/json")
                 .POST(BodyPublishers.ofFile(Paths.get("file.json")))
                 .build();
--- a/test/jdk/java/net/httpclient/offline/DelegatingHttpClient.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/jdk/java/net/httpclient/offline/DelegatingHttpClient.java	Thu Aug 09 10:08:07 2018 -0700
@@ -27,6 +27,7 @@
 import java.net.Authenticator;
 import java.net.CookieHandler;
 import java.net.ProxySelector;
+import java.time.Duration;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Executor;
@@ -51,6 +52,11 @@
     }
 
     @Override
+    public Optional<Duration> connectTimeout() {
+        return client.connectTimeout();
+    }
+
+    @Override
     public Redirect followRedirects() {
         return client.followRedirects();
     }
--- a/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java	Thu Aug 09 10:08:07 2018 -0700
@@ -31,6 +31,7 @@
 import java.net.ProxySelector;
 import java.nio.ByteBuffer;
 import java.nio.channels.SocketChannel;
+import java.time.Duration;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
@@ -284,7 +285,8 @@
 
         // All these throw errors
         @Override public HttpPublisher publisher() {return error();}
-        @Override public CompletableFuture<Void> connectAsync() {return error();}
+        @Override public CompletableFuture<Void> connectAsync(Exchange<?> e) {return error();}
+        @Override public CompletableFuture<Void> finishConnect() {return error();}
         @Override SocketChannel channel() {return error();}
         @Override
         FlowTube getConnectionFlow() {return flow;}
@@ -296,6 +298,7 @@
         }
         final ConnectionPool pool;
         @Override public Optional<CookieHandler> cookieHandler() {return error();}
+        @Override public Optional<Duration> connectTimeout() {return error();}
         @Override public HttpClient.Redirect followRedirects() {return error();}
         @Override public Optional<ProxySelector> proxy() {return error();}
         @Override public SSLContext sslContext() {return error();}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/net/ssl/TLSCommon/ConcurrentClientAccessTest.java	Thu Aug 09 10:08:07 2018 -0700
@@ -0,0 +1,390 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.SocketException;
+import java.net.SocketTimeoutException;
+import java.security.KeyFactory;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.Security;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateFactory;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.util.Base64;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLServerSocket;
+import javax.net.ssl.SSLServerSocketFactory;
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManagerFactory;
+
+/*
+ * @test
+ * @bug 8208496
+ * @summary Test to verify concurrent behavior of TLS.
+ * @run main/othervm ConcurrentClientAccessTest
+ */
+public class ConcurrentClientAccessTest {
+
+    private static final int THREADS = 50;
+
+    public static void main(String[] args) throws Exception {
+
+        Security.setProperty("jdk.tls.disabledAlgorithms", "");
+        for (String tlsProtocol : new String[]{"TLSv1.3", "TLSv1.2",
+            "TLSv1.1", "TLSv1"}) {
+            System.out.printf("Protocol: %s%n", tlsProtocol);
+            CountDownLatch tillServerReady = new CountDownLatch(1);
+            Server server = new Server(tlsProtocol, tillServerReady);
+            server.start();
+
+            // Wait till server is ready to accept connection.
+            tillServerReady.await();
+            CountDownLatch tillClientComplete = new CountDownLatch(THREADS);
+            ExecutorService executor = null;
+            try {
+                executor = newExecutorService();
+                // Run 50 TLS clients for concurrent access to TLS Port.
+                for (int count = 1; count <= THREADS; count++) {
+                    Client client = new Client(tlsProtocol, server.port,
+                            tillClientComplete);
+                    executor.execute(client);
+                    // If Client has any Exception indicates problem
+                    if (client.exception != null) {
+                        throw new RuntimeException(client.exception);
+                    }
+                }
+                // Wait till all client thread complete execution
+                tillClientComplete.await();
+                System.out.println("All client processed successfully.");
+            } finally {
+                if (executor != null) {
+                    executor.shutdown();
+                }
+                // Fail Safe: Shutdown the server
+                server.stopServer();
+            }
+            // If Sever has any Exception indicates problem
+            if (server.exception != null) {
+                throw new RuntimeException(server.exception);
+            }
+            System.out.println();
+        }
+    }
+
+    public static class Server implements Runnable {
+
+        private volatile int port = 0;
+        private final String tlsProtocol;
+        private final CountDownLatch tillServerReady;
+        private volatile Exception exception;
+        private SSLServerSocket sslServerSocket;
+
+        public Server(String tlsProtocol, CountDownLatch tillServerReady) {
+            this.tlsProtocol = tlsProtocol;
+            this.tillServerReady = tillServerReady;
+        }
+
+        public void start() {
+
+            ExecutorService executor = null;
+            try {
+                executor = newExecutorService();
+                executor.execute(this);
+            } finally {
+                if (executor != null) {
+                    executor.shutdown();
+                }
+            }
+        }
+
+        /*
+         * Define the server side operation.
+         */
+        void doServerSide() throws Exception {
+
+            SSLContext ctx = getSSLContext(tlsProtocol);
+            SSLServerSocketFactory sslssf = ctx.getServerSocketFactory();
+            sslServerSocket = (SSLServerSocket) sslssf.createServerSocket(port);
+            port = sslServerSocket.getLocalPort();
+            System.out.println("Server listening on port: " + port);
+            sslServerSocket.setEnabledProtocols(new String[]{tlsProtocol});
+            // ServerSocket will timeout after waiting for 20 seconds
+            // before accepting a connection
+            sslServerSocket.setSoTimeout(20000);
+            // Signal Client, the server is ready to accept client request.
+            tillServerReady.countDown();
+            while (sslServerSocket != null && !sslServerSocket.isClosed()) {
+                try (SSLSocket sslSocket
+                        = (SSLSocket) sslServerSocket.accept()) {
+                    try (InputStream sslIS = sslSocket.getInputStream();
+                            OutputStream sslOS
+                            = sslSocket.getOutputStream();) {
+                        sslIS.read();
+                        sslOS.write(85);
+                        sslOS.flush();
+                    }
+                } catch (SocketTimeoutException | SocketException e) {
+                    // Let the server exit
+                    return;
+                }
+            }
+        }
+
+        @Override
+        public void run() {
+            try {
+                doServerSide();
+            } catch (Exception e) {
+                this.exception = e;
+            } finally {
+                // Stop server
+                stopServer();
+            }
+        }
+
+        public void stopServer() {
+            if (sslServerSocket != null && !sslServerSocket.isClosed()) {
+                System.out.println("Stopping Server.");
+                try {
+                    sslServerSocket.close();
+                } catch (IOException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }
+    }
+
+    /*
+     * Define the client side of the test.
+     */
+    public static class Client implements Runnable {
+
+        private final int serverPort;
+        private final String tlsProtocol;
+        private final CountDownLatch tillClientComplete;
+        private volatile Exception exception;
+
+        public Client(String tlsProtocol, int serverPort,
+                CountDownLatch tillClientComplete) {
+            this.tlsProtocol = tlsProtocol;
+            this.serverPort = serverPort;
+            this.tillClientComplete = tillClientComplete;
+        }
+
+        void doClientSide() throws Exception {
+
+            SSLContext ctx = getSSLContext(this.tlsProtocol);
+            SSLSocketFactory sslsf = ctx.getSocketFactory();
+            try (SSLSocket sslSocket
+                    = (SSLSocket) sslsf.createSocket("localhost", serverPort)) {
+                sslSocket.setEnabledProtocols(new String[]{this.tlsProtocol});
+                try (InputStream sslIS = sslSocket.getInputStream();
+                        OutputStream sslOS = sslSocket.getOutputStream()) {
+                    sslOS.write(86);
+                    sslOS.flush();
+                    sslIS.read();
+                }
+            } finally {
+                tillClientComplete.countDown();
+            }
+        }
+
+        @Override
+        public void run() {
+            try {
+                doClientSide();
+            } catch (Exception e) {
+                // Print the exception for debug purpose.
+                e.printStackTrace(System.out);
+                this.exception = e;
+            }
+        }
+    }
+
+    // Get the ssl context
+    protected static SSLContext getSSLContext(String tlsProtocol)
+            throws Exception {
+
+        // Generate certificate from cert string
+        CertificateFactory cf = CertificateFactory.getInstance("X.509");
+
+        // Create a key store
+        KeyStore ts = KeyStore.getInstance("PKCS12");
+        KeyStore ks = KeyStore.getInstance("PKCS12");
+        ts.load(null, null);
+        ks.load(null, null);
+        char passphrase[] = "passphrase".toCharArray();
+
+        // Import the trusted cert
+        ts.setCertificateEntry("trusted-cert-"
+                + KeyType.rsa_pkcs1_sha256.getKeyType(),
+                cf.generateCertificate(new ByteArrayInputStream(
+                        KeyType.rsa_pkcs1_sha256.getTrustedCert().getBytes())));
+
+        boolean hasKeyMaterials = KeyType.rsa_pkcs1_sha256.getEndCert() != null
+                && KeyType.rsa_pkcs1_sha256.getPrivateKey() != null;
+        if (hasKeyMaterials) {
+
+            // Generate the private key.
+            PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec(
+                    Base64.getMimeDecoder().decode(
+                            KeyType.rsa_pkcs1_sha256.getPrivateKey()));
+            KeyFactory kf = KeyFactory.getInstance(
+                    KeyType.rsa_pkcs1_sha256.getKeyType());
+            PrivateKey priKey = kf.generatePrivate(priKeySpec);
+
+            // Generate certificate chain
+            Certificate keyCert = cf.generateCertificate(
+                    new ByteArrayInputStream(
+                            KeyType.rsa_pkcs1_sha256.getEndCert().getBytes()));
+            Certificate[] chain = new Certificate[]{keyCert};
+
+            // Import the key entry.
+            ks.setKeyEntry("cert-" + KeyType.rsa_pkcs1_sha256.getKeyType(),
+                    priKey, passphrase, chain);
+        }
+
+        // Create SSL context
+        TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX");
+        tmf.init(ts);
+
+        SSLContext context = SSLContext.getInstance(tlsProtocol);
+        if (hasKeyMaterials) {
+            KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509");
+            kmf.init(ks, passphrase);
+            context.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+        } else {
+            context.init(null, tmf.getTrustManagers(), null);
+        }
+        return context;
+    }
+
+    private static ExecutorService newExecutorService() {
+        return Executors.newCachedThreadPool((Runnable r) -> {
+            Thread t = Executors.defaultThreadFactory()
+                    .newThread(r);
+            t.setDaemon(true);
+            return t;
+        });
+    }
+}
+
+enum KeyType {
+
+    rsa_pkcs1_sha256(
+            "RSA",
+            /**
+             * Signature Algorithm: sha256WithRSAEncryption
+             * Issuer: CN = localhost
+             * Validity Not Before: Jun 4 15:22:04 2018 GMT
+             * Not After: May 30 15:22:04 2038 GMT
+             * Subject: CN = localhost
+             * Public Key Algorithm: rsaEncryption
+             */
+            "-----BEGIN CERTIFICATE-----\n"
+            + "MIIDBjCCAe6gAwIBAgIUc8yTYekR2LuXkkCJYqWlS/pBMKIwDQYJKoZIhvcNAQEL\n"
+            + "BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTE4MDYwNDE1MjIwNFoXDTM4MDUz\n"
+            + "MDE1MjIwNFowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF\n"
+            + "AAOCAQ8AMIIBCgKCAQEA2jDPGMogc9dq2w5b+FHqbfaGPokRmyObiU8y/l/dqkM5\n"
+            + "9IV+qj8VQUI4NtpdCTWr16812z4AjXrk5HIBrECfQbHPUcm1rme5YVZ0WxV0+Ufy\n"
+            + "hDmrGwDLhkxGqc3hOhRrlF2wdXeUfjIzhvS9+S/401++t/jvq+cqFF1BHnzYOu+l\n"
+            + "nbi/o95Oqo8MlwiRqg3xy3fNRfqXk7DWy+QT8s+Vc3Pcj1EW6K0iJJ23BVTdv6YT\n"
+            + "Ja5IKiWL4XsLht3fWvZwF+PoYfKb+JYflt0rafpxg9xkowe7GnGh2SpV7bJaH/QN\n"
+            + "3PTFEKQWgWHjWwjR171GOzSaEgaklvKde6+zNWeYKwIDAQABo1AwTjAdBgNVHQ4E\n"
+            + "FgQUqCtGe8/Ky4O6pH7xeTUy9yrv4n0wHwYDVR0jBBgwFoAUqCtGe8/Ky4O6pH7x\n"
+            + "eTUy9yrv4n0wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAuqch30im\n"
+            + "M09sARarbfK3OExqYK2xoyuUscgTqQNDpNL2gMdXY9e0lTmGVgw9pVYtNZPZRxem\n"
+            + "jR5an2XegvG9qVU6vLENDwLCqZgsTb2gvmXngiG8NVcYd81GNqD228mkgBosNJku\n"
+            + "6BR+C8zlURzsNEt657eVvIp9ObGomdAbWhpdqihBD180PP18DIBWopyfHfJtT5FA\n"
+            + "U2kSPBp+P1EtdceW0zfwv3rF8hwRbnQBzuoYrZfn2PiMYaGUqOgbqUltCMD/Dp9G\n"
+            + "xK0nfAXEwIqHWWnijGwAd6YrszMjBUcSGmlehdF+XZK6jHNlw64RB4WTfavr+rY0\n"
+            + "dTe6g4o5GYr9nQ==\n"
+            + "-----END CERTIFICATE-----\n",
+            //
+            // Private key.
+            //
+            "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDaMM8YyiBz12rb\n"
+            + "Dlv4Uept9oY+iRGbI5uJTzL+X92qQzn0hX6qPxVBQjg22l0JNavXrzXbPgCNeuTk\n"
+            + "cgGsQJ9Bsc9RybWuZ7lhVnRbFXT5R/KEOasbAMuGTEapzeE6FGuUXbB1d5R+MjOG\n"
+            + "9L35L/jTX763+O+r5yoUXUEefNg676WduL+j3k6qjwyXCJGqDfHLd81F+peTsNbL\n"
+            + "5BPyz5Vzc9yPURborSIknbcFVN2/phMlrkgqJYvhewuG3d9a9nAX4+hh8pv4lh+W\n"
+            + "3Stp+nGD3GSjB7sacaHZKlXtslof9A3c9MUQpBaBYeNbCNHXvUY7NJoSBqSW8p17\n"
+            + "r7M1Z5grAgMBAAECggEAHs/7vw10TcejEHJTrJqs14CT7qresKDzqw1jLycMn6nE\n"
+            + "unJLs/EaqE+Yrq5hqxZIQTo+CcsUuuYbAuPStqedleJtW6h3nryJImTaI67BCR8O\n"
+            + "8XtPXY3cMAf/hqVLZC9UDey5Ka2Ma9HdEvbnCRSsN/VycnqWJhmMCLouowaQZqoE\n"
+            + "VopscUix8GqELv0vEo2CszZfUjtSVbNTlNgwDf5U7eSKXMuFsnSn/LE7AMvHsEyo\n"
+            + "HatxogwlM/WjpTnf/WIeJY3VhaK10IsP6OEgUn/p4VtI2DQ/TJdgYrvD5vhjY8ip\n"
+            + "XuUPuPILRvJWo8dRXJqa4diXB12q5YhP8iiOp4BgkQKBgQD1GtlOR+JVgOzpQ11h\n"
+            + "s5/iJOsczee80pQscbSRJnzSsIaP9WM8CyJgvbPxIQxLUQeYnxM/bxNKkpJtzxRK\n"
+            + "pob+v4NoRn8PTpqbOp1obmWJT7uHTaoeavQo7r7uZI4i3eEgHCCQkMzpqzz7UFTY\n"
+            + "2Yst7bBTPUivlSVQQBEc8bLpeQKBgQDj47EjpAlh8DmJRTElg58t+XJehXGTqmlx\n"
+            + "nYu8DQLSzGbOQ/Z4srakC1mkM0LHCmULIIWk3KhV1GBCeArv7DlZ9A1SkI95bsq9\n"
+            + "GBeQpovL0PXKkOOWMJBklP/CTECO4eyA8r6c1d8wytBb6MrJ8bi74DdT+JlFjK5A\n"
+            + "zNoeNx6JwwKBgQCehIPABeuSYvRVlDTDqFkh98B6+4wBaatc5xjhuyOFW5dbaVeJ\n"
+            + "kKXmLSpAK6B44WnpQhA/uUWfuBWtoPy9nt+1yARjnxwzuSFyfUEqNiPC32coBYmd\n"
+            + "bIyGIIopQa1PTXJ4wtgoxw1PnmitHHITYPaLeKrN2te0fuAH+7dVodeU+QKBgAct\n"
+            + "VJbaw7Dh7+3yz+lui8TW5lMzwK/13fxGCfCSOFSLO3Gjkk+a0UW5VclmE+RQ333K\n"
+            + "OGtIx8RsO9vcC/wiZGwA06qWAu7AHoJ2D8fudtikbBlFFuXUAbgpOSTVYfMeCmTF\n"
+            + "QFuQIMdYm9dJLZnOkxLXrOZoHeui0poX2Ya6FawhAoGAAI/QCyDbuvnJzGmjSbvl\n"
+            + "5Ndr9lNAansCXaUzXuVLp6dD6PnB8HVCE8tdETZrcXseyTBeltaxAhj+tCybJvDO\n"
+            + "sV8UmPR0w9ibExmUIVGX5BpoRlB/KWxEG3ar/wJbUZVZ2oSdIAZvCvdbN956SLDg\n"
+            + "Pg5M5wrRqs71s2EiIJd0HrU="
+    );
+    private final String keyType;
+    private final String trustedCert;
+    private final String endCert;
+    private final String privateKey;
+
+    private KeyType(String keyType, String selfCert, String privateKey) {
+        this.keyType = keyType;
+        this.trustedCert = selfCert;
+        this.endCert = selfCert;
+        this.privateKey = privateKey;
+    }
+
+    public String getKeyType() {
+        return keyType;
+    }
+
+    public String getTrustedCert() {
+        return trustedCert;
+    }
+
+    public String getEndCert() {
+        return endCert;
+    }
+
+    public String getPrivateKey() {
+        return privateKey;
+    }
+}
--- a/test/jdk/sun/security/pkcs11/PKCS11Test.java	Fri Jun 22 16:07:15 2018 +0200
+++ b/test/jdk/sun/security/pkcs11/PKCS11Test.java	Thu Aug 09 10:08:07 2018 -0700
@@ -671,7 +671,7 @@
             "/usr/lib/arm-linux-gnueabi/nss/",
             "/usr/lib/arm-linux-gnueabihf/nss/"});
         osMap.put("Linux-aarch64-64", new String[]{
-            "/usr/lib/aarch64-linux-gnu/nss/"});
+            "/usr/lib/aarch64-linux-gnu/", "/usr/lib/aarch64-linux-gnu/nss/"});
     }
 
     private final static char[] hexDigits = "0123456789abcdef".toCharArray();