diff --git a/resources/java/app/application.yml b/resources/java/app/application.yml new file mode 100644 index 0000000..c1f225e --- /dev/null +++ b/resources/java/app/application.yml @@ -0,0 +1,50 @@ +server: + host: 127.0.0.1 + port: 8848 + +sdk: + port: 8888 + +spring: + main: + banner-mode: off + allow-bean-definition-overriding: true + datasource: + active: sqlite + mysql: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://192.168.110.65:6975/yjearth?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: yjearth + password: kNGxrsSSYMexZ2t4 + servlet: + multipart: + max-file-size: 1024MB + max-request-size: 10240MB + +sa-token: + token-name: Authorization + timeout: 21600 + active-timeout: 3600 + is-concurrent: true + is-share: true + token-style: random-64 + is-print: false + +mybatis-plus: + global-config: + banner: false + +encrypt: + aes: + key: "ah62ks8dj7dh3yd6" + +file: + upload: + path: upload + +graphhopper: + graphLocation: ./target/graphhopper + profiles: + - car + - bike + - foot diff --git a/resources/java/app/sdk/geographysdk.jar b/resources/java/app/sdk/geographysdk.jar new file mode 100644 index 0000000..00a1bbc Binary files /dev/null and b/resources/java/app/sdk/geographysdk.jar differ diff --git a/resources/java/app/yjearth.jar b/resources/java/app/yjearth.jar new file mode 100644 index 0000000..4b9c91b Binary files /dev/null and b/resources/java/app/yjearth.jar differ diff --git a/resources/java/jdk/bin/WinFallbackLookup.dll b/resources/java/jdk/bin/WinFallbackLookup.dll new file mode 100644 index 0000000..f68a2bd Binary files /dev/null and b/resources/java/jdk/bin/WinFallbackLookup.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-console-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-console-l1-1-0.dll new file mode 100644 index 0000000..59df9b7 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-console-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-console-l1-2-0.dll b/resources/java/jdk/bin/api-ms-win-core-console-l1-2-0.dll new file mode 100644 index 0000000..255602a Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-console-l1-2-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-datetime-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-datetime-l1-1-0.dll new file mode 100644 index 0000000..770ae17 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-datetime-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-debug-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-debug-l1-1-0.dll new file mode 100644 index 0000000..cf936c9 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-debug-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-errorhandling-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-errorhandling-l1-1-0.dll new file mode 100644 index 0000000..31d9e30 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-errorhandling-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-file-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-file-l1-1-0.dll new file mode 100644 index 0000000..9a6c49f Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-file-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-file-l1-2-0.dll b/resources/java/jdk/bin/api-ms-win-core-file-l1-2-0.dll new file mode 100644 index 0000000..4166dc5 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-file-l1-2-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-file-l2-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-file-l2-1-0.dll new file mode 100644 index 0000000..c3730d5 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-file-l2-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-handle-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-handle-l1-1-0.dll new file mode 100644 index 0000000..c6d92b2 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-handle-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-heap-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-heap-l1-1-0.dll new file mode 100644 index 0000000..71419b9 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-heap-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-interlocked-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-interlocked-l1-1-0.dll new file mode 100644 index 0000000..69b7ad1 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-interlocked-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-libraryloader-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-libraryloader-l1-1-0.dll new file mode 100644 index 0000000..f37503e Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-libraryloader-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-localization-l1-2-0.dll b/resources/java/jdk/bin/api-ms-win-core-localization-l1-2-0.dll new file mode 100644 index 0000000..5f938cc Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-localization-l1-2-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-memory-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-memory-l1-1-0.dll new file mode 100644 index 0000000..d3f895a Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-memory-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-namedpipe-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-namedpipe-l1-1-0.dll new file mode 100644 index 0000000..1d73129 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-namedpipe-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-processenvironment-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-processenvironment-l1-1-0.dll new file mode 100644 index 0000000..fa2d53d Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-processenvironment-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-processthreads-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-processthreads-l1-1-0.dll new file mode 100644 index 0000000..13fc5dc Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-processthreads-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-processthreads-l1-1-1.dll b/resources/java/jdk/bin/api-ms-win-core-processthreads-l1-1-1.dll new file mode 100644 index 0000000..551ef21 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-processthreads-l1-1-1.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-profile-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-profile-l1-1-0.dll new file mode 100644 index 0000000..8f0fde3 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-profile-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-rtlsupport-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-rtlsupport-l1-1-0.dll new file mode 100644 index 0000000..89f1245 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-rtlsupport-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-string-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-string-l1-1-0.dll new file mode 100644 index 0000000..f2ee6db Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-string-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-synch-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-synch-l1-1-0.dll new file mode 100644 index 0000000..b9541f0 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-synch-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-synch-l1-2-0.dll b/resources/java/jdk/bin/api-ms-win-core-synch-l1-2-0.dll new file mode 100644 index 0000000..2f1a432 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-synch-l1-2-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-sysinfo-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-sysinfo-l1-1-0.dll new file mode 100644 index 0000000..1d1a376 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-sysinfo-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-timezone-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-timezone-l1-1-0.dll new file mode 100644 index 0000000..95d4fc2 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-timezone-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-core-util-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-core-util-l1-1-0.dll new file mode 100644 index 0000000..fb2fc91 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-core-util-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-conio-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-conio-l1-1-0.dll new file mode 100644 index 0000000..771a68c Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-conio-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-convert-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-convert-l1-1-0.dll new file mode 100644 index 0000000..44fea9a Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-convert-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-environment-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-environment-l1-1-0.dll new file mode 100644 index 0000000..d8a7399 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-environment-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-filesystem-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-filesystem-l1-1-0.dll new file mode 100644 index 0000000..4a28371 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-filesystem-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-heap-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-heap-l1-1-0.dll new file mode 100644 index 0000000..0ab3a32 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-heap-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-locale-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-locale-l1-1-0.dll new file mode 100644 index 0000000..79d46f6 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-locale-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-math-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-math-l1-1-0.dll new file mode 100644 index 0000000..f8b2092 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-math-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-multibyte-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-multibyte-l1-1-0.dll new file mode 100644 index 0000000..31afd5a Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-multibyte-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-private-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-private-l1-1-0.dll new file mode 100644 index 0000000..240bf46 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-private-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-process-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-process-l1-1-0.dll new file mode 100644 index 0000000..2b517e4 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-process-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-runtime-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-runtime-l1-1-0.dll new file mode 100644 index 0000000..0b1da81 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-runtime-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-stdio-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-stdio-l1-1-0.dll new file mode 100644 index 0000000..74e6f6c Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-stdio-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-string-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-string-l1-1-0.dll new file mode 100644 index 0000000..c366ed3 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-string-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-time-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-time-l1-1-0.dll new file mode 100644 index 0000000..72c5a14 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-time-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/api-ms-win-crt-utility-l1-1-0.dll b/resources/java/jdk/bin/api-ms-win-crt-utility-l1-1-0.dll new file mode 100644 index 0000000..860f878 Binary files /dev/null and b/resources/java/jdk/bin/api-ms-win-crt-utility-l1-1-0.dll differ diff --git a/resources/java/jdk/bin/attach.dll b/resources/java/jdk/bin/attach.dll new file mode 100644 index 0000000..6190008 Binary files /dev/null and b/resources/java/jdk/bin/attach.dll differ diff --git a/resources/java/jdk/bin/awt.dll b/resources/java/jdk/bin/awt.dll new file mode 100644 index 0000000..c8983e9 Binary files /dev/null and b/resources/java/jdk/bin/awt.dll differ diff --git a/resources/java/jdk/bin/dt_shmem.dll b/resources/java/jdk/bin/dt_shmem.dll new file mode 100644 index 0000000..405bdc6 Binary files /dev/null and b/resources/java/jdk/bin/dt_shmem.dll differ diff --git a/resources/java/jdk/bin/dt_socket.dll b/resources/java/jdk/bin/dt_socket.dll new file mode 100644 index 0000000..a4f7683 Binary files /dev/null and b/resources/java/jdk/bin/dt_socket.dll differ diff --git a/resources/java/jdk/bin/fontmanager.dll b/resources/java/jdk/bin/fontmanager.dll new file mode 100644 index 0000000..6bcbfbb Binary files /dev/null and b/resources/java/jdk/bin/fontmanager.dll differ diff --git a/resources/java/jdk/bin/freetype.dll b/resources/java/jdk/bin/freetype.dll new file mode 100644 index 0000000..f67f65c Binary files /dev/null and b/resources/java/jdk/bin/freetype.dll differ diff --git a/resources/java/jdk/bin/instrument.dll b/resources/java/jdk/bin/instrument.dll new file mode 100644 index 0000000..5bfd1fa Binary files /dev/null and b/resources/java/jdk/bin/instrument.dll differ diff --git a/resources/java/jdk/bin/j2gss.dll b/resources/java/jdk/bin/j2gss.dll new file mode 100644 index 0000000..96de9c0 Binary files /dev/null and b/resources/java/jdk/bin/j2gss.dll differ diff --git a/resources/java/jdk/bin/j2pcsc.dll b/resources/java/jdk/bin/j2pcsc.dll new file mode 100644 index 0000000..197f38d Binary files /dev/null and b/resources/java/jdk/bin/j2pcsc.dll differ diff --git a/resources/java/jdk/bin/j2pkcs11.dll b/resources/java/jdk/bin/j2pkcs11.dll new file mode 100644 index 0000000..69a5afb Binary files /dev/null and b/resources/java/jdk/bin/j2pkcs11.dll differ diff --git a/resources/java/jdk/bin/jaas.dll b/resources/java/jdk/bin/jaas.dll new file mode 100644 index 0000000..550e187 Binary files /dev/null and b/resources/java/jdk/bin/jaas.dll differ diff --git a/resources/java/jdk/bin/jabswitch.exe b/resources/java/jdk/bin/jabswitch.exe new file mode 100644 index 0000000..70a6f9f Binary files /dev/null and b/resources/java/jdk/bin/jabswitch.exe differ diff --git a/resources/java/jdk/bin/jaccessinspector.exe b/resources/java/jdk/bin/jaccessinspector.exe new file mode 100644 index 0000000..2197f98 Binary files /dev/null and b/resources/java/jdk/bin/jaccessinspector.exe differ diff --git a/resources/java/jdk/bin/jaccesswalker.exe b/resources/java/jdk/bin/jaccesswalker.exe new file mode 100644 index 0000000..b8467b1 Binary files /dev/null and b/resources/java/jdk/bin/jaccesswalker.exe differ diff --git a/resources/java/jdk/bin/jar.exe b/resources/java/jdk/bin/jar.exe new file mode 100644 index 0000000..9211bf1 Binary files /dev/null and b/resources/java/jdk/bin/jar.exe differ diff --git a/resources/java/jdk/bin/jarsigner.exe b/resources/java/jdk/bin/jarsigner.exe new file mode 100644 index 0000000..71322d4 Binary files /dev/null and b/resources/java/jdk/bin/jarsigner.exe differ diff --git a/resources/java/jdk/bin/java.dll b/resources/java/jdk/bin/java.dll new file mode 100644 index 0000000..04b4004 Binary files /dev/null and b/resources/java/jdk/bin/java.dll differ diff --git a/resources/java/jdk/bin/java.exe b/resources/java/jdk/bin/java.exe new file mode 100644 index 0000000..17dca3d Binary files /dev/null and b/resources/java/jdk/bin/java.exe differ diff --git a/resources/java/jdk/bin/javaaccessbridge.dll b/resources/java/jdk/bin/javaaccessbridge.dll new file mode 100644 index 0000000..449f4ac Binary files /dev/null and b/resources/java/jdk/bin/javaaccessbridge.dll differ diff --git a/resources/java/jdk/bin/javac.exe b/resources/java/jdk/bin/javac.exe new file mode 100644 index 0000000..c3050b1 Binary files /dev/null and b/resources/java/jdk/bin/javac.exe differ diff --git a/resources/java/jdk/bin/javadoc.exe b/resources/java/jdk/bin/javadoc.exe new file mode 100644 index 0000000..c658f4e Binary files /dev/null and b/resources/java/jdk/bin/javadoc.exe differ diff --git a/resources/java/jdk/bin/javajpeg.dll b/resources/java/jdk/bin/javajpeg.dll new file mode 100644 index 0000000..6c86952 Binary files /dev/null and b/resources/java/jdk/bin/javajpeg.dll differ diff --git a/resources/java/jdk/bin/javap.exe b/resources/java/jdk/bin/javap.exe new file mode 100644 index 0000000..4880056 Binary files /dev/null and b/resources/java/jdk/bin/javap.exe differ diff --git a/resources/java/jdk/bin/javaw.exe b/resources/java/jdk/bin/javaw.exe new file mode 100644 index 0000000..9c6b937 Binary files /dev/null and b/resources/java/jdk/bin/javaw.exe differ diff --git a/resources/java/jdk/bin/jawt.dll b/resources/java/jdk/bin/jawt.dll new file mode 100644 index 0000000..fc8701b Binary files /dev/null and b/resources/java/jdk/bin/jawt.dll differ diff --git a/resources/java/jdk/bin/jcmd.exe b/resources/java/jdk/bin/jcmd.exe new file mode 100644 index 0000000..7f246bb Binary files /dev/null and b/resources/java/jdk/bin/jcmd.exe differ diff --git a/resources/java/jdk/bin/jconsole.exe b/resources/java/jdk/bin/jconsole.exe new file mode 100644 index 0000000..38d075b Binary files /dev/null and b/resources/java/jdk/bin/jconsole.exe differ diff --git a/resources/java/jdk/bin/jdb.exe b/resources/java/jdk/bin/jdb.exe new file mode 100644 index 0000000..7233957 Binary files /dev/null and b/resources/java/jdk/bin/jdb.exe differ diff --git a/resources/java/jdk/bin/jdeprscan.exe b/resources/java/jdk/bin/jdeprscan.exe new file mode 100644 index 0000000..ce84f5d Binary files /dev/null and b/resources/java/jdk/bin/jdeprscan.exe differ diff --git a/resources/java/jdk/bin/jdeps.exe b/resources/java/jdk/bin/jdeps.exe new file mode 100644 index 0000000..67d9a3a Binary files /dev/null and b/resources/java/jdk/bin/jdeps.exe differ diff --git a/resources/java/jdk/bin/jdwp.dll b/resources/java/jdk/bin/jdwp.dll new file mode 100644 index 0000000..7353f58 Binary files /dev/null and b/resources/java/jdk/bin/jdwp.dll differ diff --git a/resources/java/jdk/bin/jfr.exe b/resources/java/jdk/bin/jfr.exe new file mode 100644 index 0000000..ad95131 Binary files /dev/null and b/resources/java/jdk/bin/jfr.exe differ diff --git a/resources/java/jdk/bin/jhsdb.exe b/resources/java/jdk/bin/jhsdb.exe new file mode 100644 index 0000000..6862c3a Binary files /dev/null and b/resources/java/jdk/bin/jhsdb.exe differ diff --git a/resources/java/jdk/bin/jimage.dll b/resources/java/jdk/bin/jimage.dll new file mode 100644 index 0000000..3c79bf1 Binary files /dev/null and b/resources/java/jdk/bin/jimage.dll differ diff --git a/resources/java/jdk/bin/jimage.exe b/resources/java/jdk/bin/jimage.exe new file mode 100644 index 0000000..57b0fce Binary files /dev/null and b/resources/java/jdk/bin/jimage.exe differ diff --git a/resources/java/jdk/bin/jinfo.exe b/resources/java/jdk/bin/jinfo.exe new file mode 100644 index 0000000..03cd5a9 Binary files /dev/null and b/resources/java/jdk/bin/jinfo.exe differ diff --git a/resources/java/jdk/bin/jli.dll b/resources/java/jdk/bin/jli.dll new file mode 100644 index 0000000..f482b8b Binary files /dev/null and b/resources/java/jdk/bin/jli.dll differ diff --git a/resources/java/jdk/bin/jlink.exe b/resources/java/jdk/bin/jlink.exe new file mode 100644 index 0000000..5d17155 Binary files /dev/null and b/resources/java/jdk/bin/jlink.exe differ diff --git a/resources/java/jdk/bin/jmap.exe b/resources/java/jdk/bin/jmap.exe new file mode 100644 index 0000000..134d252 Binary files /dev/null and b/resources/java/jdk/bin/jmap.exe differ diff --git a/resources/java/jdk/bin/jmod.exe b/resources/java/jdk/bin/jmod.exe new file mode 100644 index 0000000..f5c94c5 Binary files /dev/null and b/resources/java/jdk/bin/jmod.exe differ diff --git a/resources/java/jdk/bin/jpackage.dll b/resources/java/jdk/bin/jpackage.dll new file mode 100644 index 0000000..896bf44 Binary files /dev/null and b/resources/java/jdk/bin/jpackage.dll differ diff --git a/resources/java/jdk/bin/jpackage.exe b/resources/java/jdk/bin/jpackage.exe new file mode 100644 index 0000000..b992924 Binary files /dev/null and b/resources/java/jdk/bin/jpackage.exe differ diff --git a/resources/java/jdk/bin/jps.exe b/resources/java/jdk/bin/jps.exe new file mode 100644 index 0000000..42e4afe Binary files /dev/null and b/resources/java/jdk/bin/jps.exe differ diff --git a/resources/java/jdk/bin/jrunscript.exe b/resources/java/jdk/bin/jrunscript.exe new file mode 100644 index 0000000..9084c79 Binary files /dev/null and b/resources/java/jdk/bin/jrunscript.exe differ diff --git a/resources/java/jdk/bin/jshell.exe b/resources/java/jdk/bin/jshell.exe new file mode 100644 index 0000000..273389e Binary files /dev/null and b/resources/java/jdk/bin/jshell.exe differ diff --git a/resources/java/jdk/bin/jsound.dll b/resources/java/jdk/bin/jsound.dll new file mode 100644 index 0000000..cee834a Binary files /dev/null and b/resources/java/jdk/bin/jsound.dll differ diff --git a/resources/java/jdk/bin/jstack.exe b/resources/java/jdk/bin/jstack.exe new file mode 100644 index 0000000..a6c02fb Binary files /dev/null and b/resources/java/jdk/bin/jstack.exe differ diff --git a/resources/java/jdk/bin/jstat.exe b/resources/java/jdk/bin/jstat.exe new file mode 100644 index 0000000..8ee05d6 Binary files /dev/null and b/resources/java/jdk/bin/jstat.exe differ diff --git a/resources/java/jdk/bin/jstatd.exe b/resources/java/jdk/bin/jstatd.exe new file mode 100644 index 0000000..1e744fd Binary files /dev/null and b/resources/java/jdk/bin/jstatd.exe differ diff --git a/resources/java/jdk/bin/jsvml.dll b/resources/java/jdk/bin/jsvml.dll new file mode 100644 index 0000000..a0a8685 Binary files /dev/null and b/resources/java/jdk/bin/jsvml.dll differ diff --git a/resources/java/jdk/bin/keytool.exe b/resources/java/jdk/bin/keytool.exe new file mode 100644 index 0000000..9c2a631 Binary files /dev/null and b/resources/java/jdk/bin/keytool.exe differ diff --git a/resources/java/jdk/bin/kinit.exe b/resources/java/jdk/bin/kinit.exe new file mode 100644 index 0000000..d0c6ff0 Binary files /dev/null and b/resources/java/jdk/bin/kinit.exe differ diff --git a/resources/java/jdk/bin/klist.exe b/resources/java/jdk/bin/klist.exe new file mode 100644 index 0000000..f818925 Binary files /dev/null and b/resources/java/jdk/bin/klist.exe differ diff --git a/resources/java/jdk/bin/ktab.exe b/resources/java/jdk/bin/ktab.exe new file mode 100644 index 0000000..26dfa28 Binary files /dev/null and b/resources/java/jdk/bin/ktab.exe differ diff --git a/resources/java/jdk/bin/lcms.dll b/resources/java/jdk/bin/lcms.dll new file mode 100644 index 0000000..a50e7ad Binary files /dev/null and b/resources/java/jdk/bin/lcms.dll differ diff --git a/resources/java/jdk/bin/le.dll b/resources/java/jdk/bin/le.dll new file mode 100644 index 0000000..b88a6d0 Binary files /dev/null and b/resources/java/jdk/bin/le.dll differ diff --git a/resources/java/jdk/bin/management.dll b/resources/java/jdk/bin/management.dll new file mode 100644 index 0000000..41c613f Binary files /dev/null and b/resources/java/jdk/bin/management.dll differ diff --git a/resources/java/jdk/bin/management_agent.dll b/resources/java/jdk/bin/management_agent.dll new file mode 100644 index 0000000..3de9d9a Binary files /dev/null and b/resources/java/jdk/bin/management_agent.dll differ diff --git a/resources/java/jdk/bin/management_ext.dll b/resources/java/jdk/bin/management_ext.dll new file mode 100644 index 0000000..5257475 Binary files /dev/null and b/resources/java/jdk/bin/management_ext.dll differ diff --git a/resources/java/jdk/bin/mlib_image.dll b/resources/java/jdk/bin/mlib_image.dll new file mode 100644 index 0000000..d6ddc05 Binary files /dev/null and b/resources/java/jdk/bin/mlib_image.dll differ diff --git a/resources/java/jdk/bin/msvcp140.dll b/resources/java/jdk/bin/msvcp140.dll new file mode 100644 index 0000000..464f03c Binary files /dev/null and b/resources/java/jdk/bin/msvcp140.dll differ diff --git a/resources/java/jdk/bin/net.dll b/resources/java/jdk/bin/net.dll new file mode 100644 index 0000000..75b53cf Binary files /dev/null and b/resources/java/jdk/bin/net.dll differ diff --git a/resources/java/jdk/bin/nio.dll b/resources/java/jdk/bin/nio.dll new file mode 100644 index 0000000..b20cd58 Binary files /dev/null and b/resources/java/jdk/bin/nio.dll differ diff --git a/resources/java/jdk/bin/prefs.dll b/resources/java/jdk/bin/prefs.dll new file mode 100644 index 0000000..08483c7 Binary files /dev/null and b/resources/java/jdk/bin/prefs.dll differ diff --git a/resources/java/jdk/bin/rmi.dll b/resources/java/jdk/bin/rmi.dll new file mode 100644 index 0000000..ca7c35c Binary files /dev/null and b/resources/java/jdk/bin/rmi.dll differ diff --git a/resources/java/jdk/bin/rmiregistry.exe b/resources/java/jdk/bin/rmiregistry.exe new file mode 100644 index 0000000..d218d4f Binary files /dev/null and b/resources/java/jdk/bin/rmiregistry.exe differ diff --git a/resources/java/jdk/bin/saproc.dll b/resources/java/jdk/bin/saproc.dll new file mode 100644 index 0000000..4133fa6 Binary files /dev/null and b/resources/java/jdk/bin/saproc.dll differ diff --git a/resources/java/jdk/bin/serialver.exe b/resources/java/jdk/bin/serialver.exe new file mode 100644 index 0000000..2414e56 Binary files /dev/null and b/resources/java/jdk/bin/serialver.exe differ diff --git a/resources/java/jdk/bin/server/classes.jsa b/resources/java/jdk/bin/server/classes.jsa new file mode 100644 index 0000000..5f3f177 Binary files /dev/null and b/resources/java/jdk/bin/server/classes.jsa differ diff --git a/resources/java/jdk/bin/server/classes_nocoops.jsa b/resources/java/jdk/bin/server/classes_nocoops.jsa new file mode 100644 index 0000000..2b200ef Binary files /dev/null and b/resources/java/jdk/bin/server/classes_nocoops.jsa differ diff --git a/resources/java/jdk/bin/server/jvm.dll b/resources/java/jdk/bin/server/jvm.dll new file mode 100644 index 0000000..4307b1f Binary files /dev/null and b/resources/java/jdk/bin/server/jvm.dll differ diff --git a/resources/java/jdk/bin/splashscreen.dll b/resources/java/jdk/bin/splashscreen.dll new file mode 100644 index 0000000..9bbbe84 Binary files /dev/null and b/resources/java/jdk/bin/splashscreen.dll differ diff --git a/resources/java/jdk/bin/sspi_bridge.dll b/resources/java/jdk/bin/sspi_bridge.dll new file mode 100644 index 0000000..d794c87 Binary files /dev/null and b/resources/java/jdk/bin/sspi_bridge.dll differ diff --git a/resources/java/jdk/bin/sunmscapi.dll b/resources/java/jdk/bin/sunmscapi.dll new file mode 100644 index 0000000..a190f25 Binary files /dev/null and b/resources/java/jdk/bin/sunmscapi.dll differ diff --git a/resources/java/jdk/bin/ucrtbase.dll b/resources/java/jdk/bin/ucrtbase.dll new file mode 100644 index 0000000..b662575 Binary files /dev/null and b/resources/java/jdk/bin/ucrtbase.dll differ diff --git a/resources/java/jdk/bin/vcruntime140.dll b/resources/java/jdk/bin/vcruntime140.dll new file mode 100644 index 0000000..dee1372 Binary files /dev/null and b/resources/java/jdk/bin/vcruntime140.dll differ diff --git a/resources/java/jdk/bin/vcruntime140_1.dll b/resources/java/jdk/bin/vcruntime140_1.dll new file mode 100644 index 0000000..c9f5125 Binary files /dev/null and b/resources/java/jdk/bin/vcruntime140_1.dll differ diff --git a/resources/java/jdk/bin/verify.dll b/resources/java/jdk/bin/verify.dll new file mode 100644 index 0000000..bcf1c87 Binary files /dev/null and b/resources/java/jdk/bin/verify.dll differ diff --git a/resources/java/jdk/bin/w2k_lsa_auth.dll b/resources/java/jdk/bin/w2k_lsa_auth.dll new file mode 100644 index 0000000..8679f6a Binary files /dev/null and b/resources/java/jdk/bin/w2k_lsa_auth.dll differ diff --git a/resources/java/jdk/bin/windowsaccessbridge-64.dll b/resources/java/jdk/bin/windowsaccessbridge-64.dll new file mode 100644 index 0000000..d232772 Binary files /dev/null and b/resources/java/jdk/bin/windowsaccessbridge-64.dll differ diff --git a/resources/java/jdk/bin/zip.dll b/resources/java/jdk/bin/zip.dll new file mode 100644 index 0000000..b346048 Binary files /dev/null and b/resources/java/jdk/bin/zip.dll differ diff --git a/resources/java/jdk/conf/security/java.policy b/resources/java/jdk/conf/security/java.policy new file mode 100644 index 0000000..1554541 --- /dev/null +++ b/resources/java/jdk/conf/security/java.policy @@ -0,0 +1,44 @@ +// +// This system policy file grants a set of default permissions to all domains +// and can be configured to grant additional permissions to modules and other +// code sources. The code source URL scheme for modules linked into a +// run-time image is "jrt". +// +// For example, to grant permission to read the "foo" property to the module +// "com.greetings", the grant entry is: +// +// grant codeBase "jrt:/com.greetings" { +// permission java.util.PropertyPermission "foo", "read"; +// }; +// + +// default permissions granted to all domains +grant { + // allows anyone to listen on dynamic ports + permission java.net.SocketPermission "localhost:0", "listen"; + + // "standard" properies that can be read by anyone + permission java.util.PropertyPermission "java.version", "read"; + permission java.util.PropertyPermission "java.vendor", "read"; + permission java.util.PropertyPermission "java.vendor.url", "read"; + permission java.util.PropertyPermission "java.class.version", "read"; + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "os.version", "read"; + permission java.util.PropertyPermission "os.arch", "read"; + permission java.util.PropertyPermission "file.separator", "read"; + permission java.util.PropertyPermission "path.separator", "read"; + permission java.util.PropertyPermission "line.separator", "read"; + permission java.util.PropertyPermission + "java.specification.version", "read"; + permission java.util.PropertyPermission "java.specification.vendor", "read"; + permission java.util.PropertyPermission "java.specification.name", "read"; + permission java.util.PropertyPermission + "java.vm.specification.version", "read"; + permission java.util.PropertyPermission + "java.vm.specification.vendor", "read"; + permission java.util.PropertyPermission + "java.vm.specification.name", "read"; + permission java.util.PropertyPermission "java.vm.version", "read"; + permission java.util.PropertyPermission "java.vm.vendor", "read"; + permission java.util.PropertyPermission "java.vm.name", "read"; +}; diff --git a/resources/java/jdk/conf/security/java.security b/resources/java/jdk/conf/security/java.security new file mode 100644 index 0000000..d911094 --- /dev/null +++ b/resources/java/jdk/conf/security/java.security @@ -0,0 +1,1360 @@ +# +# This is the "master security properties file". +# +# An alternate java.security properties file may be specified +# from the command line via the system property +# +# -Djava.security.properties= +# +# This properties file appends to the master security properties file. +# If both properties files specify values for the same key, the value +# from the command-line properties file is selected, as it is the last +# one loaded. +# +# Also, if you specify +# +# -Djava.security.properties== (2 equals), +# +# then that properties file completely overrides the master security +# properties file. +# +# To disable the ability to specify an additional properties file from +# the command line, set the key security.overridePropertiesFile +# to false in the master security properties file. It is set to true +# by default. +# +# If this properties file fails to load, the JDK implementation will throw +# an unspecified error when initializing the java.security.Security class. + +# In this file, various security properties are set for use by +# java.security classes. This is where users can statically register +# Cryptography Package Providers ("providers" for short). The term +# "provider" refers to a package or set of packages that supply a +# concrete implementation of a subset of the cryptography aspects of +# the Java Security API. A provider may, for example, implement one or +# more digital signature algorithms or message digest algorithms. +# +# Each provider must implement a subclass of the Provider class. +# To register a provider in this master security properties file, +# specify the provider and priority in the format +# +# security.provider.= +# +# This declares a provider, and specifies its preference +# order n. The preference order is the order in which providers are +# searched for requested algorithms (when no specific provider is +# requested). The order is 1-based; 1 is the most preferred, followed +# by 2, and so on. +# +# must specify the name of the Provider as passed to its super +# class java.security.Provider constructor. This is for providers loaded +# through the ServiceLoader mechanism. +# +# must specify the subclass of the Provider class whose +# constructor sets the values of various properties that are required +# for the Java Security API to look up the algorithms or other +# facilities implemented by the provider. This is for providers loaded +# through classpath. +# +# Note: Providers can be dynamically registered instead by calls to +# either the addProvider or insertProviderAt method in the Security +# class. + +# +# List of providers and their preference orders (see above): +# +security.provider.1=SUN +security.provider.2=SunRsaSign +security.provider.3=SunEC +security.provider.4=SunJSSE +security.provider.5=SunJCE +security.provider.6=SunJGSS +security.provider.7=SunSASL +security.provider.8=XMLDSig +security.provider.9=SunPCSC +security.provider.10=JdkLDAP +security.provider.11=JdkSASL +security.provider.12=SunMSCAPI +security.provider.13=SunPKCS11 + +# +# A list of preferred providers for specific algorithms. These providers will +# be searched for matching algorithms before the list of registered providers. +# Entries containing errors (parsing, etc) will be ignored. Use the +# -Djava.security.debug=jca property to debug these errors. +# +# The property is a comma-separated list of serviceType.algorithm:provider +# entries. The serviceType (example: "MessageDigest") is optional, and if +# not specified, the algorithm applies to all service types that support it. +# The algorithm is the standard algorithm name or transformation. +# Transformations can be specified in their full standard name +# (ex: AES/CBC/PKCS5Padding), or as partial matches (ex: AES, AES/CBC). +# The provider is the name of the provider. Any provider that does not +# also appear in the registered list will be ignored. +# +# There is a special serviceType for this property only to group a set of +# algorithms together. The type is "Group" and is followed by an algorithm +# keyword. Groups are to simplify and lessen the entries on the property +# line. Current groups are: +# Group.SHA2 = SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256 +# Group.HmacSHA2 = HmacSHA224, HmacSHA256, HmacSHA384, HmacSHA512 +# Group.SHA2RSA = SHA224withRSA, SHA256withRSA, SHA384withRSA, SHA512withRSA +# Group.SHA2DSA = SHA224withDSA, SHA256withDSA, SHA384withDSA, SHA512withDSA +# Group.SHA2ECDSA = SHA224withECDSA, SHA256withECDSA, SHA384withECDSA, \ +# SHA512withECDSA +# Group.SHA3 = SHA3-224, SHA3-256, SHA3-384, SHA3-512 +# Group.HmacSHA3 = HmacSHA3-224, HmacSHA3-256, HmacSHA3-384, HmacSHA3-512 +# +# Example: +# jdk.security.provider.preferred=AES/GCM/NoPadding:SunJCE, \ +# MessageDigest.SHA-256:SUN, Group.HmacSHA2:SunJCE +# +#jdk.security.provider.preferred= + + +# +# Sun Provider SecureRandom seed source. +# +# Select the primary source of seed data for the "NativePRNG", "SHA1PRNG" +# and "DRBG" SecureRandom implementations in the "Sun" provider. +# (Other SecureRandom implementations might also use this property.) +# +# On Unix-like systems (for example, Linux/MacOS), the +# "NativePRNG", "SHA1PRNG" and "DRBG" implementations obtains seed data from +# special device files such as file:/dev/random. +# +# On Windows systems, specifying the URLs "file:/dev/random" or +# "file:/dev/urandom" will enable the native Microsoft CryptoAPI seeding +# mechanism for SHA1PRNG and DRBG. +# +# By default, an attempt is made to use the entropy gathering device +# specified by the "securerandom.source" Security property. If an +# exception occurs while accessing the specified URL: +# +# NativePRNG: +# a default value of /dev/random will be used. If neither +# are available, the implementation will be disabled. +# "file" is the only currently supported protocol type. +# +# SHA1PRNG and DRBG: +# the traditional system/thread activity algorithm will be used. +# +# The entropy gathering device can also be specified with the System +# property "java.security.egd". For example: +# +# % java -Djava.security.egd=file:/dev/random MainClass +# +# Specifying this System property will override the +# "securerandom.source" Security property. +# +# In addition, if "file:/dev/random" or "file:/dev/urandom" is +# specified, the "NativePRNG" implementation will be more preferred than +# DRBG and SHA1PRNG in the Sun provider. +# +securerandom.source=file:/dev/random + +# +# A list of known strong SecureRandom implementations. +# +# To help guide applications in selecting a suitable strong +# java.security.SecureRandom implementation, Java distributions should +# indicate a list of known strong implementations using the property. +# +# This is a comma-separated list of algorithm and/or algorithm:provider +# entries. +# +securerandom.strongAlgorithms=Windows-PRNG:SunMSCAPI,DRBG:SUN + +# +# Sun provider DRBG configuration and default instantiation request. +# +# NIST SP 800-90Ar1 lists several DRBG mechanisms. Each can be configured +# with a DRBG algorithm name, and can be instantiated with a security strength, +# prediction resistance support, etc. This property defines the configuration +# and the default instantiation request of "DRBG" SecureRandom implementations +# in the SUN provider. (Other DRBG implementations can also use this property.) +# Applications can request different instantiation parameters like security +# strength, capability, personalization string using one of the +# getInstance(...,SecureRandomParameters,...) methods with a +# DrbgParameters.Instantiation argument, but other settings such as the +# mechanism and DRBG algorithm names are not currently configurable by any API. +# +# Please note that the SUN implementation of DRBG always supports reseeding. +# +# The value of this property is a comma-separated list of all configurable +# aspects. The aspects can appear in any order but the same aspect can only +# appear at most once. Its BNF-style definition is: +# +# Value: +# aspect { "," aspect } +# +# aspect: +# mech_name | algorithm_name | strength | capability | df +# +# // The DRBG mechanism to use. Default "Hash_DRBG" +# mech_name: +# "Hash_DRBG" | "HMAC_DRBG" | "CTR_DRBG" +# +# // The DRBG algorithm name. The "SHA-***" names are for Hash_DRBG and +# // HMAC_DRBG, default "SHA-256". The "AES-***" names are for CTR_DRBG, +# // default "AES-128" when using the limited cryptographic or "AES-256" +# // when using the unlimited. +# algorithm_name: +# "SHA-224" | "SHA-512/224" | "SHA-256" | +# "SHA-512/256" | "SHA-384" | "SHA-512" | +# "AES-128" | "AES-192" | "AES-256" +# +# // Security strength requested. Default "128" +# strength: +# "112" | "128" | "192" | "256" +# +# // Prediction resistance and reseeding request. Default "none" +# // "pr_and_reseed" - Both prediction resistance and reseeding +# // support requested +# // "reseed_only" - Only reseeding support requested +# // "none" - Neither prediction resistance not reseeding +# // support requested +# pr: +# "pr_and_reseed" | "reseed_only" | "none" +# +# // Whether a derivation function should be used. only applicable +# // to CTR_DRBG. Default "use_df" +# df: +# "use_df" | "no_df" +# +# Examples, +# securerandom.drbg.config=Hash_DRBG,SHA-224,112,none +# securerandom.drbg.config=CTR_DRBG,AES-256,192,pr_and_reseed,use_df +# +# The default value is an empty string, which is equivalent to +# securerandom.drbg.config=Hash_DRBG,SHA-256,128,none +# +securerandom.drbg.config= + +# +# Class to instantiate as the javax.security.auth.login.Configuration +# provider. +# +login.configuration.provider=sun.security.provider.ConfigFile + +# +# Default login configuration file +# +#login.config.url.1=file:${user.home}/.java.login.config + +# +# Class to instantiate as the system Policy. This is the name of the class +# that will be used as the Policy object. The system class loader is used to +# locate this class. +# +policy.provider=sun.security.provider.PolicyFile + +# The default is to have a single system-wide policy file, +# and a policy file in the user's home directory. +# +policy.url.1=file:${java.home}/conf/security/java.policy +policy.url.2=file:${user.home}/.java.policy + +# Controls whether or not properties are expanded in policy and login +# configuration files. If set to false, properties (${...}) will not +# be expanded in policy and login configuration files. If commented out or +# set to an empty string, the default value is "false" for policy files and +# "true" for login configuration files. +# +policy.expandProperties=true + +# Controls whether or not an extra policy or login configuration file is +# allowed to be passed on the command line with -Djava.security.policy=somefile +# or -Djava.security.auth.login.config=somefile. If commented out or set to +# an empty string, the default value is "false". +# +policy.allowSystemProperty=true + +# whether or not we look into the IdentityScope for trusted Identities +# when encountering a 1.1 signed JAR file. If the identity is found +# and is trusted, we grant it AllPermission. Note: the default policy +# provider (sun.security.provider.PolicyFile) does not support this property. +# +policy.ignoreIdentityScope=false + +# +# Default keystore type. +# +keystore.type=pkcs12 + +# +# Controls compatibility mode for JKS and PKCS12 keystore types. +# +# When set to 'true', both JKS and PKCS12 keystore types support loading +# keystore files in either JKS or PKCS12 format. When set to 'false' the +# JKS keystore type supports loading only JKS keystore files and the PKCS12 +# keystore type supports loading only PKCS12 keystore files. +# +keystore.type.compat=true + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when passed to the +# SecurityManager::checkPackageAccess method unless the corresponding +# RuntimePermission("accessClassInPackage."+package) has been granted. +# +package.access=sun.misc.,\ + sun.reflect. + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when passed to the +# SecurityManager::checkPackageDefinition method unless the corresponding +# RuntimePermission("defineClassInPackage."+package) has been granted. +# +# By default, none of the class loaders supplied with the JDK call +# checkPackageDefinition. +# +package.definition=sun.misc.,\ + sun.reflect. + +# +# Determines whether this properties file can be appended to +# or overridden on the command line via -Djava.security.properties +# +security.overridePropertiesFile=true + +# +# Determines the default key and trust manager factory algorithms for +# the javax.net.ssl package. +# +ssl.KeyManagerFactory.algorithm=SunX509 +ssl.TrustManagerFactory.algorithm=PKIX + +# +# The Java-level namelookup cache policy for successful lookups: +# +# any negative value: caching forever +# any positive value: the number of seconds to cache an address for +# zero: do not cache +# +# default value is forever (FOREVER). For security reasons, this +# caching is made forever when a security manager is set. When a security +# manager is not set, the default behavior in this implementation +# is to cache for 30 seconds. +# +# NOTE: setting this to anything other than the default value can have +# serious security implications. Do not set it unless +# you are sure you are not exposed to DNS spoofing attack. +# +#networkaddress.cache.ttl=-1 + +# The Java-level namelookup cache policy for failed lookups: +# +# any negative value: cache forever +# any positive value: the number of seconds to cache negative lookup results +# zero: do not cache +# +# In some Microsoft Windows networking environments that employ +# the WINS name service in addition to DNS, name service lookups +# that fail may take a noticeably long time to return (approx. 5 seconds). +# For this reason the default caching policy is to maintain these +# results for 10 seconds. +# +networkaddress.cache.negative.ttl=10 + +# +# Properties to configure OCSP for certificate revocation checking +# + +# Enable OCSP +# +# By default, OCSP is not used for certificate revocation checking. +# This property enables the use of OCSP when set to the value "true". +# +# NOTE: SocketPermission is required to connect to an OCSP responder. +# +# Example, +# ocsp.enable=true + +# +# Location of the OCSP responder +# +# By default, the location of the OCSP responder is determined implicitly +# from the certificate being validated. This property explicitly specifies +# the location of the OCSP responder. The property is used when the +# Authority Information Access extension (defined in RFC 5280) is absent +# from the certificate or when it requires overriding. +# +# Example, +# ocsp.responderURL=http://ocsp.example.net:80 + +# +# Subject name of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# distinguished name (defined in RFC 2253) which identifies a certificate in +# the set of certificates supplied during cert path validation. In cases where +# the subject name alone is not sufficient to uniquely identify the certificate +# then both the "ocsp.responderCertIssuerName" and +# "ocsp.responderCertSerialNumber" properties must be used instead. When this +# property is set then those two properties are ignored. +# +# Example, +# ocsp.responderCertSubjectName=CN=OCSP Responder, O=XYZ Corp + +# +# Issuer name of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# distinguished name (defined in RFC 2253) which identifies a certificate in +# the set of certificates supplied during cert path validation. When this +# property is set then the "ocsp.responderCertSerialNumber" property must also +# be set. When the "ocsp.responderCertSubjectName" property is set then this +# property is ignored. +# +# Example, +# ocsp.responderCertIssuerName=CN=Enterprise CA, O=XYZ Corp + +# +# Serial number of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# of hexadecimal digits (colon or space separators may be present) which +# identifies a certificate in the set of certificates supplied during cert path +# validation. When this property is set then the "ocsp.responderCertIssuerName" +# property must also be set. When the "ocsp.responderCertSubjectName" property +# is set then this property is ignored. +# +# Example, +# ocsp.responderCertSerialNumber=2A:FF:00 + +# +# Policy for failed Kerberos KDC lookups: +# +# When a KDC is unavailable (network error, service failure, etc), it is +# put inside a secondary list and accessed less often for future requests. The +# value (case-insensitive) for this policy can be: +# +# tryLast +# KDCs in the secondary list are always tried after those not on the list. +# +# tryLess[:max_retries,timeout] +# KDCs in the secondary list are still tried by their order in the +# configuration, but with smaller max_retries and timeout values. +# max_retries and timeout are optional numerical parameters (default 1 and +# 5000, which means once and 5 seconds). Please note that if any of the +# values defined here are more than what is defined in krb5.conf, it will be +# ignored. +# +# Whenever a KDC is detected as available, it is removed from the secondary +# list. The secondary list is reset when krb5.conf is reloaded. You can add +# refreshKrb5Config=true to a JAAS configuration file so that krb5.conf is +# reloaded whenever a JAAS authentication is attempted. +# +# Example, +# krb5.kdc.bad.policy = tryLast +# krb5.kdc.bad.policy = tryLess:2,2000 +# +krb5.kdc.bad.policy = tryLast + +# +# Kerberos cross-realm referrals (RFC 6806) +# +# OpenJDK's Kerberos client supports cross-realm referrals as defined in +# RFC 6806. This allows to setup more dynamic environments in which clients +# do not need to know in advance how to reach the realm of a target principal +# (either a user or service). +# +# When a client issues an AS or a TGS request, the "canonicalize" option +# is set to announce support of this feature. A KDC server may fulfill the +# request or reply referring the client to a different one. If referred, +# the client will issue a new request and the cycle repeats. +# +# In addition to referrals, the "canonicalize" option allows the KDC server +# to change the client name in response to an AS request. For security reasons, +# RFC 6806 (section 11) FAST scheme is enforced. +# +# Disable Kerberos cross-realm referrals. Value may be overwritten with a +# System property (-Dsun.security.krb5.disableReferrals). +sun.security.krb5.disableReferrals=false + +# Maximum number of AS or TGS referrals to avoid infinite loops. Value may +# be overwritten with a System property (-Dsun.security.krb5.maxReferrals). +sun.security.krb5.maxReferrals=5 + +# +# This property contains a list of disabled EC Named Curves that can be included +# in the jdk.[tls|certpath|jar].disabledAlgorithms properties. To include this +# list in any of the disabledAlgorithms properties, add the property name as +# an entry. +#jdk.disabled.namedCurves= + +# +# Algorithm restrictions for certification path (CertPath) processing +# +# In some environments, certain algorithms or key lengths may be undesirable +# for certification path building and validation. For example, "MD2" is +# generally no longer considered to be a secure hash algorithm. This section +# describes the mechanism for disabling algorithms based on algorithm name +# and/or key length. This includes algorithms used in certificates, as well +# as revocation information such as CRLs and signed OCSP Responses. +# The syntax of the disabled algorithm string is described as follows: +# DisabledAlgorithms: +# " DisabledAlgorithm { , DisabledAlgorithm } " +# +# DisabledAlgorithm: +# AlgorithmName [Constraint] { '&' Constraint } | IncludeProperty +# +# AlgorithmName: +# (see below) +# +# Constraint: +# KeySizeConstraint | CAConstraint | DenyAfterConstraint | +# UsageConstraint +# +# KeySizeConstraint: +# keySize Operator KeyLength +# +# Operator: +# <= | < | == | != | >= | > +# +# KeyLength: +# Integer value of the algorithm's key length in bits +# +# CAConstraint: +# jdkCA +# +# DenyAfterConstraint: +# denyAfter YYYY-MM-DD +# +# UsageConstraint: +# usage [TLSServer] [TLSClient] [SignedJAR] +# +# IncludeProperty: +# include +# +# The "AlgorithmName" is the standard algorithm name of the disabled +# algorithm. See the Java Security Standard Algorithm Names Specification +# for information about Standard Algorithm Names. Matching is +# performed using a case-insensitive sub-element matching rule. (For +# example, in "SHA1withECDSA" the sub-elements are "SHA1" for hashing and +# "ECDSA" for signatures.) If the assertion "AlgorithmName" is a +# sub-element of the certificate algorithm name, the algorithm will be +# rejected during certification path building and validation. For example, +# the assertion algorithm name "DSA" will disable all certificate algorithms +# that rely on DSA, such as NONEwithDSA, SHA1withDSA. However, the assertion +# will not disable algorithms related to "ECDSA". +# +# The "IncludeProperty" allows a implementation-defined security property that +# can be included in the disabledAlgorithms properties. These properties are +# to help manage common actions easier across multiple disabledAlgorithm +# properties. +# There is one defined security property: jdk.disabled.namedCurves +# See the property for more specific details. +# +# +# A "Constraint" defines restrictions on the keys and/or certificates for +# a specified AlgorithmName: +# +# KeySizeConstraint: +# keySize Operator KeyLength +# The constraint requires a key of a valid size range if the +# "AlgorithmName" is of a key algorithm. The "KeyLength" indicates +# the key size specified in number of bits. For example, +# "RSA keySize <= 1024" indicates that any RSA key with key size less +# than or equal to 1024 bits should be disabled, and +# "RSA keySize < 1024, RSA keySize > 2048" indicates that any RSA key +# with key size less than 1024 or greater than 2048 should be disabled. +# This constraint is only used on algorithms that have a key size. +# +# CAConstraint: +# jdkCA +# This constraint prohibits the specified algorithm only if the +# algorithm is used in a certificate chain that terminates at a marked +# trust anchor in the lib/security/cacerts keystore. If the jdkCA +# constraint is not set, then all chains using the specified algorithm +# are restricted. jdkCA may only be used once in a DisabledAlgorithm +# expression. +# Example: To apply this constraint to SHA-1 certificates, include +# the following: "SHA1 jdkCA" +# +# DenyAfterConstraint: +# denyAfter YYYY-MM-DD +# This constraint prohibits a certificate with the specified algorithm +# from being used after the date regardless of the certificate's +# validity. JAR files that are signed and timestamped before the +# constraint date with certificates containing the disabled algorithm +# will not be restricted. The date is processed in the UTC timezone. +# This constraint can only be used once in a DisabledAlgorithm +# expression. +# Example: To deny usage of RSA 2048 bit certificates after Feb 3 2020, +# use the following: "RSA keySize == 2048 & denyAfter 2020-02-03" +# +# UsageConstraint: +# usage [TLSServer] [TLSClient] [SignedJAR] +# This constraint prohibits the specified algorithm for +# a specified usage. This should be used when disabling an algorithm +# for all usages is not practical. 'TLSServer' restricts the algorithm +# in TLS server certificate chains when server authentication is +# performed. 'TLSClient' restricts the algorithm in TLS client +# certificate chains when client authentication is performed. +# 'SignedJAR' constrains use of certificates in signed jar files. +# The usage type follows the keyword and more than one usage type can +# be specified with a whitespace delimiter. +# Example: "SHA1 usage TLSServer TLSClient" +# +# When an algorithm must satisfy more than one constraint, it must be +# delimited by an ampersand '&'. For example, to restrict certificates in a +# chain that terminate at a distribution provided trust anchor and contain +# RSA keys that are less than or equal to 1024 bits, add the following +# constraint: "RSA keySize <= 1024 & jdkCA". +# +# All DisabledAlgorithms expressions are processed in the order defined in the +# property. This requires lower keysize constraints to be specified +# before larger keysize constraints of the same algorithm. For example: +# "RSA keySize < 1024 & jdkCA, RSA keySize < 2048". +# +# Note: The algorithm restrictions do not apply to trust anchors or +# self-signed certificates. +# +# Note: This property is currently used by Oracle's PKIX implementation. It +# is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048 +# +# +jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \ + RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224, \ + SHA1 usage SignedJAR & denyAfter 2019-01-01 + +# +# Legacy algorithms for certification path (CertPath) processing and +# signed JAR files. +# +# In some environments, a certain algorithm or key length may be undesirable +# but is not yet disabled. +# +# Tools such as keytool and jarsigner may emit warnings when these legacy +# algorithms are used. See the man pages for those tools for more information. +# +# The syntax is the same as the "jdk.certpath.disabledAlgorithms" and +# "jdk.jar.disabledAlgorithms" security properties. +# +# Note: This property is currently used by the JDK Reference +# implementation. It is not guaranteed to be examined and used by other +# implementations. + +jdk.security.legacyAlgorithms=SHA1, \ + RSA keySize < 2048, DSA keySize < 2048 + +# +# Algorithm restrictions for signed JAR files +# +# In some environments, certain algorithms or key lengths may be undesirable +# for signed JAR validation. For example, "MD2" is generally no longer +# considered to be a secure hash algorithm. This section describes the +# mechanism for disabling algorithms based on algorithm name and/or key length. +# JARs signed with any of the disabled algorithms or key sizes will be treated +# as unsigned. +# +# The syntax of the disabled algorithm string is described as follows: +# DisabledAlgorithms: +# " DisabledAlgorithm { , DisabledAlgorithm } " +# +# DisabledAlgorithm: +# AlgorithmName [Constraint] { '&' Constraint } +# +# AlgorithmName: +# (see below) +# +# Constraint: +# KeySizeConstraint | DenyAfterConstraint +# +# KeySizeConstraint: +# keySize Operator KeyLength +# +# DenyAfterConstraint: +# denyAfter YYYY-MM-DD +# +# Operator: +# <= | < | == | != | >= | > +# +# KeyLength: +# Integer value of the algorithm's key length in bits +# +# Note: This property is currently used by the JDK Reference +# implementation. It is not guaranteed to be examined and used by other +# implementations. +# +# See "jdk.certpath.disabledAlgorithms" for syntax descriptions. +# +jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \ + DSA keySize < 1024, SHA1 denyAfter 2019-01-01 + +# +# Algorithm restrictions for Secure Socket Layer/Transport Layer Security +# (SSL/TLS/DTLS) processing +# +# In some environments, certain algorithms or key lengths may be undesirable +# when using SSL/TLS/DTLS. This section describes the mechanism for disabling +# algorithms during SSL/TLS/DTLS security parameters negotiation, including +# protocol version negotiation, cipher suites selection, named groups +# selection, signature schemes selection, peer authentication and key +# exchange mechanisms. +# +# Disabled algorithms will not be negotiated for SSL/TLS connections, even +# if they are enabled explicitly in an application. +# +# For PKI-based peer authentication and key exchange mechanisms, this list +# of disabled algorithms will also be checked during certification path +# building and validation, including algorithms used in certificates, as +# well as revocation information such as CRLs and signed OCSP Responses. +# This is in addition to the jdk.certpath.disabledAlgorithms property above. +# +# See the specification of "jdk.certpath.disabledAlgorithms" for the +# syntax of the disabled algorithm string. +# +# Note: The algorithm restrictions do not apply to trust anchors or +# self-signed certificates. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048, \ +# rsa_pkcs1_sha1, secp224r1 +jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ + DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL + +# +# Legacy algorithms for Secure Socket Layer/Transport Layer Security (SSL/TLS) +# processing in JSSE implementation. +# +# In some environments, a certain algorithm may be undesirable but it +# cannot be disabled because of its use in legacy applications. Legacy +# algorithms may still be supported, but applications should not use them +# as the security strength of legacy algorithms are usually not strong enough +# in practice. +# +# During SSL/TLS security parameters negotiation, legacy algorithms will +# not be negotiated unless there are no other candidates. +# +# The syntax of the legacy algorithms string is described as this Java +# BNF-style: +# LegacyAlgorithms: +# " LegacyAlgorithm { , LegacyAlgorithm } " +# +# LegacyAlgorithm: +# AlgorithmName (standard JSSE algorithm name) +# +# See the specification of security property "jdk.certpath.disabledAlgorithms" +# for the syntax and description of the "AlgorithmName" notation. +# +# Per SSL/TLS specifications, cipher suites have the form: +# SSL_KeyExchangeAlg_WITH_CipherAlg_MacAlg +# or +# TLS_KeyExchangeAlg_WITH_CipherAlg_MacAlg +# +# For example, the cipher suite TLS_RSA_WITH_AES_128_CBC_SHA uses RSA as the +# key exchange algorithm, AES_128_CBC (128 bits AES cipher algorithm in CBC +# mode) as the cipher (encryption) algorithm, and SHA-1 as the message digest +# algorithm for HMAC. +# +# The LegacyAlgorithm can be one of the following standard algorithm names: +# 1. JSSE cipher suite name, e.g., TLS_RSA_WITH_AES_128_CBC_SHA +# 2. JSSE key exchange algorithm name, e.g., RSA +# 3. JSSE cipher (encryption) algorithm name, e.g., AES_128_CBC +# 4. JSSE message digest algorithm name, e.g., SHA +# +# See SSL/TLS specifications and the Java Security Standard Algorithm Names +# Specification for information about the algorithm names. +# +# Note: If a legacy algorithm is also restricted through the +# jdk.tls.disabledAlgorithms property or the +# java.security.AlgorithmConstraints API (See +# javax.net.ssl.SSLParameters.setAlgorithmConstraints()), +# then the algorithm is completely disabled and will not be negotiated. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# There is no guarantee the property will continue to exist or be of the +# same syntax in future releases. +# +# Example: +# jdk.tls.legacyAlgorithms=DH_anon, DES_CBC, SSL_RSA_WITH_RC4_128_MD5 +# +jdk.tls.legacyAlgorithms=NULL, anon, RC4, DES, 3DES_EDE_CBC + +# +# The pre-defined default finite field Diffie-Hellman ephemeral (DHE) +# parameters for Transport Layer Security (SSL/TLS/DTLS) processing. +# +# In traditional SSL/TLS/DTLS connections where finite field DHE parameters +# negotiation mechanism is not used, the server offers the client group +# parameters, base generator g and prime modulus p, for DHE key exchange. +# It is recommended to use dynamic group parameters. This property defines +# a mechanism that allows you to specify custom group parameters. +# +# The syntax of this property string is described as this Java BNF-style: +# DefaultDHEParameters: +# DefinedDHEParameters { , DefinedDHEParameters } +# +# DefinedDHEParameters: +# "{" DHEPrimeModulus , DHEBaseGenerator "}" +# +# DHEPrimeModulus: +# HexadecimalDigits +# +# DHEBaseGenerator: +# HexadecimalDigits +# +# HexadecimalDigits: +# HexadecimalDigit { HexadecimalDigit } +# +# HexadecimalDigit: one of +# 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f +# +# Whitespace characters are ignored. +# +# The "DefinedDHEParameters" defines the custom group parameters, prime +# modulus p and base generator g, for a particular size of prime modulus p. +# The "DHEPrimeModulus" defines the hexadecimal prime modulus p, and the +# "DHEBaseGenerator" defines the hexadecimal base generator g of a group +# parameter. It is recommended to use safe primes for the custom group +# parameters. +# +# If this property is not defined or the value is empty, the underlying JSSE +# provider's default group parameter is used for each connection. +# +# If the property value does not follow the grammar, or a particular group +# parameter is not valid, the connection will fall back and use the +# underlying JSSE provider's default group parameter. +# +# Note: This property is currently used by OpenJDK's JSSE implementation. It +# is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.tls.server.defaultDHEParameters= +# { \ +# FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 \ +# 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD \ +# EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 \ +# E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED \ +# EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381 \ +# FFFFFFFF FFFFFFFF, 2} + +# +# TLS key limits on symmetric cryptographic algorithms +# +# This security property sets limits on algorithms key usage in TLS 1.3. +# When the amount of data encrypted exceeds the algorithm value listed below, +# a KeyUpdate message will trigger a key change. This is for symmetric ciphers +# with TLS 1.3 only. +# +# The syntax for the property is described below: +# KeyLimits: +# " KeyLimit { , KeyLimit } " +# +# WeakKeyLimit: +# AlgorithmName Action Length +# +# AlgorithmName: +# A full algorithm transformation. +# +# Action: +# KeyUpdate +# +# Length: +# The amount of encrypted data in a session before the Action occurs +# This value may be an integer value in bytes, or as a power of two, 2^29. +# +# KeyUpdate: +# The TLS 1.3 KeyUpdate handshake process begins when the Length amount +# is fulfilled. +# +# Note: This property is currently used by OpenJDK's JSSE implementation. It +# is not guaranteed to be examined and used by other implementations. +# +jdk.tls.keyLimits=AES/GCM/NoPadding KeyUpdate 2^37 + +# +# Cryptographic Jurisdiction Policy defaults +# +# Import and export control rules on cryptographic software vary from +# country to country. By default, Java provides two different sets of +# cryptographic policy files[1]: +# +# unlimited: These policy files contain no restrictions on cryptographic +# strengths or algorithms +# +# limited: These policy files contain more restricted cryptographic +# strengths +# +# The default setting is determined by the value of the "crypto.policy" +# Security property below. If your country or usage requires the +# traditional restrictive policy, the "limited" Java cryptographic +# policy is still available and may be appropriate for your environment. +# +# If you have restrictions that do not fit either use case mentioned +# above, Java provides the capability to customize these policy files. +# The "crypto.policy" security property points to a subdirectory +# within /conf/security/policy/ which can be customized. +# Please see the /conf/security/policy/README.txt file or consult +# the Java Security Guide/JCA documentation for more information. +# +# YOU ARE ADVISED TO CONSULT YOUR EXPORT/IMPORT CONTROL COUNSEL OR ATTORNEY +# TO DETERMINE THE EXACT REQUIREMENTS. +# +# [1] Please note that the JCE for Java SE, including the JCE framework, +# cryptographic policy files, and standard JCE providers provided with +# the Java SE, have been reviewed and approved for export as mass market +# encryption item by the US Bureau of Industry and Security. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +crypto.policy=unlimited + +# +# The policy for the XML Signature secure validation mode. Validation of +# XML Signatures that violate any of these constraints will fail. The +# mode is enforced by default. The mode can be disabled by setting the +# property "org.jcp.xml.dsig.secureValidation" to Boolean.FALSE with the +# javax.xml.crypto.XMLCryptoContext.setProperty() method. +# +# Policy: +# Constraint {"," Constraint } +# Constraint: +# AlgConstraint | MaxTransformsConstraint | MaxReferencesConstraint | +# ReferenceUriSchemeConstraint | KeySizeConstraint | OtherConstraint +# AlgConstraint +# "disallowAlg" Uri +# MaxTransformsConstraint: +# "maxTransforms" Integer +# MaxReferencesConstraint: +# "maxReferences" Integer +# ReferenceUriSchemeConstraint: +# "disallowReferenceUriSchemes" String { String } +# KeySizeConstraint: +# "minKeySize" KeyAlg Integer +# OtherConstraint: +# "noDuplicateIds" | "noRetrievalMethodLoops" +# +# For AlgConstraint, Uri is the algorithm URI String that is not allowed. +# See the XML Signature Recommendation for more information on algorithm +# URI Identifiers. For KeySizeConstraint, KeyAlg is the standard algorithm +# name of the key type (ex: "RSA"). If the MaxTransformsConstraint, +# MaxReferencesConstraint or KeySizeConstraint (for the same key type) is +# specified more than once, only the last entry is enforced. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +jdk.xml.dsig.secureValidationPolicy=\ + disallowAlg http://www.w3.org/TR/1999/REC-xslt-19991116,\ + disallowAlg http://www.w3.org/2001/04/xmldsig-more#rsa-md5,\ + disallowAlg http://www.w3.org/2001/04/xmldsig-more#hmac-md5,\ + disallowAlg http://www.w3.org/2001/04/xmldsig-more#md5,\ + disallowAlg http://www.w3.org/2000/09/xmldsig#sha1,\ + disallowAlg http://www.w3.org/2000/09/xmldsig#dsa-sha1,\ + disallowAlg http://www.w3.org/2000/09/xmldsig#rsa-sha1,\ + disallowAlg http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1,\ + disallowAlg http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1,\ + maxTransforms 5,\ + maxReferences 30,\ + disallowReferenceUriSchemes file http https,\ + minKeySize RSA 1024,\ + minKeySize DSA 1024,\ + minKeySize EC 224,\ + noDuplicateIds,\ + noRetrievalMethodLoops + + +# +# Deserialization JVM-wide filter factory +# +# A filter factory class name is used to configure the JVM-wide filter factory. +# The class must be public, must have a public zero-argument constructor, implement the +# java.util.function.BinaryOperator interface, provide its +# implementation and be accessible via the application class loader. +# A builtin filter factory is used if no filter factory is defined. +# See java.io.ObjectInputFilter.Config for more information. +# +# If the system property jdk.serialFilterFactory is also specified, it supersedes +# the security property value defined here. +# +#jdk.serialFilterFactory= + +# +# Deserialization JVM-wide filter +# +# A filter, if configured, is used by the filter factory to provide the filter used by +# java.io.ObjectInputStream during deserialization to check the contents of the stream. +# A filter is configured as a sequence of patterns, each pattern is either +# matched against the name of a class in the stream or defines a limit. +# Patterns are separated by ";" (semicolon). +# Whitespace is significant and is considered part of the pattern. +# +# If the system property jdk.serialFilter is also specified, it supersedes +# the security property value defined here. +# +# If a pattern includes a "=", it sets a limit. +# If a limit appears more than once the last value is used. +# Limits are checked before classes regardless of the order in the +# sequence of patterns. +# If any of the limits are exceeded, the filter status is REJECTED. +# +# maxdepth=value - the maximum depth of a graph +# maxrefs=value - the maximum number of internal references +# maxbytes=value - the maximum number of bytes in the input stream +# maxarray=value - the maximum array length allowed +# +# Other patterns, from left to right, match the class or package name as +# returned from Class.getName. +# If the class is an array type, the class or package to be matched is the +# element type. +# Arrays of any number of dimensions are treated the same as the element type. +# For example, a pattern of "!example.Foo", rejects creation of any instance or +# array of example.Foo. +# +# If the pattern starts with "!", the status is REJECTED if the remaining +# pattern is matched; otherwise the status is ALLOWED if the pattern matches. +# If the pattern contains "/", the non-empty prefix up to the "/" is the +# module name; +# if the module name matches the module name of the class then +# the remaining pattern is matched with the class name. +# If there is no "/", the module name is not compared. +# If the pattern ends with ".**" it matches any class in the package and all +# subpackages. +# If the pattern ends with ".*" it matches any class in the package. +# If the pattern ends with "*", it matches any class with the pattern as a +# prefix. +# If the pattern is equal to the class name, it matches. +# Otherwise, the status is UNDECIDED. +# +#jdk.serialFilter=pattern;pattern + +# +# RMI Registry Serial Filter +# +# The filter pattern uses the same format as jdk.serialFilter. +# This filter can override the builtin filter if additional types need to be +# allowed or rejected from the RMI Registry or to decrease limits but not +# to increase limits. +# If the limits (maxdepth, maxrefs, or maxbytes) are exceeded, the object is rejected. +# +# Each non-array type is allowed or rejected if it matches one of the patterns, +# evaluated from left to right, and is otherwise allowed. Arrays of any +# component type, including subarrays and arrays of primitives, are allowed. +# +# Array construction of any component type, including subarrays and arrays of +# primitives, are allowed unless the length is greater than the maxarray limit. +# The filter is applied to each array element. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +# The built-in filter allows subclasses of allowed classes and +# can approximately be represented as the pattern: +# +#sun.rmi.registry.registryFilter=\ +# maxarray=1000000;\ +# maxdepth=20;\ +# java.lang.String;\ +# java.lang.Number;\ +# java.lang.reflect.Proxy;\ +# java.rmi.Remote;\ +# sun.rmi.server.UnicastRef;\ +# sun.rmi.server.RMIClientSocketFactory;\ +# sun.rmi.server.RMIServerSocketFactory;\ +# java.rmi.server.UID +# +# RMI Distributed Garbage Collector (DGC) Serial Filter +# +# The filter pattern uses the same format as jdk.serialFilter. +# This filter can override the builtin filter if additional types need to be +# allowed or rejected from the RMI DGC. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +# The builtin DGC filter can approximately be represented as the filter pattern: +# +#sun.rmi.transport.dgcFilter=\ +# java.rmi.server.ObjID;\ +# java.rmi.server.UID;\ +# java.rmi.dgc.VMID;\ +# java.rmi.dgc.Lease;\ +# maxdepth=5;maxarray=10000 + +# +# JCEKS Encrypted Key Serial Filter +# +# This filter, if configured, is used by the JCEKS KeyStore during the +# deserialization of the encrypted Key object stored inside a key entry. +# If not configured or the filter result is UNDECIDED (i.e. none of the patterns +# matches), the filter configured by jdk.serialFilter will be consulted. +# +# If the system property jceks.key.serialFilter is also specified, it supersedes +# the security property value defined here. +# +# The filter pattern uses the same format as jdk.serialFilter. The default +# pattern allows java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Type, +# and javax.crypto.spec.SecretKeySpec and rejects all the others. +jceks.key.serialFilter = java.base/java.lang.Enum;java.base/java.security.KeyRep;\ + java.base/java.security.KeyRep$Type;java.base/javax.crypto.spec.SecretKeySpec;!* + +# The iteration count used for password-based encryption (PBE) in JCEKS +# keystores. Values in the range 10000 to 5000000 are considered valid. +# If the value is out of this range, or is not a number, or is unspecified; +# a default of 200000 is used. +# +# If the system property jdk.jceks.iterationCount is also specified, it +# supersedes the security property value defined here. +# +#jdk.jceks.iterationCount = 200000 + +# +# PKCS12 KeyStore properties +# +# The following properties, if configured, are used by the PKCS12 KeyStore +# implementation during the creation of a new keystore. Several of the +# properties may also be used when modifying an existing keystore. The +# properties can be overridden by a KeyStore API that specifies its own +# algorithms and parameters. +# +# If an existing PKCS12 keystore is loaded and then stored, the algorithm and +# parameter used to generate the existing Mac will be reused. If the existing +# keystore does not have a Mac, no Mac will be created while storing. If there +# is at least one certificate in the existing keystore, the algorithm and +# parameters used to encrypt the last certificate in the existing keystore will +# be reused to encrypt all certificates while storing. If the last certificate +# in the existing keystore is not encrypted, all certificates will be stored +# unencrypted. If there is no certificate in the existing keystore, any newly +# added certificate will be encrypted (or stored unencrypted if algorithm +# value is "NONE") using the "keystore.pkcs12.certProtectionAlgorithm" and +# "keystore.pkcs12.certPbeIterationCount" values defined here. Existing private +# and secret key(s) are not changed. Newly set private and secret key(s) will +# be encrypted using the "keystore.pkcs12.keyProtectionAlgorithm" and +# "keystore.pkcs12.keyPbeIterationCount" values defined here. +# +# In order to apply new algorithms and parameters to all entries in an +# existing keystore, one can create a new keystore and add entries in the +# existing keystore into the new keystore. This can be achieved by calling the +# "keytool -importkeystore" command. +# +# If a system property of the same name is also specified, it supersedes the +# security property value defined here. +# +# If the property is set to an illegal value, +# an iteration count that is not a positive integer, or an unknown algorithm +# name, an exception will be thrown when the property is used. +# If the property is not set or empty, a default value will be used. +# +# Note: These properties are currently used by the JDK Reference implementation. +# They are not guaranteed to be examined and used by other implementations. + +# The algorithm used to encrypt a certificate. This can be any non-Hmac PBE +# algorithm defined in the Cipher section of the Java Security Standard +# Algorithm Names Specification. When set to "NONE", the certificate +# is not encrypted. The default value is "PBEWithHmacSHA256AndAES_256". +#keystore.pkcs12.certProtectionAlgorithm = PBEWithHmacSHA256AndAES_256 + +# The iteration count used by the PBE algorithm when encrypting a certificate. +# This value must be a positive integer. The default value is 10000. +#keystore.pkcs12.certPbeIterationCount = 10000 + +# The algorithm used to encrypt a private key or secret key. This can be +# any non-Hmac PBE algorithm defined in the Cipher section of the Java +# Security Standard Algorithm Names Specification. The value must not be "NONE". +# The default value is "PBEWithHmacSHA256AndAES_256". +#keystore.pkcs12.keyProtectionAlgorithm = PBEWithHmacSHA256AndAES_256 + +# The iteration count used by the PBE algorithm when encrypting a private key +# or a secret key. This value must be a positive integer. The default value +# is 10000. +#keystore.pkcs12.keyPbeIterationCount = 10000 + +# The algorithm used to calculate the optional MacData at the end of a PKCS12 +# file. This can be any HmacPBE algorithm defined in the Mac section of the +# Java Security Standard Algorithm Names Specification. When set to "NONE", +# no Mac is generated. The default value is "HmacPBESHA256". +#keystore.pkcs12.macAlgorithm = HmacPBESHA256 + +# The iteration count used by the MacData algorithm. This value must be a +# positive integer. The default value is 10000. +#keystore.pkcs12.macIterationCount = 10000 + +# +# Enhanced exception message information +# +# By default, exception messages should not include potentially sensitive +# information such as file names, host names, or port numbers. This property +# accepts one or more comma separated values, each of which represents a +# category of enhanced exception message information to enable. Values are +# 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 +# java.nio.channels package will contain enhanced exception +# message information +# +# jar - enables more detailed information in the IOExceptions thrown +# by classes in the java.util.jar package +# +# The property setting in this file can be overridden by a system property of +# the same name, with the same syntax and possible values. +# +#jdk.includeInExceptions=hostInfo,jar + +# +# Disabled mechanisms for the Simple Authentication and Security Layer (SASL) +# +# Disabled mechanisms will not be negotiated by both SASL clients and servers. +# These mechanisms will be ignored if they are specified in the "mechanisms" +# argument of "Sasl.createSaslClient" or the "mechanism" argument of +# "Sasl.createSaslServer". +# +# The value of this property is a comma-separated list of SASL mechanisms. +# The mechanisms are case-sensitive. Whitespaces around the commas are ignored. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.sasl.disabledMechanisms=PLAIN, CRAM-MD5, DIGEST-MD5 +jdk.sasl.disabledMechanisms= + +# +# Policies for distrusting Certificate Authorities (CAs). +# +# This is a comma separated value of one or more case-sensitive strings, each +# of which represents a policy for determining if a CA should be distrusted. +# The supported values are: +# +# SYMANTEC_TLS : Distrust TLS Server certificates anchored by a Symantec +# root CA and issued after April 16, 2019 unless issued by one of the +# following subordinate CAs which have a later distrust date: +# 1. Apple IST CA 2 - G1, SHA-256 fingerprint: +# AC2B922ECFD5E01711772FEA8ED372DE9D1E2245FCE3F57A9CDBEC77296A424B +# Distrust after December 31, 2019. +# 2. Apple IST CA 8 - G1, SHA-256 fingerprint: +# A4FE7C7F15155F3F0AEF7AAA83CF6E06DEB97CA3F909DF920AC1490882D488ED +# Distrust after December 31, 2019. +# +# Leading and trailing whitespace surrounding each value are ignored. +# Unknown values are ignored. If the property is commented out or set to the +# empty String, no policies are enforced. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be supported by other SE implementations. Also, this +# property does not override other security properties which can restrict +# certificates such as jdk.tls.disabledAlgorithms or +# jdk.certpath.disabledAlgorithms; those restrictions are still enforced even +# if this property is not enabled. +# +jdk.security.caDistrustPolicies=SYMANTEC_TLS + +# +# FilePermission path canonicalization +# +# This security property dictates how the path argument is processed and stored +# while constructing a FilePermission object. If the value is set to true, the +# path argument is canonicalized and FilePermission methods (such as implies, +# equals, and hashCode) are implemented based on this canonicalized result. +# Otherwise, the path argument is not canonicalized and FilePermission methods are +# implemented based on the original input. See the implementation note of the +# FilePermission class for more details. +# +# If a system property of the same name is also specified, it supersedes the +# security property value defined here. +# +# The default value for this property is false. +# +jdk.io.permissionsUseCanonicalPath=false + + +# +# Policies for the proxy_impersonator Kerberos ccache configuration entry +# +# The proxy_impersonator ccache configuration entry indicates that the ccache +# is a synthetic delegated credential for use with S4U2Proxy by an intermediate +# server. The ccache file should also contain the TGT of this server and +# an evidence ticket from the default principal of the ccache to this server. +# +# This security property determines how Java uses this configuration entry. +# There are 3 possible values: +# +# no-impersonate - Ignore this configuration entry, and always act as +# the owner of the TGT (if it exists). +# +# try-impersonate - Try impersonation when this configuration entry exists. +# If no matching TGT or evidence ticket is found, +# fallback to no-impersonate. +# +# always-impersonate - Always impersonate when this configuration entry exists. +# If no matching TGT or evidence ticket is found, +# no initial credential is read from the ccache. +# +# The default value is "always-impersonate". +# +# If a system property of the same name is also specified, it supersedes the +# security property value defined here. +# +#jdk.security.krb5.default.initiate.credential=always-impersonate + +# +# Trust Anchor Certificates - CA Basic Constraint check +# +# X.509 v3 certificates used as Trust Anchors (to validate signed code or TLS +# connections) must have the cA Basic Constraint field set to 'true'. Also, if +# they include a Key Usage extension, the keyCertSign bit must be set. These +# checks, enabled by default, can be disabled for backward-compatibility +# purposes with the jdk.security.allowNonCaAnchor System and Security +# properties. In the case that both properties are simultaneously set, the +# System value prevails. The default value of the property is "false". +# +#jdk.security.allowNonCaAnchor=true + +# +# The default Character set name (java.nio.charset.Charset.forName()) +# for converting TLS ALPN values between byte arrays and Strings. +# Prior versions of the JDK may use UTF-8 as the default charset. If +# you experience interoperability issues, setting this property to UTF-8 +# may help. +# +# jdk.tls.alpnCharset=UTF-8 +jdk.tls.alpnCharset=ISO_8859_1 + +# +# JNDI Object Factories Filter +# +# This filter is used by the JNDI runtime to control the set of object factory classes +# which will be allowed to instantiate objects from object references returned by +# naming/directory systems. The factory class named by the reference instance will be +# matched against this filter. The filter property supports pattern-based filter syntax +# with the same format as jdk.serialFilter. +# +# Each pattern is matched against the factory class name to allow or disallow it's +# instantiation. The access to a factory class is allowed unless the filter returns +# REJECTED. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +# If the system property jdk.jndi.object.factoriesFilter is also specified, it supersedes +# the security property value defined here. The default value of the property is "*". +# +# The default pattern value allows any object factory class specified by the reference +# instance to recreate the referenced object. +#jdk.jndi.object.factoriesFilter=* diff --git a/resources/java/jdk/conf/security/policy/README.txt b/resources/java/jdk/conf/security/policy/README.txt new file mode 100644 index 0000000..fdf77d3 --- /dev/null +++ b/resources/java/jdk/conf/security/policy/README.txt @@ -0,0 +1,54 @@ + + Java(TM) Cryptography Extension Policy Files + for the Java(TM) Platform, Standard Edition Runtime Environment + + README +------------------------------------------------------------------------ + +Import and export control rules on cryptographic software vary from +country to country. The Java Cryptography Extension (JCE) architecture +allows flexible cryptographic key strength to be configured via the +jurisdiction policy files which are referenced by the "crypto.policy" +security property in the /conf/security/java.security file. + +By default, Java provides two different sets of cryptographic policy +files: + + unlimited: These policy files contain no restrictions on cryptographic + strengths or algorithms + + limited: These policy files contain more restricted cryptographic + strengths + +These files reside in /conf/security/policy in the "unlimited" +or "limited" subdirectories respectively. + +Each subdirectory contains a complete policy configuration, +and subdirectories can be added/edited/removed to reflect your +import or export control product requirements. + +Within a subdirectory, the effective policy is the combined minimum +permissions of the grant statements in the file(s) matching the filename +pattern "default_*.policy". At least one grant is required. For example: + + limited = Export (all) + Import (limited) = Limited + unlimited = Export (all) + Import (all) = Unlimited + +The effective exemption policy is the combined minimum permissions +of the grant statements in the file(s) matching the filename pattern +"exempt_*.policy". Exemption grants are optional. For example: + + limited = grants exemption permissions, by which the + effective policy can be circumvented. + e.g. KeyRecovery/KeyEscrow/KeyWeakening. + +Please see the Java Cryptography Architecture (JCA) documentation for +additional information on these files and formats. + +YOU ARE ADVISED TO CONSULT YOUR EXPORT/IMPORT CONTROL COUNSEL OR ATTORNEY +TO DETERMINE THE EXACT REQUIREMENTS. + +Please note that the JCE for Java SE, including the JCE framework, +cryptographic policy files, and standard JCE providers provided with +the Java SE, have been reviewed and approved for export as mass market +encryption item by the US Bureau of Industry and Security. diff --git a/resources/java/jdk/conf/security/policy/limited/default_US_export.policy b/resources/java/jdk/conf/security/policy/limited/default_US_export.policy new file mode 100644 index 0000000..1f38934 --- /dev/null +++ b/resources/java/jdk/conf/security/policy/limited/default_US_export.policy @@ -0,0 +1,6 @@ +// Default US Export policy file. + +grant { + // There is no restriction to any algorithms. + permission javax.crypto.CryptoAllPermission; +}; diff --git a/resources/java/jdk/conf/security/policy/limited/default_local.policy b/resources/java/jdk/conf/security/policy/limited/default_local.policy new file mode 100644 index 0000000..2a6d513 --- /dev/null +++ b/resources/java/jdk/conf/security/policy/limited/default_local.policy @@ -0,0 +1,14 @@ +// Some countries have import limits on crypto strength. This policy file +// is worldwide importable. + +grant { + permission javax.crypto.CryptoPermission "DES", 64; + permission javax.crypto.CryptoPermission "DESede", *; + permission javax.crypto.CryptoPermission "RC2", 128, + "javax.crypto.spec.RC2ParameterSpec", 128; + permission javax.crypto.CryptoPermission "RC4", 128; + permission javax.crypto.CryptoPermission "RC5", 128, + "javax.crypto.spec.RC5ParameterSpec", *, 12, *; + permission javax.crypto.CryptoPermission "RSA", *; + permission javax.crypto.CryptoPermission *, 128; +}; diff --git a/resources/java/jdk/conf/security/policy/limited/exempt_local.policy b/resources/java/jdk/conf/security/policy/limited/exempt_local.policy new file mode 100644 index 0000000..9dd5b91 --- /dev/null +++ b/resources/java/jdk/conf/security/policy/limited/exempt_local.policy @@ -0,0 +1,13 @@ +// Some countries have import limits on crypto strength, but may allow for +// these exemptions if the exemption mechanism is used. + +grant { + // There is no restriction to any algorithms if KeyRecovery is enforced. + permission javax.crypto.CryptoPermission *, "KeyRecovery"; + + // There is no restriction to any algorithms if KeyEscrow is enforced. + permission javax.crypto.CryptoPermission *, "KeyEscrow"; + + // There is no restriction to any algorithms if KeyWeakening is enforced. + permission javax.crypto.CryptoPermission *, "KeyWeakening"; +}; diff --git a/resources/java/jdk/conf/security/policy/unlimited/default_US_export.policy b/resources/java/jdk/conf/security/policy/unlimited/default_US_export.policy new file mode 100644 index 0000000..1f38934 --- /dev/null +++ b/resources/java/jdk/conf/security/policy/unlimited/default_US_export.policy @@ -0,0 +1,6 @@ +// Default US Export policy file. + +grant { + // There is no restriction to any algorithms. + permission javax.crypto.CryptoAllPermission; +}; diff --git a/resources/java/jdk/conf/security/policy/unlimited/default_local.policy b/resources/java/jdk/conf/security/policy/unlimited/default_local.policy new file mode 100644 index 0000000..2b907e2 --- /dev/null +++ b/resources/java/jdk/conf/security/policy/unlimited/default_local.policy @@ -0,0 +1,6 @@ +// Country-specific policy file for countries with no limits on crypto strength. + +grant { + // There is no restriction to any algorithms. + permission javax.crypto.CryptoAllPermission; +}; diff --git a/resources/java/jdk/lib/classlist b/resources/java/jdk/lib/classlist new file mode 100644 index 0000000..96ef061 --- /dev/null +++ b/resources/java/jdk/lib/classlist @@ -0,0 +1,1411 @@ +# NOTE: Do not modify this file. +# +# This file is generated via the -XX:DumpLoadedClassList= option +# and is used at CDS archive dump time (see -Xshare:dump). +# +java/lang/Object +java/io/Serializable +java/lang/Comparable +java/lang/CharSequence +java/lang/constant/Constable +java/lang/constant/ConstantDesc +java/lang/String +java/lang/reflect/AnnotatedElement +java/lang/reflect/GenericDeclaration +java/lang/reflect/Type +java/lang/invoke/TypeDescriptor +java/lang/invoke/TypeDescriptor$OfField +java/lang/Class +java/lang/Cloneable +java/lang/ClassLoader +java/lang/System +java/lang/Throwable +java/lang/Error +java/lang/ThreadDeath +java/lang/Exception +java/lang/RuntimeException +java/lang/SecurityManager +java/security/ProtectionDomain +java/security/AccessControlContext +java/security/AccessController +java/security/SecureClassLoader +java/lang/ReflectiveOperationException +java/lang/ClassNotFoundException +java/lang/Record +java/lang/LinkageError +java/lang/NoClassDefFoundError +java/lang/ClassCastException +java/lang/ArrayStoreException +java/lang/VirtualMachineError +java/lang/InternalError +java/lang/OutOfMemoryError +java/lang/StackOverflowError +java/lang/IllegalMonitorStateException +java/lang/ref/Reference +java/lang/ref/SoftReference +java/lang/ref/WeakReference +java/lang/ref/FinalReference +java/lang/ref/PhantomReference +java/lang/ref/Finalizer +java/lang/Runnable +java/lang/Thread +java/lang/Thread$UncaughtExceptionHandler +java/lang/ThreadGroup +java/util/Dictionary +java/util/Map +java/util/Hashtable +java/util/Properties +java/lang/Module +java/lang/reflect/AccessibleObject +java/lang/reflect/Member +java/lang/reflect/Field +java/lang/reflect/Parameter +java/lang/reflect/Executable +java/lang/reflect/Method +java/lang/reflect/Constructor +jdk/internal/reflect/MagicAccessorImpl +jdk/internal/reflect/MethodAccessor +jdk/internal/reflect/MethodAccessorImpl +jdk/internal/reflect/ConstructorAccessor +jdk/internal/reflect/ConstructorAccessorImpl +jdk/internal/reflect/DelegatingClassLoader +jdk/internal/reflect/ConstantPool +jdk/internal/reflect/FieldAccessor +jdk/internal/reflect/FieldAccessorImpl +jdk/internal/reflect/UnsafeFieldAccessorImpl +jdk/internal/reflect/UnsafeStaticFieldAccessorImpl +java/lang/annotation/Annotation +jdk/internal/reflect/CallerSensitive +jdk/internal/reflect/NativeConstructorAccessorImpl +java/lang/invoke/MethodHandle +java/lang/invoke/DirectMethodHandle +java/lang/invoke/VarHandle +java/lang/invoke/MemberName +java/lang/invoke/ResolvedMethodName +java/lang/invoke/MethodHandleNatives +java/lang/invoke/LambdaForm +java/lang/invoke/TypeDescriptor$OfMethod +java/lang/invoke/MethodType +java/lang/BootstrapMethodError +java/lang/invoke/CallSite +jdk/internal/invoke/NativeEntryPoint +java/lang/invoke/MethodHandleNatives$CallSiteContext +java/lang/invoke/ConstantCallSite +java/lang/invoke/MutableCallSite +java/lang/invoke/VolatileCallSite +java/lang/AssertionStatusDirectives +java/lang/Appendable +java/lang/AbstractStringBuilder +java/lang/StringBuffer +java/lang/StringBuilder +jdk/internal/misc/UnsafeConstants +jdk/internal/misc/Unsafe +jdk/internal/module/Modules +java/lang/AutoCloseable +java/io/Closeable +java/io/InputStream +java/io/ByteArrayInputStream +java/net/URL +java/util/jar/Manifest +jdk/internal/loader/BuiltinClassLoader +jdk/internal/loader/ClassLoaders +jdk/internal/loader/ClassLoaders$AppClassLoader +jdk/internal/loader/ClassLoaders$PlatformClassLoader +java/security/CodeSource +java/util/AbstractMap +java/util/concurrent/ConcurrentMap +java/util/concurrent/ConcurrentHashMap +java/lang/Iterable +java/util/Collection +java/util/AbstractCollection +java/util/List +java/util/AbstractList +java/util/RandomAccess +java/util/ArrayList +java/lang/StackTraceElement +java/nio/Buffer +java/lang/StackWalker +java/lang/StackStreamFactory$AbstractStackWalker +java/lang/StackWalker$StackFrame +java/lang/StackFrameInfo +java/lang/LiveStackFrame +java/lang/LiveStackFrameInfo +java/util/concurrent/locks/AbstractOwnableSynchronizer +java/lang/Boolean +java/lang/Character +java/lang/Number +java/lang/Float +java/lang/Double +java/lang/Byte +java/lang/Short +java/lang/Integer +java/lang/Long +java/util/Iterator +java/lang/reflect/RecordComponent +jdk/internal/vm/vector/VectorSupport +jdk/internal/vm/vector/VectorSupport$VectorPayload +jdk/internal/vm/vector/VectorSupport$Vector +jdk/internal/vm/vector/VectorSupport$VectorMask +jdk/internal/vm/vector/VectorSupport$VectorShuffle +java/lang/NullPointerException +java/lang/ArithmeticException +java/io/ObjectStreamField +java/util/Comparator +java/lang/String$CaseInsensitiveComparator +java/lang/Module$ArchivedData +jdk/internal/misc/CDS +java/util/Set +java/util/ImmutableCollections$AbstractImmutableCollection +java/util/ImmutableCollections$AbstractImmutableSet +java/util/ImmutableCollections$Set12 +java/util/Objects +java/util/ImmutableCollections +java/util/ImmutableCollections$AbstractImmutableList +java/util/ImmutableCollections$ListN +java/util/ImmutableCollections$SetN +java/util/ImmutableCollections$AbstractImmutableMap +java/util/ImmutableCollections$MapN +jdk/internal/access/JavaLangReflectAccess +java/lang/reflect/ReflectAccess +jdk/internal/access/SharedSecrets +java/lang/invoke/MethodHandles +java/lang/invoke/MemberName$Factory +java/security/Guard +java/security/Permission +java/security/BasicPermission +java/lang/reflect/ReflectPermission +java/lang/StringLatin1 +java/lang/invoke/MethodHandles$Lookup +jdk/internal/reflect/Reflection +java/lang/Math +java/util/HashMap +java/util/AbstractSet +java/util/ImmutableCollections$MapN$1 +java/util/ImmutableCollections$MapN$MapNIterator +java/util/Map$Entry +java/util/KeyValueHolder +java/util/HashMap$Node +java/util/LinkedHashMap$Entry +java/util/HashMap$TreeNode +java/lang/Runtime +java/util/concurrent/locks/Lock +java/util/concurrent/locks/ReentrantLock +java/util/concurrent/ConcurrentHashMap$Segment +java/util/concurrent/ConcurrentHashMap$CounterCell +java/util/concurrent/ConcurrentHashMap$Node +java/util/concurrent/locks/LockSupport +java/util/concurrent/ConcurrentHashMap$ReservationNode +java/security/PrivilegedAction +jdk/internal/reflect/ReflectionFactory$GetReflectionFactoryAction +jdk/internal/reflect/ReflectionFactory +java/lang/ref/Reference$ReferenceHandler +jdk/internal/ref/Cleaner +java/lang/ref/ReferenceQueue +java/lang/ref/ReferenceQueue$Null +java/lang/ref/ReferenceQueue$Lock +jdk/internal/access/JavaLangRefAccess +java/lang/ref/Reference$1 +java/lang/ref/Finalizer$FinalizerThread +jdk/internal/access/JavaLangAccess +java/lang/System$2 +jdk/internal/util/SystemProps +jdk/internal/util/SystemProps$Raw +jdk/internal/misc/VM +java/lang/StringConcatHelper +java/lang/VersionProps +java/util/Arrays +java/lang/CharacterData +java/lang/CharacterDataLatin1 +java/lang/Integer$IntegerCache +java/util/HashMap$EntrySet +java/util/HashMap$HashIterator +java/util/HashMap$EntryIterator +jdk/internal/util/StaticProperty +java/io/FileInputStream +java/io/FileDescriptor +jdk/internal/access/JavaIOFileDescriptorAccess +java/io/FileDescriptor$1 +java/io/Flushable +java/io/OutputStream +java/io/FileOutputStream +java/io/FilterInputStream +java/io/BufferedInputStream +java/io/FilterOutputStream +java/io/PrintStream +java/io/BufferedOutputStream +java/io/Writer +java/io/OutputStreamWriter +java/nio/charset/Charset +java/nio/charset/spi/CharsetProvider +sun/nio/cs/StandardCharsets +java/lang/ThreadLocal +java/util/concurrent/atomic/AtomicInteger +sun/security/action/GetPropertyAction +sun/util/PreHashedMap +sun/nio/cs/StandardCharsets$Aliases +sun/nio/cs/StandardCharsets$Cache +sun/nio/cs/HistoricallyNamedCharset +sun/nio/cs/Unicode +sun/nio/cs/UTF_8 +sun/nio/cs/ISO_8859_1 +sun/nio/cs/US_ASCII +java/nio/charset/StandardCharsets +sun/nio/cs/UTF_16BE +sun/nio/cs/UTF_16LE +sun/nio/cs/UTF_16 +sun/nio/cs/StandardCharsets$Classes +jdk/internal/util/ArraysSupport +sun/nio/cs/MS1252 +java/lang/Class$ReflectionData +java/lang/Class$Atomic +java/lang/Class$1 +java/lang/reflect/Modifier +jdk/internal/reflect/DelegatingConstructorAccessorImpl +sun/nio/cs/StreamEncoder +java/nio/charset/CharsetEncoder +sun/nio/cs/ArrayEncoder +sun/nio/cs/SingleByte$Encoder +sun/nio/cs/MS1252$Holder +java/lang/StringUTF16 +sun/nio/cs/SingleByte +java/nio/charset/CodingErrorAction +java/nio/ByteBuffer +jdk/internal/misc/ScopedMemoryAccess +jdk/internal/access/JavaNioAccess +java/nio/Buffer$1 +java/nio/HeapByteBuffer +java/nio/ByteOrder +java/io/BufferedWriter +java/lang/Terminator +jdk/internal/misc/Signal$Handler +java/lang/Terminator$1 +jdk/internal/misc/Signal +java/util/Hashtable$Entry +jdk/internal/misc/Signal$NativeHandler +jdk/internal/misc/OSEnvironment +sun/io/Win32ErrorMode +java/util/Collections +java/util/Collections$EmptySet +java/util/Collections$EmptyList +java/util/Collections$EmptyMap +java/lang/IllegalArgumentException +java/lang/invoke/MethodHandleStatics +jdk/internal/module/ModuleBootstrap +java/lang/module/ModuleDescriptor +sun/invoke/util/VerifyAccess +jdk/internal/access/JavaLangModuleAccess +java/lang/module/ModuleDescriptor$1 +java/io/File +java/io/DefaultFileSystem +java/io/FileSystem +java/io/WinNTFileSystem +jdk/internal/module/ModulePatcher +jdk/internal/module/ModuleBootstrap$Counters +jdk/internal/module/ArchivedBootLayer +java/nio/file/Watchable +java/nio/file/Path +java/nio/file/FileSystems +sun/nio/fs/DefaultFileSystemProvider +java/nio/file/spi/FileSystemProvider +sun/nio/fs/AbstractFileSystemProvider +sun/nio/fs/WindowsFileSystemProvider +java/lang/Enum +java/nio/file/OpenOption +java/nio/file/StandardOpenOption +java/nio/file/FileSystem +sun/nio/fs/WindowsFileSystem +java/util/HashSet +java/util/Arrays$ArrayList +java/util/Arrays$ArrayItr +java/util/Collections$UnmodifiableCollection +java/util/Collections$UnmodifiableSet +sun/nio/fs/WindowsPathParser +sun/nio/fs/WindowsPathType +sun/nio/fs/WindowsPathParser$Result +sun/nio/fs/WindowsPath +java/lang/module/ModuleFinder +jdk/internal/module/ModulePath +java/util/jar/Attributes$Name +java/lang/reflect/Array +jdk/internal/perf/PerfCounter +jdk/internal/perf/Perf$GetPerfAction +jdk/internal/perf/Perf +sun/nio/ch/DirectBuffer +java/nio/MappedByteBuffer +java/nio/DirectByteBuffer +java/nio/Bits +java/util/concurrent/atomic/AtomicLong +jdk/internal/misc/VM$BufferPool +java/nio/Bits$1 +java/nio/LongBuffer +java/nio/DirectLongBufferU +java/util/zip/ZipConstants +java/util/zip/ZipFile +java/util/jar/JarFile +jdk/internal/access/JavaUtilZipFileAccess +java/util/zip/ZipFile$1 +jdk/internal/access/JavaUtilJarAccess +java/util/jar/JavaUtilJarAccessImpl +java/lang/Runtime$Version +java/util/ImmutableCollections$List12 +java/util/Optional +jdk/internal/module/ArchivedModuleGraph +jdk/internal/module/SystemModuleFinders +java/net/URI +jdk/internal/access/JavaNetUriAccess +java/net/URI$1 +jdk/internal/module/SystemModulesMap +jdk/internal/module/SystemModules +jdk/internal/module/SystemModules$all +jdk/internal/module/Builder +java/lang/module/ModuleDescriptor$Requires +java/lang/module/ModuleDescriptor$Exports +java/lang/module/ModuleDescriptor$Opens +java/lang/module/ModuleDescriptor$Provides +java/lang/module/ModuleDescriptor$Version +java/lang/module/ModuleDescriptor$Modifier +java/lang/module/ModuleDescriptor$Requires$Modifier +jdk/internal/module/ModuleTarget +jdk/internal/module/ModuleHashes +jdk/internal/module/ModuleResolution +java/lang/module/ModuleReference +java/util/function/Supplier +jdk/internal/module/SystemModuleFinders$2 +jdk/internal/module/ModuleReferenceImpl +jdk/internal/module/SystemModuleFinders$SystemModuleFinder +jdk/internal/loader/BootLoader +jdk/internal/loader/NativeLibraries +jdk/internal/loader/ClassLoaderHelper +java/util/Queue +java/util/Deque +java/util/ArrayDeque +jdk/internal/loader/ArchivedClassLoaders +jdk/internal/loader/ClassLoaders$BootClassLoader +java/security/cert/Certificate +java/lang/ClassLoader$ParallelLoaders +java/util/WeakHashMap +java/util/WeakHashMap$Entry +java/util/Collections$SetFromMap +java/util/WeakHashMap$KeySet +jdk/internal/access/JavaSecurityAccess +java/security/ProtectionDomain$JavaSecurityAccessImpl +java/security/ProtectionDomain$Key +java/security/Principal +jdk/internal/loader/URLClassPath +java/net/URLStreamHandlerFactory +java/net/URL$DefaultFactory +jdk/internal/access/JavaNetURLAccess +java/net/URL$3 +java/io/File$PathStatus +sun/net/www/ParseUtil +java/util/HexFormat +java/net/URLStreamHandler +sun/net/www/protocol/file/Handler +sun/net/util/IPAddressUtil +jdk/internal/util/Preconditions +jdk/internal/module/ServicesCatalog +jdk/internal/loader/AbstractClassLoaderValue +jdk/internal/loader/ClassLoaderValue +jdk/internal/loader/BuiltinClassLoader$LoadedModule +java/util/ImmutableCollections$SetN$SetNIterator +java/lang/module/ModuleFinder$2 +jdk/internal/module/DefaultRoots +java/util/Spliterators +java/util/Spliterators$EmptySpliterator +java/util/Spliterator +java/util/Spliterators$EmptySpliterator$OfRef +java/util/Spliterator$OfPrimitive +java/util/Spliterator$OfInt +java/util/Spliterators$EmptySpliterator$OfInt +java/util/Spliterator$OfLong +java/util/Spliterators$EmptySpliterator$OfLong +java/util/Spliterator$OfDouble +java/util/Spliterators$EmptySpliterator$OfDouble +java/util/Spliterators$IteratorSpliterator +java/util/stream/StreamSupport +java/util/stream/PipelineHelper +java/util/stream/BaseStream +java/util/stream/AbstractPipeline +java/util/stream/Stream +java/util/stream/ReferencePipeline +java/util/stream/ReferencePipeline$Head +java/util/stream/StreamOpFlag +java/util/stream/StreamOpFlag$Type +java/util/stream/StreamOpFlag$MaskBuilder +java/util/EnumMap +java/util/EnumMap$1 +java/lang/PublicMethods$MethodList +java/lang/PublicMethods$Key +java/lang/Class$3 +sun/reflect/annotation/AnnotationParser +jdk/internal/reflect/NativeMethodAccessorImpl +jdk/internal/reflect/DelegatingMethodAccessorImpl +java/lang/invoke/LambdaMetafactory +java/lang/invoke/MethodType$ConcurrentWeakInternSet +java/lang/Void +java/lang/invoke/MethodTypeForm +java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry +sun/invoke/util/Wrapper +sun/invoke/util/Wrapper$Format +java/lang/invoke/LambdaForm$NamedFunction +java/lang/invoke/DirectMethodHandle$Holder +sun/invoke/util/ValueConversions +java/lang/invoke/MethodHandleImpl +java/lang/invoke/Invokers +java/lang/invoke/LambdaForm$Kind +java/lang/NoSuchMethodException +java/lang/invoke/LambdaForm$BasicType +java/lang/invoke/LambdaForm$Name +java/lang/invoke/LambdaForm$Holder +java/lang/invoke/InvokerBytecodeGenerator +java/lang/invoke/InvokerBytecodeGenerator$2 +java/lang/invoke/MethodHandleImpl$Intrinsic +java/lang/Readable +java/nio/CharBuffer +java/nio/HeapCharBuffer +java/lang/StringCoding +java/nio/charset/CoderResult +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L7_L +java/lang/Module$ReflectionData +java/lang/WeakPairMap +java/lang/WeakPairMap$Pair +java/lang/WeakPairMap$Pair$Lookup +java/util/function/Predicate +java/lang/IncompatibleClassChangeError +java/lang/NoSuchMethodError +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LL_I +jdk/internal/org/objectweb/asm/ClassVisitor +jdk/internal/org/objectweb/asm/ClassWriter +jdk/internal/org/objectweb/asm/SymbolTable +jdk/internal/org/objectweb/asm/Symbol +jdk/internal/org/objectweb/asm/SymbolTable$Entry +jdk/internal/org/objectweb/asm/ByteVector +sun/invoke/util/BytecodeDescriptor +jdk/internal/org/objectweb/asm/MethodVisitor +jdk/internal/org/objectweb/asm/MethodWriter +jdk/internal/org/objectweb/asm/Type +jdk/internal/org/objectweb/asm/Label +jdk/internal/org/objectweb/asm/Frame +jdk/internal/org/objectweb/asm/AnnotationVisitor +jdk/internal/org/objectweb/asm/AnnotationWriter +java/lang/invoke/InvokerBytecodeGenerator$ClassData +sun/invoke/util/VerifyType +sun/invoke/empty/Empty +java/util/ArrayList$Itr +jdk/internal/org/objectweb/asm/FieldVisitor +jdk/internal/org/objectweb/asm/FieldWriter +jdk/internal/org/objectweb/asm/Attribute +jdk/internal/org/objectweb/asm/Handler +java/lang/invoke/MethodHandles$Lookup$ClassFile +java/lang/invoke/MethodHandles$Lookup$ClassOption +java/lang/invoke/MethodHandles$Lookup$ClassDefiner +java/lang/invoke/BootstrapMethodInvoker +java/lang/invoke/VarHandle$AccessMode +java/lang/invoke/VarHandle$AccessType +java/lang/invoke/Invokers$Holder +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L8_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder invokeExact_MT L8_L +jdk/internal/access/JavaLangInvokeAccess +java/lang/invoke/MethodHandleImpl$1 +java/lang/invoke/AbstractValidatingLambdaMetafactory +java/lang/invoke/InnerClassLambdaMetafactory +sun/security/action/GetBooleanAction +jdk/internal/org/objectweb/asm/Handle +jdk/internal/org/objectweb/asm/ConstantDynamic +java/lang/invoke/MethodHandleInfo +java/lang/invoke/InfoFromMemberName +java/lang/invoke/LambdaProxyClassArchive +java/lang/invoke/TypeConvertingMethodAdapter +java/lang/invoke/InnerClassLambdaMetafactory$ForwardingMethodGenerator +jdk/internal/org/objectweb/asm/ClassReader +java/util/ImmutableCollections$Set12$1 +java/lang/invoke/InnerClassLambdaMetafactory$1 +java/lang/invoke/BoundMethodHandle +java/lang/invoke/ClassSpecializer +java/lang/invoke/BoundMethodHandle$Specializer +java/util/function/Function +java/lang/invoke/ClassSpecializer$1 +java/lang/invoke/ClassSpecializer$SpeciesData +java/lang/invoke/BoundMethodHandle$SpeciesData +java/lang/invoke/ClassSpecializer$Factory +java/lang/invoke/BoundMethodHandle$Specializer$Factory +java/lang/invoke/SimpleMethodHandle +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.SimpleMethodHandle +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L3_L +java/lang/NoSuchFieldException +java/lang/invoke/BoundMethodHandle$Species_L +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L4_L +java/lang/invoke/DirectMethodHandle$2 +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder getReference LL_L +java/lang/invoke/DirectMethodHandle$Accessor +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.LambdaForm$Holder identity_L LL_L +java/lang/invoke/DelegatingMethodHandle +java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle +java/lang/invoke/DelegatingMethodHandle$Holder +sun/invoke/util/Wrapper$1 +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.LambdaForm$Holder zero_L L_L +java/lang/invoke/LambdaFormEditor +java/lang/invoke/LambdaFormEditor$TransformKey +java/lang/invoke/LambdaFormBuffer +java/lang/invoke/LambdaFormEditor$Transform +jdk/internal/ref/CleanerFactory +java/util/concurrent/ThreadFactory +jdk/internal/ref/CleanerFactory$1 +java/lang/ref/Cleaner +java/lang/ref/Cleaner$1 +jdk/internal/ref/CleanerImpl +java/lang/ref/Cleaner$Cleanable +jdk/internal/ref/PhantomCleanable +jdk/internal/ref/CleanerImpl$PhantomCleanableRef +jdk/internal/ref/CleanerImpl$CleanerCleanable +jdk/internal/misc/InnocuousThread +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod L_L +@lambda-proxy jdk/internal/module/DefaultRoots test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeStatic jdk/internal/module/DefaultRoots lambda$compute$0 (Ljava/lang/module/ModuleReference;)Z (Ljava/lang/module/ModuleReference;)Z +java/util/stream/ReferencePipeline$StatelessOp +java/util/stream/ReferencePipeline$2 +java/util/stream/StreamShape +@lambda-proxy jdk/internal/module/DefaultRoots apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/lang/module/ModuleReference descriptor ()Ljava/lang/module/ModuleDescriptor; (Ljava/lang/module/ModuleReference;)Ljava/lang/module/ModuleDescriptor; +java/util/stream/ReferencePipeline$3 +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L3_I +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder newInvokeSpecial LL_L +java/lang/invoke/DirectMethodHandle$Constructor +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L3_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod LL_L +@lambda-proxy jdk/internal/module/DefaultRoots test (Ljava/lang/module/ModuleFinder;)Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeStatic jdk/internal/module/DefaultRoots lambda$compute$1 (Ljava/lang/module/ModuleFinder;Ljava/lang/module/ModuleDescriptor;)Z (Ljava/lang/module/ModuleDescriptor;)Z +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeVirtual LL_L +@lambda-proxy jdk/internal/module/DefaultRoots apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/lang/module/ModuleDescriptor name ()Ljava/lang/String; (Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String; +java/util/stream/Collectors +java/util/stream/Collector$Characteristics +java/util/EnumSet +java/util/RegularEnumSet +java/util/stream/Collector +java/util/stream/Collectors$CollectorImpl +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder newInvokeSpecial L_L +@lambda-proxy java/util/stream/Collectors get ()Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_newInvokeSpecial java/util/HashSet ()V ()Ljava/util/HashSet; +java/util/function/BiConsumer +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeInterface L3_I +java/lang/invoke/DirectMethodHandle$Interface +@lambda-proxy java/util/stream/Collectors accept ()Ljava/util/function/BiConsumer; (Ljava/lang/Object;Ljava/lang/Object;)V REF_invokeInterface java/util/Set add (Ljava/lang/Object;)Z (Ljava/util/HashSet;Ljava/lang/Object;)V +java/util/function/BiFunction +java/util/function/BinaryOperator +@lambda-proxy java/util/stream/Collectors apply ()Ljava/util/function/BinaryOperator; (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; REF_invokeStatic java/util/stream/Collectors lambda$toSet$7 (Ljava/util/HashSet;Ljava/util/HashSet;)Ljava/util/HashSet; (Ljava/util/HashSet;Ljava/util/HashSet;)Ljava/util/HashSet; +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LL_L +@lambda-proxy java/util/stream/Collectors apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeStatic java/util/stream/Collectors lambda$castingIdentity$2 (Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/Object;)Ljava/lang/Object; +java/util/stream/ReduceOps +java/util/stream/TerminalOp +java/util/stream/ReduceOps$ReduceOp +java/util/stream/ReduceOps$3 +java/util/stream/ReduceOps$Box +java/util/function/Consumer +java/util/stream/Sink +java/util/stream/TerminalSink +java/util/stream/ReduceOps$AccumulatingSink +java/util/stream/ReduceOps$3ReducingSink +java/util/stream/Sink$ChainedReference +java/util/stream/ReferencePipeline$3$1 +java/util/stream/ReferencePipeline$2$1 +java/util/AbstractList$RandomAccessSpliterator +@lambda-proxy java/lang/module/ModuleFinder$2 apply (Ljava/lang/String;)Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeStatic java/lang/module/ModuleFinder$2 lambda$find$0 (Ljava/lang/String;Ljava/lang/module/ModuleFinder;)Ljava/util/Optional; (Ljava/lang/module/ModuleFinder;)Ljava/util/Optional; +@lambda-proxy java/lang/module/ModuleFinder$2 apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/Optional stream ()Ljava/util/stream/Stream; (Ljava/util/Optional;)Ljava/util/stream/Stream; +java/util/stream/ReferencePipeline$7 +java/util/stream/FindOps +java/util/stream/FindOps$FindSink +java/util/stream/FindOps$FindSink$OfRef +java/util/stream/FindOps$FindOp +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LL_I +@lambda-proxy java/util/stream/FindOps$FindSink$OfRef test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeVirtual java/util/Optional isPresent ()Z (Ljava/util/Optional;)Z +@lambda-proxy java/util/stream/FindOps$FindSink$OfRef get ()Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_newInvokeSpecial java/util/stream/FindOps$FindSink$OfRef ()V ()Ljava/util/stream/TerminalSink; +@lambda-proxy java/util/stream/FindOps$FindSink$OfRef test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeVirtual java/util/Optional isPresent ()Z (Ljava/util/Optional;)Z +@lambda-proxy java/util/stream/FindOps$FindSink$OfRef get ()Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_newInvokeSpecial java/util/stream/FindOps$FindSink$OfRef ()V ()Ljava/util/stream/TerminalSink; +java/util/stream/ReferencePipeline$7$1 +java/util/stream/Streams$AbstractStreamBuilderImpl +java/util/stream/Stream$Builder +java/util/stream/Streams$StreamBuilderImpl +java/util/stream/Streams +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L4_V +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder newInvokeSpecial L3_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L4_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod L3_L +@lambda-proxy java/lang/module/ModuleFinder$2 accept (Ljava/lang/module/ModuleFinder$2;Ljava/lang/String;)Ljava/util/function/Consumer; (Ljava/lang/Object;)V REF_invokeVirtual java/lang/module/ModuleFinder$2 lambda$find$1 (Ljava/lang/String;Ljava/lang/module/ModuleReference;)V (Ljava/lang/module/ModuleReference;)V +@lambda-proxy jdk/internal/module/DefaultRoots test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeStatic jdk/internal/module/DefaultRoots lambda$exportsAPI$2 (Ljava/lang/module/ModuleDescriptor$Exports;)Z (Ljava/lang/module/ModuleDescriptor$Exports;)Z +java/util/HashMap$KeySet +java/util/HashMap$KeyIterator +java/lang/module/Configuration +java/lang/module/Resolver +java/lang/module/ModuleFinder$1 +java/util/ListIterator +java/util/ImmutableCollections$ListItr +java/util/HashMap$Values +java/util/HashMap$ValueIterator +@lambda-proxy java/lang/module/ModuleFinder$2 apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeStatic java/lang/module/ModuleFinder$2 lambda$findAll$2 (Ljava/lang/module/ModuleFinder;)Ljava/util/stream/Stream; (Ljava/lang/module/ModuleFinder;)Ljava/util/stream/Stream; +@lambda-proxy java/lang/module/ModuleFinder$2 accept (Ljava/lang/module/ModuleFinder$2;Ljava/util/Set;)Ljava/util/function/Consumer; (Ljava/lang/Object;)V REF_invokeVirtual java/lang/module/ModuleFinder$2 lambda$findAll$3 (Ljava/util/Set;Ljava/lang/module/ModuleReference;)V (Ljava/lang/module/ModuleReference;)V +java/util/stream/ForEachOps +java/util/stream/ForEachOps$ForEachOp +java/util/stream/ForEachOps$ForEachOp$OfRef +java/nio/file/attribute/BasicFileAttributes +java/nio/file/CopyOption +java/nio/file/LinkOption +java/nio/file/Files +java/nio/file/attribute/AttributeView +java/nio/file/attribute/FileAttributeView +java/nio/file/attribute/BasicFileAttributeView +sun/nio/fs/Util +sun/nio/fs/WindowsFileAttributeViews +sun/nio/fs/DynamicFileAttributeView +sun/nio/fs/AbstractBasicFileAttributeView +sun/nio/fs/WindowsFileAttributeViews$Basic +java/nio/file/attribute/DosFileAttributes +sun/nio/fs/WindowsFileAttributes +sun/nio/fs/NativeBuffers +jdk/internal/misc/TerminatingThreadLocal +sun/nio/fs/NativeBuffers$1 +jdk/internal/misc/TerminatingThreadLocal$1 +java/lang/ThreadLocal$ThreadLocalMap +java/lang/ThreadLocal$ThreadLocalMap$Entry +java/util/IdentityHashMap +java/util/IdentityHashMap$KeySet +sun/nio/fs/NativeBuffer +sun/nio/fs/NativeBuffer$Deallocator +sun/nio/fs/WindowsNativeDispatcher +jdk/internal/loader/NativeLibraries$LibraryPaths +jdk/internal/loader/NativeLibraries$1 +java/util/ArrayDeque$DeqIterator +jdk/internal/loader/NativeLibrary +jdk/internal/loader/NativeLibraries$NativeLibraryImpl +java/util/concurrent/ConcurrentHashMap$CollectionView +java/util/concurrent/ConcurrentHashMap$ValuesView +java/util/concurrent/ConcurrentHashMap$Traverser +java/util/concurrent/ConcurrentHashMap$BaseIterator +java/util/Enumeration +java/util/concurrent/ConcurrentHashMap$ValueIterator +sun/nio/fs/WindowsNativeDispatcher$FirstFile +sun/nio/fs/WindowsNativeDispatcher$FirstStream +sun/nio/fs/WindowsNativeDispatcher$VolumeInformation +sun/nio/fs/WindowsNativeDispatcher$DiskFreeSpace +sun/nio/fs/WindowsNativeDispatcher$Account +sun/nio/fs/WindowsNativeDispatcher$AclInformation +sun/nio/fs/WindowsNativeDispatcher$CompletionStatus +java/util/zip/ZipFile$CleanableResource +java/util/zip/ZipCoder +java/util/zip/ZipCoder$UTF8ZipCoder +java/util/zip/ZipFile$Source +java/util/zip/ZipFile$Source$Key +java/io/DataOutput +java/io/DataInput +java/io/RandomAccessFile +jdk/internal/access/JavaIORandomAccessFileAccess +java/io/RandomAccessFile$2 +java/io/FileCleanable +java/util/zip/ZipFile$Source$End +java/util/zip/ZipUtils +java/util/concurrent/TimeUnit +java/nio/file/attribute/FileTime +java/util/Locale +sun/util/locale/BaseLocale +sun/util/locale/LocaleUtils +jdk/internal/perf/PerfCounter$CoreCounters +java/util/zip/ZipEntry +java/util/jar/JarEntry +java/util/jar/JarFile$JarFileEntry +java/util/zip/ZipFile$ZipFileInputStream +java/util/zip/InflaterInputStream +java/util/zip/ZipFile$ZipFileInflaterInputStream +java/util/zip/Inflater +java/util/zip/Inflater$InflaterZStreamRef +java/util/zip/ZipFile$InflaterCleanupAction +java/util/jar/JarVerifier +sun/security/util/Debug +java/security/CodeSigner +java/io/ByteArrayOutputStream +java/util/jar/Attributes +java/util/LinkedHashMap +java/util/jar/Manifest$FastInputStream +jdk/internal/module/ModulePath$Patterns +java/util/regex/Pattern +java/util/regex/Pattern$Node +java/util/regex/Pattern$LastNode +java/util/regex/Pattern$GroupHead +java/util/regex/Pattern$CharPredicate +java/util/regex/Pattern$BmpCharPredicate +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LII_I +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder newInvokeSpecial LI_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLI_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod IL_L +@lambda-proxy java/util/regex/Pattern is (I)Ljava/util/regex/Pattern$BmpCharPredicate; (I)Z REF_invokeStatic java/util/regex/Pattern lambda$Single$7 (II)Z (I)Z +java/util/regex/Pattern$CharProperty +java/util/regex/Pattern$BmpCharProperty +java/util/regex/Pattern$GroupTail +java/util/regex/CharPredicates +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LI_I +@lambda-proxy java/util/regex/CharPredicates is ()Ljava/util/regex/Pattern$BmpCharPredicate; (I)Z REF_invokeStatic java/util/regex/CharPredicates lambda$ASCII_DIGIT$18 (I)Z (I)Z +java/util/regex/Pattern$Qtype +java/util/regex/Pattern$CharPropertyGreedy +java/util/regex/Pattern$BmpCharPropertyGreedy +java/util/regex/Pattern$Dollar +java/util/regex/Pattern$BranchConn +java/util/regex/Pattern$Branch +java/util/regex/Pattern$SliceNode +java/util/regex/Pattern$Slice +java/util/regex/Pattern$Begin +java/util/regex/Pattern$First +java/util/regex/Pattern$Start +java/util/regex/Pattern$TreeInfo +java/util/regex/Pattern$BitClass +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LI3_I +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder newInvokeSpecial LII_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLII_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod IIL_L +@lambda-proxy java/util/regex/Pattern is (II)Ljava/util/regex/Pattern$BmpCharPredicate; (I)Z REF_invokeStatic java/util/regex/Pattern lambda$Range$10 (III)Z (I)Z +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecialIFC L3I_I +@lambda-proxy java/util/regex/Pattern$BmpCharPredicate is (Ljava/util/regex/Pattern$BmpCharPredicate;Ljava/util/regex/Pattern$CharPredicate;)Ljava/util/regex/Pattern$BmpCharPredicate; (I)Z REF_invokeInterface java/util/regex/Pattern$BmpCharPredicate lambda$union$2 (Ljava/util/regex/Pattern$CharPredicate;I)Z (I)Z +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecialIFC LLI_I +@lambda-proxy java/util/regex/Pattern$CharPredicate is (Ljava/util/regex/Pattern$CharPredicate;)Ljava/util/regex/Pattern$CharPredicate; (I)Z REF_invokeInterface java/util/regex/Pattern$CharPredicate lambda$negate$3 (I)Z (I)Z +java/util/regex/Pattern$StartS +java/util/regex/Pattern$BackRef +java/util/regex/Pattern$Curly +java/util/regex/Pattern$Ques +java/util/regex/Pattern$GroupCurly +java/util/regex/MatchResult +java/util/regex/Matcher +java/util/regex/IntHashSet +java/lang/module/ModuleDescriptor$Builder +jdk/internal/module/Checks +java/util/Spliterators$AbstractSpliterator +java/util/zip/ZipFile$EntrySpliterator +java/util/function/IntFunction +@lambda-proxy java/util/zip/ZipFile apply (Ljava/util/zip/ZipFile;)Ljava/util/function/IntFunction; (I)Ljava/lang/Object; REF_invokeVirtual java/util/zip/ZipFile lambda$jarStream$1 (I)Ljava/util/jar/JarEntry; (I)Ljava/util/jar/JarEntry; +@lambda-proxy jdk/internal/module/ModulePath test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeStatic jdk/internal/module/ModulePath lambda$deriveModuleDescriptor$2 (Ljava/util/jar/JarEntry;)Z (Ljava/util/jar/JarEntry;)Z +@lambda-proxy jdk/internal/module/ModulePath apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/zip/ZipEntry getName ()Ljava/lang/String; (Ljava/util/jar/JarEntry;)Ljava/lang/String; +@lambda-proxy jdk/internal/module/ModulePath test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeStatic jdk/internal/module/ModulePath lambda$deriveModuleDescriptor$3 (Ljava/lang/String;)Z (Ljava/lang/String;)Z +@lambda-proxy jdk/internal/module/ModulePath test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeStatic jdk/internal/module/ModulePath lambda$deriveModuleDescriptor$4 (Ljava/lang/String;)Z (Ljava/lang/String;)Z +java/util/stream/Collectors$Partition +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L5_V +@lambda-proxy java/util/stream/Collectors accept (Ljava/util/function/BiConsumer;Ljava/util/function/Predicate;)Ljava/util/function/BiConsumer; (Ljava/lang/Object;Ljava/lang/Object;)V REF_invokeStatic java/util/stream/Collectors lambda$partitioningBy$62 (Ljava/util/function/BiConsumer;Ljava/util/function/Predicate;Ljava/util/stream/Collectors$Partition;Ljava/lang/Object;)V (Ljava/util/stream/Collectors$Partition;Ljava/lang/Object;)V +@lambda-proxy java/util/stream/Collectors apply (Ljava/util/function/BinaryOperator;)Ljava/util/function/BinaryOperator; (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; REF_invokeStatic java/util/stream/Collectors lambda$partitioningBy$63 (Ljava/util/function/BinaryOperator;Ljava/util/stream/Collectors$Partition;Ljava/util/stream/Collectors$Partition;)Ljava/util/stream/Collectors$Partition; (Ljava/util/stream/Collectors$Partition;Ljava/util/stream/Collectors$Partition;)Ljava/util/stream/Collectors$Partition; +@lambda-proxy java/util/stream/Collectors get (Ljava/util/stream/Collector;)Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_invokeStatic java/util/stream/Collectors lambda$partitioningBy$64 (Ljava/util/stream/Collector;)Ljava/util/stream/Collectors$Partition; ()Ljava/util/stream/Collectors$Partition; +java/util/stream/Collectors$Partition$1 +java/util/AbstractMap$SimpleImmutableEntry +java/util/HashMap$HashMapSpliterator +java/util/HashMap$KeySpliterator +@lambda-proxy jdk/internal/module/ModulePath apply (Ljdk/internal/module/ModulePath;)Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual jdk/internal/module/ModulePath toPackageName (Ljava/lang/String;)Ljava/util/Optional; (Ljava/lang/String;)Ljava/util/Optional; +@lambda-proxy jdk/internal/module/ModulePath apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/Optional stream ()Ljava/util/stream/Stream; (Ljava/util/Optional;)Ljava/util/stream/Stream; +java/util/stream/DistinctOps +java/util/stream/ReferencePipeline$StatefulOp +java/util/stream/DistinctOps$1 +java/util/stream/DistinctOps$1$2 +@lambda-proxy java/lang/module/ModuleDescriptor$Builder accept ()Ljava/util/function/Consumer; (Ljava/lang/Object;)V REF_invokeStatic jdk/internal/module/Checks requirePackageName (Ljava/lang/String;)Ljava/lang/String; (Ljava/lang/String;)V +@lambda-proxy jdk/internal/module/ModulePath apply (Ljdk/internal/module/ModulePath;)Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual jdk/internal/module/ModulePath toServiceName (Ljava/lang/String;)Ljava/util/Optional; (Ljava/lang/String;)Ljava/util/Optional; +@lambda-proxy jdk/internal/module/ModulePath apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/Optional stream ()Ljava/util/stream/Stream; (Ljava/util/Optional;)Ljava/util/stream/Stream; +jdk/internal/module/ModuleInfo$Attributes +jdk/internal/module/ModuleReferences +sun/nio/fs/WindowsUriSupport +java/net/URI$Parser +java/lang/module/ModuleReader +@lambda-proxy jdk/internal/module/ModuleReferences get (Ljava/nio/file/Path;Ljava/net/URI;)Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_invokeStatic jdk/internal/module/ModuleReferences lambda$newJarModule$0 (Ljava/nio/file/Path;Ljava/net/URI;)Ljava/lang/module/ModuleReader; ()Ljava/lang/module/ModuleReader; +jdk/internal/module/ModuleHashes$HashSupplier +@lambda-proxy jdk/internal/module/ModuleReferences generate (Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleHashes$HashSupplier; (Ljava/lang/String;)[B REF_invokeStatic jdk/internal/module/ModuleReferences lambda$newJarModule$1 (Ljava/util/function/Supplier;Ljava/lang/String;)[B (Ljava/lang/String;)[B +java/io/RandomAccessFile$1 +java/util/ImmutableCollections$Map1 +java/util/HashMap$ValueSpliterator +java/util/Collections$UnmodifiableCollection$1 +java/lang/ModuleLayer +java/util/LinkedHashSet +java/lang/module/ResolvedModule +jdk/internal/module/ModuleLoaderMap +jdk/internal/module/ModuleLoaderMap$Mapper +jdk/internal/module/ModuleLoaderMap$Modules +jdk/internal/loader/AbstractClassLoaderValue$Memoizer +jdk/internal/module/ServicesCatalog$ServiceProvider +java/util/concurrent/CopyOnWriteArrayList +java/lang/ModuleLayer$Controller +jdk/internal/module/ModuleBootstrap$SafeModuleFinder +java/lang/invoke/StringConcatFactory +java/lang/invoke/StringConcatFactory$1 +java/lang/invoke/StringConcatFactory$2 +java/lang/invoke/StringConcatFactory$3 +jdk/internal/vm/PostVMInitHook +jdk/internal/vm/PostVMInitHook$2 +jdk/internal/util/EnvUtils +jdk/internal/vm/PostVMInitHook$1 +sun/launcher/LauncherHelper +java/nio/charset/CharsetDecoder +sun/nio/cs/ArrayDecoder +sun/nio/cs/SingleByte$Decoder +sun/net/util/URLUtil +java/security/PrivilegedExceptionAction +jdk/internal/loader/URLClassPath$3 +jdk/internal/loader/URLClassPath$Loader +jdk/internal/loader/URLClassPath$JarLoader +sun/net/www/protocol/jar/Handler +jdk/internal/loader/URLClassPath$JarLoader$1 +jdk/internal/loader/FileURLMapper +java/nio/file/FileSystems$DefaultFileSystemHolder +java/nio/file/FileSystems$DefaultFileSystemHolder$1 +jdk/internal/util/jar/JarIndex +jdk/internal/loader/Resource +jdk/internal/loader/URLClassPath$JarLoader$2 +java/lang/NamedPackage +java/lang/Package +java/lang/Package$VersionInfo +sun/nio/ByteBuffered +java/util/zip/Checksum +java/util/zip/CRC32 +java/util/zip/Checksum$1 +java/security/SecureClassLoader$CodeSourceKey +java/security/SecureClassLoader$1 +java/security/PermissionCollection +sun/security/util/LazyCodeSourcePermissionCollection +java/security/Permissions +java/lang/RuntimePermission +java/security/BasicPermissionCollection +java/security/AllPermission +java/security/UnresolvedPermission +java/security/SecureClassLoader$DebugHolder +java/time/temporal/TemporalAccessor +java/util/logging/Logger +java/util/logging/Handler +java/util/logging/Level +java/util/logging/Level$KnownLevel +@lambda-proxy java/util/logging/Level$KnownLevel apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeStatic java/util/logging/Level$KnownLevel lambda$add$3 (Ljava/lang/String;)Ljava/util/List; (Ljava/lang/String;)Ljava/util/List; +@lambda-proxy java/util/logging/Level$KnownLevel apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeStatic java/util/logging/Level$KnownLevel lambda$add$4 (Ljava/lang/Integer;)Ljava/util/List; (Ljava/lang/Integer;)Ljava/util/List; +java/util/logging/Logger$LoggerBundle +java/util/logging/Logger$ConfigurationData +java/util/logging/LogManager +java/util/logging/LogManager$1 +java/util/logging/LogManager$LoggerContext +java/util/logging/LogManager$SystemLoggerContext +java/util/logging/LogManager$LogNode +java/util/concurrent/locks/AbstractQueuedSynchronizer +java/util/concurrent/locks/ReentrantLock$Sync +java/util/concurrent/locks/ReentrantLock$NonfairSync +java/util/Collections$SynchronizedMap +java/util/logging/LogManager$Cleaner +java/lang/ApplicationShutdownHooks +java/lang/ApplicationShutdownHooks$1 +java/lang/Shutdown +java/lang/Shutdown$Lock +java/util/logging/LoggingPermission +sun/util/logging/internal/LoggingProviderImpl$LogManagerAccess +java/util/logging/LogManager$LoggingProviderAccess +sun/security/util/FilePermCompat +sun/security/util/SecurityProperties +java/security/Security +java/security/Security$1 +java/util/Properties$LineReader +java/util/concurrent/ConcurrentHashMap$ForwardingNode +java/io/FileInputStream$1 +java/util/concurrent/ConcurrentHashMap$EntrySetView +java/util/concurrent/ConcurrentHashMap$EntryIterator +java/util/concurrent/ConcurrentHashMap$MapEntry +jdk/internal/access/JavaSecurityPropertiesAccess +java/security/Security$2 +java/io/FilePermission +java/lang/System$LoggerFinder +jdk/internal/logger/DefaultLoggerFinder +sun/util/logging/internal/LoggingProviderImpl +java/util/logging/LogManager$2 +java/util/logging/LogManager$RootLogger +java/nio/file/Paths +java/util/logging/LogManager$LoggerWeakRef +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L6_L +java/lang/invoke/MethodHandleImpl$AsVarargsCollector +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L7_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder delegate L6_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder invokeExact_MT L7_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L L3_L +java/lang/invoke/BoundMethodHandle$Species_LL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L5_L +java/util/logging/LogManager$VisitedLoggers +java/util/logging/LogManager$LoggerContext$1 +java/util/concurrent/ConcurrentHashMap$KeySetView +java/util/Collections$3 +java/util/concurrent/ConcurrentHashMap$KeyIterator +java/util/Properties$EntrySet +java/util/Collections$SynchronizedCollection +java/util/Collections$SynchronizedSet +java/util/Hashtable$Enumerator +@lambda-proxy java/util/logging/Level apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/logging/Level$KnownLevel mirrored ()Ljava/util/Optional; (Ljava/util/logging/Level$KnownLevel;)Ljava/util/Optional; +java/util/ArrayList$ArrayListSpliterator +@lambda-proxy java/util/logging/Level$KnownLevel apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/Optional stream ()Ljava/util/stream/Stream; (Ljava/util/Optional;)Ljava/util/stream/Stream; +java/util/IdentityHashMap$Values +java/lang/System$Logger +sun/util/logging/PlatformLogger$Bridge +sun/util/logging/PlatformLogger$ConfigurableBridge +jdk/internal/logger/BootstrapLogger +jdk/internal/logger/BootstrapLogger$DetectBackend +jdk/internal/logger/BootstrapLogger$DetectBackend$1 +java/util/ServiceLoader +java/util/ServiceLoader$ModuleServicesLookupIterator +java/util/Spliterators$1Adapter +java/util/ServiceLoader$LazyClassPathLookupIterator +java/util/ServiceLoader$2 +java/util/ServiceLoader$3 +jdk/internal/module/Resources +jdk/internal/loader/BuiltinClassLoader$2 +jdk/internal/loader/BuiltinClassLoader$5 +jdk/internal/module/SystemModuleFinders$SystemModuleReader +jdk/internal/module/SystemModuleFinders$SystemImage +jdk/internal/jimage/ImageReaderFactory +jdk/internal/jimage/ImageReaderFactory$1 +jdk/internal/jimage/ImageReader +jdk/internal/jimage/BasicImageReader +jdk/internal/jimage/ImageReader$SharedImageReader +jdk/internal/jimage/BasicImageReader$1 +jdk/internal/jimage/NativeImageBuffer +jdk/internal/jimage/NativeImageBuffer$1 +jdk/internal/jimage/ImageHeader +java/nio/IntBuffer +java/nio/DirectIntBufferU +java/nio/DirectByteBufferR +java/nio/DirectIntBufferRU +jdk/internal/jimage/ImageStrings +jdk/internal/jimage/ImageStringsReader +jdk/internal/jimage/decompressor/Decompressor +jdk/internal/jimage/ImageLocation +java/util/Collections$EmptyIterator +java/util/Collections$EmptyEnumeration +jdk/internal/loader/BuiltinClassLoader$1 +java/lang/CompoundEnumeration +jdk/internal/loader/URLClassPath$1 +java/util/concurrent/CopyOnWriteArrayList$COWIterator +java/util/ServiceLoader$1 +java/util/ServiceLoader$Provider +java/util/ServiceLoader$ProviderImpl +jdk/internal/logger/BootstrapLogger$LoggingBackend +jdk/internal/logger/BootstrapLogger$RedirectedLoggers +jdk/internal/logger/BootstrapLogger$BootstrapExecutors +java/util/logging/LogManager$4 +java/util/logging/Logger$SystemLoggerHelper +java/util/logging/Logger$SystemLoggerHelper$1 +jdk/internal/logger/DefaultLoggerFinder$1 +java/net/InetAddress +jdk/internal/access/JavaNetInetAddressAccess +java/net/InetAddress$1 +java/net/InetAddress$InetAddressHolder +java/util/SortedSet +java/util/NavigableSet +java/util/concurrent/ConcurrentSkipListSet +java/util/SortedMap +java/util/NavigableMap +java/util/concurrent/ConcurrentNavigableMap +java/util/concurrent/ConcurrentSkipListMap +java/util/concurrent/ConcurrentSkipListMap$Index +java/lang/invoke/VarHandles +java/lang/ClassValue +java/lang/invoke/VarHandles$1 +java/lang/ClassValue$Entry +java/lang/ClassValue$Identity +java/lang/ClassValue$Version +java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly +java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite +java/lang/invoke/VarHandle$1 +jdk/internal/util/Preconditions$1 +java/lang/invoke/VarHandleGuards +java/lang/invoke/VarForm +java/util/concurrent/atomic/Striped64 +java/util/concurrent/atomic/LongAdder +java/util/concurrent/ConcurrentSkipListMap$Node +java/net/InetAddressImplFactory +java/net/InetAddressImpl +java/net/Inet6AddressImpl +java/net/InetAddress$NameService +java/net/InetAddress$PlatformNameService +java/net/Inet4Address +java/net/NetworkInterface +java/net/InterfaceAddress +java/net/Inet6Address +java/net/Inet6Address$Inet6AddressHolder +java/net/DefaultInterface +java/util/Spliterators$ArraySpliterator +java/util/StringJoiner +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder newInvokeSpecial L4_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L5_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod L4_L +@lambda-proxy java/util/stream/Collectors get (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_invokeStatic java/util/stream/Collectors lambda$joining$11 (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/StringJoiner; ()Ljava/util/StringJoiner; +@lambda-proxy java/util/stream/Collectors accept ()Ljava/util/function/BiConsumer; (Ljava/lang/Object;Ljava/lang/Object;)V REF_invokeVirtual java/util/StringJoiner add (Ljava/lang/CharSequence;)Ljava/util/StringJoiner; (Ljava/util/StringJoiner;Ljava/lang/CharSequence;)V +@lambda-proxy java/util/stream/Collectors apply ()Ljava/util/function/BinaryOperator; (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/StringJoiner merge (Ljava/util/StringJoiner;)Ljava/util/StringJoiner; (Ljava/util/StringJoiner;Ljava/util/StringJoiner;)Ljava/util/StringJoiner; +@lambda-proxy java/util/stream/Collectors apply ()Ljava/util/function/Function; (Ljava/lang/Object;)Ljava/lang/Object; REF_invokeVirtual java/util/StringJoiner toString ()Ljava/lang/String; (Ljava/util/StringJoiner;)Ljava/lang/String; +java/util/concurrent/Future +java/util/concurrent/ForkJoinTask +java/util/concurrent/CountedCompleter +java/util/stream/AbstractTask +java/util/stream/ReduceOps$ReduceTask +java/lang/invoke/VarHandleInts$FieldInstanceReadOnly +java/lang/invoke/VarHandleInts$FieldInstanceReadWrite +java/util/concurrent/ForkJoinTask$Aux +java/util/concurrent/Executor +java/util/concurrent/ExecutorService +java/util/concurrent/AbstractExecutorService +java/util/concurrent/ForkJoinPool +java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly +java/lang/invoke/VarHandleLongs$FieldInstanceReadWrite +java/lang/invoke/VarHandleInts$FieldStaticReadOnly +java/lang/invoke/VarHandleInts$FieldStaticReadWrite +java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory +java/util/concurrent/ForkJoinPool$DefaultForkJoinWorkerThreadFactory +java/util/concurrent/ForkJoinPool$1 +java/util/concurrent/ForkJoinPool$DefaultCommonPoolForkJoinWorkerThreadFactory +java/util/concurrent/ForkJoinPool$WorkQueue +java/util/concurrent/ForkJoinWorkerThread +java/util/random/RandomGenerator +java/util/Random +java/util/concurrent/ThreadLocalRandom +jdk/internal/util/random/RandomSupport +java/lang/invoke/VarHandleReferences$Array +java/lang/invoke/VarHandle$AccessDescriptor +java/util/concurrent/ForkJoinPool$DefaultCommonPoolForkJoinWorkerThreadFactory$1 +java/util/regex/ASCII +@lambda-proxy java/util/regex/CharPredicates is ()Ljava/util/regex/Pattern$BmpCharPredicate; (I)Z REF_invokeStatic java/util/regex/CharPredicates lambda$ASCII_SPACE$20 (I)Z (I)Z +java/util/ArrayList$SubList +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeVirtual L3_V +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LLJ_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L3J_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L LLJ_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LJL3_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJL3_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L LJL3_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJLL_J +java/lang/invoke/BoundMethodHandle$Species_LLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LJ_L +java/lang/invoke/BoundMethodHandle$Species_LLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJ_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LJL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L LJL_J +java/lang/invoke/BoundMethodHandle$Species_LLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L8_L +java/lang/Long$LongCache +java/lang/invoke/MethodHandles$1 +java/lang/invoke/BoundMethodHandle$Species_LJ +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LJ +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L4J_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder getLong LL_J +java/lang/invoke/BoundMethodHandle$Species_LLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L9_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L3_J +java/lang/invoke/BoundMethodHandle$Species_LLLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L10_L +java/util/TreeMap +java/lang/invoke/LambdaFormEditor$1 +java/util/TreeMap$Entry +java/util/TreeMap$EntrySet +java/util/TreeMap$PrivateEntryIterator +java/util/TreeMap$EntryIterator +java/lang/invoke/BoundMethodHandle$Species_LLLLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L11_L +java/lang/invoke/BoundMethodHandle$Species_LLLLLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L12_L +java/lang/invoke/BoundMethodHandle$Species_LLLLLLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L13_L +java/lang/invoke/BoundMethodHandle$Species_LLLLLLLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLLLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L14_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L6_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod L5_L +java/lang/invoke/BoundMethodHandle$Species_LLLLLLLLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLLLLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L15_L +java/lang/invoke/BoundMethodHandle$Species_LLLLLLLLLLLLL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_LLLLLLLLLLLLL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L16_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod L6_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LJLIL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJLIL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L LJLIL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJLI_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LJI_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJI_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L LJI_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLI_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial L3I_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod LIL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLIL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod ILL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LJLJL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJLJL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L LJLJL_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJLJ_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LJJ_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJJ_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L LJJ_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJ_J +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod JL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLJJ_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod JJL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LD_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LLD_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder linkToTargetMethod DL_L +jdk/internal/math/FloatingDecimal +jdk/internal/math/FloatingDecimal$BinaryToASCIIConverter +jdk/internal/math/FloatingDecimal$ExceptionalBinaryToASCIIBuffer +jdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer +jdk/internal/math/FloatingDecimal$1 +jdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter +jdk/internal/math/FloatingDecimal$PreparedASCIIToBinaryBuffer +java/time/format/DateTimeFormatter +java/time/format/DateTimeFormatterBuilder +java/time/temporal/TemporalQuery +java/time/ZoneId +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStaticInit LL_L +@lambda-proxy java/time/format/DateTimeFormatterBuilder queryFrom ()Ljava/time/temporal/TemporalQuery; (Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object; REF_invokeStatic java/time/format/DateTimeFormatterBuilder lambda$static$0 (Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneId; (Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneId; +java/lang/Character$CharacterCache +java/time/temporal/TemporalField +java/time/temporal/ChronoField +java/time/temporal/TemporalUnit +java/time/temporal/ChronoUnit +java/time/temporal/TemporalAmount +java/time/Duration +java/math/BigInteger +java/time/temporal/ValueRange +java/time/temporal/IsoFields +java/time/temporal/IsoFields$Field +java/time/temporal/IsoFields$Field$1 +java/time/temporal/IsoFields$Field$2 +java/time/temporal/IsoFields$Field$3 +java/time/temporal/IsoFields$Field$4 +java/time/temporal/IsoFields$Unit +java/time/temporal/JulianFields +java/time/temporal/JulianFields$Field +java/time/format/SignStyle +java/time/format/DateTimeFormatterBuilder$DateTimePrinterParser +java/time/format/DateTimeFormatterBuilder$NumberPrinterParser +java/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser +java/time/format/ResolverStyle +java/time/chrono/Chronology +java/time/chrono/AbstractChronology +java/time/chrono/IsoChronology +java/util/Locale$Category +java/time/format/DateTimeFormatterBuilder$CompositePrinterParser +java/time/format/DecimalStyle +java/time/format/DateTimeFormatterBuilder$SettingsParser +java/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser +java/time/format/DateTimeFormatterBuilder$FractionPrinterParser +java/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser +java/time/format/DateTimeFormatterBuilder$StringLiteralPrinterParser +java/time/format/DateTimeFormatterBuilder$InstantPrinterParser +java/time/format/TextStyle +java/util/Collections$SingletonMap +java/time/format/DateTimeTextProvider$LocaleStore +java/util/Collections$SingletonSet +java/util/Collections$1 +java/util/LinkedHashMap$LinkedEntrySet +java/util/LinkedHashMap$LinkedHashIterator +java/util/LinkedHashMap$LinkedEntryIterator +java/time/format/DateTimeTextProvider +java/time/format/DateTimeTextProvider$1 +java/util/Arrays$LegacyMergeSort +java/util/TimSort +java/time/format/DateTimeFormatterBuilder$1 +java/time/format/DateTimeFormatterBuilder$TextPrinterParser +java/time/chrono/ChronoPeriod +java/time/Period +@lambda-proxy java/time/format/DateTimeFormatter queryFrom ()Ljava/time/temporal/TemporalQuery; (Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object; REF_invokeStatic java/time/format/DateTimeFormatter lambda$static$0 (Ljava/time/temporal/TemporalAccessor;)Ljava/time/Period; (Ljava/time/temporal/TemporalAccessor;)Ljava/time/Period; +@lambda-proxy java/time/format/DateTimeFormatter queryFrom ()Ljava/time/temporal/TemporalQuery; (Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object; REF_invokeStatic java/time/format/DateTimeFormatter lambda$static$1 (Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Boolean; (Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Boolean; +java/time/temporal/TemporalAdjuster +java/time/ZoneOffset +java/time/ZoneRegion +java/time/zone/ZoneRules +java/time/zone/ZoneOffsetTransitionRule +java/time/temporal/Temporal +java/time/chrono/ChronoLocalDateTime +java/time/LocalDateTime +java/time/chrono/ChronoLocalDate +java/time/LocalDate +java/time/LocalTime +java/time/InstantSource +java/time/Clock +java/time/Clock$SystemClock +java/time/Instant +java/time/format/DateTimePrintContext +java/time/temporal/TemporalQueries +java/time/temporal/TemporalQueries$1 +java/time/temporal/TemporalQueries$2 +java/time/temporal/TemporalQueries$3 +java/time/temporal/TemporalQueries$4 +java/time/temporal/TemporalQueries$5 +java/time/temporal/TemporalQueries$6 +java/time/temporal/TemporalQueries$7 +java/time/LocalDate$1 +java/time/format/DateTimeFormatterBuilder$2 +java/time/LocalTime$1 +java/math/BigDecimal +java/math/RoundingMode +java/text/Format +java/text/DateFormat +java/util/spi/LocaleServiceProvider +java/text/spi/DateFormatProvider +sun/util/locale/provider/LocaleProviderAdapter +sun/util/locale/provider/LocaleProviderAdapter$Type +java/util/Collections$UnmodifiableList +java/util/Collections$UnmodifiableRandomAccessList +sun/util/locale/provider/LocaleProviderAdapter$1 +sun/util/locale/provider/ResourceBundleBasedAdapter +sun/util/locale/provider/JRELocaleProviderAdapter +sun/util/cldr/CLDRLocaleProviderAdapter +sun/util/locale/provider/LocaleDataMetaInfo +sun/util/cldr/CLDRBaseLocaleDataMetaInfo +sun/util/locale/LanguageTag +sun/util/locale/ParseStatus +sun/util/locale/StringTokenIterator +sun/util/locale/InternalLocaleBuilder +sun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar +sun/util/locale/BaseLocale$Key +sun/util/locale/LocaleObjectCache +sun/util/locale/BaseLocale$Cache +sun/util/locale/LocaleObjectCache$CacheEntry +java/util/Locale$Cache +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L_L +@lambda-proxy sun/util/cldr/CLDRLocaleProviderAdapter run ()Ljava/security/PrivilegedExceptionAction; ()Ljava/lang/Object; REF_invokeStatic sun/util/cldr/CLDRLocaleProviderAdapter lambda$new$0 ()Lsun/util/locale/provider/LocaleDataMetaInfo; ()Lsun/util/locale/provider/LocaleDataMetaInfo; +@lambda-proxy sun/util/locale/provider/JRELocaleProviderAdapter run (Lsun/util/locale/provider/JRELocaleProviderAdapter;)Ljava/security/PrivilegedAction; ()Ljava/lang/Object; REF_invokeVirtual sun/util/locale/provider/JRELocaleProviderAdapter lambda$getDateFormatProvider$2 ()Ljava/text/spi/DateFormatProvider; ()Ljava/text/spi/DateFormatProvider; +sun/util/locale/provider/AvailableLanguageTags +sun/util/locale/provider/DateFormatProviderImpl +java/util/StringTokenizer +sun/util/locale/provider/CalendarDataUtility +java/util/Locale$Builder +java/text/SimpleDateFormat +java/text/AttributedCharacterIterator$Attribute +java/text/Format$Field +java/text/DateFormat$Field +java/util/Calendar +java/util/TimeZone +sun/util/calendar/ZoneInfo +sun/util/calendar/ZoneInfoFile +sun/util/calendar/ZoneInfoFile$1 +java/io/DataInputStream +sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule +sun/util/spi/CalendarProvider +@lambda-proxy sun/util/locale/provider/JRELocaleProviderAdapter run (Lsun/util/locale/provider/JRELocaleProviderAdapter;)Ljava/security/PrivilegedAction; ()Ljava/lang/Object; REF_invokeVirtual sun/util/locale/provider/JRELocaleProviderAdapter lambda$getCalendarProvider$11 ()Lsun/util/spi/CalendarProvider; ()Lsun/util/spi/CalendarProvider; +sun/util/locale/provider/CalendarProviderImpl +java/util/Calendar$Builder +java/util/GregorianCalendar +sun/util/calendar/CalendarSystem +sun/util/calendar/CalendarSystem$GregorianHolder +sun/util/calendar/AbstractCalendar +sun/util/calendar/BaseCalendar +sun/util/calendar/Gregorian +java/util/spi/CalendarDataProvider +sun/util/locale/provider/LocaleServiceProviderPool +java/text/spi/BreakIteratorProvider +java/text/spi/CollatorProvider +java/text/spi/DateFormatSymbolsProvider +java/text/spi/DecimalFormatSymbolsProvider +java/text/spi/NumberFormatProvider +java/util/spi/CurrencyNameProvider +java/util/spi/LocaleNameProvider +java/util/spi/TimeZoneNameProvider +sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter +sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter +java/util/ResourceBundle$Control +java/util/ResourceBundle +java/util/ResourceBundle$Control$CandidateListCache +java/util/ResourceBundle$SingleFormatControl +java/util/ResourceBundle$NoFallbackControl +java/util/AbstractSequentialList +java/util/LinkedList +java/util/LinkedList$Node +@lambda-proxy sun/util/cldr/CLDRLocaleProviderAdapter run (Lsun/util/cldr/CLDRLocaleProviderAdapter;)Ljava/security/PrivilegedAction; ()Ljava/lang/Object; REF_invokeVirtual sun/util/cldr/CLDRLocaleProviderAdapter lambda$getCalendarDataProvider$1 ()Ljava/util/spi/CalendarDataProvider; ()Ljava/util/spi/CalendarDataProvider; +sun/util/locale/provider/CalendarDataProviderImpl +sun/util/cldr/CLDRCalendarDataProviderImpl +sun/util/locale/provider/LocaleResources +sun/util/resources/LocaleData +sun/util/resources/LocaleData$1 +sun/util/resources/Bundles$Strategy +sun/util/resources/LocaleData$LocaleDataStrategy +sun/util/resources/Bundles +sun/util/resources/Bundles$1 +jdk/internal/access/JavaUtilResourceBundleAccess +java/util/ResourceBundle$1 +java/util/ResourceBundle$2 +sun/util/resources/Bundles$CacheKey +java/util/ListResourceBundle +sun/util/resources/cldr/CalendarData +java/util/ResourceBundle$ResourceBundleProviderHelper +@lambda-proxy java/util/ResourceBundle$ResourceBundleProviderHelper run (Ljava/lang/reflect/Constructor;)Ljava/security/PrivilegedAction; ()Ljava/lang/Object; REF_invokeStatic java/util/ResourceBundle$ResourceBundleProviderHelper lambda$newResourceBundle$0 (Ljava/lang/reflect/Constructor;)Ljava/lang/Void; ()Ljava/lang/Void; +sun/util/resources/Bundles$CacheKeyReference +sun/util/resources/Bundles$BundleReference +sun/util/locale/provider/LocaleResources$ResourceReference +sun/util/calendar/CalendarDate +sun/util/calendar/BaseCalendar$Date +sun/util/calendar/Gregorian$Date +sun/util/calendar/CalendarUtils +java/text/DateFormatSymbols +@lambda-proxy sun/util/locale/provider/JRELocaleProviderAdapter run (Lsun/util/locale/provider/JRELocaleProviderAdapter;)Ljava/security/PrivilegedAction; ()Ljava/lang/Object; REF_invokeVirtual sun/util/locale/provider/JRELocaleProviderAdapter lambda$getDateFormatSymbolsProvider$3 ()Ljava/text/spi/DateFormatSymbolsProvider; ()Ljava/text/spi/DateFormatSymbolsProvider; +sun/util/locale/provider/DateFormatSymbolsProviderImpl +sun/text/resources/cldr/FormatData +java/text/NumberFormat +@lambda-proxy sun/util/locale/provider/JRELocaleProviderAdapter run (Lsun/util/locale/provider/JRELocaleProviderAdapter;)Ljava/security/PrivilegedAction; ()Ljava/lang/Object; REF_invokeVirtual sun/util/locale/provider/JRELocaleProviderAdapter lambda$getNumberFormatProvider$5 ()Ljava/text/spi/NumberFormatProvider; ()Ljava/text/spi/NumberFormatProvider; +sun/util/locale/provider/NumberFormatProviderImpl +java/text/DecimalFormatSymbols +@lambda-proxy sun/util/locale/provider/JRELocaleProviderAdapter run (Lsun/util/locale/provider/JRELocaleProviderAdapter;)Ljava/security/PrivilegedAction; ()Ljava/lang/Object; REF_invokeVirtual sun/util/locale/provider/JRELocaleProviderAdapter lambda$getDecimalFormatSymbolsProvider$4 ()Ljava/text/spi/DecimalFormatSymbolsProvider; ()Ljava/text/spi/DecimalFormatSymbolsProvider; +sun/util/locale/provider/DecimalFormatSymbolsProviderImpl +java/lang/StringLatin1$CharsSpliterator +java/util/stream/IntStream +java/util/stream/IntPipeline +java/util/stream/IntPipeline$Head +java/util/function/IntPredicate +@lambda-proxy java/text/DecimalFormatSymbols test ()Ljava/util/function/IntPredicate; (I)Z REF_invokeStatic java/text/DecimalFormatSymbols lambda$findNonFormatChar$0 (I)Z (I)Z +java/util/stream/IntPipeline$StatelessOp +java/util/stream/IntPipeline$10 +java/util/function/IntConsumer +java/util/stream/Sink$OfInt +java/util/stream/FindOps$FindSink$OfInt +java/util/OptionalInt +@lambda-proxy java/util/stream/FindOps$FindSink$OfInt test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeVirtual java/util/OptionalInt isPresent ()Z (Ljava/util/OptionalInt;)Z +@lambda-proxy java/util/stream/FindOps$FindSink$OfInt get ()Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_newInvokeSpecial java/util/stream/FindOps$FindSink$OfInt ()V ()Ljava/util/stream/TerminalSink; +@lambda-proxy java/util/stream/FindOps$FindSink$OfInt test ()Ljava/util/function/Predicate; (Ljava/lang/Object;)Z REF_invokeVirtual java/util/OptionalInt isPresent ()Z (Ljava/util/OptionalInt;)Z +@lambda-proxy java/util/stream/FindOps$FindSink$OfInt get ()Ljava/util/function/Supplier; ()Ljava/lang/Object; REF_newInvokeSpecial java/util/stream/FindOps$FindSink$OfInt ()V ()Ljava/util/stream/TerminalSink; +java/util/stream/Sink$ChainedInt +java/util/stream/IntPipeline$10$1 +java/lang/StringUTF16$CharsSpliterator +java/lang/CharacterData00 +java/text/DecimalFormat +java/text/FieldPosition +java/text/DigitList +java/util/Date +java/text/DontCareFieldPosition +java/text/Format$FieldDelegate +java/text/DontCareFieldPosition$1 +java/text/NumberFormat$Field +java/util/Formatter +java/util/Formatter$Conversion +java/util/Formatter$FormatString +java/util/Formatter$FormatSpecifier +java/util/Formatter$Flags +java/util/Formattable +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.LambdaForm$Holder identity_D LD_D +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.LambdaForm$Holder zero_D L_D +java/lang/invoke/BoundMethodHandle$Species_D +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_D +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L3D_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder getDouble LL_D +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.Invokers$Holder invoke_MT LL_L +sun/invoke/util/ValueConversions$WrapperCache +java/lang/invoke/BoundMethodHandle$Species_DL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_DL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L3DL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.LambdaForm$Holder identity_I LI_I +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.LambdaForm$Holder zero_I L_I +java/lang/invoke/BoundMethodHandle$Species_I +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_I +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L3I_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder getInt LL_I +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic LI_L +java/lang/invoke/BoundMethodHandle$Species_IL +@lambda-form-invoker [SPECIES_RESOLVE] java.lang.invoke.BoundMethodHandle$Species_IL +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L3IL_L +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeStatic L_V +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DirectMethodHandle$Holder invokeSpecial LL_V +@lambda-form-invoker [LF_RESOLVE] java.lang.invoke.DelegatingMethodHandle$Holder reinvoke_L L_V +java/util/IdentityHashMap$IdentityHashMapIterator +java/util/IdentityHashMap$KeyIterator diff --git a/resources/java/jdk/lib/fontconfig.bfc b/resources/java/jdk/lib/fontconfig.bfc new file mode 100644 index 0000000..8f4eb44 Binary files /dev/null and b/resources/java/jdk/lib/fontconfig.bfc differ diff --git a/resources/java/jdk/lib/fontconfig.properties.src b/resources/java/jdk/lib/fontconfig.properties.src new file mode 100644 index 0000000..a9d976e --- /dev/null +++ b/resources/java/jdk/lib/fontconfig.properties.src @@ -0,0 +1,328 @@ +# +# +# Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# Version + +version=1 + +# Component Font Mappings + +allfonts.chinese-ms936=SimSun +allfonts.chinese-ms936-extb=SimSun-ExtB +allfonts.chinese-gb18030=SimSun-18030 +allfonts.chinese-gb18030-extb=SimSun-ExtB +allfonts.chinese-hkscs=MingLiU_HKSCS +allfonts.chinese-ms950-extb=MingLiU-ExtB +allfonts.devanagari=Mangal +allfonts.bengali=Vrinda +allfonts.gujarati=Shruti +allfonts.gurmukhi=Raavi +allfonts.kannada=Tunga +allfonts.malayalam=Kartika +allfonts.oriya=Kalinga +allfonts.sinhala=Iskoola Pota +allfonts.tamil=Latha +allfonts.telugu=Gautami +allfonts.khmer=Khmer UI +allfonts.mongolian=Mongolian Baiti +allfonts.myanmar=Myanmar Text +allfonts.dingbats=Wingdings +allfonts.symbol=Symbol +allfonts.symbols=Segoe UI Symbol +allfonts.thai=DokChampa +allfonts.georgian=Sylfaen + +serif.plain.alphabetic=Times New Roman +serif.plain.chinese-ms950=MingLiU +serif.plain.chinese-ms950-extb=MingLiU-ExtB +serif.plain.hebrew=David +serif.plain.japanese=MS Mincho +serif.plain.korean=Batang + +serif.bold.alphabetic=Times New Roman Bold +serif.bold.chinese-ms950=PMingLiU +serif.bold.chinese-ms950-extb=PMingLiU-ExtB +serif.bold.hebrew=David Bold +serif.bold.japanese=MS Mincho +serif.bold.korean=Batang + +serif.italic.alphabetic=Times New Roman Italic +serif.italic.chinese-ms950=PMingLiU +serif.italic.chinese-ms950-extb=PMingLiU-ExtB +serif.italic.hebrew=David +serif.italic.japanese=MS Mincho +serif.italic.korean=Batang + +serif.bolditalic.alphabetic=Times New Roman Bold Italic +serif.bolditalic.chinese-ms950=PMingLiU +serif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +serif.bolditalic.hebrew=David Bold +serif.bolditalic.japanese=MS Mincho +serif.bolditalic.korean=Batang + +sansserif.plain.alphabetic=Arial +sansserif.plain.chinese-ms950=MingLiU +sansserif.plain.chinese-ms950-extb=MingLiU-ExtB +sansserif.plain.hebrew=David +sansserif.plain.japanese=MS Gothic +sansserif.plain.korean=Gulim + +sansserif.bold.alphabetic=Arial Bold +sansserif.bold.chinese-ms950=PMingLiU +sansserif.bold.chinese-ms950-extb=PMingLiU-ExtB +sansserif.bold.hebrew=David Bold +sansserif.bold.japanese=MS Gothic +sansserif.bold.korean=Gulim + +sansserif.italic.alphabetic=Arial Italic +sansserif.italic.chinese-ms950=PMingLiU +sansserif.italic.chinese-ms950-extb=PMingLiU-ExtB +sansserif.italic.hebrew=David +sansserif.italic.japanese=MS Gothic +sansserif.italic.korean=Gulim + +sansserif.bolditalic.alphabetic=Arial Bold Italic +sansserif.bolditalic.chinese-ms950=PMingLiU +sansserif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +sansserif.bolditalic.hebrew=David Bold +sansserif.bolditalic.japanese=MS Gothic +sansserif.bolditalic.korean=Gulim + +monospaced.plain.alphabetic=Courier New +monospaced.plain.chinese-ms950=MingLiU +monospaced.plain.chinese-ms950-extb=MingLiU-ExtB +monospaced.plain.hebrew=Courier New +monospaced.plain.japanese=MS Gothic +monospaced.plain.korean=GulimChe + +monospaced.bold.alphabetic=Courier New Bold +monospaced.bold.chinese-ms950=PMingLiU +monospaced.bold.chinese-ms950-extb=PMingLiU-ExtB +monospaced.bold.hebrew=Courier New Bold +monospaced.bold.japanese=MS Gothic +monospaced.bold.korean=GulimChe + +monospaced.italic.alphabetic=Courier New Italic +monospaced.italic.chinese-ms950=PMingLiU +monospaced.italic.chinese-ms950-extb=PMingLiU-ExtB +monospaced.italic.hebrew=Courier New +monospaced.italic.japanese=MS Gothic +monospaced.italic.korean=GulimChe + +monospaced.bolditalic.alphabetic=Courier New Bold Italic +monospaced.bolditalic.chinese-ms950=PMingLiU +monospaced.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +monospaced.bolditalic.hebrew=Courier New Bold +monospaced.bolditalic.japanese=MS Gothic +monospaced.bolditalic.korean=GulimChe + +dialog.plain.alphabetic=Arial +dialog.plain.chinese-ms950=MingLiU +dialog.plain.chinese-ms950-extb=MingLiU-ExtB +dialog.plain.hebrew=David +dialog.plain.japanese=MS Gothic +dialog.plain.korean=Gulim + +dialog.bold.alphabetic=Arial Bold +dialog.bold.chinese-ms950=PMingLiU +dialog.bold.chinese-ms950-extb=PMingLiU-ExtB +dialog.bold.hebrew=David Bold +dialog.bold.japanese=MS Gothic +dialog.bold.korean=Gulim + +dialog.italic.alphabetic=Arial Italic +dialog.italic.chinese-ms950=PMingLiU +dialog.italic.chinese-ms950-extb=PMingLiU-ExtB +dialog.italic.hebrew=David +dialog.italic.japanese=MS Gothic +dialog.italic.korean=Gulim + +dialog.bolditalic.alphabetic=Arial Bold Italic +dialog.bolditalic.chinese-ms950=PMingLiU +dialog.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +dialog.bolditalic.hebrew=David Bold +dialog.bolditalic.japanese=MS Gothic +dialog.bolditalic.korean=Gulim + +dialoginput.plain.alphabetic=Courier New +dialoginput.plain.chinese-ms950=MingLiU +dialoginput.plain.chinese-ms950-extb=MingLiU-ExtB +dialoginput.plain.hebrew=David +dialoginput.plain.japanese=MS Gothic +dialoginput.plain.korean=Gulim + +dialoginput.bold.alphabetic=Courier New Bold +dialoginput.bold.chinese-ms950=PMingLiU +dialoginput.bold.chinese-ms950-extb=PMingLiU-ExtB +dialoginput.bold.hebrew=David Bold +dialoginput.bold.japanese=MS Gothic +dialoginput.bold.korean=Gulim + +dialoginput.italic.alphabetic=Courier New Italic +dialoginput.italic.chinese-ms950=PMingLiU +dialoginput.italic.chinese-ms950-extb=PMingLiU-ExtB +dialoginput.italic.hebrew=David +dialoginput.italic.japanese=MS Gothic +dialoginput.italic.korean=Gulim + +dialoginput.bolditalic.alphabetic=Courier New Bold Italic +dialoginput.bolditalic.chinese-ms950=PMingLiU +dialoginput.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +dialoginput.bolditalic.hebrew=David Bold +dialoginput.bolditalic.japanese=MS Gothic +dialoginput.bolditalic.korean=Gulim + +# Search Sequences + +sequence.allfonts=alphabetic/default,dingbats,symbol + +sequence.serif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb +sequence.sansserif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb +sequence.monospaced.GBK=chinese-ms936,alphabetic,dingbats,symbol,chinese-ms936-extb +sequence.dialog.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb +sequence.dialoginput.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb + +sequence.serif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb +sequence.sansserif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb +sequence.monospaced.GB18030=chinese-gb18030,alphabetic,dingbats,symbol,chinese-gb18030-extb +sequence.dialog.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb +sequence.dialoginput.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb + +sequence.serif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb +sequence.sansserif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb +sequence.monospaced.x-windows-950=chinese-ms950,alphabetic,dingbats,symbol,chinese-ms950-extb +sequence.dialog.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb +sequence.dialoginput.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb + +sequence.serif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.sansserif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.monospaced.x-MS950-HKSCS=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialog.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialoginput.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb + +sequence.serif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.sansserif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.monospaced.x-MS950-HKSCS-XP=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialog.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialoginput.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb + +sequence.allfonts.UTF-8.hi=alphabetic/1252,devanagari,dingbats,symbol +sequence.allfonts.UTF-8.ja=alphabetic,japanese,dingbats,symbol + +sequence.allfonts.windows-1255=hebrew,alphabetic/1252,dingbats,symbol + +sequence.serif.windows-31j=alphabetic,japanese,dingbats,symbol +sequence.sansserif.windows-31j=alphabetic,japanese,dingbats,symbol +sequence.monospaced.windows-31j=japanese,alphabetic,dingbats,symbol +sequence.dialog.windows-31j=alphabetic,japanese,dingbats,symbol +sequence.dialoginput.windows-31j=alphabetic,japanese,dingbats,symbol + +sequence.serif.x-windows-949=alphabetic,korean,dingbats,symbol +sequence.sansserif.x-windows-949=alphabetic,korean,dingbats,symbol +sequence.monospaced.x-windows-949=korean,alphabetic,dingbats,symbol +sequence.dialog.x-windows-949=alphabetic,korean,dingbats,symbol +sequence.dialoginput.x-windows-949=alphabetic,korean,dingbats,symbol + +sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol + +sequence.fallback=symbols,\ + chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\ + japanese,korean,chinese-ms950-extb,chinese-ms936-extb,\ + georgian,devanagari,bengali,gujarati,gurmukhi,kannada,\ + malayalam,oriya,sinhala,tamil,telugu,thai,khmer,mongolian,\ + myanmar + +# Exclusion Ranges + +exclusion.alphabetic=0700-1cff,1d80-1e9f,1f00-2017,2020-20ab,20ad-20b8,20bb-20bc,20be-f8ff +exclusion.chinese-gb18030=0390-03d6,2200-22ef,2701-27be +exclusion.hebrew=0041-005a,0060-007a,007f-00ff,20ac-20ac + +# Monospaced to Proportional width variant mapping +# (Experimental private syntax) +proportional.MS_Gothic=MS PGothic +proportional.MS_Mincho=MS PMincho +proportional.MingLiU=PMingLiU +proportional.MingLiU-ExtB=PMingLiU-ExtB + +# Font File Names + +filename.Arial=ARIAL.TTF +filename.Arial_Bold=ARIALBD.TTF +filename.Arial_Italic=ARIALI.TTF +filename.Arial_Bold_Italic=ARIALBI.TTF + +filename.Courier_New=COUR.TTF +filename.Courier_New_Bold=COURBD.TTF +filename.Courier_New_Italic=COURI.TTF +filename.Courier_New_Bold_Italic=COURBI.TTF + +filename.Times_New_Roman=TIMES.TTF +filename.Times_New_Roman_Bold=TIMESBD.TTF +filename.Times_New_Roman_Italic=TIMESI.TTF +filename.Times_New_Roman_Bold_Italic=TIMESBI.TTF + +filename.SimSun=SIMSUN.TTC +filename.SimSun-18030=SIMSUN18030.TTC +filename.SimSun-ExtB=SIMSUNB.TTF + +filename.MingLiU=MINGLIU.TTC +filename.MingLiU-ExtB=MINGLIUB.TTC +filename.PMingLiU=MINGLIU.TTC +filename.PMingLiU-ExtB=MINGLIUB.TTC +filename.MingLiU_HKSCS=hkscsm3u.ttf + +filename.David=DAVID.TTF +filename.David_Bold=DAVIDBD.TTF + +filename.MS_Mincho=MSMINCHO.TTC +filename.MS_PMincho=MSMINCHO.TTC +filename.MS_Gothic=MSGOTHIC.TTC +filename.MS_PGothic=MSGOTHIC.TTC + +filename.Gulim=gulim.TTC +filename.Batang=batang.TTC +filename.GulimChe=gulim.TTC + +filename.Gautami=gautami.ttf +filename.Iskoola_Pota=iskpota.ttf +filename.Kalinga=kalinga.ttf +filename.Kartika=kartika.ttf +filename.Latha=latha.ttf +filename.Mangal=MANGAL.TTF +filename.Raavi=raavi.ttf +filename.Shruti=shruti.ttf +filename.Tunga=TUNGA.TTF +filename.Vrinda=vrinda.ttf +filename.DokChampa=dokchamp.ttf +filename.Khmer_UI=KhmerUI.ttf +filename.Mongolian_Baiti=monbaiti.ttf +filename.Myanmar_Text=mmrtext.ttf +filename.Symbol=SYMBOL.TTF +filename.Wingdings=WINGDING.TTF + +filename.Sylfaen=sylfaen.ttf +filename.Segoe_UI_Symbol=SEGUISYM.TTF diff --git a/resources/java/jdk/lib/jawt.lib b/resources/java/jdk/lib/jawt.lib new file mode 100644 index 0000000..ec01461 Binary files /dev/null and b/resources/java/jdk/lib/jawt.lib differ diff --git a/resources/java/jdk/lib/jfr/default.jfc b/resources/java/jdk/lib/jfr/default.jfc new file mode 100644 index 0000000..1b327d4 --- /dev/null +++ b/resources/java/jdk/lib/jfr/default.jfc @@ -0,0 +1,1060 @@ + + + + + + + true + everyChunk + + + + true + 1000 ms + + + + true + everyChunk + + + + true + 1000 ms + + + + true + 10 s + + + + true + 10 s + + + + true + 10 s + + + + true + 10 s + + + + true + 10 s + + + + true + true + + + + true + + + + true + true + 20 ms + + + + true + true + 20 ms + + + + true + true + 20 ms + + + + true + true + 20 ms + + + + false + true + 20 ms + + + + true + true + + + + true + true + 0 ms + + + + true + true + 0 ms + + + + true + true + 0 ms + + + + true + true + + + + false + true + 0 ms + + + + false + true + + + + true + true + 0 ms + + + + true + true + 0 ms + + + + true + + + + false + + + + true + beginChunk + + + + true + beginChunk + + + + true + 20 ms + + + + true + 20 ms + + + + true + 10 ms + + + + false + 10 ms + + + + false + 10 ms + + + + false + 10 ms + + + + false + 10 ms + + + + true + 10 ms + + + + true + true + + + + true + everyChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + false + everyChunk + + + + true + everyChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + false + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + true + + + + true + true + + + + true + + + + true + 0 ms + + + + true + 0 ms + true + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + 0 ms + + + + true + + + + true + + + + false + + + + false + + + + true + + + + false + true + + + + true + + + + false + everyChunk + + + + false + + + + false + everyChunk + + + + false + + + + true + false + 0 ns + + + + true + beginChunk + + + + true + 1000 ms + + + + true + 1000 ms + + + + true + 60 s + + + + false + + + + false + + + + true + beginChunk + + + + true + everyChunk + + + + true + 100 ms + + + + true + beginChunk + + + + true + everyChunk + + + + true + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + 30 s + + + + true + 30 s + + + + true + 30 s + + + + true + 30 s + + + + true + beginChunk + + + + true + 10 s + + + + true + 1000 ms + + + + true + 10 s + + + + true + beginChunk + + + + true + endChunk + + + + true + true + + + + true + 5 s + + + + true + beginChunk + + + + true + everyChunk + + + + false + true + + + + false + true + + + + true + 150/s + true + + + + true + everyChunk + + + + true + endChunk + + + + true + endChunk + + + + true + true + 20 ms + + + + true + true + 20 ms + + + + true + true + 20 ms + + + + true + true + 20 ms + + + + true + true + 20 ms + + + + false + true + + + + true + beginChunk + + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + + true + true + + + + true + 1000 ms + + + + true + + + + true + + + + false + 0 ns + + + + true + + + + true + + + + true + 0 ms + + + + true + true + 1 ms + + + + true + 0 ms + + + + true + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + false + + + + true + 0 ns + true + + + + true + 5 s + + + + true + 1 s + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 ms + + 20 ms + + 20 ms + + false + + + + diff --git a/resources/java/jdk/lib/jfr/profile.jfc b/resources/java/jdk/lib/jfr/profile.jfc new file mode 100644 index 0000000..e6db463 --- /dev/null +++ b/resources/java/jdk/lib/jfr/profile.jfc @@ -0,0 +1,1060 @@ + + + + + + + true + everyChunk + + + + true + 1000 ms + + + + true + everyChunk + + + + true + 1000 ms + + + + true + 10 s + + + + true + 10 s + + + + true + 10 s + + + + true + 10 s + + + + true + 10 s + + + + true + true + + + + true + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + true + true + + + + true + true + 0 ms + + + + true + true + 0 ms + + + + true + true + 0 ms + + + + true + true + + + + false + true + 0 ms + + + + false + true + + + + true + true + 0 ms + + + + true + true + 0 ms + + + + true + + + + false + + + + true + beginChunk + + + + true + beginChunk + + + + true + 10 ms + + + + true + 20 ms + + + + true + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + true + 0 ms + + + + true + true + + + + true + 60 s + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + false + everyChunk + + + + true + everyChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + false + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + true + + + + true + true + + + + true + + + + true + 0 ms + + + + true + 0 ms + true + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + + + + true + 0 ms + + + + true + + + + true + + + + true + + + + true + + + + true + + + + false + true + + + + true + + + + false + everyChunk + + + + false + + + + false + everyChunk + + + + false + + + + true + true + 0 ns + + + + true + beginChunk + + + + true + 1000 ms + + + + true + 100 ms + + + + true + 10 s + + + + true + + + + false + + + + true + beginChunk + + + + true + everyChunk + + + + true + 100 ms + + + + true + beginChunk + + + + true + everyChunk + + + + true + + + + true + beginChunk + + + + true + beginChunk + + + + true + beginChunk + + + + true + 30 s + + + + true + 30 s + + + + true + 30 s + + + + true + 30 s + + + + true + beginChunk + + + + true + 10 s + + + + true + 1000 ms + + + + true + 10 s + + + + true + beginChunk + + + + true + endChunk + + + + true + true + + + + true + 5 s + + + + true + beginChunk + + + + true + everyChunk + + + + false + true + + + + false + true + + + + true + 300/s + true + + + + true + everyChunk + + + + true + endChunk + + + + true + endChunk + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + true + true + 10 ms + + + + false + true + + + + true + beginChunk + + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + + false + true + + + + true + true + + + + true + 1000 ms + + + + true + + + + true + + + + false + 0 ns + + + + true + + + + true + + + + true + 0 ms + + + + true + true + 1 ms + + + + true + 0 ms + + + + true + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + false + 0 ms + + + + true + 0 ms + + + + true + 0 ms + + + + true + true + + + + true + 0 ns + true + + + + true + 5 s + + + + true + 100 ms + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 ms + + 10 ms + + 10 ms + + false + + + + diff --git a/resources/java/jdk/lib/jrt-fs.jar b/resources/java/jdk/lib/jrt-fs.jar new file mode 100644 index 0000000..682416e Binary files /dev/null and b/resources/java/jdk/lib/jrt-fs.jar differ diff --git a/resources/java/jdk/lib/jvm.cfg b/resources/java/jdk/lib/jvm.cfg new file mode 100644 index 0000000..97225c8 --- /dev/null +++ b/resources/java/jdk/lib/jvm.cfg @@ -0,0 +1,2 @@ +-server KNOWN +-client IGNORE diff --git a/resources/java/jdk/lib/jvm.lib b/resources/java/jdk/lib/jvm.lib new file mode 100644 index 0000000..ff1782c Binary files /dev/null and b/resources/java/jdk/lib/jvm.lib differ diff --git a/resources/java/jdk/lib/modules b/resources/java/jdk/lib/modules new file mode 100644 index 0000000..df793c5 Binary files /dev/null and b/resources/java/jdk/lib/modules differ diff --git a/resources/java/jdk/lib/psfont.properties.ja b/resources/java/jdk/lib/psfont.properties.ja new file mode 100644 index 0000000..98a895f --- /dev/null +++ b/resources/java/jdk/lib/psfont.properties.ja @@ -0,0 +1,119 @@ +# +# +# Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# +# Japanese PostScript printer property file +# +font.num=16 +# +serif=serif +timesroman=serif +sansserif=sansserif +helvetica=sansserif +monospaced=monospaced +courier=monospaced +dialog=sansserif +dialoginput=monospaced +# +serif.latin1.plain=Times-Roman +serif.latin1.italic=Times-Italic +serif.latin1.bolditalic=Times-BoldItalic +serif.latin1.bold=Times-Bold +# +sansserif.latin1.plain=Helvetica +sansserif.latin1.italic=Helvetica-Oblique +sansserif.latin1.bolditalic=Helvetica-BoldOblique +sansserif.latin1.bold=Helvetica-Bold +# +monospaced.latin1.plain=Courier +monospaced.latin1.italic=Courier-Oblique +monospaced.latin1.bolditalic=Courier-BoldOblique +monospaced.latin1.bold=Courier-Bold +# +serif.x11jis0208.plain=Ryumin-Light-H +serif.x11jis0208.italic=Ryumin-Light-H +serif.x11jis0208.bolditalic=Ryumin-Light-H +serif.x11jis0208.bold=Ryumin-Light-H +# +sansserif.x11jis0208.plain=GothicBBB-Medium-H +sansserif.x11jis0208.italic=GothicBBB-Medium-H +sansserif.x11jis0208.bolditalic=GothicBBB-Medium-H +sansserif.x11jis0208.bold=GothicBBB-Medium-H +# +monospaced.x11jis0208.plain=GothicBBB-Medium-H +monospaced.x11jis0208.italic=GothicBBB-Medium-H +monospaced.x11jis0208.bolditalic=GothicBBB-Medium-H +monospaced.x11jis0208.bold=GothicBBB-Medium-H +# +serif.x11jis0201.plain=Ryumin-Light.Hankaku +serif.x11jis0201.italic=Ryumin-Light.Hankaku +serif.x11jis0201.bolditalic=Ryumin-Light.Hankaku +serif.x11jis0201.bold=Ryumin-Light.Hankaku +# +sansserif.x11jis0201.plain=GothicBBB-Medium.Hankaku +sansserif.x11jis0201.italic=GothicBBB-Medium.Hankaku +sansserif.x11jis0201.bolditalic=GothicBBB-Medium.Hankaku +sansserif.x11jis0201.bold=GothicBBB-Medium.Hankaku +# +monospaced.x11jis0201.plain=GothicBBB-Medium.Hankaku +monospaced.x11jis0201.italic=GothicBBB-Medium.Hankaku +monospaced.x11jis0201.bolditalic=GothicBBB-Medium.Hankaku +monospaced.x11jis0201.bold=GothicBBB-Medium.Hankaku +# +Helvetica=0 +Helvetica-Bold=1 +Helvetica-Oblique=2 +Helvetica-BoldOblique=3 +Times-Roman=4 +Times-Bold=5 +Times-Italic=6 +Times-BoldItalic=7 +Courier=8 +Courier-Bold=9 +Courier-Oblique=10 +Courier-BoldOblique=11 +GothicBBB-Medium-H=12 +Ryumin-Light-H=13 +GothicBBB-Medium.Hankaku=14 +Ryumin-Light.Hankaku=15 +# +font.0=Helvetica ISOF +font.1=Helvetica-Bold ISOF +font.2=Helvetica-Oblique ISOF +font.3=Helvetica-BoldOblique ISOF +font.4=Times-Roman ISOF +font.5=Times-Bold ISOF +font.6=Times-Italic ISOF +font.7=Times-BoldItalic ISOF +font.8=Courier ISOF +font.9=Courier-Bold ISOF +font.10=Courier-Oblique ISOF +font.11=Courier-BoldOblique ISOF +font.12=GothicBBB-Medium-H findfont +font.13=Ryumin-Light-H findfont +font.14=GothicBBB-Medium.Hankaku findfont +font.15=Ryumin-Light.Hankaku findfont +# diff --git a/resources/java/jdk/lib/psfontj2d.properties b/resources/java/jdk/lib/psfontj2d.properties new file mode 100644 index 0000000..085f57b --- /dev/null +++ b/resources/java/jdk/lib/psfontj2d.properties @@ -0,0 +1,323 @@ +# +# +# Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# +# PostScript printer property file for Java 2D printing. +# +# WARNING: This is an internal implementation file, not a public file. +# Any customisation or reliance on the existence of this file and its +# contents or syntax is discouraged and unsupported. +# It may be incompatibly changed or removed without any notice. +# +# +font.num=35 +# +# Legacy logical font family names and logical font aliases should all +# map to the primary logical font names. +# +serif=serif +times=serif +timesroman=serif +sansserif=sansserif +helvetica=sansserif +dialog=sansserif +dialoginput=monospaced +monospaced=monospaced +courier=monospaced +# +# Next, physical fonts which can be safely mapped to standard postscript fonts +# These keys generally map to a value which is the same as the key, so +# the key/value is just a way to say the font has a mapping. +# Sometimes however we map more than one screen font to the same PS font. +# +avantgarde=avantgarde_book +avantgarde_book=avantgarde_book +avantgarde_demi=avantgarde_demi +avantgarde_book_oblique=avantgarde_book_oblique +avantgarde_demi_oblique=avantgarde_demi_oblique +# +itcavantgarde=avantgarde_book +itcavantgarde=avantgarde_book +itcavantgarde_demi=avantgarde_demi +itcavantgarde_oblique=avantgarde_book_oblique +itcavantgarde_demi_oblique=avantgarde_demi_oblique +# +bookman=bookman_light +bookman_light=bookman_light +bookman_demi=bookman_demi +bookman_light_italic=bookman_light_italic +bookman_demi_italic=bookman_demi_italic +# +# Exclude "helvetica" on its own as that's a legacy name for a logical font +helvetica_bold=helvetica_bold +helvetica_oblique=helvetica_oblique +helvetica_bold_oblique=helvetica_bold_oblique +# +itcbookman_light=bookman_light +itcbookman_demi=bookman_demi +itcbookman_light_italic=bookman_light_italic +itcbookman_demi_italic=bookman_demi_italic +# +# Exclude "courier" on its own as that's a legacy name for a logical font +courier_bold=courier_bold +courier_oblique=courier_oblique +courier_bold_oblique=courier_bold_oblique +# +courier_new=courier +courier_new_bold=courier_bold +# +monotype_century_schoolbook=newcenturyschoolbook +monotype_century_schoolbook_bold=newcenturyschoolbook_bold +monotype_century_schoolbook_italic=newcenturyschoolbook_italic +monotype_century_schoolbook_bold_italic=newcenturyschoolbook_bold_italic +# +newcenturyschoolbook=newcenturyschoolbook +newcenturyschoolbook_bold=newcenturyschoolbook_bold +newcenturyschoolbook_italic=newcenturyschoolbook_italic +newcenturyschoolbook_bold_italic=newcenturyschoolbook_bold_italic +# +palatino=palatino +palatino_bold=palatino_bold +palatino_italic=palatino_italic +palatino_bold_italic=palatino_bold_italic +# +# Exclude "times" on its own as that's a legacy name for a logical font +times_bold=times_roman_bold +times_italic=times_roman_italic +times_bold_italic=times_roman_bold_italic +# +times_roman=times_roman +times_roman_bold=times_roman_bold +times_roman_italic=times_roman_italic +times_roman_bold_italic=times_roman_bold_italic +# +times_new_roman=times_roman +times_new_roman_bold=times_roman_bold +times_new_roman_italic=times_roman_italic +times_new_roman_bold_italic=times_roman_bold_italic +# +zapfchancery_italic=zapfchancery_italic +itczapfchancery_italic=zapfchancery_italic +# +# Next the mapping of the font name + charset + style to Postscript font name +# for the logical fonts. +# +serif.latin1.plain=Times-Roman +serif.latin1.bold=Times-Bold +serif.latin1.italic=Times-Italic +serif.latin1.bolditalic=Times-BoldItalic +serif.symbol.plain=Symbol +serif.dingbats.plain=ZapfDingbats +serif.symbol.bold=Symbol +serif.dingbats.bold=ZapfDingbats +serif.symbol.italic=Symbol +serif.dingbats.italic=ZapfDingbats +serif.symbol.bolditalic=Symbol +serif.dingbats.bolditalic=ZapfDingbats +# +sansserif.latin1.plain=Helvetica +sansserif.latin1.bold=Helvetica-Bold +sansserif.latin1.italic=Helvetica-Oblique +sansserif.latin1.bolditalic=Helvetica-BoldOblique +sansserif.symbol.plain=Symbol +sansserif.dingbats.plain=ZapfDingbats +sansserif.symbol.bold=Symbol +sansserif.dingbats.bold=ZapfDingbats +sansserif.symbol.italic=Symbol +sansserif.dingbats.italic=ZapfDingbats +sansserif.symbol.bolditalic=Symbol +sansserif.dingbats.bolditalic=ZapfDingbats +# +monospaced.latin1.plain=Courier +monospaced.latin1.bold=Courier-Bold +monospaced.latin1.italic=Courier-Oblique +monospaced.latin1.bolditalic=Courier-BoldOblique +monospaced.symbol.plain=Symbol +monospaced.dingbats.plain=ZapfDingbats +monospaced.symbol.bold=Symbol +monospaced.dingbats.bold=ZapfDingbats +monospaced.symbol.italic=Symbol +monospaced.dingbats.italic=ZapfDingbats +monospaced.symbol.bolditalic=Symbol +monospaced.dingbats.bolditalic=ZapfDingbats +# +# Next the mapping of the font name + charset + style to Postscript font name +# for the physical fonts. Since these always report style as plain, the +# style key is always plain. So we map using the face name to the correct +# style for the postscript font. This is possible since the face names can +# be replied upon to be different for each style. +# However an application may try to create a Font applying a style to an +# physical name. We want to map to the correct Postscript font there too +# if possible but we do not map cases where the application tries to +# augment a style (eg ask for a bold version of a bold font) +# Defer to the 2D package to attempt create an artificially styled version +# +avantgarde_book.latin1.plain=AvantGarde-Book +avantgarde_demi.latin1.plain=AvantGarde-Demi +avantgarde_book_oblique.latin1.plain=AvantGarde-BookOblique +avantgarde_demi_oblique.latin1.plain=AvantGarde-DemiOblique +# +avantgarde_book.latin1.bold=AvantGarde-Demi +avantgarde_book.latin1.italic=AvantGarde-BookOblique +avantgarde_book.latin1.bolditalic=AvantGarde-DemiOblique +avantgarde_demi.latin1.italic=AvantGarde-DemiOblique +avantgarde_book_oblique.latin1.bold=AvantGarde-DemiOblique +# +bookman_light.latin1.plain=Bookman-Light +bookman_demi.latin1.plain=Bookman-Demi +bookman_light_italic.latin1.plain=Bookman-LightItalic +bookman_demi_italic.latin1.plain=Bookman-DemiItalic +# +bookman_light.latin1.bold=Bookman-Demi +bookman_light.latin1.italic=Bookman-LightItalic +bookman_light.latin1.bolditalic=Bookman-DemiItalic +bookman_light_bold.latin1.italic=Bookman-DemiItalic +bookman_light_italic.latin1.bold=Bookman-DemiItalic +# +courier.latin1.plain=Courier +courier_bold.latin1.plain=Courier-Bold +courier_oblique.latin1.plain=Courier-Oblique +courier_bold_oblique.latin1.plain=Courier-BoldOblique +courier.latin1.bold=Courier-Bold +courier.latin1.italic=Courier-Oblique +courier.latin1.bolditalic=Courier-BoldOblique +courier_bold.latin1.italic=Courier-BoldOblique +courier_italic.latin1.bold=Courier-BoldOblique +# +helvetica_bold.latin1.plain=Helvetica-Bold +helvetica_oblique.latin1.plain=Helvetica-Oblique +helvetica_bold_oblique.latin1.plain=Helvetica-BoldOblique +helvetica.latin1.bold=Helvetica-Bold +helvetica.latin1.italic=Helvetica-Oblique +helvetica.latin1.bolditalic=Helvetica-BoldOblique +helvetica_bold.latin1.italic=Helvetica-BoldOblique +helvetica_italic.latin1.bold=Helvetica-BoldOblique +# +newcenturyschoolbook.latin1.plain=NewCenturySchlbk-Roman +newcenturyschoolbook_bold.latin1.plain=NewCenturySchlbk-Bold +newcenturyschoolbook_italic.latin1.plain=NewCenturySchlbk-Italic +newcenturyschoolbook_bold_italic.latin1.plain=NewCenturySchlbk-BoldItalic +newcenturyschoolbook.latin1.bold=NewCenturySchlbk-Bold +newcenturyschoolbook.latin1.italic=NewCenturySchlbk-Italic +newcenturyschoolbook.latin1.bolditalic=NewCenturySchlbk-BoldItalic +newcenturyschoolbook_bold.latin1.italic=NewCenturySchlbk-BoldItalic +newcenturyschoolbook_italic.latin1.bold=NewCenturySchlbk-BoldItalic +# +palatino.latin1.plain=Palatino-Roman +palatino_bold.latin1.plain=Palatino-Bold +palatino_italic.latin1.plain=Palatino-Italic +palatino_bold_italic.latin1.plain=Palatino-BoldItalic +palatino.latin1.bold=Palatino-Bold +palatino.latin1.italic=Palatino-Italic +palatino.latin1.bolditalic=Palatino-BoldItalic +palatino_bold.latin1.italic=Palatino-BoldItalic +palatino_italic.latin1.bold=Palatino-BoldItalic +# +times_roman.latin1.plain=Times-Roman +times_roman_bold.latin1.plain=Times-Bold +times_roman_italic.latin1.plain=Times-Italic +times_roman_bold_italic.latin1.plain=Times-BoldItalic +times_roman.latin1.bold=Times-Bold +times_roman.latin1.italic=Times-Italic +times_roman.latin1.bolditalic=Times-BoldItalic +times_roman_bold.latin1.italic=Times-BoldItalic +times_roman_italic.latin1.bold=Times-BoldItalic +# +zapfchancery_italic.latin1.plain=ZapfChancery-MediumItalic +# +# Finally the mappings of PS font names to indexes. +# +AvantGarde-Book=0 +AvantGarde-BookOblique=1 +AvantGarde-Demi=2 +AvantGarde-DemiOblique=3 +Bookman-Demi=4 +Bookman-DemiItalic=5 +Bookman-Light=6 +Bookman-LightItalic=7 +Courier=8 +Courier-Bold=9 +Courier-BoldOblique=10 +Courier-Oblique=11 +Helvetica=12 +Helvetica-Bold=13 +Helvetica-BoldOblique=14 +Helvetica-Narrow=15 +Helvetica-Narrow-Bold=16 +Helvetica-Narrow-BoldOblique=17 +Helvetica-Narrow-Oblique=18 +Helvetica-Oblique=19 +NewCenturySchlbk-Bold=20 +NewCenturySchlbk-BoldItalic=21 +NewCenturySchlbk-Italic=22 +NewCenturySchlbk-Roman=23 +Palatino-Bold=24 +Palatino-BoldItalic=25 +Palatino-Italic=26 +Palatino-Roman=27 +Symbol=28 +Times-Bold=29 +Times-BoldItalic=30 +Times-Italic=31 +Times-Roman=32 +ZapfDingbats=33 +ZapfChancery-MediumItalic=34 +# +font.0=AvantGarde-Book ISOF +font.1=AvantGarde-BookOblique ISOF +font.2=AvantGarde-Demi ISOF +font.3=AvantGarde-DemiOblique ISOF +font.4=Bookman-Demi ISOF +font.5=Bookman-DemiItalic ISOF +font.6=Bookman-Light ISOF +font.7=Bookman-LightItalic ISOF +font.8=Courier ISOF +font.9=Courier-Bold ISOF +font.10=Courier-BoldOblique ISOF +font.11=Courier-Oblique ISOF +font.12=Helvetica ISOF +font.13=Helvetica-Bold ISOF +font.14=Helvetica-BoldOblique ISOF +font.15=Helvetica-Narrow ISOF +font.16=Helvetica-Narrow-Bold ISOF +font.17=Helvetica-Narrow-BoldOblique ISOF +font.18=Helvetica-Narrow-Oblique ISOF +font.19=Helvetica-Oblique ISOF +font.20=NewCenturySchlbk-Bold ISOF +font.21=NewCenturySchlbk-BoldItalic ISOF +font.22=NewCenturySchlbk-Italic ISOF +font.23=NewCenturySchlbk-Roman ISOF +font.24=Palatino-Bold ISOF +font.25=Palatino-BoldItalic ISOF +font.26=Palatino-Italic ISOF +font.27=Palatino-Roman ISOF +font.28=Symbol findfont +font.29=Times-Bold ISOF +font.30=Times-BoldItalic ISOF +font.31=Times-Italic ISOF +font.32=Times-Roman ISOF +font.33=ZapfDingbats findfont +font.34=ZapfChancery-MediumItalic ISOF +# diff --git a/resources/java/jdk/lib/security/blocked.certs b/resources/java/jdk/lib/security/blocked.certs new file mode 100644 index 0000000..beded9e --- /dev/null +++ b/resources/java/jdk/lib/security/blocked.certs @@ -0,0 +1,39 @@ +Algorithm=SHA-256 +03DB9E5E79FE6117177F81C11595AF598CB176AF766290DBCEB2C318B32E39A2 +08C396C006A21055D00826A5781A5CCFCE2C8D053AB3C197637A4A7A5BB9A650 +14E6D2764A4B06701C6CBC376A253775F79C782FBCB6C0EE6F99DE4BA1024ADD +1C5E6985ACC09221DBD1A4B7BBC6D3A8C3F8540D19F20763A9537FDD42B4FFE7 +1F6BF8A3F2399AF7FD04516C2719C566CBAD51F412738F66D0457E1E6BDE6F2D +2A464E4113141352C7962FBD1706ED4B88533EF24D7BBA6CCC5D797FD202F1C4 +31C8FD37DB9B56E708B03D1F01848B068C6DA66F36FB5D82C008C6040FA3E133 +3946901F46B0071E90D78279E82FABABCA177231A704BE72C5B0E8918566EA66 +3E11CF90719F6FB44D94EAC9A156B89BEBE7B8598F28EC58913F2BFCAF91D0C0 +423279423B9FC8CB06F1BB7C3B247522B948D5F18939F378ECC901126DE40BFB +450F1B421BB05C8609854884559C323319619E8B06B001EA2DCBB74A23AA3BE2 +4CBBF8256BC9888A8007B2F386940A2E394378B0D903CBB3863C5A6394B889CE +4FEE0163686ECBD65DB968E7494F55D84B25486D438E9DE558D629D28CD4D176 +535D04DFCE027C70BD5F8A9E0AD4F218E9AFDCF5BBCF9B6DE0D81E148E2E3172 +568FAF38D9F155F624838E2181B1CEB4D8459305EE652B0F810C97C3611BFE19 +585CFE6B7436CBD4E732763A2137D7F49599BA9B1790E688FCEC799C58EB84A6 +5E83124D68D24E8E177E306DF643D5EA99C5A94D6FC34B072F7544A1CABB7C7B +71CB00749B9130FB2707A2664BFF958D0FCC8E161D9674C7450BA0FC2BEAF9D3 +76A45A496031E4DD2D7ED23E8F6FF97DBDEA980BAAC8B0BA94D7EDB551348645 +8A1BD21661C60015065212CC98B1ABB50DFD14C872A208E66BAE890F25C448AF +9ED8F9B0E8E42A1656B8E1DD18F42BA42DC06FE52686173BA2FC70E756F207DC +9FADCE80D62A959F9930D748488C1E22E821F4E1E4A43584B848C2FC11E04D77 +A686FEE577C88AB664D0787ECDFFF035F4806F3DE418DC9E4D516324FFF02083 +A90132CEA1D4F7185E4F688EFFD16F6AC14DFD78356A807599A5DABBEEF3333E +B8686723E415534BC0DBD16326F9486F85B0B0799BF6639334E61DAAE67F36CD +C0D1F42B9F4BF7ACC045B7BB5D4805E10737F67B6310CE505248D543D0D5FE07 +D0156949F1381943442C6974E9B5B49EF441BB799EF20477B90A89C3F33620CE +D151962D954970501C60079258EBCFA38502E0A9F03CD640322B08C0A3117FE5 +D24566BF315F4E597D6E381C87119FB4198F5E9E2607F5F4AB362EF7E2E7672F +D3A936E1A7775A45217C8296A1F22AC5631DCDEC45594099E78EEEBBEDCBA967 +D6CEAE5D9E047FAF7D797858D229AC991AD44316D1E2A37A21926D763153593A +DF21016B00FC54F9FE3BC8B039911BB216E9162FAD2FD14D990AB96E951B49BE +E0E740E4B0F8B3548181FF75B5372FAF4C70B99EC995D694ED0FB91B03FF8D21 +EC30C9C3065A06BB07DC5B1C6B497F370C1CA65C0F30C08E042BA6BCECC78F2C +F5B6F88F75D391A4B1EB336F9E201239FB6B1377DB8CFA7B84736216E5AFFFD7 +FBB12938ABD86C125796EDF4162D291028890A7D6C0C1CCA75FD4B95EBFA7A1A +FC02FD48DB92D4DCE6F11679D38354CF750CFC7F584A520EB90BDE80E241F2BD +FDEDB5BDFCB67411513A61AEE5CB5B5D7C52AF06028EFC996CC1B05B1D6CEA2B diff --git a/resources/java/jdk/lib/security/cacerts b/resources/java/jdk/lib/security/cacerts new file mode 100644 index 0000000..cb093ae Binary files /dev/null and b/resources/java/jdk/lib/security/cacerts differ diff --git a/resources/java/jdk/lib/security/default.policy b/resources/java/jdk/lib/security/default.policy new file mode 100644 index 0000000..f951390 --- /dev/null +++ b/resources/java/jdk/lib/security/default.policy @@ -0,0 +1,242 @@ +// +// Permissions required by modules stored in a run-time image and loaded +// by the platform class loader. +// +// NOTE that this file is not intended to be modified. If additional +// permissions need to be granted to the modules in this file, it is +// recommended that they be configured in a separate policy file or +// ${java.home}/conf/security/java.policy. +// + + +grant codeBase "jrt:/java.compiler" { + permission java.security.AllPermission; +}; + + +grant codeBase "jrt:/java.net.http" { + permission java.lang.RuntimePermission "accessClassInPackage.sun.net"; + permission java.lang.RuntimePermission "accessClassInPackage.sun.net.util"; + permission java.lang.RuntimePermission "accessClassInPackage.sun.net.www"; + permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.misc"; + permission java.lang.RuntimePermission "modifyThread"; + permission java.net.SocketPermission "*","connect,resolve"; + permission java.net.URLPermission "http:*","*:*"; + permission java.net.URLPermission "https:*","*:*"; + permission java.net.URLPermission "ws:*","*:*"; + permission java.net.URLPermission "wss:*","*:*"; + permission java.net.URLPermission "socket:*","CONNECT"; // proxy + // For request/response body processors, fromFile, asFile + permission java.io.FilePermission "<>","read,write,delete"; + permission java.util.PropertyPermission "*","read"; + permission java.net.NetPermission "getProxySelector"; +}; + +grant codeBase "jrt:/java.scripting" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/java.security.jgss" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/java.smartcardio" { + permission javax.smartcardio.CardPermission "*", "*"; + permission java.lang.RuntimePermission "loadLibrary.j2pcsc"; + permission java.lang.RuntimePermission + "accessClassInPackage.sun.security.jca"; + permission java.lang.RuntimePermission + "accessClassInPackage.sun.security.util"; + permission java.util.PropertyPermission + "javax.smartcardio.TerminalFactory.DefaultType", "read"; + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "os.arch", "read"; + permission java.util.PropertyPermission "sun.arch.data.model", "read"; + permission java.util.PropertyPermission + "sun.security.smartcardio.library", "read"; + permission java.util.PropertyPermission + "sun.security.smartcardio.t0GetResponse", "read"; + permission java.util.PropertyPermission + "sun.security.smartcardio.t1GetResponse", "read"; + permission java.util.PropertyPermission + "sun.security.smartcardio.t1StripLe", "read"; + // needed for looking up native PC/SC library + permission java.io.FilePermission "<>","read"; + permission java.security.SecurityPermission "putProviderProperty.SunPCSC"; + permission java.security.SecurityPermission + "clearProviderProperties.SunPCSC"; + permission java.security.SecurityPermission + "removeProviderProperty.SunPCSC"; +}; + +grant codeBase "jrt:/java.sql" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/java.sql.rowset" { + permission java.security.AllPermission; +}; + + +grant codeBase "jrt:/java.xml.crypto" { + permission java.lang.RuntimePermission + "getStackWalkerWithClassReference"; + permission java.lang.RuntimePermission + "accessClassInPackage.sun.security.util"; + permission java.util.PropertyPermission "*", "read"; + permission java.security.SecurityPermission "putProviderProperty.XMLDSig"; + permission java.security.SecurityPermission + "clearProviderProperties.XMLDSig"; + permission java.security.SecurityPermission + "removeProviderProperty.XMLDSig"; + permission java.security.SecurityPermission + "com.sun.org.apache.xml.internal.security.register"; + permission java.security.SecurityPermission + "getProperty.jdk.xml.dsig.secureValidationPolicy"; + permission java.lang.RuntimePermission + "accessClassInPackage.com.sun.org.apache.xml.internal.*"; + permission java.lang.RuntimePermission + "accessClassInPackage.com.sun.org.apache.xpath.internal"; + permission java.lang.RuntimePermission + "accessClassInPackage.com.sun.org.apache.xpath.internal.*"; + permission java.io.FilePermission "<>","read"; + permission java.net.SocketPermission "*", "connect,resolve"; +}; + + +grant codeBase "jrt:/jdk.accessibility" { + permission java.lang.RuntimePermission "accessClassInPackage.sun.awt"; +}; + +grant codeBase "jrt:/jdk.charsets" { + permission java.util.PropertyPermission "os.name", "read"; + permission java.lang.RuntimePermission "charsetProvider"; + permission java.lang.RuntimePermission + "accessClassInPackage.jdk.internal.access"; + permission java.lang.RuntimePermission + "accessClassInPackage.jdk.internal.misc"; + permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.cs"; +}; + +grant codeBase "jrt:/jdk.crypto.ec" { + permission java.lang.RuntimePermission + "accessClassInPackage.sun.security.*"; + permission java.lang.RuntimePermission "loadLibrary.sunec"; + permission java.security.SecurityPermission "putProviderProperty.SunEC"; + permission java.security.SecurityPermission "clearProviderProperties.SunEC"; + permission java.security.SecurityPermission "removeProviderProperty.SunEC"; +}; + +grant codeBase "jrt:/jdk.crypto.cryptoki" { + permission java.lang.RuntimePermission + "accessClassInPackage.com.sun.crypto.provider"; + permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.misc"; + permission java.lang.RuntimePermission + "accessClassInPackage.sun.security.*"; + permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.ch"; + permission java.lang.RuntimePermission "loadLibrary.j2pkcs11"; + permission java.util.PropertyPermission "sun.security.pkcs11.allowSingleThreadedModules", "read"; + permission java.util.PropertyPermission "sun.security.pkcs11.disableKeyExtraction", "read"; + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "os.arch", "read"; + permission java.util.PropertyPermission "jdk.crypto.KeyAgreement.legacyKDF", "read"; + permission java.security.SecurityPermission "putProviderProperty.*"; + permission java.security.SecurityPermission "clearProviderProperties.*"; + permission java.security.SecurityPermission "removeProviderProperty.*"; + permission java.security.SecurityPermission + "getProperty.auth.login.defaultCallbackHandler"; + permission java.security.SecurityPermission "authProvider.*"; + // Needed for reading PKCS11 config file and NSS library check + permission java.io.FilePermission "<>", "read"; +}; + +grant codeBase "jrt:/jdk.dynalink" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.httpserver" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.internal.le" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.internal.vm.compiler" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.internal.vm.compiler.management" { + permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.vm.compiler.collections"; + permission java.lang.RuntimePermission "accessClassInPackage.jdk.vm.ci.runtime"; + permission java.lang.RuntimePermission "accessClassInPackage.jdk.vm.ci.services"; + permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.core.common"; + permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.debug"; + permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.hotspot"; + permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.options"; + permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.phases.common.jmx"; + permission java.lang.RuntimePermission "accessClassInPackage.org.graalvm.compiler.serviceprovider"; +}; + +grant codeBase "jrt:/jdk.jsobject" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.localedata" { + permission java.lang.RuntimePermission "accessClassInPackage.sun.text.*"; + permission java.lang.RuntimePermission "accessClassInPackage.sun.util.*"; +}; + +grant codeBase "jrt:/jdk.naming.dns" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.scripting.nashorn" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.scripting.nashorn.shell" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.security.auth" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.security.jgss" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.zipfs" { + permission java.io.FilePermission "<>", "read,write,delete"; + permission java.lang.RuntimePermission "fileSystemProvider"; + permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.fs"; + permission java.lang.RuntimePermission "accessUserInformation"; + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "user.dir", "read"; + permission java.util.PropertyPermission "user.name", "read"; +}; + +// permissions needed by applications using java.desktop module +grant { + permission java.lang.RuntimePermission "accessClassInPackage.com.sun.beans"; + permission java.lang.RuntimePermission "accessClassInPackage.com.sun.beans.*"; + permission java.lang.RuntimePermission "accessClassInPackage.com.sun.java.swing.plaf.*"; + permission java.lang.RuntimePermission "accessClassInPackage.com.apple.*"; +}; +grant codeBase "jrt:/jdk.accessibility" { + permission java.security.AllPermission; +}; + +grant codeBase "jrt:/jdk.crypto.mscapi" { + permission java.lang.RuntimePermission + "accessClassInPackage.sun.security.*"; + permission java.lang.RuntimePermission "loadLibrary.sunmscapi"; + permission java.security.SecurityPermission "putProviderProperty.SunMSCAPI"; + permission java.security.SecurityPermission + "clearProviderProperties.SunMSCAPI"; + permission java.security.SecurityPermission + "removeProviderProperty.SunMSCAPI"; + permission java.security.SecurityPermission "authProvider.SunMSCAPI"; + permission java.util.PropertyPermission "*", "read"; +}; diff --git a/resources/java/jdk/lib/security/public_suffix_list.dat b/resources/java/jdk/lib/security/public_suffix_list.dat new file mode 100644 index 0000000..06a3a69 Binary files /dev/null and b/resources/java/jdk/lib/security/public_suffix_list.dat differ diff --git a/resources/java/jdk/lib/tzdb.dat b/resources/java/jdk/lib/tzdb.dat new file mode 100644 index 0000000..84a5550 Binary files /dev/null and b/resources/java/jdk/lib/tzdb.dat differ diff --git a/resources/java/jdk/lib/tzmappings b/resources/java/jdk/lib/tzmappings new file mode 100644 index 0000000..a40a1bf --- /dev/null +++ b/resources/java/jdk/lib/tzmappings @@ -0,0 +1,505 @@ +AUS Central Standard Time:AU:Australia/Darwin: +AUS Central Standard Time:001:Australia/Darwin: +AUS Eastern Standard Time:AU:Australia/Sydney: +AUS Eastern Standard Time:001:Australia/Sydney: +Afghanistan Standard Time:AF:Asia/Kabul: +Afghanistan Standard Time:001:Asia/Kabul: +Alaskan Standard Time:US:America/Anchorage: +Alaskan Standard Time:001:America/Anchorage: +Aleutian Standard Time:US:America/Adak: +Aleutian Standard Time:001:America/Adak: +Altai Standard Time:RU:Asia/Barnaul: +Altai Standard Time:001:Asia/Barnaul: +Arab Standard Time:BH:Asia/Bahrain: +Arab Standard Time:KW:Asia/Kuwait: +Arab Standard Time:QA:Asia/Qatar: +Arab Standard Time:SA:Asia/Riyadh: +Arab Standard Time:YE:Asia/Aden: +Arab Standard Time:001:Asia/Riyadh: +Arabian Standard Time:AE:Asia/Dubai: +Arabian Standard Time:OM:Asia/Muscat: +Arabian Standard Time:ZZ:Etc/GMT-4: +Arabian Standard Time:001:Asia/Dubai: +Arabic Standard Time:IQ:Asia/Baghdad: +Arabic Standard Time:001:Asia/Baghdad: +Argentina Standard Time:AR:America/Buenos_Aires: +Argentina Standard Time:001:America/Buenos_Aires: +Astrakhan Standard Time:RU:Europe/Astrakhan: +Astrakhan Standard Time:001:Europe/Astrakhan: +Atlantic Standard Time:BM:Atlantic/Bermuda: +Atlantic Standard Time:CA:America/Halifax: +Atlantic Standard Time:GL:America/Thule: +Atlantic Standard Time:001:America/Halifax: +Aus Central W. Standard Time:AU:Australia/Eucla: +Aus Central W. Standard Time:001:Australia/Eucla: +Azerbaijan Standard Time:AZ:Asia/Baku: +Azerbaijan Standard Time:001:Asia/Baku: +Azores Standard Time:GL:America/Scoresbysund: +Azores Standard Time:PT:Atlantic/Azores: +Azores Standard Time:001:Atlantic/Azores: +Bahia Standard Time:BR:America/Bahia: +Bahia Standard Time:001:America/Bahia: +Bangladesh Standard Time:BD:Asia/Dhaka: +Bangladesh Standard Time:BT:Asia/Thimphu: +Bangladesh Standard Time:001:Asia/Dhaka: +Belarus Standard Time:BY:Europe/Minsk: +Belarus Standard Time:001:Europe/Minsk: +Bougainville Standard Time:PG:Pacific/Bougainville: +Bougainville Standard Time:001:Pacific/Bougainville: +Canada Central Standard Time:CA:America/Regina: +Canada Central Standard Time:001:America/Regina: +Cape Verde Standard Time:CV:Atlantic/Cape_Verde: +Cape Verde Standard Time:ZZ:Etc/GMT+1: +Cape Verde Standard Time:001:Atlantic/Cape_Verde: +Caucasus Standard Time:AM:Asia/Yerevan: +Caucasus Standard Time:001:Asia/Yerevan: +Cen. Australia Standard Time:AU:Australia/Adelaide: +Cen. Australia Standard Time:001:Australia/Adelaide: +Central America Standard Time:BZ:America/Belize: +Central America Standard Time:CR:America/Costa_Rica: +Central America Standard Time:EC:Pacific/Galapagos: +Central America Standard Time:GT:America/Guatemala: +Central America Standard Time:HN:America/Tegucigalpa: +Central America Standard Time:NI:America/Managua: +Central America Standard Time:SV:America/El_Salvador: +Central America Standard Time:ZZ:Etc/GMT+6: +Central America Standard Time:001:America/Guatemala: +Central Asia Standard Time:AQ:Antarctica/Vostok: +Central Asia Standard Time:CN:Asia/Urumqi: +Central Asia Standard Time:IO:Indian/Chagos: +Central Asia Standard Time:KG:Asia/Bishkek: +Central Asia Standard Time:KZ:Asia/Almaty: +Central Asia Standard Time:ZZ:Etc/GMT-6: +Central Asia Standard Time:001:Asia/Almaty: +Central Brazilian Standard Time:BR:America/Cuiaba: +Central Brazilian Standard Time:001:America/Cuiaba: +Central Europe Standard Time:AL:Europe/Tirane: +Central Europe Standard Time:CZ:Europe/Prague: +Central Europe Standard Time:HU:Europe/Budapest: +Central Europe Standard Time:ME:Europe/Podgorica: +Central Europe Standard Time:RS:Europe/Belgrade: +Central Europe Standard Time:SI:Europe/Ljubljana: +Central Europe Standard Time:SK:Europe/Bratislava: +Central Europe Standard Time:001:Europe/Budapest: +Central European Standard Time:BA:Europe/Sarajevo: +Central European Standard Time:HR:Europe/Zagreb: +Central European Standard Time:MK:Europe/Skopje: +Central European Standard Time:PL:Europe/Warsaw: +Central European Standard Time:001:Europe/Warsaw: +Central Pacific Standard Time:AQ:Antarctica/Casey: +Central Pacific Standard Time:FM:Pacific/Ponape: +Central Pacific Standard Time:NC:Pacific/Noumea: +Central Pacific Standard Time:SB:Pacific/Guadalcanal: +Central Pacific Standard Time:VU:Pacific/Efate: +Central Pacific Standard Time:ZZ:Etc/GMT-11: +Central Pacific Standard Time:001:Pacific/Guadalcanal: +Central Standard Time:CA:America/Winnipeg: +Central Standard Time:MX:America/Matamoros: +Central Standard Time:US:America/Chicago: +Central Standard Time:ZZ:CST6CDT: +Central Standard Time:001:America/Chicago: +Central Standard Time (Mexico):MX:America/Mexico_City: +Central Standard Time (Mexico):001:America/Mexico_City: +Chatham Islands Standard Time:NZ:Pacific/Chatham: +Chatham Islands Standard Time:001:Pacific/Chatham: +China Standard Time:CN:Asia/Shanghai: +China Standard Time:HK:Asia/Hong_Kong: +China Standard Time:MO:Asia/Macau: +China Standard Time:001:Asia/Shanghai: +Cuba Standard Time:CU:America/Havana: +Cuba Standard Time:001:America/Havana: +Dateline Standard Time:ZZ:Etc/GMT+12: +Dateline Standard Time:001:Etc/GMT+12: +E. Africa Standard Time:AQ:Antarctica/Syowa: +E. Africa Standard Time:DJ:Africa/Djibouti: +E. Africa Standard Time:ER:Africa/Asmera: +E. Africa Standard Time:ET:Africa/Addis_Ababa: +E. Africa Standard Time:KE:Africa/Nairobi: +E. Africa Standard Time:KM:Indian/Comoro: +E. Africa Standard Time:MG:Indian/Antananarivo: +E. Africa Standard Time:SO:Africa/Mogadishu: +E. Africa Standard Time:TZ:Africa/Dar_es_Salaam: +E. Africa Standard Time:UG:Africa/Kampala: +E. Africa Standard Time:YT:Indian/Mayotte: +E. Africa Standard Time:ZZ:Etc/GMT-3: +E. Africa Standard Time:001:Africa/Nairobi: +E. Australia Standard Time:AU:Australia/Brisbane: +E. Australia Standard Time:001:Australia/Brisbane: +E. Europe Standard Time:MD:Europe/Chisinau: +E. Europe Standard Time:001:Europe/Chisinau: +E. South America Standard Time:BR:America/Sao_Paulo: +E. South America Standard Time:001:America/Sao_Paulo: +Easter Island Standard Time:CL:Pacific/Easter: +Easter Island Standard Time:001:Pacific/Easter: +Eastern Standard Time:BS:America/Nassau: +Eastern Standard Time:CA:America/Toronto: +Eastern Standard Time:US:America/New_York: +Eastern Standard Time:ZZ:EST5EDT: +Eastern Standard Time:001:America/New_York: +Eastern Standard Time (Mexico):MX:America/Cancun: +Eastern Standard Time (Mexico):001:America/Cancun: +Egypt Standard Time:EG:Africa/Cairo: +Egypt Standard Time:001:Africa/Cairo: +Ekaterinburg Standard Time:RU:Asia/Yekaterinburg: +Ekaterinburg Standard Time:001:Asia/Yekaterinburg: +FLE Standard Time:AX:Europe/Mariehamn: +FLE Standard Time:BG:Europe/Sofia: +FLE Standard Time:EE:Europe/Tallinn: +FLE Standard Time:FI:Europe/Helsinki: +FLE Standard Time:LT:Europe/Vilnius: +FLE Standard Time:LV:Europe/Riga: +FLE Standard Time:UA:Europe/Kiev: +FLE Standard Time:001:Europe/Kiev: +Fiji Standard Time:FJ:Pacific/Fiji: +Fiji Standard Time:001:Pacific/Fiji: +GMT Standard Time:ES:Atlantic/Canary: +GMT Standard Time:FO:Atlantic/Faeroe: +GMT Standard Time:GB:Europe/London: +GMT Standard Time:GG:Europe/Guernsey: +GMT Standard Time:IE:Europe/Dublin: +GMT Standard Time:IM:Europe/Isle_of_Man: +GMT Standard Time:JE:Europe/Jersey: +GMT Standard Time:PT:Europe/Lisbon: +GMT Standard Time:001:Europe/London: +GTB Standard Time:CY:Asia/Nicosia: +GTB Standard Time:GR:Europe/Athens: +GTB Standard Time:RO:Europe/Bucharest: +GTB Standard Time:001:Europe/Bucharest: +Georgian Standard Time:GE:Asia/Tbilisi: +Georgian Standard Time:001:Asia/Tbilisi: +Greenland Standard Time:GL:America/Godthab: +Greenland Standard Time:001:America/Godthab: +Greenwich Standard Time:BF:Africa/Ouagadougou: +Greenwich Standard Time:CI:Africa/Abidjan: +Greenwich Standard Time:GH:Africa/Accra: +Greenwich Standard Time:GL:America/Danmarkshavn: +Greenwich Standard Time:GM:Africa/Banjul: +Greenwich Standard Time:GN:Africa/Conakry: +Greenwich Standard Time:GW:Africa/Bissau: +Greenwich Standard Time:IS:Atlantic/Reykjavik: +Greenwich Standard Time:LR:Africa/Monrovia: +Greenwich Standard Time:ML:Africa/Bamako: +Greenwich Standard Time:MR:Africa/Nouakchott: +Greenwich Standard Time:SH:Atlantic/St_Helena: +Greenwich Standard Time:SL:Africa/Freetown: +Greenwich Standard Time:SN:Africa/Dakar: +Greenwich Standard Time:TG:Africa/Lome: +Greenwich Standard Time:001:Atlantic/Reykjavik: +Haiti Standard Time:HT:America/Port-au-Prince: +Haiti Standard Time:001:America/Port-au-Prince: +Hawaiian Standard Time:CK:Pacific/Rarotonga: +Hawaiian Standard Time:PF:Pacific/Tahiti: +Hawaiian Standard Time:UM:Pacific/Johnston: +Hawaiian Standard Time:US:Pacific/Honolulu: +Hawaiian Standard Time:ZZ:Etc/GMT+10: +Hawaiian Standard Time:001:Pacific/Honolulu: +India Standard Time:IN:Asia/Calcutta: +India Standard Time:001:Asia/Calcutta: +Iran Standard Time:IR:Asia/Tehran: +Iran Standard Time:001:Asia/Tehran: +Israel Standard Time:IL:Asia/Jerusalem: +Israel Standard Time:001:Asia/Jerusalem: +Jordan Standard Time:JO:Asia/Amman: +Jordan Standard Time:001:Asia/Amman: +Kaliningrad Standard Time:RU:Europe/Kaliningrad: +Kaliningrad Standard Time:001:Europe/Kaliningrad: +Korea Standard Time:KR:Asia/Seoul: +Korea Standard Time:001:Asia/Seoul: +Libya Standard Time:LY:Africa/Tripoli: +Libya Standard Time:001:Africa/Tripoli: +Line Islands Standard Time:KI:Pacific/Kiritimati: +Line Islands Standard Time:ZZ:Etc/GMT-14: +Line Islands Standard Time:001:Pacific/Kiritimati: +Lord Howe Standard Time:AU:Australia/Lord_Howe: +Lord Howe Standard Time:001:Australia/Lord_Howe: +Magadan Standard Time:RU:Asia/Magadan: +Magadan Standard Time:001:Asia/Magadan: +Magallanes Standard Time:CL:America/Punta_Arenas: +Magallanes Standard Time:001:America/Punta_Arenas: +Marquesas Standard Time:PF:Pacific/Marquesas: +Marquesas Standard Time:001:Pacific/Marquesas: +Mauritius Standard Time:MU:Indian/Mauritius: +Mauritius Standard Time:RE:Indian/Reunion: +Mauritius Standard Time:SC:Indian/Mahe: +Mauritius Standard Time:001:Indian/Mauritius: +Middle East Standard Time:LB:Asia/Beirut: +Middle East Standard Time:001:Asia/Beirut: +Montevideo Standard Time:UY:America/Montevideo: +Montevideo Standard Time:001:America/Montevideo: +Morocco Standard Time:EH:Africa/El_Aaiun: +Morocco Standard Time:MA:Africa/Casablanca: +Morocco Standard Time:001:Africa/Casablanca: +Mountain Standard Time:CA:America/Edmonton: +Mountain Standard Time:MX:America/Ojinaga: +Mountain Standard Time:US:America/Denver: +Mountain Standard Time:ZZ:MST7MDT: +Mountain Standard Time:001:America/Denver: +Mountain Standard Time (Mexico):MX:America/Chihuahua: +Mountain Standard Time (Mexico):001:America/Chihuahua: +Myanmar Standard Time:CC:Indian/Cocos: +Myanmar Standard Time:MM:Asia/Rangoon: +Myanmar Standard Time:001:Asia/Rangoon: +N. Central Asia Standard Time:RU:Asia/Novosibirsk: +N. Central Asia Standard Time:001:Asia/Novosibirsk: +Namibia Standard Time:NA:Africa/Windhoek: +Namibia Standard Time:001:Africa/Windhoek: +Nepal Standard Time:NP:Asia/Katmandu: +Nepal Standard Time:001:Asia/Katmandu: +New Zealand Standard Time:AQ:Antarctica/McMurdo: +New Zealand Standard Time:NZ:Pacific/Auckland: +New Zealand Standard Time:001:Pacific/Auckland: +Newfoundland Standard Time:CA:America/St_Johns: +Newfoundland Standard Time:001:America/St_Johns: +Norfolk Standard Time:NF:Pacific/Norfolk: +Norfolk Standard Time:001:Pacific/Norfolk: +North Asia East Standard Time:RU:Asia/Irkutsk: +North Asia East Standard Time:001:Asia/Irkutsk: +North Asia Standard Time:RU:Asia/Krasnoyarsk: +North Asia Standard Time:001:Asia/Krasnoyarsk: +North Korea Standard Time:KP:Asia/Pyongyang: +North Korea Standard Time:001:Asia/Pyongyang: +Omsk Standard Time:RU:Asia/Omsk: +Omsk Standard Time:001:Asia/Omsk: +Pacific SA Standard Time:CL:America/Santiago: +Pacific SA Standard Time:001:America/Santiago: +Pacific Standard Time:CA:America/Vancouver: +Pacific Standard Time:US:America/Los_Angeles: +Pacific Standard Time:ZZ:PST8PDT: +Pacific Standard Time:001:America/Los_Angeles: +Pacific Standard Time (Mexico):MX:America/Tijuana: +Pacific Standard Time (Mexico):001:America/Tijuana: +Pakistan Standard Time:PK:Asia/Karachi: +Pakistan Standard Time:001:Asia/Karachi: +Paraguay Standard Time:PY:America/Asuncion: +Paraguay Standard Time:001:America/Asuncion: +Qyzylorda Standard Time:KZ:Asia/Qyzylorda: +Qyzylorda Standard Time:001:Asia/Qyzylorda: +Romance Standard Time:BE:Europe/Brussels: +Romance Standard Time:DK:Europe/Copenhagen: +Romance Standard Time:ES:Europe/Madrid: +Romance Standard Time:FR:Europe/Paris: +Romance Standard Time:001:Europe/Paris: +Russia Time Zone 10:RU:Asia/Srednekolymsk: +Russia Time Zone 10:001:Asia/Srednekolymsk: +Russia Time Zone 11:RU:Asia/Kamchatka: +Russia Time Zone 11:001:Asia/Kamchatka: +Russia Time Zone 3:RU:Europe/Samara: +Russia Time Zone 3:001:Europe/Samara: +Russian Standard Time:RU:Europe/Moscow: +Russian Standard Time:UA:Europe/Simferopol: +Russian Standard Time:001:Europe/Moscow: +SA Eastern Standard Time:AQ:Antarctica/Rothera: +SA Eastern Standard Time:BR:America/Fortaleza: +SA Eastern Standard Time:FK:Atlantic/Stanley: +SA Eastern Standard Time:GF:America/Cayenne: +SA Eastern Standard Time:SR:America/Paramaribo: +SA Eastern Standard Time:ZZ:Etc/GMT+3: +SA Eastern Standard Time:001:America/Cayenne: +SA Pacific Standard Time:BR:America/Rio_Branco: +SA Pacific Standard Time:CA:America/Coral_Harbour: +SA Pacific Standard Time:CO:America/Bogota: +SA Pacific Standard Time:EC:America/Guayaquil: +SA Pacific Standard Time:JM:America/Jamaica: +SA Pacific Standard Time:KY:America/Cayman: +SA Pacific Standard Time:PA:America/Panama: +SA Pacific Standard Time:PE:America/Lima: +SA Pacific Standard Time:ZZ:Etc/GMT+5: +SA Pacific Standard Time:001:America/Bogota: +SA Western Standard Time:AG:America/Antigua: +SA Western Standard Time:AI:America/Anguilla: +SA Western Standard Time:AW:America/Aruba: +SA Western Standard Time:BB:America/Barbados: +SA Western Standard Time:BL:America/St_Barthelemy: +SA Western Standard Time:BO:America/La_Paz: +SA Western Standard Time:BQ:America/Kralendijk: +SA Western Standard Time:BR:America/Manaus: +SA Western Standard Time:CA:America/Blanc-Sablon: +SA Western Standard Time:CW:America/Curacao: +SA Western Standard Time:DM:America/Dominica: +SA Western Standard Time:DO:America/Santo_Domingo: +SA Western Standard Time:GD:America/Grenada: +SA Western Standard Time:GP:America/Guadeloupe: +SA Western Standard Time:GY:America/Guyana: +SA Western Standard Time:KN:America/St_Kitts: +SA Western Standard Time:LC:America/St_Lucia: +SA Western Standard Time:MF:America/Marigot: +SA Western Standard Time:MQ:America/Martinique: +SA Western Standard Time:MS:America/Montserrat: +SA Western Standard Time:PR:America/Puerto_Rico: +SA Western Standard Time:SX:America/Lower_Princes: +SA Western Standard Time:TT:America/Port_of_Spain: +SA Western Standard Time:VC:America/St_Vincent: +SA Western Standard Time:VG:America/Tortola: +SA Western Standard Time:VI:America/St_Thomas: +SA Western Standard Time:ZZ:Etc/GMT+4: +SA Western Standard Time:001:America/La_Paz: +SE Asia Standard Time:AQ:Antarctica/Davis: +SE Asia Standard Time:CX:Indian/Christmas: +SE Asia Standard Time:ID:Asia/Jakarta: +SE Asia Standard Time:KH:Asia/Phnom_Penh: +SE Asia Standard Time:LA:Asia/Vientiane: +SE Asia Standard Time:TH:Asia/Bangkok: +SE Asia Standard Time:VN:Asia/Saigon: +SE Asia Standard Time:ZZ:Etc/GMT-7: +SE Asia Standard Time:001:Asia/Bangkok: +Saint Pierre Standard Time:PM:America/Miquelon: +Saint Pierre Standard Time:001:America/Miquelon: +Sakhalin Standard Time:RU:Asia/Sakhalin: +Sakhalin Standard Time:001:Asia/Sakhalin: +Samoa Standard Time:WS:Pacific/Apia: +Samoa Standard Time:001:Pacific/Apia: +Sao Tome Standard Time:ST:Africa/Sao_Tome: +Sao Tome Standard Time:001:Africa/Sao_Tome: +Saratov Standard Time:RU:Europe/Saratov: +Saratov Standard Time:001:Europe/Saratov: +Singapore Standard Time:BN:Asia/Brunei: +Singapore Standard Time:ID:Asia/Makassar: +Singapore Standard Time:MY:Asia/Kuala_Lumpur: +Singapore Standard Time:PH:Asia/Manila: +Singapore Standard Time:SG:Asia/Singapore: +Singapore Standard Time:ZZ:Etc/GMT-8: +Singapore Standard Time:001:Asia/Singapore: +South Africa Standard Time:BI:Africa/Bujumbura: +South Africa Standard Time:BW:Africa/Gaborone: +South Africa Standard Time:CD:Africa/Lubumbashi: +South Africa Standard Time:LS:Africa/Maseru: +South Africa Standard Time:MW:Africa/Blantyre: +South Africa Standard Time:MZ:Africa/Maputo: +South Africa Standard Time:RW:Africa/Kigali: +South Africa Standard Time:SS:Africa/Juba: +South Africa Standard Time:SZ:Africa/Mbabane: +South Africa Standard Time:ZA:Africa/Johannesburg: +South Africa Standard Time:ZM:Africa/Lusaka: +South Africa Standard Time:ZW:Africa/Harare: +South Africa Standard Time:ZZ:Etc/GMT-2: +South Africa Standard Time:001:Africa/Johannesburg: +Sri Lanka Standard Time:LK:Asia/Colombo: +Sri Lanka Standard Time:001:Asia/Colombo: +Sudan Standard Time:SD:Africa/Khartoum: +Sudan Standard Time:001:Africa/Khartoum: +Syria Standard Time:SY:Asia/Damascus: +Syria Standard Time:001:Asia/Damascus: +Taipei Standard Time:TW:Asia/Taipei: +Taipei Standard Time:001:Asia/Taipei: +Tasmania Standard Time:AU:Australia/Hobart: +Tasmania Standard Time:001:Australia/Hobart: +Tocantins Standard Time:BR:America/Araguaina: +Tocantins Standard Time:001:America/Araguaina: +Tokyo Standard Time:ID:Asia/Jayapura: +Tokyo Standard Time:JP:Asia/Tokyo: +Tokyo Standard Time:PW:Pacific/Palau: +Tokyo Standard Time:TL:Asia/Dili: +Tokyo Standard Time:ZZ:Etc/GMT-9: +Tokyo Standard Time:001:Asia/Tokyo: +Tomsk Standard Time:RU:Asia/Tomsk: +Tomsk Standard Time:001:Asia/Tomsk: +Tonga Standard Time:TO:Pacific/Tongatapu: +Tonga Standard Time:001:Pacific/Tongatapu: +Transbaikal Standard Time:RU:Asia/Chita: +Transbaikal Standard Time:001:Asia/Chita: +Turkey Standard Time:TR:Europe/Istanbul: +Turkey Standard Time:001:Europe/Istanbul: +Turks And Caicos Standard Time:TC:America/Grand_Turk: +Turks And Caicos Standard Time:001:America/Grand_Turk: +US Eastern Standard Time:US:America/Indianapolis: +US Eastern Standard Time:001:America/Indianapolis: +US Mountain Standard Time:CA:America/Creston: +US Mountain Standard Time:MX:America/Hermosillo: +US Mountain Standard Time:US:America/Phoenix: +US Mountain Standard Time:ZZ:Etc/GMT+7: +US Mountain Standard Time:001:America/Phoenix: +UTC:ZZ:Etc/UTC: +UTC:001:Etc/UTC: +UTC+12:KI:Pacific/Tarawa: +UTC+12:MH:Pacific/Majuro: +UTC+12:NR:Pacific/Nauru: +UTC+12:TV:Pacific/Funafuti: +UTC+12:UM:Pacific/Wake: +UTC+12:WF:Pacific/Wallis: +UTC+12:ZZ:Etc/GMT-12: +UTC+12:001:Etc/GMT-12: +UTC+13:KI:Pacific/Enderbury: +UTC+13:TK:Pacific/Fakaofo: +UTC+13:ZZ:Etc/GMT-13: +UTC+13:001:Etc/GMT-13: +UTC-02:BR:America/Noronha: +UTC-02:GS:Atlantic/South_Georgia: +UTC-02:ZZ:Etc/GMT+2: +UTC-02:001:Etc/GMT+2: +UTC-08:PN:Pacific/Pitcairn: +UTC-08:ZZ:Etc/GMT+8: +UTC-08:001:Etc/GMT+8: +UTC-09:PF:Pacific/Gambier: +UTC-09:ZZ:Etc/GMT+9: +UTC-09:001:Etc/GMT+9: +UTC-11:AS:Pacific/Pago_Pago: +UTC-11:NU:Pacific/Niue: +UTC-11:UM:Pacific/Midway: +UTC-11:ZZ:Etc/GMT+11: +UTC-11:001:Etc/GMT+11: +Ulaanbaatar Standard Time:MN:Asia/Ulaanbaatar: +Ulaanbaatar Standard Time:001:Asia/Ulaanbaatar: +Venezuela Standard Time:VE:America/Caracas: +Venezuela Standard Time:001:America/Caracas: +Vladivostok Standard Time:RU:Asia/Vladivostok: +Vladivostok Standard Time:001:Asia/Vladivostok: +Volgograd Standard Time:RU:Europe/Volgograd: +Volgograd Standard Time:001:Europe/Volgograd: +W. Australia Standard Time:AU:Australia/Perth: +W. Australia Standard Time:001:Australia/Perth: +W. Central Africa Standard Time:AO:Africa/Luanda: +W. Central Africa Standard Time:BJ:Africa/Porto-Novo: +W. Central Africa Standard Time:CD:Africa/Kinshasa: +W. Central Africa Standard Time:CF:Africa/Bangui: +W. Central Africa Standard Time:CG:Africa/Brazzaville: +W. Central Africa Standard Time:CM:Africa/Douala: +W. Central Africa Standard Time:DZ:Africa/Algiers: +W. Central Africa Standard Time:GA:Africa/Libreville: +W. Central Africa Standard Time:GQ:Africa/Malabo: +W. Central Africa Standard Time:NE:Africa/Niamey: +W. Central Africa Standard Time:NG:Africa/Lagos: +W. Central Africa Standard Time:TD:Africa/Ndjamena: +W. Central Africa Standard Time:TN:Africa/Tunis: +W. Central Africa Standard Time:ZZ:Etc/GMT-1: +W. Central Africa Standard Time:001:Africa/Lagos: +W. Europe Standard Time:AD:Europe/Andorra: +W. Europe Standard Time:AT:Europe/Vienna: +W. Europe Standard Time:CH:Europe/Zurich: +W. Europe Standard Time:DE:Europe/Berlin: +W. Europe Standard Time:GI:Europe/Gibraltar: +W. Europe Standard Time:IT:Europe/Rome: +W. Europe Standard Time:LI:Europe/Vaduz: +W. Europe Standard Time:LU:Europe/Luxembourg: +W. Europe Standard Time:MC:Europe/Monaco: +W. Europe Standard Time:MT:Europe/Malta: +W. Europe Standard Time:NL:Europe/Amsterdam: +W. Europe Standard Time:NO:Europe/Oslo: +W. Europe Standard Time:SE:Europe/Stockholm: +W. Europe Standard Time:SJ:Arctic/Longyearbyen: +W. Europe Standard Time:SM:Europe/San_Marino: +W. Europe Standard Time:VA:Europe/Vatican: +W. Europe Standard Time:001:Europe/Berlin: +W. Mongolia Standard Time:MN:Asia/Hovd: +W. Mongolia Standard Time:001:Asia/Hovd: +West Asia Standard Time:AQ:Antarctica/Mawson: +West Asia Standard Time:KZ:Asia/Oral: +West Asia Standard Time:MV:Indian/Maldives: +West Asia Standard Time:TF:Indian/Kerguelen: +West Asia Standard Time:TJ:Asia/Dushanbe: +West Asia Standard Time:TM:Asia/Ashgabat: +West Asia Standard Time:UZ:Asia/Tashkent: +West Asia Standard Time:ZZ:Etc/GMT-5: +West Asia Standard Time:001:Asia/Tashkent: +West Bank Standard Time:PS:Asia/Hebron: +West Bank Standard Time:001:Asia/Hebron: +West Pacific Standard Time:AQ:Antarctica/DumontDUrville: +West Pacific Standard Time:FM:Pacific/Truk: +West Pacific Standard Time:GU:Pacific/Guam: +West Pacific Standard Time:MP:Pacific/Saipan: +West Pacific Standard Time:PG:Pacific/Port_Moresby: +West Pacific Standard Time:ZZ:Etc/GMT-10: +West Pacific Standard Time:001:Pacific/Port_Moresby: +Yakutsk Standard Time:RU:Asia/Yakutsk: +Yakutsk Standard Time:001:Asia/Yakutsk: +Yukon Standard Time:CA:America/Whitehorse: +Yukon Standard Time:001:America/Whitehorse: diff --git a/resources/java/start.bat b/resources/java/start.bat new file mode 100644 index 0000000..bf34e47 --- /dev/null +++ b/resources/java/start.bat @@ -0,0 +1,30 @@ +@echo off +chcp 65001 > nul +set "CURRENT_DIR=%~dp0" + +:: 核心路径配置 +set "JAVA_HOME=%CURRENT_DIR%jdk" +set "APP_DIR=%CURRENT_DIR%app" +set "JAR_PATH=%APP_DIR%\yjearth.jar" +set "CONFIG_PATH=%APP_DIR%\application.yml" + +:: 关键文件检查 +if not exist "%JAVA_HOME%\bin\java.exe" ( + echo 错误:未找到Java(%JAVA_HOME%\bin\java.exe) + pause && exit /b 1 +) +if not exist "%APP_DIR%" ( + echo 错误:未找到app目录(%APP_DIR%) + pause && exit /b 1 +) +if not exist "%JAR_PATH%" ( + echo 错误:未找到yjearth.jar(%JAR_PATH%) + pause && exit /b 1 +) +if not exist "%CONFIG_PATH%" ( + echo 警告:未找到application.yml(%CONFIG_PATH%) +) + +:: 启动应用 +cd /d "%APP_DIR%" +"%JAVA_HOME%\bin\java.exe" -Dfile.encoding=UTF-8 -jar "%JAR_PATH%" --spring.config.location="%CONFIG_PATH%" \ No newline at end of file diff --git a/resources/java/stop.bat b/resources/java/stop.bat new file mode 100644 index 0000000..9cb7db5 --- /dev/null +++ b/resources/java/stop.bat @@ -0,0 +1,39 @@ +@echo off +chcp 65001 > nul +setlocal enabledelayedexpansion +set "CURRENT_DIR=%~dp0" + +:: 核心配置 +set "TARGET_JARS=yjearth.jar geographysdk.jar" +set "JPS_EXE=%CURRENT_DIR%jdk\bin\jps.exe" +set "TEMP_FILE=%temp%\jps_output.txt" + +:: 检查jps可用性 +if not exist "!JPS_EXE!" ( + echo 错误:未找到jps.exe(!JPS_EXE!) + endlocal && pause && exit /b 1 +) + +:: 获取Java进程列表 +"!JPS_EXE!" -l > "!TEMP_FILE!" 2>nul +echo 正在查找运行中的进程... + +:: 循环停止目标JAR +for %%J in (!TARGET_JARS!) do ( + set "PID=" + echo. && echo 查找 %%J 进程... + :: 匹配进程ID + for /f "tokens=1,2" %%a in ('type "!TEMP_FILE!"') do ( + echo "%%b" | findstr /i "%%J" >nul && set "PID=%%a" + ) + :: 终止逻辑 + if defined PID ( + taskkill /pid !PID! /f > nul 2>&1 + if !errorlevel! equ 0 (echo 成功终止 %%J(PID:!PID!)) else (echo 终止 %%J(PID:!PID!)失败) + ) else (echo 未找到运行中的 %%J 进程) +) + +:: 清理临时文件 +del "!TEMP_FILE!" >nul 2>&1 +echo. && echo 操作完成 +endlocal && pause \ No newline at end of file diff --git a/src/main/index.ts b/src/main/index.ts index 557d8b1..518caac 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,10 +1,10 @@ -import { app, shell, BrowserWindow, ipcMain, globalShortcut } from 'electron' +import { app, shell, BrowserWindow, ipcMain, globalShortcut, dialog } from 'electron' import path, { join } from 'path' import { electronApp, optimizer, is } from '@electron-toolkit/utils' import icon from '../../resources/earth.png?asset' import fs from 'fs' +import { exec } from 'child_process' -const { exec } = require('child_process'); // 开发环境路径处理 - 确保添加正确的file协议 const devSplashPath = path.resolve( @@ -53,6 +53,11 @@ if (prodSplashPath) { // 最终的启动页URL const splashURL = process.env.NODE_ENV === 'development' ? devSplashURL : prodSplashURL +let startBatPath = path.join(process.resourcesPath, 'app.asar.unpacked', 'resources', 'java', 'start.bat') +startBatPath = process.platform === 'win32' ? startBatPath.replace(/^(\w:)/, '/$1') : startBatPath +let stopBatPath = path.join(process.resourcesPath, 'app.asar.unpacked', 'resources', 'java', 'stop.bat') +stopBatPath = process.platform === 'win32' ? stopBatPath.replace(/^(\w:)/, '/$1') : stopBatPath + // const splashURL = // process.env.NODE_ENV === 'development' // ? `${join(app.getAppPath(), 'src/renderer/public/startUp/startUp.html')}` @@ -126,6 +131,23 @@ function createWindow(): void { }, 200) }) }) + ipcMain.on("open-directory-dialog", (event, option) => { + // @ts-ignore + dialog.showOpenDialog(BrowserWindow.getFocusedWindow(), { + properties: option.properties, + filters: option.filters, + }) + .then((files) => { + let arr = []; + if (!files.canceled) { + files.filePaths.forEach((url) => { + // @ts-ignore + arr.push(url.replace(/\\/g, "/")); + }); + } + event.sender.send("selectedItem", arr); + }); + }); // 设置窗口标题和图标 mainWindow.webContents.setWindowOpenHandler((details) => { shell.openExternal(details.url) @@ -156,6 +178,26 @@ function createWindow(): void { // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. app.whenReady().then(() => { + // alert(devSplashURL) + // alert(prodSplashURL) + // dialog.showMessageBox({ + // type: 'info', + // title: '信息1', + // message: devSplashURL, + // buttons: ['确定'] + // }) + // 执行批处理文件 + exec(startBatPath.substring(1, 200), (error, stdout, stderr) => { + if (error) { + console.error(`执行错误: ${error.message}`); + return; + } + if (stderr) { + console.error(`错误输出: ${stderr}`); + return; + } + console.log(`批处理输出: ${stdout}`); + }); // Set app user model id for windows electronApp.setAppUserModelId('com.electron') @@ -189,6 +231,18 @@ app.on('window-all-closed', () => { // 退出时注销所有快捷键 app.on('will-quit', () => { globalShortcut.unregisterAll() + // 关闭后台服务 + exec(stopBatPath.substring(1, 200), (error, stdout, stderr) => { + if (error) { + console.error(`执行错误: ${error.message}`); + return; + } + if (stderr) { + console.error(`错误输出: ${stderr}`); + return; + } + console.log(`批处理输出: ${stdout}`); + }); }) // In this file you can include the rest of your app's specific main process diff --git a/src/renderer/index.html b/src/renderer/index.html index 6bcd376..3f6984a 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -12,6 +12,7 @@
+ diff --git a/src/renderer/public/exif/exif.min.js b/src/renderer/public/exif/exif.min.js new file mode 100644 index 0000000..bc017a7 --- /dev/null +++ b/src/renderer/public/exif/exif.min.js @@ -0,0 +1,8 @@ +/** + * Minified by jsDelivr using Terser v5.19.2. + * Original file: /npm/exif-js@2.3.0/exif.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +(function(){var e=!1,t=function(e){return e instanceof t?e:this instanceof t?void(this.EXIFwrapped=e):new t(e)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=t),exports.EXIF=t):this.EXIF=t;var r=t.Tags={36864:"ExifVersion",40960:"FlashpixVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37500:"MakerNote",37510:"UserComment",40964:"RelatedSoundFile",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37520:"SubsecTime",37521:"SubsecTimeOriginal",37522:"SubsecTimeDigitized",33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:"OECF",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBias",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37396:"SubjectArea",37386:"FocalLength",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRation",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",40965:"InteroperabilityIFDPointer",42016:"ImageUniqueID"},i=t.TiffTags={256:"ImageWidth",257:"ImageHeight",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer",40965:"InteroperabilityIFDPointer",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",274:"Orientation",277:"SamplesPerPixel",284:"PlanarConfiguration",530:"YCbCrSubSampling",531:"YCbCrPositioning",282:"XResolution",283:"YResolution",296:"ResolutionUnit",273:"StripOffsets",278:"RowsPerStrip",279:"StripByteCounts",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",301:"TransferFunction",318:"WhitePoint",319:"PrimaryChromaticities",529:"YCbCrCoefficients",532:"ReferenceBlackWhite",306:"DateTime",270:"ImageDescription",271:"Make",272:"Model",305:"Software",315:"Artist",33432:"Copyright"},o=t.GPSTags={0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential"},a=t.IFD1Tags={256:"ImageWidth",257:"ImageHeight",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",273:"StripOffsets",274:"Orientation",277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",282:"XResolution",283:"YResolution",284:"PlanarConfiguration",296:"ResolutionUnit",513:"JpegIFOffset",514:"JpegIFByteCount",529:"YCbCrCoefficients",530:"YCbCrSubSampling",531:"YCbCrPositioning",532:"ReferenceBlackWhite"},s=t.StringValues={ExposureProgram:{0:"Not defined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{0:"Unknown",1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},SensingMethod:{1:"Not defined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{0:"Normal process",1:"Custom process"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},GainControl:{0:"None",1:"Low gain up",2:"High gain up",3:"Low gain down",4:"High gain down"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{0:"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},Components:{0:"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"}};function l(e){return!!e.exifdata}function u(n,r){function i(i){var o=c(i);n.exifdata=o||{};var a=function(t){var n=new DataView(t);e&&console.log("Got file of length "+t.byteLength);if(255!=n.getUint8(0)||216!=n.getUint8(1))return e&&console.log("Not a valid JPEG"),!1;var r=2,i=t.byteLength,o=function(e,t){return 56===e.getUint8(t)&&66===e.getUint8(t+1)&&73===e.getUint8(t+2)&&77===e.getUint8(t+3)&&4===e.getUint8(t+4)&&4===e.getUint8(t+5)};for(;r")+8,c=(l=l.substring(l.indexOf("4?g:t+8,a=[],l=0;l4?g:t+8,f-1);case 3:if(1==f)return e.getUint16(t+8,!i);for(o=f>2?g:t+8,a=[],l=0;le.byteLength)return{};var o=g(e,t,t+i,a,r);if(o.Compression)switch(o.Compression){case 6:if(o.JpegIFOffset&&o.JpegIFByteCount){var s=t+o.JpegIFOffset,l=o.JpegIFByteCount;o.blob=new Blob([new Uint8Array(e.buffer,s,l)],{type:"image/jpeg"})}break;case 1:console.log("Thumbnail image format is TIFF, which is not implemented.");break;default:console.log("Unknown thumbnail image format '%s'",o.Compression)}else 2==o.PhotometricInterpretation&&console.log("Thumbnail image format is RGB, which is not implemented.");return o}(t,m,h,l),u}function S(e){var t={};if(1==e.nodeType){if(e.attributes.length>0){t["@attributes"]={};for(var n=0;n0)for(var n=0;n { return await request.post({ url: `/fileInfo/upload`, diff --git a/src/renderer/src/api/tree/index.ts b/src/renderer/src/api/tree/index.ts index 074a05d..2505089 100644 --- a/src/renderer/src/api/tree/index.ts +++ b/src/renderer/src/api/tree/index.ts @@ -7,6 +7,13 @@ export const TreeApi = { url: `/source/list` }) }, + // 新增资源 /source/addModelSource + addModelSource: async (data: any) => { + return await request.post({ + url: `/source/addModelSource`, + data + }) + }, // 新增其他资源 /source/addOtherSource addOtherSource: async (data: any) => { return await request.post({ @@ -25,11 +32,6 @@ export const TreeApi = { return await request.post({ url: `/source/addDirectory`, data - }).then((res) => { - ElMessage({ - message: '添加成功', - type: 'success' - }) }); }, // 更新节点信息 @@ -47,7 +49,7 @@ export const TreeApi = { //删除节点 removeDirectory: async (data: any) => { return await request.post({ - url: `/yjearth4/api/v1/source/del`, + url: `/source/delete`, data }) }, diff --git a/src/renderer/src/axios/index.ts b/src/renderer/src/axios/index.ts index 27644bb..63ad25c 100644 --- a/src/renderer/src/axios/index.ts +++ b/src/renderer/src/axios/index.ts @@ -10,14 +10,15 @@ import type { const pendingRequests = new Map() let baseURL: any if (window && window.process && window.process.type === 'renderer') { - baseURL = localStorage.getItem('ip') ||'http://192.168.110.25:8848'|| 'http://127.0.0.1:8808' + // baseURL = localStorage.getItem('ip') ||'http://192.168.110.25:8848'|| 'http://127.0.0.1:8808' + baseURL = 'http://127.0.0.1:8848' } else { - baseURL = '' + baseURL = 'http://192.168.110.25:8848' } // 创建自定义配置的axios实例 const service: AxiosInstance = axios.create({ - baseURL:'http://192.168.110.25:8848', + baseURL:baseURL, timeout: 10000, headers: { 'Content-Type': 'application/json', diff --git a/src/renderer/src/common/addMapSource.ts b/src/renderer/src/common/addMapSource.ts new file mode 100644 index 0000000..01c603e --- /dev/null +++ b/src/renderer/src/common/addMapSource.ts @@ -0,0 +1,47 @@ +import { TreeApi } from '@/api/tree' +import { useTreeNode } from '../views/components/tree/hooks/treeNode' +import { initMapData } from './initMapData' +export const addMapSource = async ({ type, id, sourceName = '未命名对象', opt = {} }) => { + const { cusAddNodes } = useTreeNode() + if (!id) { + id = new YJ.Tools().randomString() + } + let options: any = await initMapData(type, opt) + let selectedNodes = window.treeObj.getSelectedNodes() + let node = selectedNodes && selectedNodes[selectedNodes.length - 1] + let parentId + if (node) { + if (node.sourceType === 'directory') { + parentId = node.id + } + else { + parentId = node.parentId + } + } + delete options.host + switch (type) { + case 'rendezvous': + case 'attackArrow': + case 'pincerArrow': + delete options.label.ground + delete options.label.position + break; + case 'path': + delete options.label.text + break; + } + console.log('options', options) + let params: any = { + id: id, + sourceName: sourceName, + sourceType: type, + // isShow: 1, + parentId: parentId, + // "treeIndex": 0, + params: options + } + TreeApi.addOtherSource(params) + params.params = JSON.stringify(params.params) + params.isShow = true + cusAddNodes(window.treeObj, params.parentId, [params]) +} \ No newline at end of file diff --git a/src/renderer/src/views/components/tree/initMapData.ts b/src/renderer/src/common/initMapData.ts similarity index 81% rename from src/renderer/src/views/components/tree/initMapData.ts rename to src/renderer/src/common/initMapData.ts index 9ae9701..36d9edd 100644 --- a/src/renderer/src/views/components/tree/initMapData.ts +++ b/src/renderer/src/common/initMapData.ts @@ -1,7 +1,6 @@ export const initMapData = async (type, data) => { let entityObject let options - console.log('data', type, data) switch (type) { case 'groundText': entityObject = new YJ.Obj.GroundText(window.earth, data) @@ -52,6 +51,18 @@ export const initMapData = async (type, data) => { data.host = 'http://192.168.110.25:8848' entityObject = new YJ.Obj.Tileset(window.earth, data) break + case 'path': + entityObject = new YJ.Obj.TrajectoryMotion(window.earth, data) + break + case 'wallStereoscopic': + entityObject = new YJ.Obj.WallStereoscopic(window.earth, data) + break + case 'diffuseScan': + entityObject = new YJ.Obj.CircleDiffuse(window.earth, data) + break + case 'radarScan': + entityObject = new YJ.Obj.RadarScan(window.earth, data) + break default: return break diff --git a/src/renderer/src/components/dialog/directory.vue b/src/renderer/src/components/dialog/directory.vue index 9272d5e..5840aa3 100644 --- a/src/renderer/src/components/dialog/directory.vue +++ b/src/renderer/src/components/dialog/directory.vue @@ -10,13 +10,8 @@
- + @@ -70,9 +65,10 @@ const add = throttle(async () => { const res: any = await TreeApi.addDirectory({ id: new YJ.Tools().randomString(), sourceName: form.sourceName, - parentId + parentId: parentId || undefined }) - if (res.code == 0) { + console.log(res) + if (res.code == 0 || res.code == 200) { const node = { ...res.data } @@ -87,7 +83,11 @@ const add = throttle(async () => { tree_index: item.getIndex() } }) - await updateTree(newNode) + ElMessage({ + message: '添加成功', + type: 'success' + }) + cancel() } else { ElMessage({ message: '添加失败', @@ -227,11 +227,14 @@ const cancel = () => { .el-form-item__label { color: #fff; } + .el-input__wrapper { background-color: rgba(0, 0, 0, 0.5); border: 0.2px solid rgba(0, 255, 255, 0.5); - box-shadow: 0 0 0 0.2px rgba(0, 255, 255, 0.5) inset !important; /* 新增此行 */ + box-shadow: 0 0 0 0.2px rgba(0, 255, 255, 0.5) inset !important; + /* 新增此行 */ } + .el-input__inner { background-color: transparent; color: #fff; diff --git a/src/renderer/src/views/components/bottomSide/bottomSide.vue b/src/renderer/src/views/components/bottomSide/bottomSide.vue index 501cf9a..985b0a4 100644 --- a/src/renderer/src/views/components/bottomSide/bottomSide.vue +++ b/src/renderer/src/views/components/bottomSide/bottomSide.vue @@ -16,10 +16,7 @@ diff --git a/src/renderer/src/views/components/propertyBox/addGroundText.vue b/src/renderer/src/views/components/propertyBox/addGroundText.vue index 6f86425..e0d340c 100644 --- a/src/renderer/src/views/components/propertyBox/addGroundText.vue +++ b/src/renderer/src/views/components/propertyBox/addGroundText.vue @@ -14,7 +14,7 @@ import { ref } from 'vue' import { inject } from 'vue' import { TreeApi } from '@/api/tree' import Dialog from '@/components/dialog/baseDialog.vue' -import { initMapData } from '../tree/initMapData' +import { initMapData } from '../../../common/initMapData' import { useTreeNode } from '../tree/hooks/treeNode' const { cusAddNodes } = useTreeNode() @@ -45,20 +45,28 @@ const confirm = () => { }) delete options.host delete options.positions - console.log('options', options) let selectedNodes = window.treeObj.getSelectedNodes() - let params = { + let node = selectedNodes && selectedNodes[selectedNodes.length - 1] + let parentId + if (node) { + if (node.sourceType === 'directory') { + parentId = node.id + } + else { + parentId = node.parentId + } + } + let params: any = { id: id, sourceName: name, sourceType: 'groundText', - parentId: - selectedNodes && selectedNodes[selectedNodes.length - 1] - ? selectedNodes[selectedNodes.length - 1].id - : undefined, + parentId: parentId, // "treeIndex": 0, params: options } TreeApi.addOtherSource(params) + params.params = JSON.stringify(params.params) + params.isShow = true cusAddNodes(window.treeObj, params.parentId, [params]) }) } diff --git a/src/renderer/src/views/components/propertyBox/addStandText.vue b/src/renderer/src/views/components/propertyBox/addStandText.vue index 2f0f3d8..3f753d2 100644 --- a/src/renderer/src/views/components/propertyBox/addStandText.vue +++ b/src/renderer/src/views/components/propertyBox/addStandText.vue @@ -14,7 +14,10 @@ import { ref } from 'vue' import { inject } from 'vue' import { TreeApi } from '@/api/tree' import Dialog from '@/components/dialog/baseDialog.vue' -import { initMapData } from '../tree/initMapData' +import { initMapData } from '../../../common/initMapData' +import { useTreeNode } from '../tree/hooks/treeNode' + +const { cusAddNodes } = useTreeNode() const baseDialog: any = ref(null) const eventBus: any = inject('bus') @@ -42,19 +45,30 @@ const confirm = () => { }) delete options.host console.log('options', options) - // let selectedNodes = window.treeObj.getSelectedNodes() - // let params = { - // id: id, - // sourceName: name, - // sourceType: 'standText', - // parentId: - // selectedNodes && selectedNodes[selectedNodes.length - 1] - // ? selectedNodes[selectedNodes.length - 1].id - // : undefined, - // // "treeIndex": 0, - // params: options - // } - // TreeApi.addOtherSource(params) + let selectedNodes = window.treeObj.getSelectedNodes() + let node = selectedNodes && selectedNodes[selectedNodes.length - 1] + let parentId + if (node) { + if (node.sourceType === 'directory') { + parentId = node.id + } + else { + parentId = node.parentId + } + } + + let params:any = { + id: id, + sourceName: name, + sourceType: 'standText', + parentId: parentId, + // "treeIndex": 0, + params: options + } + TreeApi.addOtherSource(params) + params.params = JSON.stringify(params.params) + params.isShow = true + cusAddNodes(window.treeObj, params.parentId, [params]) }) } defineExpose({ @@ -62,4 +76,4 @@ defineExpose({ }) - + \ No newline at end of file diff --git a/src/renderer/src/views/components/propertyBox/attackArrow.vue b/src/renderer/src/views/components/propertyBox/attackArrow.vue index da96205..f662fcc 100644 --- a/src/renderer/src/views/components/propertyBox/attackArrow.vue +++ b/src/renderer/src/views/components/propertyBox/attackArrow.vue @@ -145,6 +145,7 @@ 平移
+ @@ -360,8 +361,14 @@ watch( { immediate: true } ); +const remove = () => { + that.remove() + close() +} + defineExpose({ - open + open, + close }) diff --git a/src/renderer/src/views/components/propertyBox/attribute.vue b/src/renderer/src/views/components/propertyBox/attribute.vue index fc429b8..608c828 100644 --- a/src/renderer/src/views/components/propertyBox/attribute.vue +++ b/src/renderer/src/views/components/propertyBox/attribute.vue @@ -3,18 +3,8 @@
内容类型 - - + +
@@ -45,7 +35,7 @@
操作
-
+
@@ -75,7 +65,7 @@
编辑内容 - +
@@ -157,7 +147,7 @@
添加链接
- +
@@ -171,48 +161,32 @@
操作
-
-
+
+
+
+ +
+
{{ item.name }}
+
+ +
+
{{ item.url }}
+
+ + +
+
+ + +
+
+
+

暂无数据

-
-
-
-
- 编辑内容 - - -
-
-
-
-
-
序号
-
名称
-
数量
-
-
- -
-
-

暂无数据

-
-
-
-
@@ -220,6 +194,11 @@ import { ref } from 'vue' import { inject } from 'vue' +let ipcRenderer; +if (window && window.process && window.process.type === 'renderer') { + ipcRenderer = require('electron').ipcRenderer +} + const baseDialog: any = ref(null) const eventBus: any = inject('bus') const attributeType = ref('richText') @@ -232,9 +211,10 @@ const props = defineProps({ }) const attribute = ref(props.entityOptions.options.attribute) +props.entityOptions.options.richTextContent = '' const richTextContent = ref(props.entityOptions.options.richTextContent) -const attributeSelect = ref([ +let attributeSelect = ref([ { name: '富文本', value: '富文本', @@ -245,43 +225,53 @@ const attributeSelect = ref([ value: '链接', key: 'link' } - // { - // name: 'IP摄像头', - // value: 'IP摄像头', - // key: 'camera' - // }, - // { - // name: 'ISC摄像头', - // value: 'ISC摄像头', - // key: 'isc' - // }, - // { - // name: '传感器', - // value: '传感器', - // key: 'sensor' - // }, - // { - // name: '全景图', - // value: '全景图', - // key: 'vr' - // }, - // { - // name: '物资', - // value: '物资', - // key: 'goods' - // }, ]) +if (props.entityOptions.type === 'BillboardObject') { + attributeSelect.value.push( + // { + // name: 'IP摄像头', + // value: 'IP摄像头', + // key: 'camera' + // }, + // { + // name: 'ISC摄像头', + // value: 'ISC摄像头', + // key: 'isc' + // }, + // { + // name: '传感器', + // value: '传感器', + // key: 'sensor' + // }, + { + name: '全景图', + value: '全景图', + key: 'vr' + }, + // { + // name: '物资', + // value: '物资', + // key: 'goods' + // }, + ) +} + + + const cameraName = ref('') const addlinkInput = ref('') +const addvrInput = ref('') const linkEditActive: any = ref({}) +const vrEditActive: any = ref({}) const openRichTextEditor = () => { - eventBus.emit('openRichText', props.entityOptions.name, richTextContent.value, (val) => { + eventBus.emit('openRichText', props.entityOptions.name, richTextContent.value, (val: any) => { richTextContent.value = val + props.entityOptions.options.richTextContent = richTextContent.value }) } -const _addLink = () => { +const _addLink = async () => { if (addlinkInput.value) { let link = { name: '链接', @@ -290,18 +280,77 @@ const _addLink = () => { attribute.value.link.content.push(link) addlinkInput.value = '' } else { - document.getElementById('fileInputlink')?.click() - eventBus.emit('defineClickAddLinkCb', (list) => { - list.forEach((item) => { - attribute.value.link.content.push({ - name: '链接', - url: item.previewUrl - }) - }) - }) + const options = { + properties: ['openFile', 'multiSelections'], // 允许选择多个文件 + filters: [ + { name: '图片', extensions: ['jpg', 'jpeg', 'png', 'webp', 'svg', 'bmp'] }, + { name: '音视频', extensions: ['mp4', 'mp3'] }, + { name: 'pdf', extensions: ['pdf'] }, + ] + }; + if (ipcRenderer) { + ipcRenderer.send('open-directory-dialog', options); + // 监听主进程返回的结果 + ipcRenderer.once('selectedItem', (event, filePaths) => { + if (filePaths.length > 0) { + filePaths.forEach((item) => { + attribute.value.link.content.push({ + name: '链接', + url: item + }) + }) + } + }); + } + else { + // const pickerOpts = { + // types: [ + // { + // description: '图片', + // accept: + // { + // 'image/jpg': ['.jpg', '.jpeg'], + // 'image/gif': ['.gif'], + // 'image/webp': ['.webp'], + // 'image/png': ['.png'], + // 'image/svg+xml': ['.svg'], + // 'image/x-ms-bmp': ['.bmp'], + // } + // }, + // { + // description: '音视频', + // accept: + // { + // 'video/mp4': ['.mp4'], + // 'audio/mpeg': ['.mp3'], + // } + // }, + // { + // description: 'pdf', + // accept: + // { + // 'application/pdf': ['.pdf'], + // } + // } + // ], + // excludeAcceptAllOption: true, + // multiple: true + // }; + // if ((window as any).showOpenFilePicker) { + // const fileHandles = await (window as any).showOpenFilePicker(pickerOpts); + // // const files = await Promise.all(fileHandles.map(fileHandle => fileHandle.getFile())); + // // const dataTransfer = new DataTransfer(); + // // handleFileImgInput(files, parentId, 'vr') + // } + } + + // $sendElectronChanel('open-directory-dialog', (a: any,b: any)=>{ + // console.log(a,b) + // }) + } } -const linkEdit = (index, item) => { +const linkEdit = (index: any, item: { name: any; url: any; }) => { let active = { index: index, name: item.name, @@ -309,20 +358,76 @@ const linkEdit = (index, item) => { } linkEditActive.value = active } -const linkDelete = (index) => { +const linkDelete = (index: any) => { attribute.value.link.content.splice(index, 1) } -const linkConfirmEdit = (index) => { +const linkConfirmEdit = (index: string | number) => { attribute.value.link.content[index] = linkEditActive.value linkEditActive.value = {} } const linkCancelEdit = () => { linkEditActive.value = {} } -const cameraSelect = () => {} -const _addRr = () => {} -const goodsFilter = () => {} -const attributeChange = () => {} +const cameraSelect = () => { } +const _addRr = () => { + if (addvrInput.value) { + let link = { + name: '全景图', + url: addvrInput.value + } + attribute.value.vr.content.push(link) + addvrInput.value = '' + } else { + const options = { + properties: ['openFile', 'multiSelections'], + filters: [ + { name: '全景图', extensions: ['jpg'] }, + ] + }; + ipcRenderer.send('open-directory-dialog', options); + // 监听主进程返回的结果 + ipcRenderer.once('selectedItem', (event, filePaths) => { + if (filePaths.length > 0) { + filePaths.forEach((item) => { + attribute.value.link.content.push({ + name: '全景图', + url: item + }) + }) + } + }); + // document.getElementById('fileInputlink')?.click() + // eventBus.emit('defineClickAddLinkCb', (list: any[]) => { + // list.forEach((item: { previewUrl: any; }) => { + // attribute.value.vr.content.push({ + // name: '全景图', + // url: item.previewUrl + // }) + // }) + // }) + } +} + +const vrEdit = (index: any, item: { name: any; url: any; }) => { + let active = { + index: index, + name: item.name, + url: item.url + } + vrEditActive.value = active +} +const vrDelete = (index: any) => { + attribute.value.vr.content.splice(index, 1) +} +const vrConfirmEdit = (index: string | number) => { + attribute.value.vr.content[index] = vrEditActive.value + vrEditActive.value = {} +} +const vrCancelEdit = () => { + vrEditActive.value = {} +} +const goodsFilter = () => { } +const attributeChange = () => { } diff --git a/src/renderer/src/views/components/propertyBox/billboardObject.vue b/src/renderer/src/views/components/propertyBox/billboardObject.vue index 60f4737..2b71a8c 100644 --- a/src/renderer/src/views/components/propertyBox/billboardObject.vue +++ b/src/renderer/src/views/components/propertyBox/billboardObject.vue @@ -445,11 +445,11 @@
+ @@ -770,8 +770,14 @@ const fontChange = (val) => { entityOptions.value.labelFontFamily = val } +const remove = () => { + that.remove() + close() +} + defineExpose({ - open + open, + close }) diff --git a/src/renderer/src/views/components/propertyBox/circleDiffuse.vue b/src/renderer/src/views/components/propertyBox/circleDiffuse.vue new file mode 100644 index 0000000..a33f2fe --- /dev/null +++ b/src/renderer/src/views/components/propertyBox/circleDiffuse.vue @@ -0,0 +1,298 @@ + + + + + \ No newline at end of file diff --git a/src/renderer/src/views/components/propertyBox/curvelineObject.vue b/src/renderer/src/views/components/propertyBox/curvelineObject.vue index 4f12d21..2e15a90 100644 --- a/src/renderer/src/views/components/propertyBox/curvelineObject.vue +++ b/src/renderer/src/views/components/propertyBox/curvelineObject.vue @@ -272,11 +272,11 @@
+ @@ -288,7 +288,6 @@ import { ref, getCurrentInstance } from 'vue' import { inject } from 'vue' import { TreeApi } from '@/api/tree' import Dialog from '@/components/dialog/baseDialog.vue' -import { initMapData } from '../tree/initMapData' import { getFontList } from './fontSelect' import attribute from './attribute.vue' import labelStyle from './labelStyle.vue' @@ -546,6 +545,11 @@ const close = () => { baseDialog.value?.close() } +const remove = () => { + that.remove() + close() +} + watch( () => lengthUnit.value, (val) => { @@ -560,7 +564,8 @@ watch( { immediate: true } ) defineExpose({ - open + open, + close }) @@ -588,4 +593,4 @@ defineExpose({ } } } - + \ No newline at end of file diff --git a/src/renderer/src/views/components/propertyBox/groundText.vue b/src/renderer/src/views/components/propertyBox/groundText.vue index f3a9a18..bfb8073 100644 --- a/src/renderer/src/views/components/propertyBox/groundText.vue +++ b/src/renderer/src/views/components/propertyBox/groundText.vue @@ -87,7 +87,6 @@ import { ref } from 'vue'; import { inject } from "vue"; import { TreeApi } from '@/api/tree' import Dialog from '@/components/dialog/baseDialog.vue' -import { initMapData } from '../tree/initMapData' import { useTreeNode } from '@/views/components/tree/hooks/treeNode' const { cusUpdateNode } = useTreeNode() @@ -158,7 +157,8 @@ const closeCallback = () => { } defineExpose({ - open + open, + close }) diff --git a/src/renderer/src/views/components/propertyBox/layer.vue b/src/renderer/src/views/components/propertyBox/layer.vue new file mode 100644 index 0000000..a311169 --- /dev/null +++ b/src/renderer/src/views/components/propertyBox/layer.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/src/renderer/src/views/components/propertyBox/polygonObject.vue b/src/renderer/src/views/components/propertyBox/polygonObject.vue index 46d9a9e..9237c8e 100644 --- a/src/renderer/src/views/components/propertyBox/polygonObject.vue +++ b/src/renderer/src/views/components/propertyBox/polygonObject.vue @@ -122,6 +122,7 @@ 平移 + @@ -325,6 +326,11 @@ const close = () => { baseDialog.value?.close() } +const remove = () => { + that.remove() + close() +} + watch( () => areaUnit.value, (val) => { @@ -336,7 +342,8 @@ watch( ); defineExpose({ - open + open, + close }) diff --git a/src/renderer/src/views/components/propertyBox/polylineObject.vue b/src/renderer/src/views/components/propertyBox/polylineObject.vue index 17f7733..51d4ffc 100644 --- a/src/renderer/src/views/components/propertyBox/polylineObject.vue +++ b/src/renderer/src/views/components/propertyBox/polylineObject.vue @@ -277,15 +277,14 @@
+ @@ -553,6 +552,11 @@ const close = () => { baseDialog.value?.close() } +const remove = () => { + that.remove() + close() +} + watch( () => lengthUnit.value, (val) => { @@ -567,7 +571,8 @@ watch( { immediate: true } ) defineExpose({ - open + open, + close }) diff --git a/src/renderer/src/views/components/propertyBox/radarScan.vue b/src/renderer/src/views/components/propertyBox/radarScan.vue new file mode 100644 index 0000000..415dd42 --- /dev/null +++ b/src/renderer/src/views/components/propertyBox/radarScan.vue @@ -0,0 +1,179 @@ + + + + + \ No newline at end of file diff --git a/src/renderer/src/views/components/propertyBox/standText.vue b/src/renderer/src/views/components/propertyBox/standText.vue index 7a75df5..7c1da55 100644 --- a/src/renderer/src/views/components/propertyBox/standText.vue +++ b/src/renderer/src/views/components/propertyBox/standText.vue @@ -1,5 +1,5 @@