mhpark / Edu_Tech star
박민혁 박민혁 2024-05-22
240502 박민혁 기본
@259b76e06861e81d9d6131582f54d52a9c035c73
 
.gitignore (added)
+++ .gitignore
@@ -0,0 +1,37 @@
+HELP.md
+.gradle
+build/
+!gradle/wrapper/gradle-wrapper.jar
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
 
build.gradle (added)
+++ build.gradle
@@ -0,0 +1,39 @@
+plugins {
+    id 'java'
+    id 'org.springframework.boot' version '3.2.5'
+    id 'io.spring.dependency-management' version '1.1.4'
+}
+
+group = 'com.example'
+version = '0.0.1-SNAPSHOT'
+
+java {
+    sourceCompatibility = '17'
+}
+
+configurations {
+    compileOnly {
+        extendsFrom annotationProcessor
+    }
+}
+
+repositories {
+    mavenCentral()
+}
+
+dependencies {
+    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
+    implementation 'org.springframework.boot:spring-boot-starter-security'
+    implementation 'org.springframework.boot:spring-boot-starter-validation'
+    implementation 'org.springframework.boot:spring-boot-starter-web'
+    compileOnly 'org.projectlombok:lombok'
+    developmentOnly 'org.springframework.boot:spring-boot-devtools'
+    runtimeOnly 'com.mysql:mysql-connector-j'
+    annotationProcessor 'org.projectlombok:lombok'
+    testImplementation 'org.springframework.boot:spring-boot-starter-test'
+    testImplementation 'org.springframework.security:spring-security-test'
+}
+
+tasks.named('test') {
+    useJUnitPlatform()
+}
 
gradle/wrapper/gradle-wrapper.jar (Binary) (added)
+++ gradle/wrapper/gradle-wrapper.jar
Binary file is not shown
 
gradle/wrapper/gradle-wrapper.properties (added)
+++ gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
 
gradlew (added)
+++ gradlew
@@ -0,0 +1,249 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#       noncompliant, but you have some other compliant shell such as ksh or
+#       bash, then to run this script, type that shell name before the whole
+#       command line, like:
+#
+#           ksh Gradle
+#
+#       Busybox and similar reduced shells will NOT work, because this script
+#       requires all of these POSIX shell features:
+#         * functions;
+#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+#         * compound commands having a testable exit status, especially «case»;
+#         * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#       by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#       The "traditional" practice of packing multiple parameters into a
+#       space-separated string is a well documented source of bugs and security
+#       problems, so this is (mostly) avoided, by progressively accumulating
+#       options in "$@", and eventually passing that to Java.
+#
+#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#       see the in-line comments for details.
+#
+#       There are tweaks for specific operating systems such as AIX, CygWin,
+#       Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#       https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       within the Gradle project.
+#
+#       You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
+    [ -h "$app_path" ]
+do
+    ls=$( ls -ld "$app_path" )
+    link=${ls#*' -> '}
+    case $link in             #(
+      /*)   app_path=$link ;; #(
+      *)    app_path=$APP_HOME$link ;;
+    esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+    echo "$*"
+} >&2
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in                #(
+  CYGWIN* )         cygwin=true  ;; #(
+  Darwin* )         darwin=true  ;; #(
+  MSYS* | MINGW* )  msys=true    ;; #(
+  NONSTOP* )        nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD=$JAVA_HOME/jre/sh/java
+    else
+        JAVACMD=$JAVA_HOME/bin/java
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD=java
+    if ! command -v java >/dev/null 2>&1
+    then
+        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+    case $MAX_FD in #(
+      max*)
+        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        MAX_FD=$( ulimit -H -n ) ||
+            warn "Could not query maximum file descriptor limit"
+    esac
+    case $MAX_FD in  #(
+      '' | soft) :;; #(
+      *)
+        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        ulimit -n "$MAX_FD" ||
+            warn "Could not set maximum file descriptor limit to $MAX_FD"
+    esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+#   * args from the command line
+#   * the main class name
+#   * -classpath
+#   * -D...appname settings
+#   * --module-path (only if needed)
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+    JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    for arg do
+        if
+            case $arg in                                #(
+              -*)   false ;;                            # don't mess with options #(
+              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
+                    [ -e "$t" ] ;;                      #(
+              *)    false ;;
+            esac
+        then
+            arg=$( cygpath --path --ignore --mixed "$arg" )
+        fi
+        # Roll the args list around exactly as many times as the number of
+        # args, so each arg winds up back in the position where it started, but
+        # possibly modified.
+        #
+        # NB: a `for` loop captures its iteration list before it begins, so
+        # changing the positional parameters here affects neither the number of
+        # iterations, nor the values presented in `arg`.
+        shift                   # remove old arg
+        set -- "$@" "$arg"      # push replacement arg
+    done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+#     and any embedded shellness will be escaped.
+#   * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+#     treated as '${Hostname}' itself on the command line.
+
+set -- \
+        "-Dorg.gradle.appname=$APP_BASE_NAME" \
+        -classpath "$CLASSPATH" \
+        org.gradle.wrapper.GradleWrapperMain \
+        "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+    die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+#   set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+        xargs -n1 |
+        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+        tr '\n' ' '
+    )" '"$@"'
+
+exec "$JAVACMD" "$@"
 
gradlew.bat (added)
+++ gradlew.bat
@@ -0,0 +1,92 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
 
hs_err_pid15732.log (added)
+++ hs_err_pid15732.log
@@ -0,0 +1,1905 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffcd7c8cbf8, pid=15732, tid=2564
+#
+# JRE version: Java(TM) SE Runtime Environment (17.0.11+7) (build 17.0.11+7-LTS-207)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207, mixed mode, emulated-client, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
+# Problematic frame:
+# V  [jvm.dll+0x23cbf8]
+#
+# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
+#
+# If you would like to submit a bug report, please visit:
+#   https://bugreport.java.com/bugreport/crash.jsp
+#
+
+---------------  S U M M A R Y ------------
+
+Command Line: -javaagent:C:\Users\takensoft\AppData\Local\JetBrains\IntelliJIdea2020.1\testAgent\intellij-coverage-agent-1.0.508.jar=C:\Users\takensoft\AppData\Local\Temp\coverageargs -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Didea.launcher.port=53797 -Didea.launcher.bin.path=C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.2\bin -Dfile.encoding=UTF-8 com.intellij.rt.execution.application.AppMainV2 com.example.educatback.EducatBackApplication
+
+Host: Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz, 12 cores, 31G,  Windows 10 , 64 bit Build 19041 (10.0.19041.3636)
+Time: Wed May 22 11:15:32 2024  Windows 10 , 64 bit Build 19041 (10.0.19041.3636) elapsed time: 0.540562 seconds (0d 0h 0m 0s)
+
+---------------  T H R E A D  ---------------
+
+Current thread (0x000001f296533130):  JavaThread "Thread-2" [_thread_in_vm, id=2564, stack(0x000000b7f2c00000,0x000000b7f2d00000)]
+
+Stack: [0x000000b7f2c00000,0x000000b7f2d00000],  sp=0x000000b7f2cfc358,  free space=1008k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V  [jvm.dll+0x23cbf8]
+
+Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
+J 1527  java.lang.ClassLoader.defineClass1(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class; java.base@17.0.11 (0 bytes) @ 0x000001f2370214e3 [0x000001f237021420+0x00000000000000c3]
+j  java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;+27 java.base@17.0.11
+J 1545 c1 jdk.internal.loader.BuiltinClassLoader.defineClass(Ljava/lang/String;Ljdk/internal/loader/Resource;)Ljava/lang/Class; java.base@17.0.11 (121 bytes) @ 0x000001f23702d374 [0x000001f23702cea0+0x00000000000004d4]
+J 1529 c1 jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Ljava/lang/String;)Ljava/lang/Class; java.base@17.0.11 (64 bytes) @ 0x000001f237023344 [0x000001f237023080+0x00000000000002c4]
+J 1313 c1 jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Ljava/lang/String;Z)Ljava/lang/Class; java.base@17.0.11 (143 bytes) @ 0x000001f236fc5104 [0x000001f236fc4c80+0x0000000000000484]
+J 1427 c1 jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; java.base@17.0.11 (40 bytes) @ 0x000001f236ffbd2c [0x000001f236ffbbe0+0x000000000000014c]
+J 1419 c1 java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; java.base@17.0.11 (7 bytes) @ 0x000001f236ff71e4 [0x000001f236ff71a0+0x0000000000000044]
+v  ~StubRoutines::call_stub
+j  org.springframework.core.annotation.IntrospectionFailureLogger.<clinit>()V+13
+v  ~StubRoutines::call_stub
+j  org.springframework.core.annotation.AnnotationTypeMappings.<clinit>()V+13
+v  ~StubRoutines::call_stub
+j  org.springframework.core.annotation.AnnotationUtils.clearCache()V+13
+j  org.springframework.boot.devtools.restart.Restarter.clearAnnotationUtilsCache()V+13
+j  org.springframework.boot.devtools.restart.Restarter.cleanupKnownCaches()V+45
+j  org.springframework.boot.devtools.restart.Restarter.cleanupCaches()V+24
+j  org.springframework.boot.devtools.restart.Restarter.lambda$immediateRestart$0()Ljava/lang/Object;+28
+j  org.springframework.boot.devtools.restart.Restarter$$Lambda$158+0x000001f2520facb0.call()Ljava/lang/Object;+4
+j  org.springframework.boot.devtools.restart.Restarter$LeakSafeThread.run()V+48
+v  ~StubRoutines::call_stub
+
+siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x000001f292709d90
+
+
+Registers:
+RAX=0x0000000000005145, RBX=0x0000000000000000, RCX=0x000001f2926e1320, RDX=0x0000000000000036
+RSP=0x000000b7f2cfc358, RBP=0x0000000000000036, RSI=0x0000000000000004, RDI=0x000001f2520ff730
+R8 =0x0000000000000003, R9 =0x000001f2520ff988, R10=0x00007ffd112f0000, R11=0x000001f24f8bc880
+R12=0x000001f296533130, R13=0x000001f2926e2580, R14=0x000001f2520ff988, R15=0x000001f2520ff988
+RIP=0x00007ffcd7c8cbf8, EFLAGS=0x0000000000010202
+
+
+Register to memory mapping:
+
+RIP=0x00007ffcd7c8cbf8 jvm.dll
+RAX=0x0000000000005145 is an unknown value
+RBX=0x0 is NULL
+RCX=0x000001f2926e1320 is pointing into metadata
+RDX=0x0000000000000036 is an unknown value
+RSP=0x000000b7f2cfc358 is pointing into the stack for thread: 0x000001f296533130
+RBP=0x0000000000000036 is an unknown value
+RSI=0x0000000000000004 is an unknown value
+RDI=0x000001f2520ff730 is a pointer to class: 
+org.springframework.core.annotation.IntrospectionFailureLogger {0x000001f2520ff738}
+ - instance size:     3
+ - klass size:        75
+ - access:            synchronized abstract 
+ - state:             being_initialized
+ - name:              'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - super:             'java/lang/Enum'
+ - sub:               
+ - arrays:            NULL
+ - methods:           Array<T>(0x000001f2926e1890)
+ - method ordering:   Array<T>(0x000001f2518f5030)
+ - default_methods:   Array<T>(0x0000000000000000)
+ - local interfaces:  Array<T>(0x000001f2515d1e38)
+ - trans. interfaces: Array<T>(0x000001f2515d79f8)
+ - constants:         constant pool [136]/operands[10] {0x000001f2926e1328} for 'org/springframework/core/annotation/IntrospectionFailureLogger' cache=0x000001f2926e2078
+ - class loader data:  loader data: 0x000001f24f8be4f0 for instance a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000601414098}
+ - source file:       'IntrospectionFailureLogger.java'
+ - class annotations:       Array<T>(0x0000000000000000)
+ - class type annotations:  Array<T>(0x0000000000000000)
+ - field annotations:       Array<T>(0x000001f2926e1830)
+ - field type annotations:  Array<T>(0x0000000000000000)
+ - generic signature: 'Ljava/lang/Enum<Lorg/springframework/core/annotation/IntrospectionFailureLogger;>;'
+ - inner classes:     Array<T>(0x000001f2926e2010)
+ - nest members:     Array<T>(0x000001f2926e2038)
+ - permitted subclasses:     Array<T>(0x000001f2926e2048)
+ - java mirror:       a 'java/lang/Class'{0x000000061fc37650} = 'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - vtable length      9  (start addr: 0x000001f2520ff8f8)
+ - itable length      8 (start addr: 0x000001f2520ff940)
+ - ---- static fields (2 words):
+ - public static final 'DEBUG' 'Lorg/springframework/core/annotation/IntrospectionFailureLogger;' @112 
+ - public static final 'INFO' 'Lorg/springframework/core/annotation/IntrospectionFailureLogger;' @116 
+ - private static 'logger' 'Lorg/apache/commons/logging/Log;' @120 
+ - private static final synthetic '$VALUES' '[Lorg/springframework/core/annotation/IntrospectionFailureLogger;' @124 
+ - ---- non-static fields (2 words):
+ - private final 'ordinal' 'I' @12 
+ - private final 'name' 'Ljava/lang/String;' @16 
+ - non-static oop maps: 16-16 
+R8 =0x0000000000000003 is an unknown value
+R9 =0x000001f2520ff988 is a pointer to class: 
+org.springframework.core.annotation.IntrospectionFailureLogger$1 {0x000001f2520ff990}
+ - instance size:     3
+ - klass size:        75
+ - access:            final synchronized 
+ - state:             allocated
+ - name:              'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - super:             'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - sub:               
+ - arrays:            NULL
+ - methods:           Array<T>(0x000001f2926e2580)
+ - method ordering:   Array<T>(0x000001f2518f5030)
+ - default_methods:   Array<T>(0x0000000000000000)
+ - local interfaces:  Array<T>(0x000001f2515d1e38)
+ - trans. interfaces: Array<T>(0x000001f2515d79f8)
+ - constants:         constant pool [55] {0x000001f2926e2350} for 'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - class loader data:  loader data: 0x000001f24f8be4f0 for instance a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000601414098}
+ - source file:       'IntrospectionFailureLogger.java'
+ - class annotations:       Array<T>(0x0000000000000000)
+ - class type annotations:  Array<T>(0x0000000000000000)
+ - field annotations:       Array<T>(0x0000000000000000)
+ - field type annotations:  Array<T>(0x0000000000000000)
+ - inner classes:     Array<T>(0x000001f2926e2800)
+ - nest members:     Array<T>(0x000001f2515d1dc8)
+ - permitted subclasses:     Array<T>(0x000001f2515d1dc8)
+ - java mirror:       NULL
+ - vtable length      9  (start addr: 0x000001f2520ffb50)
+ - itable length      8 (start addr: 0x000001f2520ffb98)
+ - ---- static fields (0 words):
+ - ---- non-static fields (2 words):
+ - private final 'ordinal' 'I' @12 
+ - private final 'name' 'Ljava/lang/String;' @16 
+ - non-static oop maps: 16-16 
+R10=0x00007ffd112f0000 VCRUNTIME140.dll
+R11=0x000001f24f8bc880 points into unknown readable memory: 0x000001f20000006d | 6d 00 00 00 f2 01 00 00
+R12=0x000001f296533130 is a thread
+R13=0x000001f2926e2580 is pointing into metadata
+R14=0x000001f2520ff988 is a pointer to class: 
+org.springframework.core.annotation.IntrospectionFailureLogger$1 {0x000001f2520ff990}
+ - instance size:     3
+ - klass size:        75
+ - access:            final synchronized 
+ - state:             allocated
+ - name:              'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - super:             'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - sub:               
+ - arrays:            NULL
+ - methods:           Array<T>(0x000001f2926e2580)
+ - method ordering:   Array<T>(0x000001f2518f5030)
+ - default_methods:   Array<T>(0x0000000000000000)
+ - local interfaces:  Array<T>(0x000001f2515d1e38)
+ - trans. interfaces: Array<T>(0x000001f2515d79f8)
+ - constants:         constant pool [55] {0x000001f2926e2350} for 'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - class loader data:  loader data: 0x000001f24f8be4f0 for instance a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000601414098}
+ - source file:       'IntrospectionFailureLogger.java'
+ - class annotations:       Array<T>(0x0000000000000000)
+ - class type annotations:  Array<T>(0x0000000000000000)
+ - field annotations:       Array<T>(0x0000000000000000)
+ - field type annotations:  Array<T>(0x0000000000000000)
+ - inner classes:     Array<T>(0x000001f2926e2800)
+ - nest members:     Array<T>(0x000001f2515d1dc8)
+ - permitted subclasses:     Array<T>(0x000001f2515d1dc8)
+ - java mirror:       NULL
+ - vtable length      9  (start addr: 0x000001f2520ffb50)
+ - itable length      8 (start addr: 0x000001f2520ffb98)
+ - ---- static fields (0 words):
+ - ---- non-static fields (2 words):
+ - private final 'ordinal' 'I' @12 
+ - private final 'name' 'Ljava/lang/String;' @16 
+ - non-static oop maps: 16-16 
+R15=0x000001f2520ff988 is a pointer to class: 
+org.springframework.core.annotation.IntrospectionFailureLogger$1 {0x000001f2520ff990}
+ - instance size:     3
+ - klass size:        75
+ - access:            final synchronized 
+ - state:             allocated
+ - name:              'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - super:             'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - sub:               
+ - arrays:            NULL
+ - methods:           Array<T>(0x000001f2926e2580)
+ - method ordering:   Array<T>(0x000001f2518f5030)
+ - default_methods:   Array<T>(0x0000000000000000)
+ - local interfaces:  Array<T>(0x000001f2515d1e38)
+ - trans. interfaces: Array<T>(0x000001f2515d79f8)
+ - constants:         constant pool [55] {0x000001f2926e2350} for 'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - class loader data:  loader data: 0x000001f24f8be4f0 for instance a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000601414098}
+ - source file:       'IntrospectionFailureLogger.java'
+ - class annotations:       Array<T>(0x0000000000000000)
+ - class type annotations:  Array<T>(0x0000000000000000)
+ - field annotations:       Array<T>(0x0000000000000000)
+ - field type annotations:  Array<T>(0x0000000000000000)
+ - inner classes:     Array<T>(0x000001f2926e2800)
+ - nest members:     Array<T>(0x000001f2515d1dc8)
+ - permitted subclasses:     Array<T>(0x000001f2515d1dc8)
+ - java mirror:       NULL
+ - vtable length      9  (start addr: 0x000001f2520ffb50)
+ - itable length      8 (start addr: 0x000001f2520ffb98)
+ - ---- static fields (0 words):
+ - ---- non-static fields (2 words):
+ - private final 'ordinal' 'I' @12 
+ - private final 'name' 'Ljava/lang/String;' @16 
+ - non-static oop maps: 16-16 
+
+
+Top of Stack: (sp=0x000000b7f2cfc358)
+0x000000b7f2cfc358:   00007ffcd7dbc912 000001f2503d3150
+0x000000b7f2cfc368:   000001f296533130 000001f296533130
+0x000000b7f2cfc378:   00007ffc00000023 000001f2520ff988
+0x000000b7f2cfc388:   000001f2520ff730 000001f2520ffa2c
+0x000000b7f2cfc398:   000001f2520ff988 000000b7f2cfc660
+0x000000b7f2cfc3a8:   00007ffcd7c2ec4a 000001f296446790
+0x000000b7f2cfc3b8:   000001f296533130 000001f296533130
+0x000000b7f2cfc3c8:   000001f2926e2580 000001f296483b00
+0x000000b7f2cfc3d8:   00007ffcd80d312f 000001f22da273e0
+0x000000b7f2cfc3e8:   000001f2965653c6 000001f2515d1e38
+0x000000b7f2cfc3f8:   000000b7f2cfc660 000001f2926e2580
+0x000000b7f2cfc408:   000001f296533130 000001f2520ff988
+0x000000b7f2cfc418:   00007ffcd7f91b01 000001f2520ff988
+0x000000b7f2cfc428:   000000b7f2cfc450 000001f2520ffa2c
+0x000000b7f2cfc438:   0000000000000000 00007ffcd8383758
+0x000000b7f2cfc448:   0000000200000002 00007ffcd8383768 
+
+Instructions: (pc=0x00007ffcd7c8cbf8)
+0x00007ffcd7c8caf8:   12 32 00 48 83 7e 08 00 48 8b 6c 24 60 74 4a 4c
+0x00007ffcd7c8cb08:   8b ce 41 b0 64 41 8b d4 49 8b ce e8 a8 1d 00 00
+0x00007ffcd7c8cb18:   48 83 7e 08 00 75 20 49 8b 0e 8b 54 24 68 48 8b
+0x00007ffcd7c8cb28:   7c 24 70 48 8b 41 28 48 8b 44 d0 08 48 83 c4 38
+0x00007ffcd7c8cb38:   41 5e 41 5c 5e 5b c3 48 8b 7c 24 70 33 c0 48 83
+0x00007ffcd7c8cb48:   c4 38 41 5e 41 5c 5e 5b c3 48 83 3d bf 14 8c 00
+0x00007ffcd7c8cb58:   00 74 0b 48 8b d3 49 8b ce e8 ea 22 00 00 8b 44
+0x00007ffcd7c8cb68:   24 68 41 b9 07 00 00 00 48 8d 14 c5 00 00 00 00
+0x00007ffcd7c8cb78:   49 8b 06 48 8b 48 28 48 89 5c 11 08 49 8b 06 48
+0x00007ffcd7c8cb88:   8b 48 08 b0 64 f0 46 0f b0 4c 21 04 3c 67 75 24
+0x00007ffcd7c8cb98:   49 8b 06 33 ff 4c 8b c6 48 8b 48 28 48 89 7c 11
+0x00007ffcd7c8cba8:   08 41 8b d4 49 8b ce e8 2c 21 00 00 48 39 7e 08
+0x00007ffcd7c8cbb8:   48 0f 45 df 48 8b 7c 24 70 48 8b c3 48 83 c4 38
+0x00007ffcd7c8cbc8:   41 5e 41 5c 5e 5b c3 cc 48 8b 41 28 4c 63 ca 42
+0x00007ffcd7c8cbd8:   0f b7 54 c9 48 4c 89 44 d0 08 48 8b 41 08 42 c6
+0x00007ffcd7c8cbe8:   44 08 04 07 c3 cc cc cc 48 63 c2 0f b7 44 c1 4a
+0x00007ffcd7c8cbf8:   48 8b 44 c1 48 c3 cc cc 49 63 c0 44 0f b7 44 c1
+0x00007ffcd7c8cc08:   4a 48 8b 42 18 4a 39 44 c1 48 0f 94 c0 c3 cc cc
+0x00007ffcd7c8cc18:   cc cc cc cc cc cc cc cc 48 89 5c 24 10 48 89 74
+0x00007ffcd7c8cc28:   24 18 57 48 83 ec 30 48 63 da 49 8b f0 48 8b f9
+0x00007ffcd7c8cc38:   85 d2 79 24 4c 8d 0d 0d cd 6a 00 ba b4 02 00 00
+0x00007ffcd7c8cc48:   4c 8d 05 39 cd 6a 00 48 8d 0d b2 cc 6a 00 e8 25
+0x00007ffcd7c8cc58:   7c 00 00 e8 80 cb 43 00 48 8b 4f 10 48 85 c9 74
+0x00007ffcd7c8cc68:   0f 48 8d 43 01 48 c1 e0 05 48 8b 04 08 0f b7 d8
+0x00007ffcd7c8cc78:   48 63 c3 48 8d 54 24 40 48 89 7c 24 20 48 89 74
+0x00007ffcd7c8cc88:   24 28 48 8b 8e 48 02 00 00 8b 5c c7 48 48 89 7c
+0x00007ffcd7c8cc98:   24 40 e8 41 de dc ff 0f b7 d3 48 8d 4c 24 20 4c
+0x00007ffcd7c8cca8:   8b c6 e8 f1 fb ff ff 48 8d 4c 24 20 48 8b d8 e8
+0x00007ffcd7c8ccb8:   84 c0 10 00 48 8b 74 24 50 48 8b c3 48 8b 5c 24
+0x00007ffcd7c8ccc8:   48 48 83 c4 30 5f c3 cc 48 89 5c 24 08 57 48 83
+0x00007ffcd7c8ccd8:   ec 20 48 63 fa 48 8b d9 85 d2 79 24 4c 8d 0d 65
+0x00007ffcd7c8cce8:   cc 6a 00 ba b4 02 00 00 4c 8d 05 91 cc 6a 00 48 
+
+
+Stack slot to memory mapping:
+stack at sp + 0 slots: 0x00007ffcd7dbc912 jvm.dll
+stack at sp + 1 slots: 0x000001f2503d3150 points into unknown readable memory: 0x0000000000000000 | 00 00 00 00 00 00 00 00
+stack at sp + 2 slots: 0x000001f296533130 is a thread
+stack at sp + 3 slots: 0x000001f296533130 is a thread
+stack at sp + 4 slots: 0x00007ffc00000023 is an unknown value
+stack at sp + 5 slots: 0x000001f2520ff988 is a pointer to class: 
+org.springframework.core.annotation.IntrospectionFailureLogger$1 {0x000001f2520ff990}
+ - instance size:     3
+ - klass size:        75
+ - access:            final synchronized 
+ - state:             allocated
+ - name:              'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - super:             'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - sub:               
+ - arrays:            NULL
+ - methods:           Array<T>(0x000001f2926e2580)
+ - method ordering:   Array<T>(0x000001f2518f5030)
+ - default_methods:   Array<T>(0x0000000000000000)
+ - local interfaces:  Array<T>(0x000001f2515d1e38)
+ - trans. interfaces: Array<T>(0x000001f2515d79f8)
+ - constants:         constant pool [55] {0x000001f2926e2350} for 'org/springframework/core/annotation/IntrospectionFailureLogger$1'
+ - class loader data:  loader data: 0x000001f24f8be4f0 for instance a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000601414098}
+ - source file:       'IntrospectionFailureLogger.java'
+ - class annotations:       Array<T>(0x0000000000000000)
+ - class type annotations:  Array<T>(0x0000000000000000)
+ - field annotations:       Array<T>(0x0000000000000000)
+ - field type annotations:  Array<T>(0x0000000000000000)
+ - inner classes:     Array<T>(0x000001f2926e2800)
+ - nest members:     Array<T>(0x000001f2515d1dc8)
+ - permitted subclasses:     Array<T>(0x000001f2515d1dc8)
+ - java mirror:       NULL
+ - vtable length      9  (start addr: 0x000001f2520ffb50)
+ - itable length      8 (start addr: 0x000001f2520ffb98)
+ - ---- static fields (0 words):
+ - ---- non-static fields (2 words):
+ - private final 'ordinal' 'I' @12 
+ - private final 'name' 'Ljava/lang/String;' @16 
+ - non-static oop maps: 16-16 
+stack at sp + 6 slots: 0x000001f2520ff730 is a pointer to class: 
+org.springframework.core.annotation.IntrospectionFailureLogger {0x000001f2520ff738}
+ - instance size:     3
+ - klass size:        75
+ - access:            synchronized abstract 
+ - state:             being_initialized
+ - name:              'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - super:             'java/lang/Enum'
+ - sub:               
+ - arrays:            NULL
+ - methods:           Array<T>(0x000001f2926e1890)
+ - method ordering:   Array<T>(0x000001f2518f5030)
+ - default_methods:   Array<T>(0x0000000000000000)
+ - local interfaces:  Array<T>(0x000001f2515d1e38)
+ - trans. interfaces: Array<T>(0x000001f2515d79f8)
+ - constants:         constant pool [136]/operands[10] {0x000001f2926e1328} for 'org/springframework/core/annotation/IntrospectionFailureLogger' cache=0x000001f2926e2078
+ - class loader data:  loader data: 0x000001f24f8be4f0 for instance a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x0000000601414098}
+ - source file:       'IntrospectionFailureLogger.java'
+ - class annotations:       Array<T>(0x0000000000000000)
+ - class type annotations:  Array<T>(0x0000000000000000)
+ - field annotations:       Array<T>(0x000001f2926e1830)
+ - field type annotations:  Array<T>(0x0000000000000000)
+ - generic signature: 'Ljava/lang/Enum<Lorg/springframework/core/annotation/IntrospectionFailureLogger;>;'
+ - inner classes:     Array<T>(0x000001f2926e2010)
+ - nest members:     Array<T>(0x000001f2926e2038)
+ - permitted subclasses:     Array<T>(0x000001f2926e2048)
+ - java mirror:       a 'java/lang/Class'{0x000000061fc37650} = 'org/springframework/core/annotation/IntrospectionFailureLogger'
+ - vtable length      9  (start addr: 0x000001f2520ff8f8)
+ - itable length      8 (start addr: 0x000001f2520ff940)
+ - ---- static fields (2 words):
+ - public static final 'DEBUG' 'Lorg/springframework/core/annotation/IntrospectionFailureLogger;' @112 
+ - public static final 'INFO' 'Lorg/springframework/core/annotation/IntrospectionFailureLogger;' @116 
+ - private static 'logger' 'Lorg/apache/commons/logging/Log;' @120 
+ - private static final synthetic '$VALUES' '[Lorg/springframework/core/annotation/IntrospectionFailureLogger;' @124 
+ - ---- non-static fields (2 words):
+ - private final 'ordinal' 'I' @12 
+ - private final 'name' 'Ljava/lang/String;' @16 
+ - non-static oop maps: 16-16 
+stack at sp + 7 slots: 0x000001f2520ffa2c is pointing into metadata
+
+
+Compiled method (n/a)     558 1527     n 0       java.lang.ClassLoader::defineClass1 (native)
+ total in heap  [0x000001f237021290,0x000001f237021770] = 1248
+ relocation     [0x000001f2370213e8,0x000001f237021420] = 56
+ main code      [0x000001f237021420,0x000001f237021770] = 848
+
+[Constant Pool (empty)]
+
+[MachCode]
+[Entry Point]
+  # {method} {0x000001f251010ea8} 'defineClass1' '(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;' in 'java/lang/ClassLoader'
+  # parm0:    rdx:rdx   = 'java/lang/ClassLoader'
+  # parm1:    r8:r8     = 'java/lang/String'
+  # parm2:    r9:r9     = '[B'
+  # parm3:    rdi       = int
+  # parm4:    rsi       = int
+  # parm5:    rcx:rcx   = 'java/security/ProtectionDomain'
+  # parm6:    [sp+0xa0]   = 'java/lang/String'  (sp of caller)
+  0x000001f237021420: 448b 5208 | 49bb 0000 | 0051 f201 | 0000 4d03 | d349 3bc2 | 0f84 0600 
+
+  0x000001f237021438: ;   {runtime_call ic_miss_stub}
+  0x000001f237021438: 0000 e941 | b6b2 ff90 
+[Verified Entry Point]
+  0x000001f237021440: 8984 2400 | 90ff ff55 | 488b ec48 | 81ec 9000 | 0000 4881 | 7d10 0000 | 0000 488d | 4510 480f 
+  0x000001f237021460: 4445 1048 | 8944 2440 | 4889 4c24 | 7048 83f9 | 0048 8d44 | 2470 480f | 4444 2470 | 4889 4424 
+  0x000001f237021480: 3848 8974 | 2430 4889 | 7c24 284c | 894c 2458 | 4983 f900 | 488d 4424 | 5848 0f44 | 4424 5848 
+  0x000001f2370214a0: 8944 2420 | 4c89 4424 | 5049 83f8 | 004c 8d4c | 2450 4c0f | 444c 2450 | 4889 5424 | 4848 83fa 
+  0x000001f2370214c0: 004c 8d44 | 2448 4c0f | 4444 2448 
+
+  0x000001f2370214cc: ;   {oop(a 'java/lang/Class'{0x0000000601414660} = 'java/lang/ClassLoader')}
+  0x000001f2370214cc: 49be 6046 | 4101 0600 | 0000 4c89 | 7424 784c | 8d74 2478 | 498b d6c5 
+
+  0x000001f2370214e4: ;   {internal_word}
+  0x000001f2370214e4: f877 49ba | e314 0237 | f201 0000 | 4d89 9798 | 0200 0049 | 89a7 9002 
+
+  0x000001f2370214fc: ;   {external_word}
+  0x000001f2370214fc: 0000 49ba | c890 55d8 | fc7f 0000 | 4180 3a00 | 0f84 5200 | 0000 5241 
+
+  0x000001f237021514: ;   {metadata({method} {0x000001f251010ea8} 'defineClass1' '(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;' in 'java/lang/ClassLoader')}
+  0x000001f237021514: 5041 5148 | baa0 0e01 | 51f2 0100 | 0049 8bcf | 4883 ec20 | f7c4 0f00 | 0000 0f84 | 1a00 0000 
+  0x000001f237021534: 4883 ec08 
+
+  0x000001f237021538: ;   {runtime_call}
+  0x000001f237021538: 49ba b0fe | 12d8 fc7f | 0000 41ff | d248 83c4 | 08e9 0d00 
+
+  0x000001f23702154c: ;   {runtime_call}
+  0x000001f23702154c: 0000 49ba | b0fe 12d8 | fc7f 0000 | 41ff d248 | 83c4 2041 | 5941 585a | 498d 8fb0 | 0200 0041 
+  0x000001f23702156c: c787 4003 | 0000 0400 
+
+  0x000001f237021574: ;   {runtime_call}
+  0x000001f237021574: 0000 49ba | ac16 ec0b | fd7f 0000 | 41ff d2c5 | f877 41c7 | 8740 0300 | 0005 0000 | 00f0 8344 
+  0x000001f237021594: 24c0 0049 | 3baf 4803 | 0000 0f87 | 1100 0000 | 4181 bf30 | 0300 0000 | 0000 000f | 842c 0000 
+  0x000001f2370215b4: 00c5 f877 | 4889 45f8 | 498b cf4c | 8be4 4883 | ec20 4883 
+
+  0x000001f2370215c8: ;   {runtime_call}
+  0x000001f2370215c8: e4f0 49ba | 10ad 1dd8 | fc7f 0000 | 41ff d249 | 8be4 4d33 | e448 8b45 | f841 c787 | 4003 0000 
+  0x000001f2370215e8: 0800 0000 | 4181 bfb0 | 0300 0002 | 0000 000f | 843f 0100 
+
+  0x000001f2370215fc: ;   {external_word}
+  0x000001f2370215fc: 0049 bac8 | 9055 d8fc | 7f00 0041 | 803a 000f | 8450 0000 | 0048 8945 
+
+  0x000001f237021614: ;   {metadata({method} {0x000001f251010ea8} 'defineClass1' '(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;' in 'java/lang/ClassLoader')}
+  0x000001f237021614: f848 baa0 | 0e01 51f2 | 0100 0049 | 8bcf 4883 | ec20 f7c4 | 0f00 0000 | 0f84 1a00 | 0000 4883 
+  0x000001f237021634: ;   {runtime_call}
+  0x000001f237021634: ec08 49ba | b0fe 12d8 | fc7f 0000 | 41ff d248 | 83c4 08e9 | 0d00 0000 
+
+  0x000001f23702164c: ;   {runtime_call}
+  0x000001f23702164c: 49ba b0fe | 12d8 fc7f | 0000 41ff | d248 83c4 | 2048 8b45 | f849 c787 | 9002 0000 | 0000 0000 
+  0x000001f23702166c: 49c7 8798 | 0200 0000 | 0000 00c5 | f877 4885 | c00f 8493 | 0000 0048 | f7c0 0100 | 0000 0f84 
+  0x000001f23702168c: 8300 0000 | 488b 40ff | 4180 7f38 | 000f 846f | 0000 0048 | 83f8 000f | 8465 0000 | 0049 8b4f 
+  0x000001f2370216ac: 2048 83f9 | 000f 8414 | 0000 0048 | 83e9 0849 | 894f 2049 | 034f 3048 | 8901 e943 | 0000 0050 
+  0x000001f2370216cc: 498b d748 | 8bc8 4883 | ec20 f7c4 | 0f00 0000 | 0f84 1a00 | 0000 4883 
+
+  0x000001f2370216e4: ;   {runtime_call}
+  0x000001f2370216e4: ec08 49ba | 00f5 d1d7 | fc7f 0000 | 41ff d248 | 83c4 08e9 | 0d00 0000 
+
+  0x000001f2370216fc: ;   {runtime_call}
+  0x000001f2370216fc: 49ba 00f5 | d1d7 fc7f | 0000 41ff | d248 83c4 | 2058 e903 | 0000 0048 | 8b00 498b | 8fd8 0000 
+  0x000001f23702171c: 00c7 8100 | 0100 0000 | 0000 00c9 | 4981 7f08 | 0000 0000 | 0f85 0100 
+
+  0x000001f237021734: ;   {runtime_call StubRoutines (1)}
+  0x000001f237021734: 0000 c3e9 | c4f7 adff | c5f8 7748 | 8945 f84c | 8be4 4883 | ec20 4883 
+
+  0x000001f23702174c: ;   {runtime_call}
+  0x000001f23702174c: e4f0 49ba | d02f 13d8 | fc7f 0000 | 41ff d249 | 8be4 4d33 | e448 8b45 | f8e9 93fe | ffff f4f4 
+  0x000001f23702176c: f4f4 f4f4 
+[/MachCode]
+
+
+Compiled method (c1)     563 1545       1       jdk.internal.loader.BuiltinClassLoader::defineClass (121 bytes)
+ total in heap  [0x000001f23702cc10,0x000001f23702daa8] = 3736
+ relocation     [0x000001f23702cd68,0x000001f23702ce98] = 304
+ main code      [0x000001f23702cea0,0x000001f23702d4e0] = 1600
+ stub code      [0x000001f23702d4e0,0x000001f23702d628] = 328
+ metadata       [0x000001f23702d628,0x000001f23702d670] = 72
+ scopes data    [0x000001f23702d670,0x000001f23702d8c8] = 600
+ scopes pcs     [0x000001f23702d8c8,0x000001f23702da68] = 416
+ dependencies   [0x000001f23702da68,0x000001f23702da70] = 8
+ handler table  [0x000001f23702da70,0x000001f23702da88] = 24
+ nul chk table  [0x000001f23702da88,0x000001f23702daa8] = 32
+
+[Constant Pool (empty)]
+
+[MachCode]
+[Entry Point]
+  # {method} {0x000001f25143ceb0} 'defineClass' '(Ljava/lang/String;Ljdk/internal/loader/Resource;)Ljava/lang/Class;' in 'jdk/internal/loader/BuiltinClassLoader'
+  # this:     rdx:rdx   = 'jdk/internal/loader/BuiltinClassLoader'
+  # parm0:    r8:r8     = 'java/lang/String'
+  # parm1:    r9:r9     = 'jdk/internal/loader/Resource'
+  #           [sp+0x110]  (sp of caller)
+  0x000001f23702cea0: 448b 5208 | 49bb 0000 | 0051 f201 | 0000 4d03 | d34c 3bd0 
+
+  0x000001f23702ceb4: ;   {runtime_call ic_miss_stub}
+  0x000001f23702ceb4: 0f85 c6fb | b1ff 660f | 1f44 0000 
+[Verified Entry Point]
+  0x000001f23702cec0: 8984 2400 | 90ff ff55 | 4881 ec00 | 0100 0048 | 8994 24a0 | 0000 004c | 8984 2490 | 0000 004c 
+  0x000001f23702cee0: 898c 2498 | 0000 0049 | 8bd1 6666 | 9048 b868 | f501 51f2 
+
+  0x000001f23702cef4: ;   {virtual_call}
+  0x000001f23702cef4: 0100 00e8 
+
+  0x000001f23702cef8: ; ImmutableOopMap {[152]=Oop [160]=Oop [144]=Oop }
+                      ;*invokevirtual getCodeSourceURL {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@1 (line 842)
+  0x000001f23702cef8: a420 0000 | 4889 8424 | a800 0000 | 4c8b 8424 | 9000 0000 
+
+  0x000001f23702cf0c: ; implicit exception: dispatches to 0x000001f23702d3d3
+  0x000001f23702cf0c: 418b 7014 | 48c1 e603 
+
+  0x000001f23702cf14: ; implicit exception: dispatches to 0x000001f23702d3d8
+  0x000001f23702cf14: 8b56 0c45 | 0fbe 4810 | 498b c9c1 | e118 c1f9 | 18d3 fa48 | 8bfa ffcf | 4183 f900 | ba00 0000 
+  0x000001f23702cf34: 000f 8505 | 0000 00ba | 0100 0000 | 83e2 0183 | fa00 488b | d641 b82e | 0000 004c | 8bcf 0f84 
+  0x000001f23702cf54: 1100 0000 | 0f1f 8000 
+
+  0x000001f23702cf5c: ;   {static_call}
+  0x000001f23702cf5c: 0000 00e8 
+
+  0x000001f23702cf60: ; ImmutableOopMap {[152]=Oop [160]=Oop [168]=Oop [144]=Oop }
+                      ;*invokestatic lastIndexOf {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.String::lastIndexOf@13 (line 2491)
+                      ; - java.lang.String::lastIndexOf@8 (line 2453)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@8 (line 845)
+  0x000001f23702cf60: bcfe d2ff | e90b 0000 | 0066 0f1f 
+
+  0x000001f23702cf6c: ;   {static_call}
+  0x000001f23702cf6c: 4400 00e8 
+
+  0x000001f23702cf70: ; ImmutableOopMap {[152]=Oop [160]=Oop [168]=Oop [144]=Oop }
+                      ;*invokestatic lastIndexOf {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.String::lastIndexOf@25 (line 2492)
+                      ; - java.lang.String::lastIndexOf@8 (line 2453)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@8 (line 845)
+  0x000001f23702cf70: 0c04 b2ff | 83f8 ff0f | 8467 0000 | 0041 b800 | 0000 004c | 8bc8 488b | 9424 9000 
+
+  0x000001f23702cf8c: ;   {optimized virtual_call}
+  0x000001f23702cf8c: 0000 90e8 
+
+  0x000001f23702cf90: ; ImmutableOopMap {[152]=Oop [160]=Oop [168]=Oop [144]=Oop }
+                      ;*invokevirtual substring {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@23 (line 847)
+  0x000001f23702cf90: ecb7 d1ff | 488b 9424 | 9800 0000 | 4889 8424 | b000 0000 | 9048 b868 | f501 51f2 
+
+  0x000001f23702cfac: ;   {virtual_call}
+  0x000001f23702cfac: 0100 00e8 
+
+  0x000001f23702cfb0: ; ImmutableOopMap {[152]=Oop [160]=Oop [168]=Oop [144]=Oop [176]=Oop }
+                      ;*invokevirtual getManifest {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@29 (line 848)
+  0x000001f23702cfb0: cc29 0000 | 4c8b 8424 | b000 0000 | 4c8b c848 | 8bbc 24a8 | 0000 0048 | 8b94 24a0 | 0000 0066 
+  0x000001f23702cfd0: 0f1f 4400 | 0048 b8c8 | b708 51f2 
+
+  0x000001f23702cfdc: ;   {virtual_call}
+  0x000001f23702cfdc: 0100 00e8 
+
+  0x000001f23702cfe0: ; ImmutableOopMap {[152]=Oop [160]=Oop [168]=Oop [144]=Oop }
+                      ;*invokevirtual defineOrCheckPackage {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@40 (line 849)
+  0x000001f23702cfe0: bcd0 ffff | 4c8b 8c24 | 9800 0000 | 488d 9424 | e000 0000 | 4c89 4a08 | 498b 0148 | 83c8 0148 
+  0x000001f23702d000: 8902 f049 | 0fb1 110f | 8413 0000 | 0048 2bc4 | 4881 e007 | f0ff ff48 | 8902 0f85 | bd03 0000 
+  0x000001f23702d020: 418b 510c | 48c1 e203 | 4883 fa00 | 0f85 4700 | 0000 498b | d148 b8ff | ffff ffff 
+
+  0x000001f23702d03c: ;   {virtual_call}
+  0x000001f23702d03c: ffff ffe8 
+
+  0x000001f23702d040: ; ImmutableOopMap {[160]=Oop [168]=Oop [144]=Oop [152]=Oop [232]=Oop }
+                      ;*invokevirtual getInputStream {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.Resource::cachedInputStream@9 (line 77)
+                      ; - jdk.internal.loader.Resource::getByteBuffer@1 (line 163)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@45 (line 853)
+  0x000001f23702d040: dcc8 b1ff | 410f be57 | 3883 fa00 | 4c8b 8c24 | 9800 0000 | 0f85 9603 | 0000 4c8b | d049 c1ea 
+  0x000001f23702d060: 0345 8951 | 0c49 8bd1 | 4833 d048 | c1ea 1648 | 83fa 000f | 8597 0300 | 0041 8b51 | 0c48 c1e2 
+  0x000001f23702d080: 0348 8d84 | 24e0 0000 | 0048 8b30 | 4885 f60f | 840f 0000 | 0048 8b78 | 08f0 480f | b137 0f85 
+  0x000001f23702d0a0: 8403 0000 | 4883 fa00 | 0f84 4400 
+
+  0x000001f23702d0ac: ;   {metadata('sun/nio/ByteBuffered')}
+  0x000001f23702d0ac: 0000 48b8 | 903a 0a51 | f201 0000 | 8b5a 0849 | ba00 0000 | 51f2 0100 | 0049 03da | 483b 4320 
+  0x000001f23702d0cc: 0f84 2500 | 0000 483b | d80f 841c | 0000 0053 
+
+  0x000001f23702d0dc: ;   {runtime_call slow_subtype_check Runtime1 stub}
+  0x000001f23702d0dc: 50e8 1ea1 | bcff 5b5b | 83fb 000f | 8405 0000 | 00e9 0500 | 0000 4833 | f6eb 0a48 | be01 0000 
+  0x000001f23702d0fc: 0000 0000 | 0083 fe00 | 0f84 6700 | 0000 4883 | fa00 0f84 | 4400 0000 
+
+  0x000001f23702d114: ;   {metadata('sun/nio/ByteBuffered')}
+  0x000001f23702d114: 48bb 903a | 0a51 f201 | 0000 8b7a | 0849 ba00 | 0000 51f2 | 0100 0049 | 03fa 483b | 5f20 0f84 
+  0x000001f23702d134: 2000 0000 | 483b fb0f | 8417 0000 
+
+  0x000001f23702d140: ;   {runtime_call slow_subtype_check Runtime1 stub}
+  0x000001f23702d140: 0057 53e8 | b8a0 bcff | 5f5f 83ff | 000f 84eb | 0200 00e9 | 0000 0000 | 0f1f 4400 | 0048 b8ff 
+  0x000001f23702d160: ffff ffff 
+
+  0x000001f23702d164: ;   {virtual_call}
+  0x000001f23702d164: ffff ffe8 
+
+  0x000001f23702d168: ; ImmutableOopMap {[160]=Oop [168]=Oop [144]=Oop [152]=Oop }
+                      ;*invokeinterface getByteBuffer {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.Resource::getByteBuffer@16 (line 165)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@45 (line 853)
+  0x000001f23702d168: 14ff b1ff | e90a 0000 
+
+  0x000001f23702d170: ;   {oop(NULL)}
+  0x000001f23702d170: 0048 b800 | 0000 0000 | 0000 0048 | 83f8 000f | 84e5 0000 | 0048 8984 | 24b8 0000 | 0048 8b94 
+  0x000001f23702d190: 2498 0000 | 0048 b8ff | ffff ffff 
+
+  0x000001f23702d19c: ;   {virtual_call}
+  0x000001f23702d19c: ffff ffe8 
+
+  0x000001f23702d1a0: ; ImmutableOopMap {[160]=Oop [168]=Oop [144]=Oop [184]=Oop }
+                      ;*invokevirtual getCodeSigners {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@56 (line 855)
+  0x000001f23702d1a0: dcfe b1ff 
+
+  0x000001f23702d1a4: ;   {metadata('java/security/CodeSource')}
+  0x000001f23702d1a4: 4c8b c848 | ba30 ee00 | 51f2 0100 | 0049 8b87 | 0801 0000 | 488d 7828 | 493b bf18 | 0100 000f 
+  0x000001f23702d1c4: 877e 0200 | 0049 89bf | 0801 0000 | 48c7 0001 | 0000 0048 | 8bca 49ba | 0000 0051 | f201 0000 
+  0x000001f23702d1e4: 492b ca89 | 4808 4833 | c989 480c | 4833 c948 | 8948 1048 | 8948 1848 | 8948 204c | 8b84 24a8 
+  0x000001f23702d204: 0000 0048 | 8bd0 4889 | 8424 c000 | 0000 0f1f 
+
+  0x000001f23702d214: ;   {optimized virtual_call}
+  0x000001f23702d214: 4400 00e8 
+
+  0x000001f23702d218: ; ImmutableOopMap {[160]=Oop [144]=Oop [184]=Oop [192]=Oop }
+                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@68 (line 856)
+  0x000001f23702d218: 64fb b1ff | 4c8b 8424 | c000 0000 | 488b 9424 | a000 0000 
+
+  0x000001f23702d22c: ;   {optimized virtual_call}
+  0x000001f23702d22c: 6666 90e8 
+
+  0x000001f23702d230: ; ImmutableOopMap {[160]=Oop [144]=Oop [184]=Oop }
+                      ;*invokevirtual getProtectionDomain {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.security.SecureClassLoader::defineClass@5 (line 182)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@79 (line 857)
+  0x000001f23702d230: 4cfb b1ff | 4c8b 8424 | 9000 0000 | 4c8b 8c24 | b800 0000 | 488b f848 | 8b94 24a0 
+
+  0x000001f23702d24c: ;   {optimized virtual_call}
+  0x000001f23702d24c: 0000 00e8 
+
+  0x000001f23702d250: ; ImmutableOopMap {}
+                      ;*invokevirtual defineClass {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.security.SecureClassLoader::defineClass@8 (line 182)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@79 (line 857)
+  0x000001f23702d250: 2cfb b1ff | 4881 c400 | 0100 005d 
+
+  0x000001f23702d25c: ;   {poll_return}
+  0x000001f23702d25c: 493b a748 | 0300 000f | 87eb 0100 | 00c3 4c8b | 8c24 9800 | 0000 498b | d148 b8ff | ffff ffff 
+  0x000001f23702d27c: ;   {virtual_call}
+  0x000001f23702d27c: ffff ffe8 
+
+  0x000001f23702d280: ; ImmutableOopMap {[160]=Oop [144]=Oop [152]=Oop [168]=Oop }
+                      ;*invokevirtual getBytes {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@84 (line 859)
+  0x000001f23702d280: dcc6 b1ff | 4889 8424 | c800 0000 | 488b 9424 | 9800 0000 | 9048 b8ff | ffff ffff 
+
+  0x000001f23702d29c: ;   {virtual_call}
+  0x000001f23702d29c: ffff ffe8 
+
+  0x000001f23702d2a0: ; ImmutableOopMap {[160]=Oop [144]=Oop [168]=Oop [200]=Oop }
+                      ;*invokevirtual getCodeSigners {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@90 (line 860)
+  0x000001f23702d2a0: fcc6 b1ff 
+
+  0x000001f23702d2a4: ;   {metadata('java/security/CodeSource')}
+  0x000001f23702d2a4: 4c8b c848 | ba30 ee00 | 51f2 0100 | 0049 8b87 | 0801 0000 | 488d 7828 | 493b bf18 | 0100 000f 
+  0x000001f23702d2c4: 87a1 0100 | 0049 89bf | 0801 0000 | 48c7 0001 | 0000 0048 | 8bca 49ba | 0000 0051 | f201 0000 
+  0x000001f23702d2e4: 492b ca89 | 4808 4833 | c989 480c | 4833 c948 | 8948 1048 | 8948 1848 | 8948 204c | 8b84 24a8 
+  0x000001f23702d304: 0000 0048 | 8bd0 4889 | 8424 d000 | 0000 0f1f 
+
+  0x000001f23702d314: ;   {optimized virtual_call}
+  0x000001f23702d314: 4400 00e8 
+
+  0x000001f23702d318: ; ImmutableOopMap {[160]=Oop [144]=Oop [200]=Oop [208]=Oop }
+                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@102 (line 861)
+  0x000001f23702d318: c450 ffff | 488b 8424 | c800 0000 
+
+  0x000001f23702d324: ; implicit exception: dispatches to 0x000001f23702d477
+  0x000001f23702d324: 8b70 0c4c | 8b84 24d0 | 0000 0048 | 8b94 24a0 | 0000 0089 | b424 d800 
+
+  0x000001f23702d33c: ;   {optimized virtual_call}
+  0x000001f23702d33c: 0000 90e8 
+
+  0x000001f23702d340: ; ImmutableOopMap {[160]=Oop [144]=Oop [200]=Oop }
+                      ;*invokevirtual getProtectionDomain {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.security.SecureClassLoader::defineClass@9 (line 150)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@117 (line 862)
+  0x000001f23702d340: 9c56 ffff | 4c8b 8424 | 9000 0000 | 4c8b 8c24 | c800 0000 | bf00 0000 | 008b b424 | d800 0000 
+  0x000001f23702d360: 488b c848 | 8b94 24a0 | 0000 000f 
+
+  0x000001f23702d36c: ;   {optimized virtual_call}
+  0x000001f23702d36c: 1f40 00e8 
+
+  0x000001f23702d370: ; ImmutableOopMap {}
+                      ;*invokevirtual defineClass {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.security.SecureClassLoader::defineClass@12 (line 150)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@117 (line 862)
+  0x000001f23702d370: 7102 0000 | 4881 c400 | 0100 005d 
+
+  0x000001f23702d37c: ;   {poll_return}
+  0x000001f23702d37c: 493b a748 | 0300 000f | 87f3 0000 | 00c3 498b | 87d8 0300 | 004d 33d2 | 4d89 97d8 | 0300 004d 
+  0x000001f23702d39c: 33d2 4d89 | 97e0 0300 | 0048 8bf0 | 488d 8424 | e000 0000 | 488b 3848 | 85ff 0f84 | 0f00 0000 
+  0x000001f23702d3bc: 488b 5808 | f048 0fb1 | 3b0f 85c7 | 0000 0048 | 8bc6 e9f4 
+
+  0x000001f23702d3d0: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f23702d3d0: 0000 00e8 
+
+  0x000001f23702d3d4: ; ImmutableOopMap {[152]=Oop [160]=Oop rax=Oop [168]=Oop r8=Oop [144]=Oop }
+                      ;*invokevirtual lastIndexOf {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@8 (line 845)
+  0x000001f23702d3d4: 4871 bcff 
+
+  0x000001f23702d3d8: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f23702d3d8: e843 71bc 
+
+  0x000001f23702d3dc: ; ImmutableOopMap {[152]=Oop [160]=Oop rax=Oop [168]=Oop r8=Oop [144]=Oop rsi=Oop }
+                      ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.String::length@4 (line 1483)
+                      ; - java.lang.String::lastIndexOf@3 (line 2453)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@8 (line 845)
+  0x000001f23702d3dc: ff4c 894c | 2408 4889 
+
+  0x000001f23702d3e4: ;   {runtime_call monitorenter_nofpu Runtime1 stub}
+  0x000001f23702d3e4: 1424 e815 
+
+  0x000001f23702d3e8: ; ImmutableOopMap {[160]=Oop [168]=Oop [144]=Oop r9=Oop [152]=Oop [232]=Oop }
+                      ;*synchronization entry
+                      ; - jdk.internal.loader.Resource::cachedInputStream@-1 (line 76)
+                      ; - jdk.internal.loader.Resource::getByteBuffer@1 (line 163)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@45 (line 853)
+  0x000001f23702d3e8: a4bc ffe9 | 30fc ffff | 418b 510c | 48c1 e203 | 4883 fa00 | 0f84 58fc | ffff 4889 
+
+  0x000001f23702d404: ;   {runtime_call g1_pre_barrier_slow}
+  0x000001f23702d404: 1424 e8f5 | cabc ffe9 | 4afc ffff | 4883 f800 | 0f84 5ffc | ffff 4c89 
+
+  0x000001f23702d41c: ;   {runtime_call g1_post_barrier_slow}
+  0x000001f23702d41c: 0c24 e8dd | cdbc ffe9 | 51fc ffff | 488d 8424 | e000 0000 | 4889 0424 
+
+  0x000001f23702d434: ;   {runtime_call monitorexit_nofpu Runtime1 stub}
+  0x000001f23702d434: e8c7 a9bc | ffe9 66fc | ffff 4889 
+
+  0x000001f23702d440: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
+  0x000001f23702d440: 1424 e8d9 
+
+  0x000001f23702d444: ; ImmutableOopMap {[160]=Oop [168]=Oop [144]=Oop [152]=Oop }
+                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.Resource::getByteBuffer@13 (line 165)
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@45 (line 853)
+  0x000001f23702d444: 97bc ff48 
+
+  0x000001f23702d448: ;   {runtime_call fast_new_instance Runtime1 stub}
+  0x000001f23702d448: 8bd2 e8b1 
+
+  0x000001f23702d44c: ; ImmutableOopMap {[160]=Oop [168]=Oop [144]=Oop [184]=Oop r9=Oop }
+                      ;*new {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@61 (line 856)
+  0x000001f23702d44c: 7cbc ffe9 | abfd ffff 
+
+  0x000001f23702d454: ;   {internal_word}
+  0x000001f23702d454: 49ba 5cd2 | 0237 f201 | 0000 4d89 | 9760 0300 
+
+  0x000001f23702d464: ;   {runtime_call SafepointBlob}
+  0x000001f23702d464: 00e9 965f | b2ff 488b 
+
+  0x000001f23702d46c: ;   {runtime_call fast_new_instance Runtime1 stub}
+  0x000001f23702d46c: d2e8 8e7c 
+
+  0x000001f23702d470: ; ImmutableOopMap {[160]=Oop [144]=Oop [168]=Oop [200]=Oop r9=Oop }
+                      ;*new {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@95 (line 861)
+  0x000001f23702d470: bcff e988 
+
+  0x000001f23702d474: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f23702d474: feff ffe8 
+
+  0x000001f23702d478: ; ImmutableOopMap {[160]=Oop [144]=Oop [208]=Oop rax=Oop [200]=Oop }
+                      ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::defineClass@114 (line 862)
+  0x000001f23702d478: a470 bcff 
+
+  0x000001f23702d47c: ;   {internal_word}
+  0x000001f23702d47c: 49ba 7cd3 | 0237 f201 | 0000 4d89 | 9760 0300 
+
+  0x000001f23702d48c: ;   {runtime_call SafepointBlob}
+  0x000001f23702d48c: 00e9 6e5f | b2ff 488d | 8424 e000 | 0000 4889 
+
+  0x000001f23702d49c: ;   {runtime_call monitorexit_nofpu Runtime1 stub}
+  0x000001f23702d49c: 0424 e85d | a9bc ffe9 | 23ff ffff | 9090 498b | 87d8 0300 | 0049 c787 | d803 0000 | 0000 0000 
+  0x000001f23702d4bc: 49c7 87e0 | 0300 0000 | 0000 0048 | 81c4 0001 
+
+  0x000001f23702d4cc: ;   {runtime_call unwind_exception Runtime1 stub}
+  0x000001f23702d4cc: 0000 5de9 | 2c61 bcff | f4f4 f4f4 | f4f4 f4f4 | f4f4 f4f4 
+[Stub Code]
+  0x000001f23702d4e0: ;   {no_reloc}
+  0x000001f23702d4e0: 0f1f 4400 
+
+  0x000001f23702d4e4: ;   {static_stub}
+  0x000001f23702d4e4: 0048 bb00 | 0000 0000 
+
+  0x000001f23702d4ec: ;   {runtime_call}
+  0x000001f23702d4ec: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d4f4: ;   {static_stub}
+  0x000001f23702d4f4: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d4fc: ;   {runtime_call}
+  0x000001f23702d4fc: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d504: ;   {static_stub}
+  0x000001f23702d504: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d50c: ;   {runtime_call}
+  0x000001f23702d50c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d514: ;   {static_stub}
+  0x000001f23702d514: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d51c: ;   {runtime_call}
+  0x000001f23702d51c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d524: ;   {static_stub}
+  0x000001f23702d524: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d52c: ;   {runtime_call}
+  0x000001f23702d52c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d534: ;   {static_stub}
+  0x000001f23702d534: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d53c: ;   {runtime_call}
+  0x000001f23702d53c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d544: ;   {static_stub}
+  0x000001f23702d544: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d54c: ;   {runtime_call}
+  0x000001f23702d54c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d554: ;   {static_stub}
+  0x000001f23702d554: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d55c: ;   {runtime_call}
+  0x000001f23702d55c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d564: ;   {static_stub}
+  0x000001f23702d564: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d56c: ;   {runtime_call}
+  0x000001f23702d56c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d574: ;   {static_stub}
+  0x000001f23702d574: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d57c: ;   {runtime_call}
+  0x000001f23702d57c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d584: ;   {static_stub}
+  0x000001f23702d584: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d58c: ;   {runtime_call}
+  0x000001f23702d58c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d594: ;   {static_stub}
+  0x000001f23702d594: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d59c: ;   {runtime_call}
+  0x000001f23702d59c: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d5a4: ;   {static_stub}
+  0x000001f23702d5a4: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d5ac: ;   {runtime_call}
+  0x000001f23702d5ac: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d5b4: ;   {static_stub}
+  0x000001f23702d5b4: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d5bc: ;   {runtime_call}
+  0x000001f23702d5bc: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d5c4: ;   {static_stub}
+  0x000001f23702d5c4: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d5cc: ;   {runtime_call}
+  0x000001f23702d5cc: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d5d4: ;   {static_stub}
+  0x000001f23702d5d4: 9048 bb00 | 0000 0000 
+
+  0x000001f23702d5dc: ;   {runtime_call}
+  0x000001f23702d5dc: 0000 00e9 | fbff ffff 
+
+  0x000001f23702d5e4: ;   {static_stub}
+  0x000001f23702d5e4: 9048 bbe0 | 0b01 51f2 
+
+  0x000001f23702d5ec: ;   {runtime_call I2C/C2I adapters}
+  0x000001f23702d5ec: 0100 00e9 | f75a b1ff 
+[Exception Handler]
+  0x000001f23702d5f4: ;   {runtime_call handle_exception_from_callee Runtime1 stub}
+  0x000001f23702d5f4: e807 90bc 
+
+  0x000001f23702d5f8: ;   {external_word}
+  0x000001f23702d5f8: ff48 b990 | f031 d8fc | 7f00 0048 
+
+  0x000001f23702d604: ;   {runtime_call}
+  0x000001f23702d604: 83e4 f049 | ba20 f9ff | d7fc 7f00 | 0041 ffd2 
+
+  0x000001f23702d614: ;   {section_word}
+  0x000001f23702d614: f449 ba15 | d602 37f2 | 0100 0041 
+
+  0x000001f23702d620: ;   {runtime_call DeoptimizationBlob}
+  0x000001f23702d620: 52e9 7a50 | b2ff f4f4 
+[/MachCode]
+
+
+Compiled method (c1)     576 1529   !   1       jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull (64 bytes)
+ total in heap  [0x000001f237022e10,0x000001f237023b48] = 3384
+ relocation     [0x000001f237022f68,0x000001f237023078] = 272
+ main code      [0x000001f237023080,0x000001f237023640] = 1472
+ stub code      [0x000001f237023640,0x000001f237023748] = 264
+ oops           [0x000001f237023748,0x000001f237023750] = 8
+ metadata       [0x000001f237023750,0x000001f2370237a0] = 80
+ scopes data    [0x000001f2370237a0,0x000001f237023948] = 424
+ scopes pcs     [0x000001f237023948,0x000001f237023af8] = 432
+ dependencies   [0x000001f237023af8,0x000001f237023b00] = 8
+ handler table  [0x000001f237023b00,0x000001f237023b18] = 24
+ nul chk table  [0x000001f237023b18,0x000001f237023b48] = 48
+
+[Constant Pool (empty)]
+
+[MachCode]
+[Entry Point]
+  # {method} {0x000001f25143d2d0} 'findClassOnClassPathOrNull' '(Ljava/lang/String;)Ljava/lang/Class;' in 'jdk/internal/loader/BuiltinClassLoader'
+  # this:     rdx:rdx   = 'jdk/internal/loader/BuiltinClassLoader'
+  # parm0:    r8:r8     = 'java/lang/String'
+  #           [sp+0x130]  (sp of caller)
+  0x000001f237023080: 448b 5208 | 49bb 0000 | 0051 f201 | 0000 4d03 | d34c 3bd0 
+
+  0x000001f237023094: ;   {runtime_call ic_miss_stub}
+  0x000001f237023094: 0f85 e699 | b2ff 660f | 1f44 0000 
+[Verified Entry Point]
+  0x000001f2370230a0: 8984 2400 | 90ff ff55 | 4881 ec20 | 0100 0048 | 8994 24c0 | 0000 004c | 8984 24c8 | 0000 0049 
+  0x000001f2370230c0: 3b00 498b | f041 b82e | 0000 0041 | b92f 0000 | 0048 8bd6 
+
+  0x000001f2370230d4: ;   {optimized virtual_call}
+  0x000001f2370230d4: 6666 90e8 
+
+  0x000001f2370230d8: ; ImmutableOopMap {[200]=Oop [192]=Oop }
+                      ;*invokevirtual replace {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@5 (line 755)
+  0x000001f2370230d8: 84fe e1ff 
+
+  0x000001f2370230dc: ; implicit exception: dispatches to 0x000001f23702354e
+  0x000001f2370230dc: 483b 0048 | 83f8 000f | 8419 0000 | 0048 83f8 | 000f 850a 
+
+  0x000001f2370230f0: ;   {oop("null"{0x0000000601433fe0})}
+  0x000001f2370230f0: 0000 0048 | b8e0 3f43 | 0106 0000 | 00e9 0a00 
+
+  0x000001f237023100: ;   {oop("null"{0x0000000601433fe0})}
+  0x000001f237023100: 0000 48b8 | e03f 4301 | 0600 0000 
+
+  0x000001f23702310c: ; implicit exception: dispatches to 0x000001f237023553
+  0x000001f23702310c: 8b50 1448 | c1e2 038b | 720c 83fe | 00ba 0000 | 0000 0f85 | 0500 0000 | ba01 0000 | 0083 e201 
+  0x000001f23702312c: 83fa 000f | 847c 0000 
+
+  0x000001f237023134: ;   {metadata('java/lang/String')}
+  0x000001f237023134: 0048 ba70 | e900 51f2 | 0100 0049 | 8b87 0801 | 0000 488d | 7818 493b | bf18 0100 | 000f 8706 
+  0x000001f237023154: 0400 0049 | 89bf 0801 | 0000 48c7 | 0001 0000 | 0048 8bca | 49ba 0000 | 0051 f201 | 0000 492b 
+  0x000001f237023174: ca89 4808 | 4833 c989 | 480c 4833 | c948 8948 
+
+  0x000001f237023184: ;   {oop(".class"{0x0000000601414500})}
+  0x000001f237023184: 1049 b800 | 4541 0106 | 0000 0048 | 8bd0 4889 | 8424 d000 | 0000 0f1f 
+
+  0x000001f23702319c: ;   {optimized virtual_call}
+  0x000001f23702319c: 4400 00e8 
+
+  0x000001f2370231a0: ; ImmutableOopMap {[200]=Oop [192]=Oop [208]=Oop }
+                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::simpleConcat@22 (line 411)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f2370231a0: dc9b b2ff | 488b b424 | d000 0000 | e926 0100 | 000f be48 | 10c1 e118 | 4c8b c141 | c1f8 1849 
+  0x000001f2370231c0: 8bc8 d3fe | 4863 f641 | 83f8 010f | 850d 0000 | 0049 ba00 | 0000 0001 | 0000 0049 | 0bf2 8bce 
+  0x000001f2370231e0: 83f9 000f | 8cd8 0200 | 0049 ba06 | 0000 0000 | 0000 0049 | 03f2 448b | c641 83f8 | 0048 8984 
+  0x000001f237023200: 24e0 0000 | 000f 8c34 | 0200 00b9 | 2000 0000 | 4c8b ce49 | d3f9 458b | c945 0fbe | c949 8bc9 
+  0x000001f237023220: 4d8b c841 
+
+  0x000001f237023224: ;   {oop(a 'java/lang/Class'{0x0000000601433db0} = byte)}
+  0x000001f237023224: d3e1 49b8 | b03d 4301 | 0600 0000 
+
+  0x000001f237023230: ;   {oop(a 'jdk/internal/misc/Unsafe'{0x0000000601420b50})}
+  0x000001f237023230: 48ba 500b | 4201 0600 | 0000 4889 | b424 d800 | 0000 0f1f 
+
+  0x000001f237023244: ;   {optimized virtual_call}
+  0x000001f237023244: 4400 00e8 
+
+  0x000001f237023248: ; ImmutableOopMap {[200]=Oop [192]=Oop [224]=Oop }
+                      ;*invokevirtual allocateUninitializedArray {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::newArray@19 (line 494)
+                      ; - java.lang.StringConcatHelper::simpleConcat@61 (line 421)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f237023248: 348a e0ff | 4883 f800 | 0f84 2a00 
+
+  0x000001f237023254: ;   {metadata({type array byte})}
+  0x000001f237023254: 0000 49b9 | 3867 0051 | f201 0000 | 448b 4008 | 49ba 0000 | 0051 f201 | 0000 4d03 | c24d 3b48 
+  0x000001f237023274: 380f 85ef | 0200 00e9 | 0000 0000 
+
+  0x000001f237023280: ;   {oop(".class"{0x0000000601414500})}
+  0x000001f237023280: 488b f049 | b900 4541 | 0106 0000 | 0048 8b94 | 24d8 0000 | 004c 8bc6 | 4889 b424 | e800 0000 
+  0x000001f2370232a0: 0f1f 8000 
+
+  0x000001f2370232a4: ;   {static_call}
+  0x000001f2370232a4: 0000 00e8 
+
+  0x000001f2370232a8: ; ImmutableOopMap {[200]=Oop [192]=Oop [224]=Oop [232]=Oop }
+                      ;*invokestatic prepend {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::simpleConcat@71 (line 424)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f2370232a8: 1470 e6ff | 488b d04c | 8b84 24e8 | 0000 004c | 8b8c 24e0 
+
+  0x000001f2370232bc: ;   {static_call}
+  0x000001f2370232bc: 0000 00e8 
+
+  0x000001f2370232c0: ; ImmutableOopMap {[200]=Oop [192]=Oop [232]=Oop }
+                      ;*invokestatic prepend {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::simpleConcat@81 (line 425)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f2370232c0: fc6f e6ff | 488b 9424 | e800 0000 
+
+  0x000001f2370232cc: ;   {static_call}
+  0x000001f2370232cc: 4c8b c0e8 
+
+  0x000001f2370232d0: ; ImmutableOopMap {[200]=Oop [192]=Oop }
+                      ;*invokestatic newString {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::simpleConcat@90 (line 426)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f2370232d0: 4c35 eaff 
+
+  0x000001f2370232d4: ;   {oop(a 'java/lang/Class'{0x000000060158e0e0} = 'java/lang/System')}
+  0x000001f2370232d4: 488b f049 | b8e0 e058 | 0106 0000 | 0045 8b40 | 7c49 c1e0 | 0349 83f8 | 000f 8567 | 0000 0048 
+  0x000001f2370232f4: 8b94 24c0 | 0000 008b | 7a58 48c1 | e703 483b | 074c 8bc6 | 41b9 0000 | 0000 488b | d766 0f1f 
+  0x000001f237023314: ;   {optimized virtual_call}
+  0x000001f237023314: 4400 00e8 
+
+  0x000001f237023318: ; ImmutableOopMap {[200]=Oop [192]=Oop }
+                      ;*invokevirtual getResource {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@26 (line 757)
+  0x000001f237023318: c4fd faff | 4883 f800 | 0f84 f900 | 0000 4c8b | 8424 c800 | 0000 4c8b | c848 8b94 | 24c0 0000 
+  0x000001f237023338: 0066 0f1f 
+
+  0x000001f23702333c: ;   {optimized virtual_call}
+  0x000001f23702333c: 4400 00e8 
+
+  0x000001f237023340: ; ImmutableOopMap {}
+                      ;*invokevirtual defineClass {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@37 (line 760)
+  0x000001f237023340: 7c9b 0000 | 4881 c420 | 0100 005d 
+
+  0x000001f23702334c: ;   {poll_return}
+  0x000001f23702334c: 493b a748 | 0300 000f | 871f 0200 | 00c3 660f | 1f44 0000 
+
+  0x000001f237023360: ;   {no_reloc}
+  0x000001f237023360: e938 0200 | 0000 0000 | 0000 e938 | 0200 004c | 8b84 24c0 | 0000 004c | 8bce 488b | bc24 c800 
+  0x000001f237023380: 0000 488b | d048 8984 | 24f0 0000 
+
+  0x000001f23702338c: ;   {optimized virtual_call}
+  0x000001f23702338c: 0066 90e8 
+
+  0x000001f237023390: ; ImmutableOopMap {[240]=Oop }
+                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@52 (line 768)
+  0x000001f237023390: ec99 b2ff 
+
+  0x000001f237023394: ;   {static_call}
+  0x000001f237023394: 6666 90e8 
+
+  0x000001f237023398: ; ImmutableOopMap {[240]=Oop }
+                      ;*invokestatic getCallerClass {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.security.AccessController::doPrivileged@2 (line 318)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@57 (line 781)
+  0x000001f237023398: e49f b2ff | 488b 9424 | f000 0000 | 4889 8424 | f800 0000 | 9048 b8ff | ffff ffff 
+
+  0x000001f2370233b4: ;   {virtual_call}
+  0x000001f2370233b4: ffff ffe8 
+
+  0x000001f2370233b8: ; ImmutableOopMap {[248]=Oop }
+                      ;*invokeinterface run {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.security.AccessController::executePrivileged@29 (line 776)
+                      ; - java.security.AccessController::doPrivileged@5 (line 318)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@57 (line 781)
+  0x000001f2370233b8: c49c b2ff | 4883 f800 | 0f84 2800 
+
+  0x000001f2370233c4: ;   {metadata('java/lang/Class')}
+  0x000001f2370233c4: 0000 48bf | 2817 0051 | f201 0000 | 8b50 0849 | ba00 0000 | 51f2 0100 | 0049 03d2 | 483b fa0f 
+  0x000001f2370233e4: 85cb 0100 | 00e9 0000 | 0000 4881 | c420 0100 
+
+  0x000001f2370233f4: ;   {poll_return}
+  0x000001f2370233f4: 005d 493b | a748 0300 | 000f 87ba | 0100 00c3 | 498b 87d8 | 0300 004d | 33d2 4d89 | 97d8 0300 
+  0x000001f237023414: 004d 33d2 | 4d89 97e0 
+
+  0x000001f23702341c: ;   {oop(NULL)}
+  0x000001f23702341c: 0300 0048 | b800 0000 | 0000 0000 | 0048 81c4 | 2001 0000 
+
+  0x000001f237023430: ;   {poll_return}
+  0x000001f237023430: 5d49 3ba7 | 4803 0000 | 0f87 9501 
+
+  0x000001f23702343c: ;   {metadata('java/lang/OutOfMemoryError')}
+  0x000001f23702343c: 0000 c348 | baf0 ea08 | 51f2 0100 | 0049 8b87 | 0801 0000 | 488d 7828 | 493b bf18 | 0100 000f 
+  0x000001f23702345c: 8788 0100 | 0049 89bf | 0801 0000 | 48c7 0001 | 0000 0048 | 8bca 49ba | 0000 0051 | f201 0000 
+  0x000001f23702347c: 492b ca89 | 4808 4833 | c989 480c | 4833 c948 | 8948 1048 | 8948 1848 
+
+  0x000001f237023494: ;   {oop("Overflow: String length out of range"{0x00000006017225d8})}
+  0x000001f237023494: 8948 2049 | b8d8 2572 | 0106 0000 | 0048 8bd0 | 4889 8424 | 0001 0000 
+
+  0x000001f2370234ac: ;   {optimized virtual_call}
+  0x000001f2370234ac: 6666 90e8 
+
+  0x000001f2370234b0: ; ImmutableOopMap {[224]=Oop [200]=Oop [192]=Oop [256]=Oop }
+                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::checkOverflow@13 (line 57)
+                      ; - java.lang.StringConcatHelper::mix@23 (line 138)
+                      ; - java.lang.StringConcatHelper::simpleConcat@54 (line 420)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f2370234b0: cc98 b2ff | 488b 8424 | 0001 0000 | e961 0100 | 0048 8984 | 24e0 0000 
+
+  0x000001f2370234c8: ;   {metadata('java/lang/OutOfMemoryError')}
+  0x000001f2370234c8: 0048 baf0 | ea08 51f2 | 0100 0049 | 8b87 0801 | 0000 488d | 7828 493b | bf18 0100 | 000f 870b 
+  0x000001f2370234e8: 0100 0049 | 89bf 0801 | 0000 48c7 | 0001 0000 | 0048 8bca | 49ba 0000 | 0051 f201 | 0000 492b 
+  0x000001f237023508: ca89 4808 | 4833 c989 | 480c 4833 | c948 8948 | 1048 8948 | 1848 8948 
+
+  0x000001f237023520: ;   {oop("Overflow: String length out of range"{0x00000006017225d8})}
+  0x000001f237023520: 2049 b8d8 | 2572 0106 | 0000 0048 | 8bd0 4889 | 8424 0801 
+
+  0x000001f237023534: ;   {optimized virtual_call}
+  0x000001f237023534: 0000 90e8 
+
+  0x000001f237023538: ; ImmutableOopMap {[192]=Oop [200]=Oop [264]=Oop [224]=Oop }
+                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::checkOverflow@13 (line 57)
+                      ; - java.lang.StringConcatHelper::mix@23 (line 138)
+                      ; - java.lang.StringConcatHelper::simpleConcat@46 (line 419)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f237023538: 4498 b2ff | 488b 8424 | 0801 0000 | e9d9 0000 
+
+  0x000001f237023548: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f237023548: 00e8 d20f 
+
+  0x000001f23702354c: ; ImmutableOopMap {r8=Oop [200]=Oop [192]=Oop }
+                      ;*invokevirtual replace {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@5 (line 755)
+                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f23702354c: bdff e8cd 
+
+  0x000001f237023550: ; ImmutableOopMap {[200]=Oop [192]=Oop rax=Oop }
+                      ;*invokevirtual concat {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f237023550: 0fbd ffe8 
+
+  0x000001f237023554: ; ImmutableOopMap {[200]=Oop [192]=Oop rax=Oop }
+                      ;*invokevirtual isEmpty {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::simpleConcat@11 (line 409)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f237023554: c80f bdff 
+
+  0x000001f237023558: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f237023558: e8c3 0fbd 
+
+  0x000001f23702355c: ; ImmutableOopMap {[200]=Oop [192]=Oop rax=Oop }
+                      ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.String::isEmpty@4 (line 1496)
+                      ; - java.lang.StringConcatHelper::simpleConcat@11 (line 409)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f23702355c: ff48 8bd2 
+
+  0x000001f237023560: ;   {runtime_call fast_new_instance Runtime1 stub}
+  0x000001f237023560: e89b 1bbd 
+
+  0x000001f237023564: ; ImmutableOopMap {[200]=Oop [192]=Oop }
+                      ;*new {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::simpleConcat@17 (line 411)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f237023564: ffe9 1bfc | ffff 4889 
+
+  0x000001f23702356c: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
+  0x000001f23702356c: 0424 e8ad 
+
+  0x000001f237023570: ; ImmutableOopMap {[200]=Oop [192]=Oop [224]=Oop }
+                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::newArray@22 (line 494)
+                      ; - java.lang.StringConcatHelper::simpleConcat@61 (line 421)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
+  0x000001f237023570: 36bd ffe8 
+
+  0x000001f237023574: ; ImmutableOopMap {[200]=Oop rsi=Oop rdx=Oop [192]=Oop rdi=Oop }
+                      ;*invokevirtual getResource {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@26 (line 757)
+  0x000001f237023574: a80f bdff 
+
+  0x000001f237023578: ;   {internal_word}
+  0x000001f237023578: 49ba 4c33 | 0237 f201 | 0000 4d89 | 9760 0300 
+
+  0x000001f237023588: ;   {runtime_call SafepointBlob}
+  0x000001f237023588: 00e9 72fe 
+
+  0x000001f23702358c: ;   {metadata(NULL)}
+  0x000001f23702358c: b2ff 48ba | 0000 0000 | 0000 0000 | b800 0f05 
+
+  0x000001f23702359c: ;   {runtime_call load_klass_patching Runtime1 stub}
+  0x000001f23702359c: 0ae8 de52 
+
+  0x000001f2370235a0: ; ImmutableOopMap {rsi=Oop [200]=Oop [192]=Oop }
+                      ;*new {reexecute=1 rethrow=0 return_oop=0}
+                      ; - (reexecute) jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@45 (line 768)
+  0x000001f2370235a0: bdff e9b9 | fdff ff48 
+
+  0x000001f2370235a8: ;   {runtime_call new_instance Runtime1 stub}
+  0x000001f2370235a8: 8bd2 e851 
+
+  0x000001f2370235ac: ; ImmutableOopMap {rsi=Oop [200]=Oop [192]=Oop }
+                      ;*new {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@45 (line 768)
+  0x000001f2370235ac: 15bd ffe9 | bbfd ffff | 4889 0424 
+
+  0x000001f2370235b8: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
+  0x000001f2370235b8: e863 36bd 
+
+  0x000001f2370235bc: ; ImmutableOopMap {}
+                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@60 (line 781)
+                      ;   {internal_word}
+  0x000001f2370235bc: ff49 baf6 | 3302 37f2 | 0100 004d | 8997 6003 
+
+  0x000001f2370235cc: ;   {runtime_call SafepointBlob}
+  0x000001f2370235cc: 0000 e92d 
+
+  0x000001f2370235d0: ;   {internal_word}
+  0x000001f2370235d0: feb2 ff49 | ba31 3402 | 37f2 0100 | 004d 8997 | 6003 0000 
+
+  0x000001f2370235e4: ;   {runtime_call SafepointBlob}
+  0x000001f2370235e4: e917 feb2 | ff48 8bd2 
+
+  0x000001f2370235ec: ;   {runtime_call fast_new_instance Runtime1 stub}
+  0x000001f2370235ec: e80f 1bbd 
+
+  0x000001f2370235f0: ; ImmutableOopMap {[224]=Oop [200]=Oop [192]=Oop }
+                      ;*new {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::checkOverflow@7 (line 57)
+                      ; - java.lang.StringConcatHelper::mix@23 (line 138)
+                      ; - java.lang.StringConcatHelper::simpleConcat@54 (line 420)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f2370235f0: ffe9 a1fe | ffff 488b 
+
+  0x000001f2370235f8: ;   {runtime_call fast_new_instance Runtime1 stub}
+  0x000001f2370235f8: d2e8 021b 
+
+  0x000001f2370235fc: ; ImmutableOopMap {[200]=Oop [192]=Oop [224]=Oop }
+                      ;*new {reexecute=0 rethrow=0 return_oop=0}
+                      ; - java.lang.StringConcatHelper::checkOverflow@7 (line 57)
+                      ; - java.lang.StringConcatHelper::mix@23 (line 138)
+                      ; - java.lang.StringConcatHelper::simpleConcat@46 (line 419)
+                      ; - java.lang.String::concat@11 (line 2776)
+                      ; - jdk.internal.loader.BuiltinClassLoader::findClassOnClassPathOrNull@10 (line 755)
+  0x000001f2370235fc: bdff e91e | ffff ff90 | 9049 8b87 | d803 0000 | 49c7 87d8 | 0300 0000 | 0000 0049 | c787 e003 
+  0x000001f23702361c: 0000 0000 | 0000 4881 | c420 0100 
+
+  0x000001f237023628: ;   {runtime_call unwind_exception Runtime1 stub}
+  0x000001f237023628: 005d e9d1 | ffbc fff4 | f4f4 f4f4 | f4f4 f4f4 | f4f4 f4f4 | f4f4 f4f4 
+[Stub Code]
+  0x000001f237023640: ;   {no_reloc}
+  0x000001f237023640: 0f1f 4400 
+
+  0x000001f237023644: ;   {static_stub}
+  0x000001f237023644: 0048 bb00 | 0000 0000 
+
+  0x000001f23702364c: ;   {runtime_call}
+  0x000001f23702364c: 0000 00e9 | fbff ffff 
+
+  0x000001f237023654: ;   {static_stub}
+  0x000001f237023654: 9048 bb00 | 0000 0000 
+
+  0x000001f23702365c: ;   {runtime_call}
+  0x000001f23702365c: 0000 00e9 | fbff ffff 
+
+  0x000001f237023664: ;   {static_stub}
+  0x000001f237023664: 9048 bb00 | 0000 0000 
+
+  0x000001f23702366c: ;   {runtime_call}
+  0x000001f23702366c: 0000 00e9 | fbff ffff 
+
+  0x000001f237023674: ;   {static_stub}
+  0x000001f237023674: 9048 bb00 | 0000 0000 
+
+  0x000001f23702367c: ;   {runtime_call}
+  0x000001f23702367c: 0000 00e9 | fbff ffff 
+
+  0x000001f237023684: ;   {static_stub}
+  0x000001f237023684: 9048 bb00 | 0000 0000 
+
+  0x000001f23702368c: ;   {runtime_call}
+  0x000001f23702368c: 0000 00e9 | fbff ffff 
+
+  0x000001f237023694: ;   {static_stub}
+  0x000001f237023694: 9048 bb00 | 0000 0000 
+
+  0x000001f23702369c: ;   {runtime_call}
+  0x000001f23702369c: 0000 00e9 | fbff ffff 
+
+  0x000001f2370236a4: ;   {static_stub}
+  0x000001f2370236a4: 9048 bb00 | 0000 0000 
+
+  0x000001f2370236ac: ;   {runtime_call}
+  0x000001f2370236ac: 0000 00e9 | fbff ffff 
+
+  0x000001f2370236b4: ;   {static_stub}
+  0x000001f2370236b4: 9048 bba8 | ce43 51f2 
+
+  0x000001f2370236bc: ;   {runtime_call I2C/C2I adapters}
+  0x000001f2370236bc: 0100 00e9 | 1d5d b2ff 
+
+  0x000001f2370236c4: ;   {static_stub}
+  0x000001f2370236c4: 9048 bb00 | 0000 0000 
+
+  0x000001f2370236cc: ;   {runtime_call}
+  0x000001f2370236cc: 0000 00e9 | fbff ffff 
+
+  0x000001f2370236d4: ;   {static_stub}
+  0x000001f2370236d4: 9048 bb00 | 0000 0000 
+
+  0x000001f2370236dc: ;   {runtime_call}
+  0x000001f2370236dc: 0000 00e9 | fbff ffff 
+
+  0x000001f2370236e4: ;   {static_stub}
+  0x000001f2370236e4: 9048 bb00 | 0000 0000 
+
+  0x000001f2370236ec: ;   {runtime_call}
+  0x000001f2370236ec: 0000 00e9 | fbff ffff 
+
+  0x000001f2370236f4: ;   {static_stub}
+  0x000001f2370236f4: 9048 bb00 | 0000 0000 
+
+  0x000001f2370236fc: ;   {runtime_call}
+  0x000001f2370236fc: 0000 00e9 | fbff ffff 
+
+  0x000001f237023704: ;   {static_stub}
+  0x000001f237023704: 9048 bb00 | 0000 0000 
+
+  0x000001f23702370c: ;   {runtime_call}
+  0x000001f23702370c: 0000 00e9 | fbff ffff 
+[Exception Handler]
+  0x000001f237023714: ;   {runtime_call handle_exception_from_callee Runtime1 stub}
+  0x000001f237023714: e8e7 2ebd 
+
+  0x000001f237023718: ;   {external_word}
+  0x000001f237023718: ff48 b990 | f031 d8fc | 7f00 0048 
+
+  0x000001f237023724: ;   {runtime_call}
+  0x000001f237023724: 83e4 f049 | ba20 f9ff | d7fc 7f00 | 0041 ffd2 
+
+  0x000001f237023734: ;   {section_word}
+  0x000001f237023734: f449 ba35 | 3702 37f2 | 0100 0041 
+
+  0x000001f237023740: ;   {runtime_call DeoptimizationBlob}
+  0x000001f237023740: 52e9 5aef | b2ff f4f4 
+[/MachCode]
+
+
+---------------  P R O C E S S  ---------------
+
+Threads class SMR info:
+_java_thread_list=0x000001f296541c60, length=18, elements={
+0x000001f22da2ca00, 0x000001f24f8adb50, 0x000001f24f8aeaf0, 0x000001f2502dac10,
+0x000001f2502db9a0, 0x000001f2502df390, 0x000001f2502dfc60, 0x000001f2502e0940,
+0x000001f2502f4f50, 0x000001f2503ca640, 0x000001f2502d09c0, 0x000001f2503ceb40,
+0x000001f2504b9300, 0x000001f250541700, 0x000001f250b74010, 0x000001f250b78a60,
+0x000001f296533130, 0x000001f296541430
+}
+
+Java Threads: ( => current thread )
+  0x000001f22da2ca00 JavaThread "main" [_thread_blocked, id=15788, stack(0x000000b7f0a00000,0x000000b7f0b00000)]
+  0x000001f24f8adb50 JavaThread "Reference Handler" daemon [_thread_blocked, id=6652, stack(0x000000b7f1100000,0x000000b7f1200000)]
+  0x000001f24f8aeaf0 JavaThread "Finalizer" daemon [_thread_blocked, id=11100, stack(0x000000b7f1200000,0x000000b7f1300000)]
+  0x000001f2502dac10 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=14736, stack(0x000000b7f1300000,0x000000b7f1400000)]
+  0x000001f2502db9a0 JavaThread "Attach Listener" daemon [_thread_blocked, id=6896, stack(0x000000b7f1400000,0x000000b7f1500000)]
+  0x000001f2502df390 JavaThread "Service Thread" daemon [_thread_blocked, id=14384, stack(0x000000b7f1500000,0x000000b7f1600000)]
+  0x000001f2502dfc60 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=4984, stack(0x000000b7f1600000,0x000000b7f1700000)]
+  0x000001f2502e0940 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=5680, stack(0x000000b7f1700000,0x000000b7f1800000)]
+  0x000001f2502f4f50 JavaThread "Sweeper thread" daemon [_thread_blocked, id=15980, stack(0x000000b7f1800000,0x000000b7f1900000)]
+  0x000001f2503ca640 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=5964, stack(0x000000b7f1900000,0x000000b7f1a00000)]
+  0x000001f2502d09c0 JavaThread "C1 CompilerThread1" daemon [_thread_blocked, id=12768, stack(0x000000b7f1a00000,0x000000b7f1b00000)]
+  0x000001f2503ceb40 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=4428, stack(0x000000b7f1b00000,0x000000b7f1c00000)]
+  0x000001f2504b9300 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=6476, stack(0x000000b7f1c00000,0x000000b7f1d00000)]
+  0x000001f250541700 JavaThread "Notification Thread" daemon [_thread_blocked, id=3468, stack(0x000000b7f1d00000,0x000000b7f1e00000)]
+  0x000001f250b74010 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=13112, stack(0x000000b7f1e00000,0x000000b7f1f00000)]
+  0x000001f250b78a60 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=2064, stack(0x000000b7f2000000,0x000000b7f2100000)]
+=>0x000001f296533130 JavaThread "Thread-2" [_thread_in_vm, id=2564, stack(0x000000b7f2c00000,0x000000b7f2d00000)]
+  0x000001f296541430 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=16260, stack(0x000000b7f2e00000,0x000000b7f2f00000)]
+
+Other Threads:
+  0x000001f24f8a7020 VMThread "VM Thread" [stack: 0x000000b7f1000000,0x000000b7f1100000] [id=14828]
+  0x000001f24f8b2fc0 WatcherThread [stack: 0x000000b7f1f00000,0x000000b7f2000000] [id=15908]
+  0x000001f22dadbbe0 GCTaskThread "GC Thread#0" [stack: 0x000000b7f0b00000,0x000000b7f0c00000] [id=15164]
+  0x000001f250e909d0 GCTaskThread "GC Thread#1" [stack: 0x000000b7f2100000,0x000000b7f2200000] [id=15652]
+  0x000001f250e90c90 GCTaskThread "GC Thread#2" [stack: 0x000000b7f2200000,0x000000b7f2300000] [id=15292]
+  0x000001f250e1b660 GCTaskThread "GC Thread#3" [stack: 0x000000b7f2300000,0x000000b7f2400000] [id=8092]
+  0x000001f250e1b920 GCTaskThread "GC Thread#4" [stack: 0x000000b7f2400000,0x000000b7f2500000] [id=12908]
+  0x000001f250e1bbe0 GCTaskThread "GC Thread#5" [stack: 0x000000b7f2500000,0x000000b7f2600000] [id=15492]
+  0x000001f250e1c320 GCTaskThread "GC Thread#6" [stack: 0x000000b7f2600000,0x000000b7f2700000] [id=16196]
+  0x000001f250d92b00 GCTaskThread "GC Thread#7" [stack: 0x000000b7f2700000,0x000000b7f2800000] [id=15536]
+  0x000001f250d92dc0 GCTaskThread "GC Thread#8" [stack: 0x000000b7f2800000,0x000000b7f2900000] [id=14772]
+  0x000001f250d93080 GCTaskThread "GC Thread#9" [stack: 0x000000b7f2900000,0x000000b7f2a00000] [id=1520]
+  0x000001f22da4ad10 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000b7f0c00000,0x000000b7f0d00000] [id=14892]
+  0x000001f22daed5b0 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000b7f0d00000,0x000000b7f0e00000] [id=5648]
+  0x000001f24f79c230 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000b7f0e00000,0x000000b7f0f00000] [id=1592]
+  0x000001f250d97be0 ConcurrentGCThread "G1 Refine#1" [stack: 0x000000b7f2a00000,0x000000b7f2b00000] [id=6260]
+  0x000001f250eacc40 ConcurrentGCThread "G1 Refine#2" [stack: 0x000000b7f2b00000,0x000000b7f2c00000] [id=5728]
+  0x000001f24f79cb70 ConcurrentGCThread "G1 Service" [stack: 0x000000b7f0f00000,0x000000b7f1000000] [id=15764]
+
+Threads with active compile tasks:
+
+VM state: not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap address: 0x0000000601000000, size: 8176 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
+
+CDS archive(s) mapped at: [0x000001f251000000-0x000001f251bd0000-0x000001f251bd0000), size 12386304, SharedBaseAddress: 0x000001f251000000, ArchiveRelocationMode: 1.
+Compressed class space mapped at: 0x000001f252000000-0x000001f292000000, reserved size: 1073741824
+Narrow klass base: 0x000001f251000000, Narrow klass shift: 0, Narrow klass range: 0x100000000
+
+GC Precious Log:
+ CPUs: 12 total, 12 available
+ Memory: 32697M
+ Large Page Support: Disabled
+ NUMA Support: Disabled
+ Compressed Oops: Enabled (Zero based)
+ Heap Region Size: 4M
+ Heap Min Capacity: 8M
+ Heap Initial Capacity: 512M
+ Heap Max Capacity: 8176M
+ Pre-touch: Disabled
+ Parallel Workers: 10
+ Concurrent Workers: 3
+ Concurrent Refinement Workers: 10
+ Periodic GC: Disabled
+
+Heap:
+ garbage-first heap   total 524288K, used 26505K [0x0000000601000000, 0x0000000800000000)
+  region size 4096K, 6 young (24576K), 1 survivors (4096K)
+ Metaspace       used 7729K, committed 7872K, reserved 1114112K
+  class space    used 919K, committed 960K, reserved 1048576K
+
+Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
+|   0|0x0000000601000000, 0x0000000601400000, 0x0000000601400000|100%| O|  |TAMS 0x0000000601000000, 0x0000000601000000| Untracked 
+|   1|0x0000000601400000, 0x0000000601800000, 0x0000000601800000|100%| O|  |TAMS 0x0000000601400000, 0x0000000601400000| Untracked 
+|   2|0x0000000601800000, 0x000000060183ba00, 0x0000000601c00000|  5%| O|  |TAMS 0x0000000601800000, 0x0000000601800000| Untracked 
+|   3|0x0000000601c00000, 0x0000000601c00000, 0x0000000602000000|  0%| F|  |TAMS 0x0000000601c00000, 0x0000000601c00000| Untracked 
+|   4|0x0000000602000000, 0x0000000602000000, 0x0000000602400000|  0%| F|  |TAMS 0x0000000602000000, 0x0000000602000000| Untracked 
+|   5|0x0000000602400000, 0x0000000602400000, 0x0000000602800000|  0%| F|  |TAMS 0x0000000602400000, 0x0000000602400000| Untracked 
+|   6|0x0000000602800000, 0x0000000602800000, 0x0000000602c00000|  0%| F|  |TAMS 0x0000000602800000, 0x0000000602800000| Untracked 
+|   7|0x0000000602c00000, 0x0000000602c00000, 0x0000000603000000|  0%| F|  |TAMS 0x0000000602c00000, 0x0000000602c00000| Untracked 
+|   8|0x0000000603000000, 0x0000000603000000, 0x0000000603400000|  0%| F|  |TAMS 0x0000000603000000, 0x0000000603000000| Untracked 
+|   9|0x0000000603400000, 0x0000000603400000, 0x0000000603800000|  0%| F|  |TAMS 0x0000000603400000, 0x0000000603400000| Untracked 
+|  10|0x0000000603800000, 0x0000000603800000, 0x0000000603c00000|  0%| F|  |TAMS 0x0000000603800000, 0x0000000603800000| Untracked 
+|  11|0x0000000603c00000, 0x0000000603c00000, 0x0000000604000000|  0%| F|  |TAMS 0x0000000603c00000, 0x0000000603c00000| Untracked 
+|  12|0x0000000604000000, 0x0000000604000000, 0x0000000604400000|  0%| F|  |TAMS 0x0000000604000000, 0x0000000604000000| Untracked 
+|  13|0x0000000604400000, 0x0000000604400000, 0x0000000604800000|  0%| F|  |TAMS 0x0000000604400000, 0x0000000604400000| Untracked 
+|  14|0x0000000604800000, 0x0000000604800000, 0x0000000604c00000|  0%| F|  |TAMS 0x0000000604800000, 0x0000000604800000| Untracked 
+|  15|0x0000000604c00000, 0x0000000604c00000, 0x0000000605000000|  0%| F|  |TAMS 0x0000000604c00000, 0x0000000604c00000| Untracked 
+|  16|0x0000000605000000, 0x0000000605000000, 0x0000000605400000|  0%| F|  |TAMS 0x0000000605000000, 0x0000000605000000| Untracked 
+|  17|0x0000000605400000, 0x0000000605400000, 0x0000000605800000|  0%| F|  |TAMS 0x0000000605400000, 0x0000000605400000| Untracked 
+|  18|0x0000000605800000, 0x0000000605800000, 0x0000000605c00000|  0%| F|  |TAMS 0x0000000605800000, 0x0000000605800000| Untracked 
+|  19|0x0000000605c00000, 0x0000000605c00000, 0x0000000606000000|  0%| F|  |TAMS 0x0000000605c00000, 0x0000000605c00000| Untracked 
+|  20|0x0000000606000000, 0x0000000606000000, 0x0000000606400000|  0%| F|  |TAMS 0x0000000606000000, 0x0000000606000000| Untracked 
+|  21|0x0000000606400000, 0x0000000606400000, 0x0000000606800000|  0%| F|  |TAMS 0x0000000606400000, 0x0000000606400000| Untracked 
+|  22|0x0000000606800000, 0x0000000606800000, 0x0000000606c00000|  0%| F|  |TAMS 0x0000000606800000, 0x0000000606800000| Untracked 
+|  23|0x0000000606c00000, 0x0000000606c00000, 0x0000000607000000|  0%| F|  |TAMS 0x0000000606c00000, 0x0000000606c00000| Untracked 
+|  24|0x0000000607000000, 0x0000000607000000, 0x0000000607400000|  0%| F|  |TAMS 0x0000000607000000, 0x0000000607000000| Untracked 
+|  25|0x0000000607400000, 0x0000000607400000, 0x0000000607800000|  0%| F|  |TAMS 0x0000000607400000, 0x0000000607400000| Untracked 
+|  26|0x0000000607800000, 0x0000000607800000, 0x0000000607c00000|  0%| F|  |TAMS 0x0000000607800000, 0x0000000607800000| Untracked 
+|  27|0x0000000607c00000, 0x0000000607c00000, 0x0000000608000000|  0%| F|  |TAMS 0x0000000607c00000, 0x0000000607c00000| Untracked 
+|  28|0x0000000608000000, 0x0000000608000000, 0x0000000608400000|  0%| F|  |TAMS 0x0000000608000000, 0x0000000608000000| Untracked 
+|  29|0x0000000608400000, 0x0000000608400000, 0x0000000608800000|  0%| F|  |TAMS 0x0000000608400000, 0x0000000608400000| Untracked 
+|  30|0x0000000608800000, 0x0000000608800000, 0x0000000608c00000|  0%| F|  |TAMS 0x0000000608800000, 0x0000000608800000| Untracked 
+|  31|0x0000000608c00000, 0x0000000608c00000, 0x0000000609000000|  0%| F|  |TAMS 0x0000000608c00000, 0x0000000608c00000| Untracked 
+|  32|0x0000000609000000, 0x0000000609000000, 0x0000000609400000|  0%| F|  |TAMS 0x0000000609000000, 0x0000000609000000| Untracked 
+|  33|0x0000000609400000, 0x0000000609400000, 0x0000000609800000|  0%| F|  |TAMS 0x0000000609400000, 0x0000000609400000| Untracked 
+|  34|0x0000000609800000, 0x0000000609800000, 0x0000000609c00000|  0%| F|  |TAMS 0x0000000609800000, 0x0000000609800000| Untracked 
+|  35|0x0000000609c00000, 0x0000000609c00000, 0x000000060a000000|  0%| F|  |TAMS 0x0000000609c00000, 0x0000000609c00000| Untracked 
+|  36|0x000000060a000000, 0x000000060a000000, 0x000000060a400000|  0%| F|  |TAMS 0x000000060a000000, 0x000000060a000000| Untracked 
+|  37|0x000000060a400000, 0x000000060a400000, 0x000000060a800000|  0%| F|  |TAMS 0x000000060a400000, 0x000000060a400000| Untracked 
+|  38|0x000000060a800000, 0x000000060a800000, 0x000000060ac00000|  0%| F|  |TAMS 0x000000060a800000, 0x000000060a800000| Untracked 
+|  39|0x000000060ac00000, 0x000000060ac00000, 0x000000060b000000|  0%| F|  |TAMS 0x000000060ac00000, 0x000000060ac00000| Untracked 
+|  40|0x000000060b000000, 0x000000060b000000, 0x000000060b400000|  0%| F|  |TAMS 0x000000060b000000, 0x000000060b000000| Untracked 
+|  41|0x000000060b400000, 0x000000060b400000, 0x000000060b800000|  0%| F|  |TAMS 0x000000060b400000, 0x000000060b400000| Untracked 
+|  42|0x000000060b800000, 0x000000060b800000, 0x000000060bc00000|  0%| F|  |TAMS 0x000000060b800000, 0x000000060b800000| Untracked 
+|  43|0x000000060bc00000, 0x000000060bc00000, 0x000000060c000000|  0%| F|  |TAMS 0x000000060bc00000, 0x000000060bc00000| Untracked 
+|  44|0x000000060c000000, 0x000000060c000000, 0x000000060c400000|  0%| F|  |TAMS 0x000000060c000000, 0x000000060c000000| Untracked 
+|  45|0x000000060c400000, 0x000000060c400000, 0x000000060c800000|  0%| F|  |TAMS 0x000000060c400000, 0x000000060c400000| Untracked 
+|  46|0x000000060c800000, 0x000000060c800000, 0x000000060cc00000|  0%| F|  |TAMS 0x000000060c800000, 0x000000060c800000| Untracked 
+|  47|0x000000060cc00000, 0x000000060cc00000, 0x000000060d000000|  0%| F|  |TAMS 0x000000060cc00000, 0x000000060cc00000| Untracked 
+|  48|0x000000060d000000, 0x000000060d000000, 0x000000060d400000|  0%| F|  |TAMS 0x000000060d000000, 0x000000060d000000| Untracked 
+|  49|0x000000060d400000, 0x000000060d400000, 0x000000060d800000|  0%| F|  |TAMS 0x000000060d400000, 0x000000060d400000| Untracked 
+|  50|0x000000060d800000, 0x000000060d800000, 0x000000060dc00000|  0%| F|  |TAMS 0x000000060d800000, 0x000000060d800000| Untracked 
+|  51|0x000000060dc00000, 0x000000060dc00000, 0x000000060e000000|  0%| F|  |TAMS 0x000000060dc00000, 0x000000060dc00000| Untracked 
+|  52|0x000000060e000000, 0x000000060e000000, 0x000000060e400000|  0%| F|  |TAMS 0x000000060e000000, 0x000000060e000000| Untracked 
+|  53|0x000000060e400000, 0x000000060e400000, 0x000000060e800000|  0%| F|  |TAMS 0x000000060e400000, 0x000000060e400000| Untracked 
+|  54|0x000000060e800000, 0x000000060e800000, 0x000000060ec00000|  0%| F|  |TAMS 0x000000060e800000, 0x000000060e800000| Untracked 
+|  55|0x000000060ec00000, 0x000000060ec00000, 0x000000060f000000|  0%| F|  |TAMS 0x000000060ec00000, 0x000000060ec00000| Untracked 
+|  56|0x000000060f000000, 0x000000060f000000, 0x000000060f400000|  0%| F|  |TAMS 0x000000060f000000, 0x000000060f000000| Untracked 
+|  57|0x000000060f400000, 0x000000060f400000, 0x000000060f800000|  0%| F|  |TAMS 0x000000060f400000, 0x000000060f400000| Untracked 
+|  58|0x000000060f800000, 0x000000060f800000, 0x000000060fc00000|  0%| F|  |TAMS 0x000000060f800000, 0x000000060f800000| Untracked 
+|  59|0x000000060fc00000, 0x000000060fc00000, 0x0000000610000000|  0%| F|  |TAMS 0x000000060fc00000, 0x000000060fc00000| Untracked 
+|  60|0x0000000610000000, 0x0000000610000000, 0x0000000610400000|  0%| F|  |TAMS 0x0000000610000000, 0x0000000610000000| Untracked 
+|  61|0x0000000610400000, 0x0000000610400000, 0x0000000610800000|  0%| F|  |TAMS 0x0000000610400000, 0x0000000610400000| Untracked 
+|  62|0x0000000610800000, 0x0000000610800000, 0x0000000610c00000|  0%| F|  |TAMS 0x0000000610800000, 0x0000000610800000| Untracked 
+|  63|0x0000000610c00000, 0x0000000610c00000, 0x0000000611000000|  0%| F|  |TAMS 0x0000000610c00000, 0x0000000610c00000| Untracked 
+|  64|0x0000000611000000, 0x0000000611000000, 0x0000000611400000|  0%| F|  |TAMS 0x0000000611000000, 0x0000000611000000| Untracked 
+|  65|0x0000000611400000, 0x0000000611400000, 0x0000000611800000|  0%| F|  |TAMS 0x0000000611400000, 0x0000000611400000| Untracked 
+|  66|0x0000000611800000, 0x0000000611800000, 0x0000000611c00000|  0%| F|  |TAMS 0x0000000611800000, 0x0000000611800000| Untracked 
+|  67|0x0000000611c00000, 0x0000000611c00000, 0x0000000612000000|  0%| F|  |TAMS 0x0000000611c00000, 0x0000000611c00000| Untracked 
+|  68|0x0000000612000000, 0x0000000612000000, 0x0000000612400000|  0%| F|  |TAMS 0x0000000612000000, 0x0000000612000000| Untracked 
+|  69|0x0000000612400000, 0x0000000612400000, 0x0000000612800000|  0%| F|  |TAMS 0x0000000612400000, 0x0000000612400000| Untracked 
+|  70|0x0000000612800000, 0x0000000612800000, 0x0000000612c00000|  0%| F|  |TAMS 0x0000000612800000, 0x0000000612800000| Untracked 
+|  71|0x0000000612c00000, 0x0000000612c00000, 0x0000000613000000|  0%| F|  |TAMS 0x0000000612c00000, 0x0000000612c00000| Untracked 
+|  72|0x0000000613000000, 0x0000000613000000, 0x0000000613400000|  0%| F|  |TAMS 0x0000000613000000, 0x0000000613000000| Untracked 
+|  73|0x0000000613400000, 0x0000000613400000, 0x0000000613800000|  0%| F|  |TAMS 0x0000000613400000, 0x0000000613400000| Untracked 
+|  74|0x0000000613800000, 0x0000000613800000, 0x0000000613c00000|  0%| F|  |TAMS 0x0000000613800000, 0x0000000613800000| Untracked 
+|  75|0x0000000613c00000, 0x0000000613c00000, 0x0000000614000000|  0%| F|  |TAMS 0x0000000613c00000, 0x0000000613c00000| Untracked 
+|  76|0x0000000614000000, 0x0000000614000000, 0x0000000614400000|  0%| F|  |TAMS 0x0000000614000000, 0x0000000614000000| Untracked 
+|  77|0x0000000614400000, 0x0000000614400000, 0x0000000614800000|  0%| F|  |TAMS 0x0000000614400000, 0x0000000614400000| Untracked 
+|  78|0x0000000614800000, 0x0000000614800000, 0x0000000614c00000|  0%| F|  |TAMS 0x0000000614800000, 0x0000000614800000| Untracked 
+|  79|0x0000000614c00000, 0x0000000614c00000, 0x0000000615000000|  0%| F|  |TAMS 0x0000000614c00000, 0x0000000614c00000| Untracked 
+|  80|0x0000000615000000, 0x0000000615000000, 0x0000000615400000|  0%| F|  |TAMS 0x0000000615000000, 0x0000000615000000| Untracked 
+|  81|0x0000000615400000, 0x0000000615400000, 0x0000000615800000|  0%| F|  |TAMS 0x0000000615400000, 0x0000000615400000| Untracked 
+|  82|0x0000000615800000, 0x0000000615800000, 0x0000000615c00000|  0%| F|  |TAMS 0x0000000615800000, 0x0000000615800000| Untracked 
+|  83|0x0000000615c00000, 0x0000000615c00000, 0x0000000616000000|  0%| F|  |TAMS 0x0000000615c00000, 0x0000000615c00000| Untracked 
+|  84|0x0000000616000000, 0x0000000616000000, 0x0000000616400000|  0%| F|  |TAMS 0x0000000616000000, 0x0000000616000000| Untracked 
+|  85|0x0000000616400000, 0x0000000616400000, 0x0000000616800000|  0%| F|  |TAMS 0x0000000616400000, 0x0000000616400000| Untracked 
+|  86|0x0000000616800000, 0x0000000616800000, 0x0000000616c00000|  0%| F|  |TAMS 0x0000000616800000, 0x0000000616800000| Untracked 
+|  87|0x0000000616c00000, 0x0000000616c00000, 0x0000000617000000|  0%| F|  |TAMS 0x0000000616c00000, 0x0000000616c00000| Untracked 
+|  88|0x0000000617000000, 0x0000000617000000, 0x0000000617400000|  0%| F|  |TAMS 0x0000000617000000, 0x0000000617000000| Untracked 
+|  89|0x0000000617400000, 0x0000000617400000, 0x0000000617800000|  0%| F|  |TAMS 0x0000000617400000, 0x0000000617400000| Untracked 
+|  90|0x0000000617800000, 0x0000000617800000, 0x0000000617c00000|  0%| F|  |TAMS 0x0000000617800000, 0x0000000617800000| Untracked 
+|  91|0x0000000617c00000, 0x0000000617c00000, 0x0000000618000000|  0%| F|  |TAMS 0x0000000617c00000, 0x0000000617c00000| Untracked 
+|  92|0x0000000618000000, 0x0000000618000000, 0x0000000618400000|  0%| F|  |TAMS 0x0000000618000000, 0x0000000618000000| Untracked 
+|  93|0x0000000618400000, 0x0000000618400000, 0x0000000618800000|  0%| F|  |TAMS 0x0000000618400000, 0x0000000618400000| Untracked 
+|  94|0x0000000618800000, 0x0000000618800000, 0x0000000618c00000|  0%| F|  |TAMS 0x0000000618800000, 0x0000000618800000| Untracked 
+|  95|0x0000000618c00000, 0x0000000618c00000, 0x0000000619000000|  0%| F|  |TAMS 0x0000000618c00000, 0x0000000618c00000| Untracked 
+|  96|0x0000000619000000, 0x0000000619000000, 0x0000000619400000|  0%| F|  |TAMS 0x0000000619000000, 0x0000000619000000| Untracked 
+|  97|0x0000000619400000, 0x0000000619400000, 0x0000000619800000|  0%| F|  |TAMS 0x0000000619400000, 0x0000000619400000| Untracked 
+|  98|0x0000000619800000, 0x0000000619800000, 0x0000000619c00000|  0%| F|  |TAMS 0x0000000619800000, 0x0000000619800000| Untracked 
+|  99|0x0000000619c00000, 0x0000000619c00000, 0x000000061a000000|  0%| F|  |TAMS 0x0000000619c00000, 0x0000000619c00000| Untracked 
+| 100|0x000000061a000000, 0x000000061a000000, 0x000000061a400000|  0%| F|  |TAMS 0x000000061a000000, 0x000000061a000000| Untracked 
+| 101|0x000000061a400000, 0x000000061a400000, 0x000000061a800000|  0%| F|  |TAMS 0x000000061a400000, 0x000000061a400000| Untracked 
+| 102|0x000000061a800000, 0x000000061a800000, 0x000000061ac00000|  0%| F|  |TAMS 0x000000061a800000, 0x000000061a800000| Untracked 
+| 103|0x000000061ac00000, 0x000000061ac00000, 0x000000061b000000|  0%| F|  |TAMS 0x000000061ac00000, 0x000000061ac00000| Untracked 
+| 104|0x000000061b000000, 0x000000061b000000, 0x000000061b400000|  0%| F|  |TAMS 0x000000061b000000, 0x000000061b000000| Untracked 
+| 105|0x000000061b400000, 0x000000061b400000, 0x000000061b800000|  0%| F|  |TAMS 0x000000061b400000, 0x000000061b400000| Untracked 
+| 106|0x000000061b800000, 0x000000061b800000, 0x000000061bc00000|  0%| F|  |TAMS 0x000000061b800000, 0x000000061b800000| Untracked 
+| 107|0x000000061bc00000, 0x000000061bc00000, 0x000000061c000000|  0%| F|  |TAMS 0x000000061bc00000, 0x000000061bc00000| Untracked 
+| 108|0x000000061c000000, 0x000000061c000000, 0x000000061c400000|  0%| F|  |TAMS 0x000000061c000000, 0x000000061c000000| Untracked 
+| 109|0x000000061c400000, 0x000000061c400000, 0x000000061c800000|  0%| F|  |TAMS 0x000000061c400000, 0x000000061c400000| Untracked 
+| 110|0x000000061c800000, 0x000000061c800000, 0x000000061cc00000|  0%| F|  |TAMS 0x000000061c800000, 0x000000061c800000| Untracked 
+| 111|0x000000061cc00000, 0x000000061cc00000, 0x000000061d000000|  0%| F|  |TAMS 0x000000061cc00000, 0x000000061cc00000| Untracked 
+| 112|0x000000061d000000, 0x000000061d000000, 0x000000061d400000|  0%| F|  |TAMS 0x000000061d000000, 0x000000061d000000| Untracked 
+| 113|0x000000061d400000, 0x000000061d400000, 0x000000061d800000|  0%| F|  |TAMS 0x000000061d400000, 0x000000061d400000| Untracked 
+| 114|0x000000061d800000, 0x000000061d800000, 0x000000061dc00000|  0%| F|  |TAMS 0x000000061d800000, 0x000000061d800000| Untracked 
+| 115|0x000000061dc00000, 0x000000061dc00000, 0x000000061e000000|  0%| F|  |TAMS 0x000000061dc00000, 0x000000061dc00000| Untracked 
+| 116|0x000000061e000000, 0x000000061e000000, 0x000000061e400000|  0%| F|  |TAMS 0x000000061e000000, 0x000000061e000000| Untracked 
+| 117|0x000000061e400000, 0x000000061e400000, 0x000000061e800000|  0%| F|  |TAMS 0x000000061e400000, 0x000000061e400000| Untracked 
+| 118|0x000000061e800000, 0x000000061e800000, 0x000000061ec00000|  0%| F|  |TAMS 0x000000061e800000, 0x000000061e800000| Untracked 
+| 119|0x000000061ec00000, 0x000000061ec00000, 0x000000061f000000|  0%| F|  |TAMS 0x000000061ec00000, 0x000000061ec00000| Untracked 
+| 120|0x000000061f000000, 0x000000061f000000, 0x000000061f400000|  0%| F|  |TAMS 0x000000061f000000, 0x000000061f000000| Untracked 
+| 121|0x000000061f400000, 0x000000061f400000, 0x000000061f800000|  0%| F|  |TAMS 0x000000061f400000, 0x000000061f400000| Untracked 
+| 122|0x000000061f800000, 0x000000061f9a6ab0, 0x000000061fc00000| 41%| S|CS|TAMS 0x000000061f800000, 0x000000061f800000| Complete 
+| 123|0x000000061fc00000, 0x000000061fc63540, 0x0000000620000000|  9%| E|  |TAMS 0x000000061fc00000, 0x000000061fc00000| Complete 
+| 124|0x0000000620000000, 0x0000000620400000, 0x0000000620400000|100%| E|CS|TAMS 0x0000000620000000, 0x0000000620000000| Complete 
+| 125|0x0000000620400000, 0x0000000620800000, 0x0000000620800000|100%| E|CS|TAMS 0x0000000620400000, 0x0000000620400000| Complete 
+| 126|0x0000000620800000, 0x0000000620c00000, 0x0000000620c00000|100%| E|CS|TAMS 0x0000000620800000, 0x0000000620800000| Complete 
+| 127|0x0000000620c00000, 0x0000000621000000, 0x0000000621000000|100%| E|CS|TAMS 0x0000000620c00000, 0x0000000620c00000| Complete 
+
+Card table byte_map: [0x000001f23b5a0000,0x000001f23c5a0000] _byte_map_base: 0x000001f238598000
+
+Marking Bits (Prev, Next): (CMBitMap*) 0x000001f22da4a410, (CMBitMap*) 0x000001f22da4a450
+ Prev Bits: [0x000001f23d5a0000, 0x000001f245560000)
+ Next Bits: [0x000001f245560000, 0x000001f24d520000)
+
+Polling page: 0x000001f22d7e0000
+
+Metaspace:
+
+Usage:
+  Non-class:      6.65 MB used.
+      Class:    919.23 KB used.
+       Both:      7.55 MB used.
+
+Virtual space:
+  Non-class space:       64.00 MB reserved,       6.75 MB ( 11%) committed,  1 nodes.
+      Class space:        1.00 GB reserved,     960.00 KB ( <1%) committed,  1 nodes.
+             Both:        1.06 GB reserved,       7.69 MB ( <1%) committed. 
+
+Chunk freelists:
+   Non-Class:  9.11 MB
+       Class:  15.01 MB
+        Both:  24.12 MB
+
+MaxMetaspaceSize: unlimited
+CompressedClassSpaceSize: 1.00 GB
+Initial GC threshold: 21.00 MB
+Current GC threshold: 21.00 MB
+CDS: on
+MetaspaceReclaimPolicy: balanced
+ - commit_granule_bytes: 65536.
+ - commit_granule_words: 8192.
+ - virtual_space_node_default_size: 8388608.
+ - enlarge_chunks_in_place: 1.
+ - new_chunks_are_fully_committed: 0.
+ - uncommit_free_chunks: 1.
+ - use_allocation_guard: 0.
+ - handle_deallocations: 1.
+
+
+Internal statistics:
+
+num_allocs_failed_limit: 0.
+num_arena_births: 128.
+num_arena_deaths: 0.
+num_vsnodes_births: 2.
+num_vsnodes_deaths: 0.
+num_space_committed: 123.
+num_space_uncommitted: 0.
+num_chunks_returned_to_freelist: 0.
+num_chunks_taken_from_freelist: 249.
+num_chunk_merges: 0.
+num_chunk_splits: 161.
+num_chunks_enlarged: 106.
+num_inconsistent_stats: 0.
+
+CodeCache: size=49152Kb used=5496Kb max_used=5496Kb free=43655Kb
+ bounds [0x000001f236b00000, 0x000001f237060000, 0x000001f239b00000]
+ total_blobs=2130 nmethods=1657 adapters=398
+ compilation: enabled
+              stopped_count=0, restarted_count=0
+ full_count=0
+
+Compilation events (20 events):
+Event: 0.524 Thread 0x000001f2502d09c0 1649       1       java.lang.invoke.LambdaFormEditor$TransformKey::inRange (36 bytes)
+Event: 0.524 Thread 0x000001f2502e0940 nmethod 1648 0x000001f237058a90 code [0x000001f237058c20, 0x000001f237058d08]
+Event: 0.524 Thread 0x000001f2504b9300 nmethod 1647 0x000001f237058d90 code [0x000001f237058f40, 0x000001f2370590c8]
+Event: 0.524 Thread 0x000001f2502d09c0 nmethod 1649 0x000001f237059190 code [0x000001f237059320, 0x000001f2370593d8]
+Event: 0.525 Thread 0x000001f2504b9300 1650   !   1       java.io.WinNTFileSystem::resolve (362 bytes)
+Event: 0.527 Thread 0x000001f2504b9300 nmethod 1650 0x000001f237059490 code [0x000001f237059a60, 0x000001f23705b848]
+Event: 0.528 Thread 0x000001f2504b9300 1651       1       org.jetbrains.coverage.org.objectweb.asm.ByteVector::put112 (80 bytes)
+Event: 0.528 Thread 0x000001f2504b9300 nmethod 1651 0x000001f23705c790 code [0x000001f23705c920, 0x000001f23705cac8]
+Event: 0.529 Thread 0x000001f2504b9300 1652       1       java.lang.reflect.Field::getModifiers (5 bytes)
+Event: 0.529 Thread 0x000001f2504b9300 nmethod 1652 0x000001f23705cc10 code [0x000001f23705cda0, 0x000001f23705ce78]
+Event: 0.529 Thread 0x000001f2504b9300 1653   !   1       java.lang.invoke.MethodHandle::setVarargs (25 bytes)
+Event: 0.529 Thread 0x000001f2502e0940 1654       1       java.lang.invoke.MemberName::isVarargs (23 bytes)
+Event: 0.530 Thread 0x000001f2502e0940 nmethod 1654 0x000001f23705cf10 code [0x000001f23705d0a0, 0x000001f23705d1f8]
+Event: 0.530 Thread 0x000001f2504b9300 nmethod 1653 0x000001f23705d290 code [0x000001f23705d440, 0x000001f23705d678]
+Event: 0.530 Thread 0x000001f2503ceb40 1655       1       java.util.zip.ZipEntry::getName (5 bytes)
+Event: 0.530 Thread 0x000001f2503ceb40 nmethod 1655 0x000001f23705d790 code [0x000001f23705d920, 0x000001f23705d9f8]
+Event: 0.531 Thread 0x000001f2502e0940 1656       1       java.net.URI::getRawFragment (5 bytes)
+Event: 0.531 Thread 0x000001f2504b9300 1657       1       java.net.URI::getRawQuery (5 bytes)
+Event: 0.531 Thread 0x000001f2504b9300 nmethod 1657 0x000001f23705da90 code [0x000001f23705dc20, 0x000001f23705dcf8]
+Event: 0.531 Thread 0x000001f2502e0940 nmethod 1656 0x000001f23705dd90 code [0x000001f23705df20, 0x000001f23705dff8]
+
+GC Heap History (4 events):
+Event: 0.335 GC heap before
+{Heap before GC invocations=0 (full 0):
+ garbage-first heap   total 524288K, used 20480K [0x0000000601000000, 0x0000000800000000)
+  region size 4096K, 6 young (24576K), 0 survivors (0K)
+ Metaspace       used 5375K, committed 5568K, reserved 1114112K
+  class space    used 611K, committed 704K, reserved 1048576K
+}
+Event: 0.338 GC heap after
+{Heap after GC invocations=1 (full 0):
+ garbage-first heap   total 524288K, used 8272K [0x0000000601000000, 0x0000000800000000)
+  region size 4096K, 1 young (4096K), 1 survivors (4096K)
+ Metaspace       used 5375K, committed 5568K, reserved 1114112K
+  class space    used 611K, committed 704K, reserved 1048576K
+}
+Event: 0.449 GC heap before
+{Heap before GC invocations=1 (full 0):
+ garbage-first heap   total 524288K, used 28752K [0x0000000601000000, 0x0000000800000000)
+  region size 4096K, 6 young (24576K), 1 survivors (4096K)
+ Metaspace       used 6842K, committed 7040K, reserved 1114112K
+  class space    used 804K, committed 896K, reserved 1048576K
+}
+Event: 0.451 GC heap after
+{Heap after GC invocations=2 (full 0):
+ garbage-first heap   total 524288K, used 10121K [0x0000000601000000, 0x0000000800000000)
+  region size 4096K, 1 young (4096K), 1 survivors (4096K)
+ Metaspace       used 6842K, committed 7040K, reserved 1114112K
+  class space    used 804K, committed 896K, reserved 1048576K
+}
+
+Deoptimization events (0 events):
+No events
+
+Classes unloaded (0 events):
+No events
+
+Classes redefined (0 events):
+No events
+
+Internal exceptions (20 events):
+Event: 0.174 Thread 0x000001f22da2ca00 Exception <a 'java/lang/IncompatibleClassChangeError'{0x00000006207e5bc0}: Found class java.lang.Object, but interface was expected> (0x00000006207e5bc0) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 826]
+Event: 0.174 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x00000006207ebf50}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object)'> (0x00000006207ebf50) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.201 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x0000000620168e80}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000620168e80) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.226 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x00000006203058b0}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x00000006203058b0) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.232 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x000000062036af98}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeSpecialIFC(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x000000062036af98) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.247 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x000000061fc49978}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, int, int, int, int)'> (0x000000061fc49978) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.267 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x000000061fccfd78}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object, int, int, int, int)'> (0x000000061fccfd78) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.275 Thread 0x000001f22da2ca00 Exception <a 'java/lang/ClassNotFoundException'{0x000000061fd11c18}: javax/management/remote/rmi/RMIServerImpl_Skel> (0x000000061fd11c18) 
+thrown [s\open\src\hotspot\share\classfile\systemDictionary.cpp, line 256]
+Event: 0.359 Thread 0x000001f22da2ca00 Exception <a 'java/lang/ClassNotFoundException'{0x0000000620fee4b0}: javax/smartcardio/CardPermission> (0x0000000620fee4b0) 
+thrown [s\open\src\hotspot\share\classfile\systemDictionary.cpp, line 256]
+Event: 0.360 Thread 0x000001f22da2ca00 Exception <a 'java/io/FileNotFoundException'{0x0000000620ffef48}> (0x0000000620ffef48) 
+thrown [s\open\src\hotspot\share\prims\jni.cpp, line 516]
+Event: 0.370 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x00000006208f4d18}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeSpecial(java.lang.Object, java.lang.Object, java.lang.Object, long, java.lang.Object)'> (0x00000006208f4d18) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.370 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x00000006208f88e8}: 'java.lang.Object java.lang.invoke.Invokers$Holder.linkToTargetMethod(java.lang.Object, long, java.lang.Object, java.lang.Object)'> (0x00000006208f88e8) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.411 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x0000000620013688}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000620013688) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.433 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x000000061fcfec50}: 'int java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(java.lang.Object, java.lang.Object)'> (0x000000061fcfec50) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.435 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x000000061fd38d20}: 'void java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x000000061fd38d20) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.475 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x000000062090ce80}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, java.lang.Object)'> (0x000000062090ce80) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.484 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x0000000620b0f148}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeSpecialIFC(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000620b0f148) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.485 Thread 0x000001f22da2ca00 Exception <a 'java/lang/NoSuchMethodError'{0x0000000620b45788}: 'java.lang.Object java.lang.invoke.DirectMethodHandle$Holder.invokeInterface(java.lang.Object, java.lang.Object, java.lang.Object)'> (0x0000000620b45788) 
+thrown [s\open\src\hotspot\share\interpreter\linkResolver.cpp, line 759]
+Event: 0.525 Thread 0x000001f29653ed40 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'{0x000000062023a070}: Index 0 out of bounds for length 0> (0x000000062023a070) 
+thrown [s\open\src\hotspot\share\interpreter\interpreterRuntime.cpp, line 428]
+Event: 0.525 Thread 0x000001f29653ed40 Exception <a 'java/lang/reflect/InvocationTargetException'{0x000000062023a888}> (0x000000062023a888) 
+thrown [s\open\src\hotspot\share\runtime\reflection.cpp, line 1121]
+
+VM Operations (20 events):
+Event: 0.106 Executing VM operation: HandshakeAllThreads
+Event: 0.106 Executing VM operation: HandshakeAllThreads done
+Event: 0.155 Executing VM operation: HandshakeAllThreads
+Event: 0.155 Executing VM operation: HandshakeAllThreads done
+Event: 0.240 Executing VM operation: HandshakeAllThreads
+Event: 0.240 Executing VM operation: HandshakeAllThreads done
+Event: 0.275 Executing VM operation: HandshakeAllThreads
+Event: 0.275 Executing VM operation: HandshakeAllThreads done
+Event: 0.305 Executing VM operation: HandshakeAllThreads
+Event: 0.305 Executing VM operation: HandshakeAllThreads done
+Event: 0.335 Executing VM operation: G1CollectForAllocation
+Event: 0.338 Executing VM operation: G1CollectForAllocation done
+Event: 0.339 Executing VM operation: HandshakeAllThreads
+Event: 0.339 Executing VM operation: HandshakeAllThreads done
+Event: 0.449 Executing VM operation: G1CollectForAllocation
+Event: 0.451 Executing VM operation: G1CollectForAllocation done
+Event: 0.523 Executing VM operation: HandshakeAllThreads
+Event: 0.523 Executing VM operation: HandshakeAllThreads done
+Event: 0.523 Executing VM operation: HandshakeAllThreads
+Event: 0.523 Executing VM operation: HandshakeAllThreads done
+
+Events (20 events):
+Event: 0.528 loading class org/springframework/beans/BeanInfoFactory
+Event: 0.528 loading class org/springframework/beans/BeanInfoFactory done
+Event: 0.529 loading class java/beans/BeanInfo
+Event: 0.529 loading class java/beans/BeanInfo done
+Event: 0.529 loading class org/springframework/data/util/KotlinBeanInfoFactory
+Event: 0.529 loading class org/springframework/data/util/KotlinBeanInfoFactory done
+Event: 0.529 loading class org/springframework/boot/devtools/restart/Restarter
+Event: 0.529 loading class org/springframework/boot/devtools/restart/Restarter done
+Event: 0.529 loading class org/springframework/util/ConcurrentReferenceHashMap$EntrySet
+Event: 0.529 loading class org/springframework/util/ConcurrentReferenceHashMap$EntrySet done
+Event: 0.530 loading class org/springframework/util/ConcurrentReferenceHashMap$EntryIterator
+Event: 0.530 loading class org/springframework/util/ConcurrentReferenceHashMap$EntryIterator done
+Event: 0.530 loading class org/springframework/core/annotation/AnnotationUtils
+Event: 0.530 loading class org/springframework/core/annotation/AnnotationUtils done
+Event: 0.532 loading class org/springframework/core/annotation/AnnotationTypeMappings
+Event: 0.532 loading class org/springframework/core/annotation/AnnotationTypeMappings done
+Event: 0.533 loading class org/springframework/core/annotation/IntrospectionFailureLogger
+Event: 0.533 loading class org/springframework/core/annotation/IntrospectionFailureLogger done
+Event: 0.533 loading class org/springframework/core/annotation/IntrospectionFailureLogger$1
+Event: 0.533 loading class org/springframework/core/annotation/IntrospectionFailureLogger$1 done
+
+
+Dynamic libraries:
+0x00007ff782270000 - 0x00007ff782280000 	C:\Program Files\Java\jdk-17\bin\java.exe
+0x00007ffd29110000 - 0x00007ffd29308000 	C:\WINDOWS\SYSTEM32\ntdll.dll
+0x00007ffd27ef0000 - 0x00007ffd27fad000 	C:\WINDOWS\System32\KERNEL32.DLL
+0x00007ffd26a80000 - 0x00007ffd26d76000 	C:\WINDOWS\System32\KERNELBASE.dll
+0x00007ffd26df0000 - 0x00007ffd26ef0000 	C:\WINDOWS\System32\ucrtbase.dll
+0x00007ffd112f0000 - 0x00007ffd1130b000 	C:\Program Files\Java\jdk-17\bin\VCRUNTIME140.dll
+0x00007ffd15770000 - 0x00007ffd15789000 	C:\Program Files\Java\jdk-17\bin\jli.dll
+0x00007ffd28370000 - 0x00007ffd28420000 	C:\WINDOWS\System32\ADVAPI32.dll
+0x00007ffd27140000 - 0x00007ffd271de000 	C:\WINDOWS\System32\msvcrt.dll
+0x00007ffd284c0000 - 0x00007ffd28560000 	C:\WINDOWS\System32\sechost.dll
+0x00007ffd28700000 - 0x00007ffd28823000 	C:\WINDOWS\System32\RPCRT4.dll
+0x00007ffd269a0000 - 0x00007ffd269c7000 	C:\WINDOWS\System32\bcrypt.dll
+0x00007ffd28bb0000 - 0x00007ffd28d4f000 	C:\WINDOWS\System32\USER32.dll
+0x00007ffd267c0000 - 0x00007ffd267e2000 	C:\WINDOWS\System32\win32u.dll
+0x00007ffd0b9c0000 - 0x00007ffd0bc5a000 	C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.4355_none_60b8b9eb71f62e16\COMCTL32.dll
+0x00007ffd28a00000 - 0x00007ffd28a2b000 	C:\WINDOWS\System32\GDI32.dll
+0x00007ffd26ef0000 - 0x00007ffd27007000 	C:\WINDOWS\System32\gdi32full.dll
+0x00007ffd270a0000 - 0x00007ffd2713d000 	C:\WINDOWS\System32\msvcp_win.dll
+0x00007ffd20880000 - 0x00007ffd2088a000 	C:\WINDOWS\SYSTEM32\VERSION.dll
+0x00007ffd28480000 - 0x00007ffd284b2000 	C:\WINDOWS\System32\IMM32.DLL
+0x00007ffd21ab0000 - 0x00007ffd21abc000 	C:\Program Files\Java\jdk-17\bin\vcruntime140_1.dll
+0x00007ffcef8a0000 - 0x00007ffcef92e000 	C:\Program Files\Java\jdk-17\bin\msvcp140.dll
+0x00007ffcd7a50000 - 0x00007ffcd8630000 	C:\Program Files\Java\jdk-17\bin\server\jvm.dll
+0x00007ffd289f0000 - 0x00007ffd289f8000 	C:\WINDOWS\System32\PSAPI.DLL
+0x00007ffd1e6d0000 - 0x00007ffd1e6f7000 	C:\WINDOWS\SYSTEM32\WINMM.dll
+0x00007ffd106c0000 - 0x00007ffd106c9000 	C:\WINDOWS\SYSTEM32\WSOCK32.dll
+0x00007ffd28a90000 - 0x00007ffd28afb000 	C:\WINDOWS\System32\WS2_32.dll
+0x00007ffd24660000 - 0x00007ffd24672000 	C:\WINDOWS\SYSTEM32\kernel.appcore.dll
+0x00007ffd10c50000 - 0x00007ffd10c5a000 	C:\Program Files\Java\jdk-17\bin\jimage.dll
+0x00007ffd12340000 - 0x00007ffd12524000 	C:\WINDOWS\SYSTEM32\DBGHELP.DLL
+0x00007ffd12280000 - 0x00007ffd122b4000 	C:\WINDOWS\SYSTEM32\dbgcore.DLL
+0x00007ffd27010000 - 0x00007ffd27092000 	C:\WINDOWS\System32\bcryptPrimitives.dll
+0x00007ffd0d6e0000 - 0x00007ffd0d6ee000 	C:\Program Files\Java\jdk-17\bin\instrument.dll
+0x00007ffd0bec0000 - 0x00007ffd0bee5000 	C:\Program Files\Java\jdk-17\bin\java.dll
+0x00007ffd0c000000 - 0x00007ffd0c018000 	C:\Program Files\Java\jdk-17\bin\zip.dll
+0x00007ffcef7c0000 - 0x00007ffcef897000 	C:\Program Files\Java\jdk-17\bin\jsvml.dll
+0x00007ffd271e0000 - 0x00007ffd2794b000 	C:\WINDOWS\System32\SHELL32.dll
+0x00007ffd24860000 - 0x00007ffd24ffd000 	C:\WINDOWS\SYSTEM32\windows.storage.dll
+0x00007ffd28d70000 - 0x00007ffd290c3000 	C:\WINDOWS\System32\combase.dll
+0x00007ffd261e0000 - 0x00007ffd2620e000 	C:\WINDOWS\SYSTEM32\Wldp.dll
+0x00007ffd285c0000 - 0x00007ffd2868d000 	C:\WINDOWS\System32\OLEAUT32.dll
+0x00007ffd281e0000 - 0x00007ffd2828d000 	C:\WINDOWS\System32\SHCORE.dll
+0x00007ffd286a0000 - 0x00007ffd286f5000 	C:\WINDOWS\System32\shlwapi.dll
+0x00007ffd266f0000 - 0x00007ffd26714000 	C:\WINDOWS\SYSTEM32\profapi.dll
+0x00007ffcfdec0000 - 0x00007ffcfded9000 	C:\Program Files\Java\jdk-17\bin\net.dll
+0x00007ffd20280000 - 0x00007ffd2038a000 	C:\WINDOWS\SYSTEM32\WINHTTP.dll
+0x00007ffd25f40000 - 0x00007ffd25faa000 	C:\WINDOWS\system32\mswsock.dll
+0x00007ffcf0160000 - 0x00007ffcf0176000 	C:\Program Files\Java\jdk-17\bin\nio.dll
+0x00007ffd25c10000 - 0x00007ffd25cdb000 	C:\WINDOWS\SYSTEM32\DNSAPI.dll
+0x00007ffd25bd0000 - 0x00007ffd25c0b000 	C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
+0x00007ffd28690000 - 0x00007ffd28698000 	C:\WINDOWS\System32\NSI.dll
+0x00007ffd1d010000 - 0x00007ffd1d01a000 	C:\Windows\System32\rasadhlp.dll
+0x00007ffd1d490000 - 0x00007ffd1d510000 	C:\WINDOWS\System32\fwpuclnt.dll
+0x00007ffd04b90000 - 0x00007ffd04b9a000 	C:\Program Files\Java\jdk-17\bin\management.dll
+0x00007ffcfdeb0000 - 0x00007ffcfdebb000 	C:\Program Files\Java\jdk-17\bin\management_ext.dll
+0x00007ffd26140000 - 0x00007ffd26158000 	C:\WINDOWS\SYSTEM32\CRYPTSP.dll
+0x00007ffd257f0000 - 0x00007ffd25824000 	C:\WINDOWS\system32\rsaenh.dll
+0x00007ffd266a0000 - 0x00007ffd266ce000 	C:\WINDOWS\SYSTEM32\USERENV.dll
+0x00007ffd26130000 - 0x00007ffd2613c000 	C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
+0x00007ffd207e0000 - 0x00007ffd207f7000 	C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
+0x00007ffd20c60000 - 0x00007ffd20c7d000 	C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
+0x00007ffd10560000 - 0x00007ffd10577000 	C:\WINDOWS\system32\napinsp.dll
+0x00007ffd10540000 - 0x00007ffd1055b000 	C:\WINDOWS\system32\pnrpnsp.dll
+0x00007ffd22150000 - 0x00007ffd2216d000 	C:\WINDOWS\system32\NLAapi.dll
+0x00007ffd10580000 - 0x00007ffd10595000 	C:\WINDOWS\system32\wshbth.dll
+0x00007ffd102d0000 - 0x00007ffd102e2000 	C:\WINDOWS\System32\winrnr.dll
+0x00007ffd0d6f0000 - 0x00007ffd0d70a000 	C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.2\bin\breakgen64.dll
+
+dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
+symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\Java\jdk-17\bin;C:\WINDOWS\SYSTEM32;C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.4355_none_60b8b9eb71f62e16;C:\Program Files\Java\jdk-17\bin\server;C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.2\bin
+
+VM Arguments:
+jvm_args: -javaagent:C:\Users\takensoft\AppData\Local\JetBrains\IntelliJIdea2020.1\testAgent\intellij-coverage-agent-1.0.508.jar=C:\Users\takensoft\AppData\Local\Temp\coverageargs -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Didea.launcher.port=53797 -Didea.launcher.bin.path=C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.2\bin -Dfile.encoding=UTF-8 
+java_command: com.intellij.rt.execution.application.AppMainV2 com.example.educatback.EducatBackApplication
+java_class_path (initial): C:\Users\takensoft\Documents\takensoft\backend\educatBack\build\classes\java\main;C:\Users\takensoft\Documents\takensoft\backend\educatBack\build\resources\main;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.projectlombok\lombok\1.18.32\17d46b3e205515e1e8efd3ee4d57ce8018914163\lombok-1.18.32.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-jpa\3.2.5\99c1272c135f1c44b0c94ed0b65dca9b201323b7\spring-boot-starter-data-jpa-3.2.5.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-security\3.2.5\8ce0f176dfcf9a0b3b5d76babd971057f009961d\spring-boot-starter-security-3.2.5.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-validation\3.2.5\3757dceb20eca3880ee1fb5f07159e42c7f7405\spring-boot-starter-validation-3.2.5.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\3.2.5\664d75553c6af42122d4db645f4924a95084e382\spring-boot-starter-web-3.2.5.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-aop\3.2.5\1c6c5d81e6c7f8b3e255c9e384153e9f52a93d1b\spring-boot-starter-aop-3.2.5.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-jdbc\3.2.5\2fc156645b02bef43dcd4e697ae6f4ba9388a978\spring-boot-starter-jdbc-3.2.5.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.hibernate.orm\hibernate-core\6.4.4.Final\5c9decb3c5a70bf7801d41fc32633416c26be069\hibernate-core-6.4.4.Final.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-jpa\3.2.5\f5c674caedc0132c7865b9a2edaa04b8f5351262\spring-data-jpa-3.2.5.jar;C:\Users\takensoft\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aspects\6.1.6\409aba797564c23c08e2307f2df728aed117e914\spring-aspects-6.1.6.jar;C:\Users\takensoft\.grad
+Launcher Type: SUN_STANDARD
+
+[Global flags]
+     intx CICompilerCount                          = 4                                         {product} {ergonomic}
+     uint ConcGCThreads                            = 3                                         {product} {ergonomic}
+     uint G1ConcRefinementThreads                  = 10                                        {product} {ergonomic}
+   size_t G1HeapRegionSize                         = 4194304                                   {product} {ergonomic}
+    uintx GCDrainStackTargetSize                   = 64                                        {product} {ergonomic}
+   size_t InitialHeapSize                          = 536870912                                 {product} {ergonomic}
+     bool ManagementServer                         = true                                      {product} {command line}
+   size_t MarkStackSize                            = 4194304                                   {product} {ergonomic}
+   size_t MaxHeapSize                              = 8573157376                                {product} {ergonomic}
+   size_t MaxNewSize                               = 5142216704                                {product} {ergonomic}
+   size_t MinHeapDeltaBytes                        = 4194304                                   {product} {ergonomic}
+   size_t MinHeapSize                              = 8388608                                   {product} {ergonomic}
+    uintx NonProfiledCodeHeapSize                  = 0                                      {pd product} {ergonomic}
+     bool ProfileInterpreter                       = false                                  {pd product} {command line}
+    uintx ProfiledCodeHeapSize                     = 0                                      {pd product} {ergonomic}
+   size_t SoftMaxHeapSize                          = 8573157376                             {manageable} {ergonomic}
+     intx TieredStopAtLevel                        = 1                                         {product} {command line}
+     bool UseCompressedClassPointers               = true                           {product lp64_product} {ergonomic}
+     bool UseCompressedOops                        = true                           {product lp64_product} {ergonomic}
+     bool UseG1GC                                  = true                                      {product} {ergonomic}
+     bool UseLargePagesIndividualAllocation        = false                                  {pd product} {ergonomic}
+
+Logging:
+Log output configuration:
+ #0: stdout all=warning uptime,level,tags
+ #1: stderr all=off uptime,level,tags
+
+Environment Variables:
+JAVA_HOME=C:\Program Files\Java\jdk-17
+PATH=C:\Program Files\Java\jdk-17\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Bandizip\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\takensoft\AppData\Local\Microsoft\WindowsApps;C:\Users\takensoft\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\takensoft\AppData\Roaming\npm;C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.2\bin;
+USERNAME=takensoft
+OS=Windows_NT
+PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 165 Stepping 3, GenuineIntel
+
+
+
+---------------  S Y S T E M  ---------------
+
+OS:
+ Windows 10 , 64 bit Build 19041 (10.0.19041.3636)
+OS uptime: 0 days 1:16 hours
+
+CPU: total 12 (initial active 12) (6 cores per cpu, 2 threads per core) family 6 model 165 stepping 3 microcode 0xe0, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, fma, vzeroupper, clflush, clflushopt
+
+Memory: 4k page, system-wide physical 32697M (18762M free)
+TotalPageFile size 37817M (AvailPageFile size 17588M)
+current process WorkingSet (physical memory assigned to process): 93M, peak: 93M
+current process commit charge ("private bytes"): 631M, peak: 631M
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (17.0.11+7-LTS-207) for windows-amd64 JRE (17.0.11+7-LTS-207), built on Mar 11 2024 19:01:50 by "mach5one" with MS VC++ 17.6 (VS2022)
+
+END.
 
settings.gradle (added)
+++ settings.gradle
@@ -0,0 +1,1 @@
+rootProject.name = 'educatBack'
 
src/main/java/com/example/educatback/Application/Auth/CustomUserDetailsService.java (added)
+++ src/main/java/com/example/educatback/Application/Auth/CustomUserDetailsService.java
@@ -0,0 +1,28 @@
+package com.example.educatback.Application.Auth;
+
+import com.example.educatback.model.entity.Member;
+import com.example.educatback.model.repository.MemberRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Primary;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.stereotype.Service;
+
+//로그인을 위한 서비스
+@Service
+@RequiredArgsConstructor
+@Primary
+public class CustomUserDetailsService implements UserDetailsService {
+
+    private final MemberRepository userRepository;
+
+    @Override
+    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
+        //이 사용자가 있는 사용자인지 확인
+        Member entity = userRepository.findById(username)
+                .orElseThrow(() -> new UsernameNotFoundException("username not found"));
+
+        return entity;
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/Application/LoginAppService.java (added)
+++ src/main/java/com/example/educatback/Application/LoginAppService.java
@@ -0,0 +1,28 @@
+package com.example.educatback.Application;
+
+import com.example.educatback.model.entity.Member;
+import com.example.educatback.model.repository.MemberRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class LoginAppService implements UserDetailsService {
+
+    private final MemberRepository memberRepository;
+
+    @Override
+    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
+        Member member = memberRepository.findById(username)
+                .orElseThrow(() -> new UsernameNotFoundException("User not found with username: " + username));
+
+        return org.springframework.security.core.userdetails.User
+                .withUsername(member.getUsername())
+                .password(member.getPassword())
+                .roles("USER")
+                .build();
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/Application/MemberAppService.java (added)
+++ src/main/java/com/example/educatback/Application/MemberAppService.java
@@ -0,0 +1,89 @@
+package com.example.educatback.Application;
+
+import com.example.educatback.DuplicateIdException;
+import com.example.educatback.controller.request.MemberRequest;
+import com.example.educatback.controller.response.MemberResponse;
+import com.example.educatback.model.entity.Member;
+import com.example.educatback.model.entity.Solved;
+import com.example.educatback.model.repository.MemberRepository;
+import jakarta.persistence.EntityNotFoundException;
+import jakarta.transaction.Transactional;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Optional;
+
+@Service
+@RequiredArgsConstructor
+public class MemberAppService {
+    private final MemberRepository memberRepository;
+    //회원가입
+    @Transactional
+    public MemberResponse.Detail createMember(MemberRequest.Create memberRequest){
+
+        // 중복된 아이디 검사
+        Optional<Member> existingMember = memberRepository.findById(memberRequest.getId());
+        if (existingMember.isPresent()) {
+            // 중복된 아이디가 있을 경우 클라이언트에게 중복 에러 응답을 반환합니다.
+            throw new DuplicateIdException("ID '" + memberRequest.getId() + "' is already in use.");
+        }
+        var result = new BCryptPasswordEncoder().encode(memberRequest.getPassword());
+
+        Member member = Member.builder()
+                .name(memberRequest.getName())
+                .username(memberRequest.getId())
+                .password(result)
+                .focus(50)
+                .grammar(50)
+                .sentence(50)
+                .understand(50)
+                .expression(50)
+                .word(50)
+                .grade(memberRequest.getGrade())
+                .gender(memberRequest.getGender())
+                .build();
+
+        Member savedMember = memberRepository.save(member);
+
+        return MemberResponse.Detail.of(savedMember);
+    }
+
+    @Transactional
+    public MemberResponse.Detail getMember(String memberId){
+        Optional<Member> existingMember = memberRepository.findById(memberId);
+        if (!existingMember.isPresent()) {
+            throw new EntityNotFoundException("ID '" + memberId + "' 없다 이놈아");
+        }
+        Member member = existingMember.get();
+
+        MemberResponse.Detail memberDetail = MemberResponse.Detail.of(member);
+
+        return memberDetail;
+    }
+
+    @Transactional
+    public MemberResponse.Rating getMemberRating(String memberId){
+        Optional<Member> existingMember = memberRepository.findById(memberId);
+        if (!existingMember.isPresent()) {
+            throw new EntityNotFoundException("ID '" + memberId + "' 없다 이놈아");
+        }
+        Member member = existingMember.get();
+
+        MemberResponse.Rating memberRating = MemberResponse.Rating.of(member);
+
+        return memberRating;
+    }
+
+    @Transactional
+    public List<Solved> getSolvedByMember(String memberId) {
+        System.out.println("solved 하기전");
+        Optional<Member> member = memberRepository.findById(memberId);
+        if (!member.isPresent()) {
+            throw new EntityNotFoundException("Member not found");
+        }
+        System.out.println("solved 하고나서");
+        return member.get().getSolveds();
+    }
+}
 
src/main/java/com/example/educatback/Application/ScoreLogService.java (added)
+++ src/main/java/com/example/educatback/Application/ScoreLogService.java
@@ -0,0 +1,41 @@
+package com.example.educatback.Application;
+
+import com.example.educatback.controller.response.ScoreLogResponseDTO;
+import com.example.educatback.model.entity.Member;
+import com.example.educatback.model.entity.ScoreLog;
+import com.example.educatback.model.repository.MemberRepository;
+import com.example.educatback.model.repository.ScoreLogRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+@RequiredArgsConstructor
+public class ScoreLogService {
+    @Autowired
+    private ScoreLogRepository scoreLogRepository;
+
+    @Autowired
+    private MemberRepository memberRepository;
+
+    public List<ScoreLogResponseDTO> getScoreLogsForMember(String username) {
+        Member member = memberRepository.findById(username)
+                .orElseThrow(() -> new RuntimeException("Member not found"));
+        List<ScoreLog> scoreLogs = scoreLogRepository.findLatestByMemberGroupedByDate(member);
+        return scoreLogs.stream()
+                .map(ScoreLogResponseDTO::fromEntity)
+                .collect(Collectors.toList());
+    }
+
+    public List<ScoreLogResponseDTO.DailyAverageScore> getDailyAverageScoresForMember(String username) {
+        Member member = memberRepository.findById(username)
+                .orElseThrow(() -> new RuntimeException("Member not found"));
+        List<Object[]> averages = scoreLogRepository.findDailyAverageScoresByMember(member);
+        return averages.stream()
+                .map(ScoreLogResponseDTO.DailyAverageScore::fromObjectArray)
+                .collect(Collectors.toList());
+    }
+}
 
src/main/java/com/example/educatback/Application/SolvedService.java (added)
+++ src/main/java/com/example/educatback/Application/SolvedService.java
@@ -0,0 +1,28 @@
+package com.example.educatback.Application;
+
+import com.example.educatback.model.entity.StudyType;
+import com.example.educatback.model.repository.SolvedRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class SolvedService {
+
+    @Autowired
+    private SolvedRepository solvedRepository;
+
+    public Map<StudyType, Long> getStudyTypeCounts() {
+        List<Object[]> results = solvedRepository.findStudyTypeCount();
+        Map<StudyType, Long> studyTypeCountMap = new HashMap<>();
+        for (Object[] result : results) {
+            StudyType studyType = (StudyType) result[0];
+            Long count = (Long) result[1];
+            studyTypeCountMap.put(studyType, count);
+        }
+        return studyTypeCountMap;
+    }
+}
 
src/main/java/com/example/educatback/Application/StudyAnswerAppService.java (added)
+++ src/main/java/com/example/educatback/Application/StudyAnswerAppService.java
@@ -0,0 +1,189 @@
+package com.example.educatback.Application;
+
+import com.example.educatback.controller.request.StudyAnswerRequest;
+import com.example.educatback.controller.response.SolvedResponse;
+import com.example.educatback.model.entity.*;
+import com.example.educatback.model.repository.*;
+import jakarta.persistence.EntityNotFoundException;
+import jakarta.transaction.Transactional;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Optional;
+
+
+
+    @Service
+    @RequiredArgsConstructor
+    public class StudyAnswerAppService {
+        private final SolvedRepository solvedRepository;
+        private final StudyRepository studyRepository;
+        private final WordBundleRepository wordBundleRepository;
+        private final SentenceDiaryRepository sentenceDiaryRepository;
+        private final TravelRepository travelRepository;
+        private final CountryElementRepository countryElementRepository;
+        private final WorldRepository worldRepository;
+        private final SentenceAbsorbRepository sentenceAbsorbRepository;
+        private final MemberRepository memberRepository;
+        private final GrammarFairyRepository grammarFairyRepository;
+        private final GrammarLandRepository grammarLandRepository;
+        private final WordAbsorbRepository wordAbsorbRepository;
+        private final ScoreLogRepository scoreLogRepository;
+
+        @Transactional
+        public SolvedResponse checkAnswer(StudyAnswerRequest.Save request, String userId) {
+            // 요청에서 필요한 정보 추출
+            Long studyId = request.getId();
+            String answer = request.getAnswer();
+            int time = request.getTime();
+            int level = request.getLevel();
+            // studyId로 해당하는 study를 가져옴
+            Study study = studyRepository.findById(studyId)
+                    .orElseThrow(() -> new EntityNotFoundException("Study not found with ID: " + studyId));
+            Member member = memberRepository.findById(userId)
+                    .orElseThrow(() -> new EntityNotFoundException("Member not found with ID: " + userId));
+            System.out.println("스터디가 담겼니??"+study);
+            // studyType에 따라 적절한 엔티티의 정답과 비교
+            String correctAnswer;
+            switch (study.getStudyType()) {
+                case 단어뭉치:
+                    WordBundle wordBundle = wordBundleRepository.findByStudyId(studyId)
+                            .orElseThrow(() -> new EntityNotFoundException("WordBundle not found for Study ID: " + studyId));
+                    correctAnswer = wordBundle.getWord();
+                    break;
+                case 문장일기:
+                    SentenceDiary sentenceDiary = sentenceDiaryRepository.findByStudyId(studyId)
+                            .orElseThrow(() -> new EntityNotFoundException("SentenceDiary not found for Study ID: " + studyId));
+
+                    correctAnswer = sentenceDiary.getSentence();
+                    break;
+                case 동요세상:
+                case 동화세상:
+                    World world = worldRepository.findByStudyIdAndLevel(studyId, level)
+                            .orElseThrow(() -> new EntityNotFoundException("World not found for Study ID: " + studyId + " and level: " + level));
+                    correctAnswer = world.getAnswer();
+                    break;
+                case 동요나라:
+                    CountryElement countryElement = countryElementRepository.findByStudyIdAndLevel(studyId, level)
+                            .orElseThrow(() -> new EntityNotFoundException("CountryElement not found for Study ID: " + studyId + " and level: " + level));
+                    correctAnswer = countryElement.getAnswer();
+                    break;
+                case 동화여행:
+                    Travel travel = travelRepository.findByStudyIdAndLevel(studyId, level)
+                            .orElseThrow(() -> new EntityNotFoundException("Travel not found for Study ID: " + studyId + " and level: " + level));
+                    correctAnswer = travel.getAnswer();
+                    break;
+                case 문장쏙쏙:
+                    SentenceAbsorb sentenceAbsorb = sentenceAbsorbRepository.findByStudyIdAndLevel(studyId, level)
+                            .orElseThrow(() -> new EntityNotFoundException("SentenceAbsorb not found for Study ID: " + studyId + " and level: " + level));
+                    correctAnswer = sentenceAbsorb.getAnswer();
+                    break;
+                case 문법요정:
+                    GrammarFairy grammarFairy = grammarFairyRepository.findByStudyIdAndLevel(studyId, level)
+                            .orElseThrow(() -> new EntityNotFoundException("GrammarFairy not found for Study ID: " + studyId + " and level: " + level));
+                    correctAnswer = grammarFairy.getAnswer();
+                    break;
+                case 문법랜드:
+                    GrammarLand grammarLand = grammarLandRepository.findByStudyIdAndLevel(studyId, level)
+                            .orElseThrow(() -> new EntityNotFoundException("GrammarLand not found for Study ID: " + studyId + " and level: " + level));
+                    correctAnswer = grammarLand.getAnswer();
+                    break;
+                case 어휘력쑥쑥:
+                    WordAbsorb wordAbsorb = wordAbsorbRepository.findByStudyIdAndLevel(studyId, level)
+                            .orElseThrow(() -> new EntityNotFoundException("WordAbsorb not found for Study ID: " + studyId + " and level: " + level));
+                    System.out.println("wordAbsorb해보기"+wordAbsorb.getAnswer());
+                    correctAnswer = wordAbsorb.getAnswer();
+                    break;
+                default:
+                    throw new UnsupportedOperationException("Study type not supported: " + study.getStudyType());
+            }
+            System.out.println("이걸 잘봐라라라ㅏ라라라ㅏ라라ㅏ라라"+correctAnswer);
+            // 정답 검증 및 solved의 is_checked 설정
+            int isChecked = answer.toLowerCase().equals(correctAnswer.toLowerCase()) ? 1 : 2;
+
+            if(isChecked == 1){ //맞춘 경우
+                switch (study.getStudyType()) {
+                    case 단어뭉치, 어휘력쑥쑥:
+                        member.setWord(member.getWord()+5);
+                        break;
+                    case 문장일기, 문장쏙쏙:
+                        member.setSentence(member.getSentence()+5);
+                        break;
+                    case 동요세상, 동요나라:
+                        member.setExpression(member.getExpression()+5);
+                        break;
+                    case 동화세상, 동화여행:
+                        member.setUnderstand(member.getUnderstand()+5);
+                        break;
+                    case 문법요정, 문법랜드:
+                        member.setGrammar(member.getGrammar()+5);
+                        break;
+                    default:
+                        throw new UnsupportedOperationException("Study type not supported: " + study.getStudyType());
+                }
+                if(request.getTime()<=60&&request.getTime()>40){
+                    member.setFocus(member.getFocus()+3);
+                } else if (request.getTime() <= 40 && request.getTime() > 20) {
+                    member.setFocus(member.getFocus()+2);
+                }
+                else {
+                    member.setFocus(member.getFocus()+1);
+                }
+                memberRepository.save(member);
+            }
+            else{ //틀린 경우
+                switch (study.getStudyType()) {
+                    case 단어뭉치, 어휘력쑥쑥:
+                        member.setWord(member.getWord()-5);
+                        break;
+                    case 문장일기, 문장쏙쏙:
+                        member.setSentence(member.getSentence()-5);
+                        break;
+                    case 동요세상, 동요나라:
+                        member.setExpression(member.getExpression()-5);
+                        break;
+                    case 동화세상, 동화여행:
+                        member.setUnderstand(member.getUnderstand()-5);
+                        break;
+                    case 문법요정, 문법랜드:
+                        member.setGrammar(member.getGrammar()-5);
+                        break;
+                    default:
+                        throw new UnsupportedOperationException("Study type not supported: " + study.getStudyType());
+                }
+                if(request.getTime()<=60&&request.getTime()>40){
+                    member.setFocus(member.getFocus()-3);
+                } else if (request.getTime() <= 40 && request.getTime() > 20) {
+                    member.setFocus(member.getFocus()-2);
+                }
+                else {
+                    member.setFocus(member.getFocus()-1);
+                }
+                memberRepository.save(member);
+            }
+            System.out.println("socreLog 하는중임");
+            ScoreLog scoreLog = new ScoreLog();
+            scoreLog.setMember(member);
+            scoreLog.setWord(member.getWord());
+            scoreLog.setFocus(member.getFocus());
+            scoreLog.setGrammar(member.getGrammar());
+            scoreLog.setExpression(member.getExpression());
+            scoreLog.setSentence(member.getSentence());
+            scoreLog.setUnderstand(member.getUnderstand());
+
+            scoreLogRepository.save(scoreLog);
+            System.out.println("socreLog 끝남");
+            // study와 연결된 solved 생성
+            Solved solved = new Solved();
+            solved.setAnswer(answer);
+            solved.setIsChecked(isChecked);
+            solved.setStudy(study);
+            solved.setMember(member);
+            solved.setTime(60-time);
+            solved.setLevel(level);
+            System.out.println("여기까지들어가니??????????????????????????????");
+            // SolvedResponse 객체 생성 및 반환
+            return SolvedResponse.from(solvedRepository.save(solved));
+        }
+    }
+
 
src/main/java/com/example/educatback/Application/StudyAppService.java (added)
+++ src/main/java/com/example/educatback/Application/StudyAppService.java
@@ -0,0 +1,9 @@
+package com.example.educatback.Application;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class StudyAppService {
+}
 
src/main/java/com/example/educatback/Auth/CustomAuthenticationFilter.java (added)
+++ src/main/java/com/example/educatback/Auth/CustomAuthenticationFilter.java
@@ -0,0 +1,72 @@
+package com.example.educatback.Auth;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.Data;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter;
+import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
+import org.springframework.util.StringUtils;
+
+import java.io.IOException;
+
+//컨트롤러 이전에 검사하는 필터
+public class CustomAuthenticationFilter extends AbstractAuthenticationProcessingFilter {
+
+    private ObjectMapper objectMapper = new ObjectMapper();
+
+    public CustomAuthenticationFilter() {
+        // url과 일치할 경우 해당 필터가 동작합니다.
+        super(new AntPathRequestMatcher("/login"));
+    }
+    @Override
+    public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response)
+            throws AuthenticationException, IOException, ServletException {
+
+        // 해당 요청이 POST 인지 확인
+        if(!isPost(request)) {
+            throw new IllegalStateException("Authentication is not supported");
+        }
+
+        // POST 이면 body 를 AccountDto( 로그인 정보 DTO ) 에 매핑
+        AccountDto accountDto = objectMapper.readValue(request.getReader(), AccountDto.class);
+
+        // ID, PASSWORD 가 있는지 확인
+        if(!StringUtils.hasLength(accountDto.getUsername())
+                || !StringUtils.hasLength(accountDto.getPassword())) {
+            throw new IllegalArgumentException("id나 비밀번호를 둘 다 입력하세요.");
+        }
+
+        // 처음에는 인증 되지 않은 토큰 생성
+        CustomAuthenticationToken token = new CustomAuthenticationToken(
+                accountDto.getUsername(),
+                accountDto.getPassword()
+        );
+
+        // Manager 에게 인증 처리
+        Authentication authenticate = getAuthenticationManager().authenticate(token);
+
+        return authenticate;
+    }
+
+    //포스트 요청인지 아닌지 확인
+    private boolean isPost(HttpServletRequest request) {
+
+        if("POST".equals(request.getMethod())) {
+            return true;
+        }
+
+        return false;
+    }
+
+    //이거에 맞춰서 request를 보내야함
+    @Data
+    public static class AccountDto {
+        private String username;
+        private String password;
+    }
+
+}
 
src/main/java/com/example/educatback/Auth/CustomAuthenticationProvider.java (added)
+++ src/main/java/com/example/educatback/Auth/CustomAuthenticationProvider.java
@@ -0,0 +1,40 @@
+package com.example.educatback.Auth;
+
+import com.example.educatback.model.entity.Member;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.stereotype.Component;
+
+// 사실상 이게 로그인 컨트롤러 받은 요청을 서비스와 함께 처리
+@Component
+@RequiredArgsConstructor
+public class CustomAuthenticationProvider implements AuthenticationProvider {
+
+    private final UserDetailsService userDetailsService;
+    private final PasswordEncoder passwordEncoder;
+
+    @Override
+    public Authentication authenticate(Authentication authentication) throws AuthenticationException {
+
+        String loginId = authentication.getName();
+        String password = (String) authentication.getCredentials();
+
+        Member entity = (Member) userDetailsService.loadUserByUsername(loginId);
+
+        if(!passwordEncoder.matches(password, entity.getPassword())) {
+            throw new BadCredentialsException("Invalid Password");
+        }
+
+        return new CustomAuthenticationToken(entity, null, entity.getAuthorities());
+    }
+
+    @Override
+    public boolean supports(Class<?> authentication) {
+        return authentication.equals(CustomAuthenticationToken.class);
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/Auth/CustomAuthenticationToken.java (added)
+++ src/main/java/com/example/educatback/Auth/CustomAuthenticationToken.java
@@ -0,0 +1,61 @@
+package com.example.educatback.Auth;
+
+import org.springframework.security.authentication.AbstractAuthenticationToken;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.SpringSecurityCoreVersion;
+import org.springframework.util.Assert;
+
+import java.util.Collection;
+
+//토큰DTO나 엔티티라고 생각, 생성과 삭제 메소드가 있음.
+//AbstractAuthenticationToken 을 상속받은 것이고 사실상 저 클래스와 코드가 동일하다.
+public class CustomAuthenticationToken extends AbstractAuthenticationToken {
+
+    private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID;
+
+    private final Object principal;
+
+    private Object credentials;
+
+
+    // 인증 전 생성자
+    public CustomAuthenticationToken(Object principal, Object credentials) {
+        super(null);
+        this.principal = principal;
+        this.credentials = credentials;
+        setAuthenticated(false);
+    }
+
+    // 인증 후 생성자
+    public CustomAuthenticationToken(Object principal, Object credentials,
+                                     Collection<? extends GrantedAuthority> authorities) {
+        super(authorities);
+        this.principal = principal;
+        this.credentials = credentials;
+        super.setAuthenticated(true);
+    }
+
+    @Override
+    public Object getCredentials() {
+        return this.credentials;
+    }
+
+    @Override
+    public Object getPrincipal() {
+        return this.principal;
+    }
+
+    @Override
+    public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException {
+        Assert.isTrue(!isAuthenticated,
+                "Cannot set this token to trusted - use constructor which takes a GrantedAuthority list instead");
+        super.setAuthenticated(false);
+    }
+
+    @Override
+    public void eraseCredentials() {
+        super.eraseCredentials();
+        this.credentials = null;
+    }
+
+}
 
src/main/java/com/example/educatback/Auth/CustomLoginAuthenticationEntryPoint.java (added)
+++ src/main/java/com/example/educatback/Auth/CustomLoginAuthenticationEntryPoint.java
@@ -0,0 +1,20 @@
+package com.example.educatback.Auth;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.AuthenticationEntryPoint;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+//권한이 없는 경우 여기와서 에러메시지를 보내줌
+@Component
+public class CustomLoginAuthenticationEntryPoint implements AuthenticationEntryPoint {
+    @Override
+    public void commence(HttpServletRequest request,
+                         HttpServletResponse response,
+                         AuthenticationException authException) throws IOException {
+        response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "UnAuthorized");
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/Auth/ResultHandler/CustomAccessDeniedHandler.java (added)
+++ src/main/java/com/example/educatback/Auth/ResultHandler/CustomAccessDeniedHandler.java
@@ -0,0 +1,19 @@
+package com.example.educatback.Auth.ResultHandler;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.security.access.AccessDeniedException;
+import org.springframework.security.web.access.AccessDeniedHandler;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+@Component
+public class CustomAccessDeniedHandler implements AccessDeniedHandler {
+    @Override
+    public void handle(HttpServletRequest request, HttpServletResponse response,
+                       AccessDeniedException accessDeniedException) throws IOException {
+        response.sendError(HttpServletResponse.SC_FORBIDDEN, "Access is denied");
+    }
+
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/Auth/ResultHandler/CustomAuthenticationFailureHandler.java (added)
+++ src/main/java/com/example/educatback/Auth/ResultHandler/CustomAuthenticationFailureHandler.java
@@ -0,0 +1,45 @@
+package com.example.educatback.Auth.ResultHandler;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.CredentialsExpiredException;
+import org.springframework.security.authentication.DisabledException;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.authentication.AuthenticationFailureHandler;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+@Slf4j
+@Component
+public class CustomAuthenticationFailureHandler implements AuthenticationFailureHandler {
+
+
+    private ObjectMapper objectMapper = new ObjectMapper();
+
+    @Override
+    public void onAuthenticationFailure(HttpServletRequest request,
+                                        HttpServletResponse response,
+                                        AuthenticationException exception) throws IOException {
+
+        String errMsg = "Invalid Username or Password";
+
+        response.setStatus(HttpStatus.UNAUTHORIZED.value());
+        response.setContentType(MediaType.APPLICATION_JSON_VALUE);
+
+        if(exception instanceof BadCredentialsException) {
+            errMsg = "Invalid Username or Password";
+        } else if(exception instanceof DisabledException) {
+            errMsg = "Locked";
+        } else if(exception instanceof CredentialsExpiredException) {
+            errMsg = "Expired password";
+        }
+
+        objectMapper.writeValue(response.getWriter(), errMsg);
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/Auth/ResultHandler/CustomAuthenticationSuccessHandler.java (added)
+++ src/main/java/com/example/educatback/Auth/ResultHandler/CustomAuthenticationSuccessHandler.java
@@ -0,0 +1,34 @@
+package com.example.educatback.Auth.ResultHandler;
+
+import com.example.educatback.model.entity.Member;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+
+@Slf4j
+@Component
+public class CustomAuthenticationSuccessHandler implements AuthenticationSuccessHandler {
+
+    private ObjectMapper objectMapper = new ObjectMapper();
+
+    @Override
+    public void onAuthenticationSuccess(HttpServletRequest request,
+                                        HttpServletResponse response,
+                                        Authentication authentication) throws IOException {
+
+        Member user =  (Member) authentication.getPrincipal();
+
+        response.setStatus(HttpStatus.OK.value());
+        response.setContentType(MediaType.APPLICATION_JSON_VALUE);
+
+        objectMapper.writeValue(response.getWriter(), user);
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/DuplicateIdException.java (added)
+++ src/main/java/com/example/educatback/DuplicateIdException.java
@@ -0,0 +1,7 @@
+package com.example.educatback;
+
+public class DuplicateIdException extends RuntimeException {
+    public DuplicateIdException(String message) {
+        super(message);
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/EducatBackApplication.java (added)
+++ src/main/java/com/example/educatback/EducatBackApplication.java
@@ -0,0 +1,13 @@
+package com.example.educatback;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class EducatBackApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(EducatBackApplication.class, args);
+    }
+
+}
 
src/main/java/com/example/educatback/aspects/LoggingAspect.java (added)
+++ src/main/java/com/example/educatback/aspects/LoggingAspect.java
@@ -0,0 +1,44 @@
+package com.example.educatback.aspects;
+
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+@Aspect
+@Component
+public class LoggingAspect {
+
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    //컨트롤러 메시지 로깅
+    @Before("execution(* com.example.educatback.controller.*.*(..))")
+    public void logControllerMethodsBefore(JoinPoint joinPoint) {
+        String methodName = joinPoint.getSignature().getName();
+        logger.info("컨트롤러 method 실행: ", methodName);
+    }
+
+    @AfterReturning(pointcut = "execution(* com.example.educatback.controller.*.*(..))", returning = "result")
+    public void logControllerMethodsAfterReturning(JoinPoint joinPoint, Object result) {
+        String methodName = joinPoint.getSignature().getName();
+        logger.info("Controller method {} executed successfully with result: {}", methodName, result);
+    }
+
+
+    // 리포지토리 메서드 로깅
+    @Before("execution(* com.example.educatback.model.repository.*.*(..))")
+    public void logRepositoryMethodsBefore(JoinPoint joinPoint) {
+        String methodName = joinPoint.getSignature().getName();
+        logger.info("Calling repository method: {}", methodName);
+    }
+
+    @AfterReturning(pointcut = "execution(* com.example.educatback.model.repository.*.*(..))", returning = "result")
+    public void logRepositoryMethodsAfterReturning(JoinPoint joinPoint, Object result) {
+        String methodName = joinPoint.getSignature().getName();
+        logger.info("Repository method {} executed successfully with result: {}", methodName, result);
+    }
+}
+
 
src/main/java/com/example/educatback/config/SecurityConfig.java (added)
+++ src/main/java/com/example/educatback/config/SecurityConfig.java
@@ -0,0 +1,109 @@
+package com.example.educatback.config;
+
+import com.example.educatback.Auth.CustomAuthenticationFilter;
+import com.example.educatback.Auth.CustomLoginAuthenticationEntryPoint;
+import com.example.educatback.Auth.ResultHandler.CustomAccessDeniedHandler;
+import com.example.educatback.Auth.ResultHandler.CustomAuthenticationFailureHandler;
+import com.example.educatback.Auth.ResultHandler.CustomAuthenticationSuccessHandler;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.security.web.SecurityFilterChain;
+import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+import org.springframework.security.web.context.DelegatingSecurityContextRepository;
+import org.springframework.security.web.context.HttpSessionSecurityContextRepository;
+import org.springframework.security.web.context.RequestAttributeSecurityContextRepository;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.CorsConfigurationSource;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+
+import java.util.List;
+
+@Configuration
+@EnableWebSecurity
+@RequiredArgsConstructor
+public class SecurityConfig {
+
+    private final CustomAuthenticationSuccessHandler customAuthenticationSuccessHandler;
+    private final CustomAuthenticationFailureHandler customAuthenticationFailureHandler;
+    private final CustomLoginAuthenticationEntryPoint authenticationEntryPoint;
+    private final AuthenticationConfiguration authenticationConfiguration;
+    private final CustomAccessDeniedHandler accessDeniedHandler;
+
+    @Bean
+    public PasswordEncoder passwordEncoder(){
+        return new BCryptPasswordEncoder();
+    }
+    @Bean
+    public CorsConfigurationSource corsConfigurationSource() {
+        CorsConfiguration configuration = new CorsConfiguration();
+        configuration.setAllowedOrigins(List.of("http://localhost:3000")); // 클라이언트 애플리케이션의 도메인
+        configuration.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "OPTIONS"));
+        configuration.setAllowedHeaders(List.of("authorization", "content-type", "x-auth-token"));
+        configuration.setAllowCredentials(true); // 쿠키를 포함한 요청 허용
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        source.registerCorsConfiguration("/**", configuration); // 모든 경로에 대해 이 CORS 정책 적용
+        return source;
+    }
+    @Bean
+    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
+
+        http.csrf(AbstractHttpConfigurer->AbstractHttpConfigurer.disable());
+        http
+                .authorizeHttpRequests(authorize ->
+                        authorize
+                        .requestMatchers("/register", "/login", "/logout", "/").permitAll()// '/register', '/login' 경로는 모두에게 허용
+                        .requestMatchers("/**").authenticated() // '/**' 경로는 인증된 사용자에게만 허용
+                        .anyRequest().permitAll()).cors(cors->cors.configurationSource(corsConfigurationSource()))
+                // 그 외의 모든 요청은 모두에게 허용
+                .addFilterBefore(ajaxAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class)
+                .exceptionHandling(config -> config
+                        .authenticationEntryPoint(authenticationEntryPoint)
+                        .accessDeniedHandler(accessDeniedHandler))
+                .logout(logout -> logout
+                        .logoutUrl("/logout")
+                        .invalidateHttpSession(true)
+                        .clearAuthentication(true)
+                        .deleteCookies("JSESSIONID")
+                        .logoutSuccessHandler((request, response, authentication) -> {
+                            HttpSession session = request.getSession(false);
+                            if (session != null) {
+                                session.invalidate();
+                            }
+                            response.setStatus(HttpServletResponse.SC_OK);
+                            response.getWriter().write("Logout Successful");
+                        }));
+        return http.build();
+    }
+
+    @Bean
+    public CustomAuthenticationFilter ajaxAuthenticationFilter() throws Exception {
+        CustomAuthenticationFilter customAuthenticationFilter = new CustomAuthenticationFilter();
+        customAuthenticationFilter.setAuthenticationManager(authenticationManager());
+        customAuthenticationFilter.setAuthenticationSuccessHandler(customAuthenticationSuccessHandler);
+        customAuthenticationFilter.setAuthenticationFailureHandler(customAuthenticationFailureHandler);
+
+        // **
+        customAuthenticationFilter.setSecurityContextRepository(
+                new DelegatingSecurityContextRepository(
+                        new RequestAttributeSecurityContextRepository(),
+                        new HttpSessionSecurityContextRepository()
+                ));
+
+        return customAuthenticationFilter;
+    }
+
+    @Bean
+    public AuthenticationManager authenticationManager() throws Exception {
+        return authenticationConfiguration.getAuthenticationManager();
+    }
+
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/controller/MemberController.java (added)
+++ src/main/java/com/example/educatback/controller/MemberController.java
@@ -0,0 +1,87 @@
+package com.example.educatback.controller;
+
+import com.example.educatback.Application.MemberAppService;
+import com.example.educatback.DuplicateIdException;
+import com.example.educatback.controller.request.MemberRequest;
+import com.example.educatback.controller.response.ApiResponse;
+import com.example.educatback.controller.response.MemberResponse;
+import com.example.educatback.controller.response.ResponseCode;
+import com.example.educatback.controller.response.SolvedResponse;
+import com.example.educatback.model.entity.Solved;
+import jakarta.persistence.EntityNotFoundException;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@RestController
+@RequestMapping
+@RequiredArgsConstructor
+public class MemberController {
+    private final MemberAppService memberAppService;
+
+    @PostMapping("/register")
+    public ApiResponse<MemberResponse.Detail> create(@Valid @RequestBody MemberRequest.Create memberRequest) {
+        try {
+            MemberResponse.Detail member = memberAppService.createMember(memberRequest);
+            return ApiResponse.response(true, ResponseCode.Created, member);
+        } catch (Exception e) {
+
+            return handleException(e);
+        }
+    }
+
+
+
+
+    @GetMapping("/rating")
+    public ApiResponse<Object> rating(@AuthenticationPrincipal UserDetails auth) {
+        try {
+            MemberResponse.Rating member = memberAppService.getMemberRating(auth.getUsername());
+            return ApiResponse.response(true, ResponseCode.OK, member);
+        } catch (Exception e) {
+            return handleException(e);
+        }
+    }
+
+    @GetMapping("/member")
+    public ApiResponse<Object> show(@AuthenticationPrincipal UserDetails auth) {
+        try {
+            MemberResponse.Detail member = memberAppService.getMember(auth.getUsername());
+            return ApiResponse.response(true, ResponseCode.OK, member);
+        } catch (Exception e) {
+            return handleException(e);
+        }
+    }
+    @GetMapping("/member/solved")
+    public ApiResponse<List<SolvedResponse>> listSolvedByMember(@AuthenticationPrincipal UserDetails user) {
+        try {
+            List<Solved> solveds = memberAppService.getSolvedByMember(user.getUsername());
+            List<SolvedResponse> solvedResponses = solveds.stream().map(SolvedResponse::from).collect(Collectors.toList());
+            return ApiResponse.response(true, ResponseCode.OK, solvedResponses);
+        } catch (Exception e) {
+            return handleException(e);
+        }
+    }
+
+    private <T> ApiResponse<T> handleException(Exception e) {
+        if (e instanceof MethodArgumentNotValidException) {
+            return ApiResponse.response(false, ResponseCode.ValidationError, null);
+        }
+
+        if (e instanceof DuplicateIdException) {
+            return ApiResponse.response(false, ResponseCode.DuplicateError, null);
+        }
+
+        if (e instanceof EntityNotFoundException) {
+            return ApiResponse.response(false, ResponseCode.NOT_FOUND, null);
+        }
+        return ApiResponse.response(false, ResponseCode.InternalServerError, null);
+    }
+
+}
 
src/main/java/com/example/educatback/controller/ScoreLogController.java (added)
+++ src/main/java/com/example/educatback/controller/ScoreLogController.java
@@ -0,0 +1,33 @@
+package com.example.educatback.controller;
+
+import com.example.educatback.Application.ScoreLogService;
+import com.example.educatback.controller.response.ScoreLogResponseDTO;
+import com.example.educatback.model.entity.Member;
+import com.example.educatback.model.repository.MemberRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/scorelog")
+@RequiredArgsConstructor
+public class ScoreLogController {
+    @Autowired
+    private ScoreLogService scoreLogService;
+
+    @GetMapping("/latest")
+    public List<ScoreLogResponseDTO> getLatestScoreLogs(@AuthenticationPrincipal UserDetails user) {
+        return scoreLogService.getScoreLogsForMember(user.getUsername());
+    }
+
+    @GetMapping("/averages")
+    public List<ScoreLogResponseDTO.DailyAverageScore> getDailyAverageScores(@AuthenticationPrincipal UserDetails user) {
+        return scoreLogService.getDailyAverageScoresForMember(user.getUsername());
+    }
+}
 
src/main/java/com/example/educatback/controller/SolvedController.java (added)
+++ src/main/java/com/example/educatback/controller/SolvedController.java
@@ -0,0 +1,27 @@
+package com.example.educatback.controller;
+
+import com.example.educatback.Application.SolvedService;
+import com.example.educatback.model.entity.StudyType;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("/solved")
+@RequiredArgsConstructor
+public class SolvedController {
+
+    @Autowired
+    private SolvedService solvedService;
+
+    @GetMapping("/count")
+    public ResponseEntity<Map<StudyType, Long>> getStudyTypeCounts() {
+        Map<StudyType, Long> studyTypeCounts = solvedService.getStudyTypeCounts();
+        return ResponseEntity.ok(studyTypeCounts);
+    }
+}
 
src/main/java/com/example/educatback/controller/StudyAnswerController.java (added)
+++ src/main/java/com/example/educatback/controller/StudyAnswerController.java
@@ -0,0 +1,52 @@
+package com.example.educatback.controller;
+
+import com.example.educatback.Application.MemberAppService;
+import com.example.educatback.Application.StudyAnswerAppService;
+import com.example.educatback.DuplicateIdException;
+import com.example.educatback.controller.request.MemberRequest;
+import com.example.educatback.controller.request.StudyAnswerRequest;
+import com.example.educatback.controller.response.ApiResponse;
+import com.example.educatback.controller.response.ResponseCode;
+import com.example.educatback.controller.response.SolvedResponse;
+import jakarta.persistence.EntityNotFoundException;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/studyAnswer")
+@RequiredArgsConstructor
+public class StudyAnswerController {
+    private final StudyAnswerAppService studyAnswerAppService;
+
+    @PostMapping("/checkAnswer")
+    public ApiResponse<SolvedResponse> checkAnswer(@RequestBody StudyAnswerRequest.Save request, @AuthenticationPrincipal UserDetails user) {
+        try {
+            SolvedResponse solvedResponse = studyAnswerAppService.checkAnswer(request, user.getUsername());
+            return ApiResponse.response(true, ResponseCode.SUCCESS, solvedResponse);
+        } catch (Exception e) {
+            return handleException(e);
+        }
+    }
+    private <T> ApiResponse<T> handleException(Exception e) {
+        if (e instanceof MethodArgumentNotValidException) {
+            return ApiResponse.response(false, ResponseCode.ValidationError, null);
+        }
+
+        if (e instanceof DuplicateIdException) {
+            return ApiResponse.response(false, ResponseCode.DuplicateError, null);
+        }
+
+        if (e instanceof EntityNotFoundException) {
+            return ApiResponse.response(false, ResponseCode.NOT_FOUND, null);
+        }
+        return ApiResponse.response(false, ResponseCode.InternalServerError, null);
+    }
+
+}
 
src/main/java/com/example/educatback/controller/StudyController.java (added)
+++ src/main/java/com/example/educatback/controller/StudyController.java
@@ -0,0 +1,20 @@
+package com.example.educatback.controller;
+
+import com.example.educatback.Application.MemberAppService;
+import com.example.educatback.controller.request.MemberRequest;
+import com.example.educatback.controller.response.ApiResponse;
+import com.example.educatback.controller.response.MemberResponse;
+import com.example.educatback.controller.response.ResponseCode;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/study")
+@RequiredArgsConstructor
+public class StudyController {
+
+}
 
src/main/java/com/example/educatback/controller/StudyTypeController.java (added)
+++ src/main/java/com/example/educatback/controller/StudyTypeController.java
@@ -0,0 +1,339 @@
+package com.example.educatback.controller;
+
+import com.example.educatback.controller.response.StudyLevelResponse;
+import com.example.educatback.controller.response.StudyTypeResponse;
+import com.example.educatback.model.entity.*;
+import com.example.educatback.model.repository.*;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Optional;
+
+@RestController
+@RequestMapping("/studyType")
+@RequiredArgsConstructor
+public class StudyTypeController {
+
+    private final StudyRepository studyRepository;
+    private final WordAbsorbRepository wordAbsorbRepository;
+    private final WordBundleRepository wordBundleRepository;
+    private final SentenceAbsorbRepository sentenceAbsorbRepository;
+    private final SentenceDiaryRepository sentenceDiaryRepository;
+    private final GrammarFairyRepository grammarFairyRepository;
+    private final GrammarLandRepository grammarLandRepository;
+    private final TravelRepository travelRepository;
+    private final WorldRepository worldRepository;
+    private final CountryElementRepository countryElementRepository;
+    private final MemberRepository memberRepository;
+
+
+    @GetMapping("/wordAbsorb")
+    public StudyLevelResponse.WordAbsorbLevel getWordAbsorb(@AuthenticationPrincipal UserDetails auth,
+                                                            @RequestParam int chapter,
+                                                            @RequestParam int lesson,
+                                                            @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 1) {
+             type = StudyType.어휘력쑥쑥;
+        }
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        System.out.println(study.getId() + "--------------------------------------");
+
+        Optional<WordAbsorb> wordAbsorb1  = wordAbsorbRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<WordAbsorb> wordAbsorb2  = wordAbsorbRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+
+        StudyTypeResponse.DetailWordAbsorb detailWordAbsorb1 = StudyTypeResponse.DetailWordAbsorb.of(wordAbsorb1.get());
+        StudyTypeResponse.DetailWordAbsorb detailWordAbsorb2 = StudyTypeResponse.DetailWordAbsorb.of(wordAbsorb2.get());
+
+
+        return StudyLevelResponse.WordAbsorbLevel.of(detailWordAbsorb1, detailWordAbsorb2);
+    }
+
+
+
+    @GetMapping("/wordBundle")
+    public StudyTypeResponse.DetailWordBundle getWordBundle(@AuthenticationPrincipal UserDetails auth,
+                                                            @RequestParam int chapter,
+                                                            @RequestParam int lesson,
+                                                            @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 2) {
+             type = StudyType.단어뭉치;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        Optional<WordBundle> optionalWordBundle = wordBundleRepository.findByStudyId(study.getId());
+
+        WordBundle wordBundle = optionalWordBundle.get();
+
+        return StudyTypeResponse.DetailWordBundle.of(wordBundle);
+    }
+
+    @GetMapping("/sentenceDiary")
+    public StudyTypeResponse.DetailSentenceDiary getSentenceDiary(@AuthenticationPrincipal UserDetails auth,
+                                                                  @RequestParam int chapter,
+                                                                  @RequestParam int lesson,
+                                                                  @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 3) {
+            type = StudyType.문장일기;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        Optional<SentenceDiary> optionalSentenceDiary = sentenceDiaryRepository.findByStudyId(study.getId());
+
+        SentenceDiary sentenceDiary = optionalSentenceDiary.get();
+
+        return StudyTypeResponse.DetailSentenceDiary.of(sentenceDiary);
+    }
+
+    @GetMapping("/sentenceAbsorb")
+    public StudyLevelResponse.SentenceAbsorbLevel getSentenceAbsorb(@AuthenticationPrincipal UserDetails auth,
+                                                                    @RequestParam int chapter,
+                                                                    @RequestParam int lesson,
+                                                                    @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 4) {
+            type = StudyType.문장쏙쏙;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        Optional<SentenceAbsorb> sentenceAbsorb1  = sentenceAbsorbRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<SentenceAbsorb> sentenceAbsorb2  = sentenceAbsorbRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+
+        StudyTypeResponse.DetailSentenceAbsorb detailSentenceAbsorb1  = StudyTypeResponse.DetailSentenceAbsorb.of(sentenceAbsorb1.get());
+        StudyTypeResponse.DetailSentenceAbsorb detailSentenceAbsorb2 = StudyTypeResponse.DetailSentenceAbsorb.of(sentenceAbsorb2.get());
+
+
+        return StudyLevelResponse.SentenceAbsorbLevel.of(detailSentenceAbsorb1, detailSentenceAbsorb2);
+    }
+
+    @GetMapping("/grammarFairy")
+    public StudyLevelResponse.GrammarFairyLevel getGrammarFairy(@AuthenticationPrincipal UserDetails auth,
+                                                                    @RequestParam int chapter,
+                                                                    @RequestParam int lesson,
+                                                                    @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 5) {
+            type = StudyType.문법요정;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        Optional<GrammarFairy> grammarFairy1  = grammarFairyRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<GrammarFairy> grammarFairy2  = grammarFairyRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+
+        StudyTypeResponse.DetailGrammarFairy detailGrammarFairy1 = StudyTypeResponse.DetailGrammarFairy.of(grammarFairy1.get());
+        StudyTypeResponse.DetailGrammarFairy detailGrammarFairy2 = StudyTypeResponse.DetailGrammarFairy.of(grammarFairy2.get());
+
+
+        return StudyLevelResponse.GrammarFairyLevel.of(detailGrammarFairy1, detailGrammarFairy2);
+    }
+
+    @GetMapping("/grammarLand")
+    public StudyLevelResponse.GrammarLandLevel getGrammarLand(@AuthenticationPrincipal UserDetails auth,
+                                                              @RequestParam int chapter,
+                                                              @RequestParam int lesson,
+                                                              @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 6) {
+            type = StudyType.문법랜드;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        System.out.println(study.getId());
+
+        Optional<GrammarLand> grammarLand1  = grammarLandRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<GrammarLand> grammarLand2  = grammarLandRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+        System.out.println(grammarLand1);
+        System.out.println(grammarLand2);
+
+        StudyTypeResponse.DetailGrammarLand detailGrammarLand1 = StudyTypeResponse.DetailGrammarLand.of(grammarLand1.get());
+        StudyTypeResponse.DetailGrammarLand detailGrammarLand2 = StudyTypeResponse.DetailGrammarLand.of(grammarLand2.get());
+
+
+        return StudyLevelResponse.GrammarLandLevel.of(detailGrammarLand1, detailGrammarLand2);
+    }
+
+    @GetMapping("/bookTravel")
+    public StudyLevelResponse.BookTravelLevel getBookTravel(@AuthenticationPrincipal UserDetails auth,
+                                                            @RequestParam int chapter,
+                                                            @RequestParam int lesson,
+                                                            @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 7) {
+            type = StudyType.동화여행;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        System.out.println(study.getId());
+
+        Optional<Travel> travel1  = travelRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<Travel> travel2  = travelRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+        StudyTypeResponse.DetailTravel detailTravel1 = StudyTypeResponse.DetailTravel.of(travel1.get());
+        StudyTypeResponse.DetailTravel detailTravel2 = StudyTypeResponse.DetailTravel.of(travel2.get());
+
+
+        return StudyLevelResponse.BookTravelLevel.of(detailTravel1, detailTravel2);
+    }
+
+    @GetMapping("/bookWorld")
+    public StudyLevelResponse.WorldLevel getBookWorld(@AuthenticationPrincipal UserDetails auth,
+                                                      @RequestParam int chapter,
+                                                      @RequestParam int lesson,
+                                                      @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 8) {
+            type = StudyType.동화세상;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        System.out.println(study.getId());
+
+        Optional<World> world1  = worldRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<World> world2  = worldRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+        StudyTypeResponse.DetailWorld detailWorld1 = StudyTypeResponse.DetailWorld.of(world1.get());
+        StudyTypeResponse.DetailWorld detailWorld2 = StudyTypeResponse.DetailWorld.of(world2.get());
+
+
+        return StudyLevelResponse.WorldLevel.of(detailWorld1, detailWorld2);
+    }
+
+    @GetMapping("/songWorld")
+    public StudyLevelResponse.WorldLevel getSongWorld(@AuthenticationPrincipal UserDetails auth,
+                                                      @RequestParam int chapter,
+                                                      @RequestParam int lesson,
+                                                      @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 9) {
+            type = StudyType.동요세상;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        System.out.println(study.getId());
+
+        Optional<World> world1  = worldRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<World> world2  = worldRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+        StudyTypeResponse.DetailWorld detailWorld1 = StudyTypeResponse.DetailWorld.of(world1.get());
+        StudyTypeResponse.DetailWorld detailWorld2 = StudyTypeResponse.DetailWorld.of(world2.get());
+
+
+        return StudyLevelResponse.WorldLevel.of(detailWorld1, detailWorld2);
+    }
+
+    @GetMapping("/songCountry")
+    public StudyLevelResponse.SongCountryLevel getSongCountry(@AuthenticationPrincipal UserDetails auth,
+                                                             @RequestParam int chapter,
+                                                             @RequestParam int lesson,
+                                                             @RequestParam int studyType){
+
+        StudyType type = null;
+        if(studyType == 10) {
+            type = StudyType.동요나라;
+        }
+
+        Optional<Member> optionalMember = memberRepository.findById(auth.getUsername());
+
+        Member member = optionalMember.get();
+
+        Optional<Study> optionalStudy = studyRepository.findByGradeAndChapterAndLessonAndStudyType(member.getGrade(), chapter, lesson, type);
+
+        Study study = optionalStudy.get();
+
+        Optional<CountryElement> countryElement1  = countryElementRepository.findByStudyIdAndLevel(study.getId(), 1);
+        Optional<CountryElement> countryElement2  = countryElementRepository.findByStudyIdAndLevel(study.getId(), 2);
+
+        System.out.println(countryElement1);
+        System.out.println(countryElement2);
+
+
+        StudyTypeResponse.DetailCountryElement detailCountryElement1 = StudyTypeResponse.DetailCountryElement.of(countryElement1.get());
+        StudyTypeResponse.DetailCountryElement detailCountryElement2 = StudyTypeResponse.DetailCountryElement.of(countryElement2.get());
+
+
+        return StudyLevelResponse.SongCountryLevel.of(detailCountryElement1, detailCountryElement2);
+    }
+
+
+}
+
 
src/main/java/com/example/educatback/controller/request/MemberRequest.java (added)
+++ src/main/java/com/example/educatback/controller/request/MemberRequest.java
@@ -0,0 +1,32 @@
+package com.example.educatback.controller.request;
+
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+public class MemberRequest {
+    @Data
+    public static class Create{
+        @NotBlank
+        private String id;
+        @NotBlank
+        private String name;
+        @NotBlank
+        private String password;
+        @Min(1)  // 최소 1 이상의 값이어야 함을 지정
+        private int grade;
+        @NotBlank
+        private String gender;
+    }
+
+    @Data
+    public static class Update{
+        @NotBlank
+        private String name;
+        @NotBlank
+        private String password;
+    }
+
+
+}
 
src/main/java/com/example/educatback/controller/request/StudyAnswerRequest.java (added)
+++ src/main/java/com/example/educatback/controller/request/StudyAnswerRequest.java
@@ -0,0 +1,21 @@
+package com.example.educatback.controller.request;
+
+import com.example.educatback.model.entity.Study;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+
+public class StudyAnswerRequest {
+    @Data
+    public static class Save{
+
+        private Long id; // study_id
+
+        private String answer;
+
+        private int time;
+
+        private int level;
+    }
+}
 
src/main/java/com/example/educatback/controller/request/StudyTypeRequest.java (added)
+++ src/main/java/com/example/educatback/controller/request/StudyTypeRequest.java
@@ -0,0 +1,21 @@
+package com.example.educatback.controller.request;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+public class StudyTypeRequest {
+
+    @Data
+    public static class GetPlanet{
+        @NotBlank
+        private int lesson;
+        @NotBlank
+        private int chapter;
+        @NotBlank  // 최소 1 이상의 값이어야 함을 지정
+        private int grade;
+        @NotBlank
+        private Enum type;
+    }
+
+
+}
 
src/main/java/com/example/educatback/controller/response/ApiResponse.java (added)
+++ src/main/java/com/example/educatback/controller/response/ApiResponse.java
@@ -0,0 +1,20 @@
+package com.example.educatback.controller.response;
+
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class ApiResponse<E> {
+    private ResponseCode code;
+    private E data;
+    private boolean result;
+
+    public static <E> ApiResponse<E> response(boolean result, ResponseCode code, E data){
+        return ApiResponse.<E>builder()
+                .result(result)
+                .code(code)
+                .data(data)
+                .build();
+    }
+}
 
src/main/java/com/example/educatback/controller/response/MemberResponse.java (added)
+++ src/main/java/com/example/educatback/controller/response/MemberResponse.java
@@ -0,0 +1,59 @@
+package com.example.educatback.controller.response;
+
+import com.example.educatback.model.entity.Member;
+import jakarta.persistence.Column;
+import lombok.Builder;
+import lombok.Data;
+
+public class MemberResponse {
+    @Data
+    @Builder
+    public static class Detail {
+        private String id;
+        private String password;
+        private String name;
+        private int grade;
+        public static Detail of(Member member) {
+            return Detail.builder()
+                    .id(member.getUsername())
+                    .password(member.getPassword())
+                    .name(member.getName())
+                    .grade(member.getGrade())
+                    .build();
+        }
+    }
+    @Data
+    @Builder
+    public static class Login {
+        private String id;
+
+        public static Login of(Member member) {
+            return Login.builder()
+                    .id(member.getUsername())
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class Rating {
+        private int focus;
+        private int expression;
+        private int understand;
+        private int word;
+        private int sentence;
+        private int grammar;
+
+        public static Rating of(Member member) {
+            return Rating.builder()
+                    .focus(member.getFocus())
+                    .expression(member.getExpression())
+                    .understand(member.getUnderstand())
+                    .word(member.getWord())
+                    .sentence(member.getSentence())
+                    .grammar(member.getGrammar())
+                    .build();
+        }
+    }
+
+}
 
src/main/java/com/example/educatback/controller/response/ResponseCode.java (added)
+++ src/main/java/com/example/educatback/controller/response/ResponseCode.java
@@ -0,0 +1,18 @@
+package com.example.educatback.controller.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum ResponseCode {
+    OK(200000),
+    Created(201000),
+    SUCCESS(201000),
+    BAD_REQUEST(400000),
+    NOT_FOUND(404000),
+    ValidationError(400000),
+    InternalServerError(500000),
+    DuplicateError(409000);
+    int code;
+}
 
src/main/java/com/example/educatback/controller/response/ScoreLogResponseDTO.java (added)
+++ src/main/java/com/example/educatback/controller/response/ScoreLogResponseDTO.java
@@ -0,0 +1,64 @@
+package com.example.educatback.controller.response;
+
+import com.example.educatback.model.entity.ScoreLog;
+import lombok.Builder;
+import lombok.Data;
+
+import java.sql.Date;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@Builder
+public class ScoreLogResponseDTO {
+
+    private Long id;
+    private int focus;
+    private int expression;
+    private int understand;
+    private int word;
+    private int sentence;
+    private int grammar;
+    private LocalDateTime createdAt;
+
+    public static ScoreLogResponseDTO fromEntity(ScoreLog scoreLog) {
+        return ScoreLogResponseDTO.builder()
+                .id(scoreLog.getId())
+                .focus(scoreLog.getFocus())
+                .expression(scoreLog.getExpression())
+                .understand(scoreLog.getUnderstand())
+                .word(scoreLog.getWord())
+                .sentence(scoreLog.getSentence())
+                .grammar(scoreLog.getGrammar())
+                .createdAt(scoreLog.getCreatedAt())
+                .build();
+    }
+
+    @Data
+    @Builder
+    public static class DailyAverageScore {
+        private LocalDateTime dateTime;
+        private double avgFocus;
+        private double avgExpression;
+        private double avgUnderstand;
+        private double avgWord;
+        private double avgSentence;
+        private double avgGrammar;
+
+        public static DailyAverageScore fromObjectArray(Object[] objects) {
+            // Convert java.sql.Date to LocalDateTime
+            LocalDate date = ((Date) objects[0]).toLocalDate();
+            LocalDateTime dateTime = date.atStartOfDay(); // If you want to convert date to start of the day
+
+            return DailyAverageScore.builder()
+                    .dateTime(dateTime)
+                    .avgFocus((double) objects[1])
+                    .avgExpression((double) objects[2])
+                    .avgUnderstand((double) objects[3])
+                    .avgWord((double) objects[4])
+                    .avgSentence((double) objects[5])
+                    .avgGrammar((double) objects[6])
+                    .build();
+        }
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
src/main/java/com/example/educatback/controller/response/SolvedResponse.java (added)
+++ src/main/java/com/example/educatback/controller/response/SolvedResponse.java
@@ -0,0 +1,23 @@
+package com.example.educatback.controller.response;
+
+import com.example.educatback.model.entity.Solved;
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class SolvedResponse {
+    private Long id;
+    private int isChecked;
+    private String answer;
+    private StudyResponse study;
+
+    public static SolvedResponse from(Solved solved) {
+        return SolvedResponse.builder()
+                .id(solved.getId())
+                .isChecked(solved.getIsChecked())
+                .answer(solved.getAnswer())
+                .study(StudyResponse.from(solved.getStudy()))
+                .build();
+    }
+}
 
src/main/java/com/example/educatback/controller/response/StudyChoiceResponse.java (added)
+++ src/main/java/com/example/educatback/controller/response/StudyChoiceResponse.java
@@ -0,0 +1,136 @@
+package com.example.educatback.controller.response;
+
+import com.example.educatback.model.entity.*;
+import lombok.Builder;
+import lombok.Data;
+
+public class StudyChoiceResponse {
+
+    @Data
+    @Builder
+    public static class DetailWordAbsorbThree{
+        private Long id;
+        private String element;
+
+        public static DetailWordAbsorbThree of(WordAbsorbThree wordAbsorbThree){
+            return DetailWordAbsorbThree.builder()
+                    .id(wordAbsorbThree.getId())
+                    .element(wordAbsorbThree.getElement())
+                    .build();
+        }
+    }
+
+
+    @Data
+    @Builder
+    public static class DetailSentenceAbsorbThree {
+        private Long id;
+        private String element;
+
+        public static DetailSentenceAbsorbThree of(SentenceAbsorbThree sentenceAbsorbThree) {
+            return DetailSentenceAbsorbThree.builder()
+                    .id(sentenceAbsorbThree.getId())
+                    .element(sentenceAbsorbThree.getElement())
+                    .build();
+        }
+    }
+
+
+
+    @Data
+    @Builder
+    public static class DetailGrammarFairyTwo {
+        private Long id;
+        private String element;
+        // No need for study field as GrammarFairyTwo doesn't seem to have a Study association
+
+        public static DetailGrammarFairyTwo of(GrammarFairyTwo grammarFairyTwo) {
+            return DetailGrammarFairyTwo.builder()
+                    .id(grammarFairyTwo.getId())
+                    .element(grammarFairyTwo.getElement())
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailTravelThree {
+        private Long id;
+        private String element;
+        // No need for study field as TravelThree doesn't seem to have a Study association
+
+        public static DetailTravelThree of(TravelThree travelThree) {
+            return DetailTravelThree.builder()
+                    .id(travelThree.getId())
+                    .element(travelThree.getElement())
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailTravelSlide {
+        private Long id;
+        private Integer sequence;
+        private String image;
+        private String sentence;
+        // No need for study field as TravelSlide doesn't seem to have a Study association
+
+        public static DetailTravelSlide of(TravelSlide travelSlide) {
+            return DetailTravelSlide.builder()
+                    .id(travelSlide.getId())
+                    .sequence(travelSlide.getSequence())
+                    .image(travelSlide.getImage())
+                    .sentence(travelSlide.getSentence())
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailWorldThree {
+        private Long id;
+        private String image;
+        private String element;
+        // No need for world field as WorldThree doesn't seem to have a World association
+
+        public static DetailWorldThree of(WorldThree worldThree) {
+            return DetailWorldThree.builder()
+                    .id(worldThree.getId())
+                    .element(worldThree.getElement())
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailCountryThree {
+        private Long id;
+        private String element;
+
+        public static DetailCountryThree of(CountryThree countryThree) {
+            return DetailCountryThree.builder()
+                    .id(countryThree.getId())
+                    .element(countryThree.getElement())
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailCountryTwoFiles {
+        private Long id;
+        private String element;
+        private String sentence;
+        private String sentenceMeaning;
+
+        public static DetailCountryTwoFiles of(CountryTwoFiles countryTwoFiles) {
+            return DetailCountryTwoFiles.builder()
+                    .id(countryTwoFiles.getId())
+                    .element(countryTwoFiles.getElement())
+                    .sentence(countryTwoFiles.getSentence())
+                    .sentenceMeaning(countryTwoFiles.getSentenceMeaning())
+                    .build();
+        }
+    }
+}
 
src/main/java/com/example/educatback/controller/response/StudyLevelResponse.java (added)
+++ src/main/java/com/example/educatback/controller/response/StudyLevelResponse.java
@@ -0,0 +1,113 @@
+package com.example.educatback.controller.response;
+
+import com.example.educatback.model.entity.GrammarFairy;
+import lombok.Builder;
+import lombok.Data;
+
+public class StudyLevelResponse {
+
+    @Data
+    @Builder
+    public static class WordAbsorbLevel {
+        private StudyTypeResponse.DetailWordAbsorb basic;
+        private StudyTypeResponse.DetailWordAbsorb deep;
+        // 필요에 따라 더 많은 필드 추가 가능
+
+        public static WordAbsorbLevel of(StudyTypeResponse.DetailWordAbsorb basic, StudyTypeResponse.DetailWordAbsorb deep) {
+            return WordAbsorbLevel.builder()
+                    .basic(basic)
+                    .deep(deep)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class SentenceAbsorbLevel {
+        private StudyTypeResponse.DetailSentenceAbsorb basic;
+        private StudyTypeResponse.DetailSentenceAbsorb deep;
+        // 필요에 따라 더 많은 필드 추가 가능
+
+        public static SentenceAbsorbLevel of(StudyTypeResponse.DetailSentenceAbsorb basic, StudyTypeResponse.DetailSentenceAbsorb deep) {
+            return SentenceAbsorbLevel.builder()
+                    .basic(basic)
+                    .deep(deep)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class GrammarFairyLevel {
+        private StudyTypeResponse.DetailGrammarFairy basic;
+        private StudyTypeResponse.DetailGrammarFairy deep;
+        // 필요에 따라 더 많은 필드 추가 가능
+
+        public static GrammarFairyLevel of(StudyTypeResponse.DetailGrammarFairy basic, StudyTypeResponse.DetailGrammarFairy deep) {
+            return GrammarFairyLevel.builder()
+                    .basic(basic)
+                    .deep(deep)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class GrammarLandLevel {
+        private StudyTypeResponse.DetailGrammarLand basic;
+        private StudyTypeResponse.DetailGrammarLand deep;
+        // 필요에 따라 더 많은 필드 추가 가능
+
+        public static GrammarLandLevel of(StudyTypeResponse.DetailGrammarLand basic, StudyTypeResponse.DetailGrammarLand deep) {
+            return GrammarLandLevel.builder()
+                    .basic(basic)
+                    .deep(deep)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class BookTravelLevel {
+        private StudyTypeResponse.DetailTravel basic;
+        private StudyTypeResponse.DetailTravel deep;
+        // 필요에 따라 더 많은 필드 추가 가능
+
+        public static BookTravelLevel of(StudyTypeResponse.DetailTravel basic, StudyTypeResponse.DetailTravel deep) {
+            return BookTravelLevel.builder()
+                    .basic(basic)
+                    .deep(deep)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class WorldLevel {
+        private StudyTypeResponse.DetailWorld basic;
+        private StudyTypeResponse.DetailWorld deep;
+        // 필요에 따라 더 많은 필드 추가 가능
+
+        public static WorldLevel of(StudyTypeResponse.DetailWorld basic, StudyTypeResponse.DetailWorld deep) {
+            return WorldLevel.builder()
+                    .basic(basic)
+                    .deep(deep)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class SongCountryLevel {
+        private StudyTypeResponse.DetailCountryElement basic;
+        private StudyTypeResponse.DetailCountryElement deep;
+        // 필요에 따라 더 많은 필드 추가 가능
+
+        public static SongCountryLevel of(StudyTypeResponse.DetailCountryElement basic, StudyTypeResponse.DetailCountryElement deep) {
+            return SongCountryLevel.builder()
+                    .basic(basic)
+                    .deep(deep)
+                    .build();
+        }
+    }
+}
 
src/main/java/com/example/educatback/controller/response/StudyResponse.java (added)
+++ src/main/java/com/example/educatback/controller/response/StudyResponse.java
@@ -0,0 +1,26 @@
+package com.example.educatback.controller.response;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.StudyType;
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class StudyResponse {
+    private Long id;
+    private StudyType studyType;
+    private Integer grade;
+    private Integer chapter;
+    private Integer lesson;
+
+    public static StudyResponse from(Study study) {
+        return StudyResponse.builder()
+                .id(study.getId())
+                .studyType(study.getStudyType())
+                .grade(study.getGrade())
+                .chapter(study.getChapter())
+                .lesson(study.getLesson())
+                .build();
+    }
+}
 
src/main/java/com/example/educatback/controller/response/StudyTypeResponse.java (added)
+++ src/main/java/com/example/educatback/controller/response/StudyTypeResponse.java
@@ -0,0 +1,294 @@
+package com.example.educatback.controller.response;
+
+import com.example.educatback.model.entity.*;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class StudyTypeResponse {
+    @Data
+    @Builder
+    public static class DetailWordAbsorb {
+        private String word;
+        private String wordMeaning;
+        private String file;
+        private String image;
+        private String answer;
+        private int level;
+        private List<StudyChoiceResponse.DetailWordAbsorbThree> wordAbsorbThrees;
+        private StudyResponse studyResponse;
+        public static StudyTypeResponse.DetailWordAbsorb of(WordAbsorb wordAbsorb) {
+            List<StudyChoiceResponse.DetailWordAbsorbThree> wordAbsorbThreeElements = wordAbsorb.getWordAbsorbThrees().stream()
+                    .map(StudyChoiceResponse.DetailWordAbsorbThree::of)
+                    .collect(Collectors.toList());
+            return DetailWordAbsorb.builder()
+                    .word(wordAbsorb.getWord())
+                    .wordMeaning(wordAbsorb.getWordMeaning())
+                    .file(wordAbsorb.getFile())
+                    .image(wordAbsorb.getImage())
+                    .answer(wordAbsorb.getAnswer())
+                    .level(wordAbsorb.getLevel())
+                    .studyResponse(StudyResponse.from(wordAbsorb.getStudy()))
+                    .wordAbsorbThrees(wordAbsorbThreeElements)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailWordBundle {
+        private String word;
+        private String word_meaning;
+        private String file;
+        private String image;
+        private String sentence;
+        private String sentence_meaning;
+        private String sentence_file;
+        private StudyResponse studyResponse;
+
+        public static StudyTypeResponse.DetailWordBundle of(WordBundle wordBundle) {
+
+            return DetailWordBundle.builder()
+                    .word(wordBundle.getWord())
+                    .word_meaning(wordBundle.getWordMeaning())
+                    .file(wordBundle.getWordFile())
+                    .image(wordBundle.getImage())
+                    .sentence(wordBundle.getSentence())
+                    .sentence_meaning(wordBundle.getSentenceMeaning())
+                    .sentence_file(wordBundle.getSentenceFile())
+                    .studyResponse(StudyResponse.from(wordBundle.getStudy()))
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailSentenceDiary {
+        private Long id;
+        private String sentence;
+        private String sentence_problem;
+        private String sentence_meaning;
+        private String image;
+        private String file;
+        private String question;
+        private StudyResponse studyResponse;
+
+        public static StudyTypeResponse.DetailSentenceDiary of(SentenceDiary sentenceDiary) {
+            return StudyTypeResponse.DetailSentenceDiary.builder()
+                    .id(sentenceDiary.getId())
+                    .sentence(sentenceDiary.getSentence())
+                    .sentence_problem(sentenceDiary.getSentenceQuestion())
+                    .sentence_meaning(sentenceDiary.getSentenceMeaning())
+                    .image(sentenceDiary.getImage())
+                    .file(sentenceDiary.getFile())
+                    .question(sentenceDiary.getQuestion())
+                    .studyResponse(StudyResponse.from(sentenceDiary.getStudy()))
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailSentenceAbsorb {
+        private Long id;
+        private String sentence;
+        private String sentence_meaning;
+        private String image;
+        private String file;
+        private String example;
+        private int level;
+        private String question;
+        private StudyResponse studyResponse;
+        private List<StudyChoiceResponse.DetailSentenceAbsorbThree> sentenceAbsorbThreeElements; // List of elements from SentenceAbsorbThree
+
+        public static StudyTypeResponse.DetailSentenceAbsorb of(SentenceAbsorb sentenceAbsorb) {
+            List<StudyChoiceResponse.DetailSentenceAbsorbThree> sentenceAbsorbThreeList = sentenceAbsorb.getSentenceAbsorbThree().stream()
+                    .map(StudyChoiceResponse.DetailSentenceAbsorbThree::of)
+                    .collect(Collectors.toList());
+
+            return DetailSentenceAbsorb.builder()
+                    .id(sentenceAbsorb.getId())
+                    .sentence(sentenceAbsorb.getSentence())
+                    .sentence_meaning(sentenceAbsorb.getSentenceMeaning())
+                    .image(sentenceAbsorb.getImage())
+                    .file(sentenceAbsorb.getFile())
+                    .example(sentenceAbsorb.getExample())
+                    .level(sentenceAbsorb.getLevel())
+                    .question(sentenceAbsorb.getQuestion())
+                    .studyResponse(StudyResponse.from(sentenceAbsorb.getStudy()))
+                    .sentenceAbsorbThreeElements(sentenceAbsorbThreeList)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailGrammarFairy {
+        private Long id;
+        private String sentence;
+        private String explanation;
+        private String question;
+        private String answer;
+        private String example;
+        private int level;
+        private List<StudyChoiceResponse.DetailGrammarFairyTwo> grammarFairyTwoElements; // List of elements from GrammarFairyTwo
+        private StudyResponse studyResponse;
+        private String sentenceFairy;
+
+        public static StudyTypeResponse.DetailGrammarFairy of(GrammarFairy grammarFairy) {
+            List<StudyChoiceResponse.DetailGrammarFairyTwo> grammarFairyTwoElements = grammarFairy.getGrammarFairyTwo().stream()
+                    .map(StudyChoiceResponse.DetailGrammarFairyTwo::of)
+                    .collect(Collectors.toList());
+
+            return DetailGrammarFairy.builder()
+                    .id(grammarFairy.getId())
+                    .sentence(grammarFairy.getSentence())
+                    .explanation(grammarFairy.getExplanation())
+                    .question(grammarFairy.getQuestion())
+                    .answer(grammarFairy.getAnswer())
+                    .example(grammarFairy.getExample())
+                    .level(grammarFairy.getLevel())
+                    .grammarFairyTwoElements(grammarFairyTwoElements)
+                    .studyResponse(StudyResponse.from(grammarFairy.getStudy()))
+                    .sentenceFairy(grammarFairy.getSentenceFairy())
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailGrammarLand {
+        private Long id;
+        private String sentence1;
+        private String sentence2;
+        private String explanation;
+        private String example;
+        private String answer;
+        private int level;
+        private StudyResponse studyResponse;
+
+        public static StudyTypeResponse.DetailGrammarLand of(GrammarLand grammarLand) {
+            return DetailGrammarLand.builder()
+                    .id(grammarLand.getId())
+                    .sentence1(grammarLand.getSentence1())
+                    .sentence2(grammarLand.getSentence2())
+                    .explanation(grammarLand.getExplanation())
+                    .example(grammarLand.getExample())
+                    .answer(grammarLand.getAnswer())
+                    .level(grammarLand.getLevel())
+                    .studyResponse(StudyResponse.from(grammarLand.getStudy()))
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailTravel {
+        private Long id;
+        private String question;
+        private String example;
+        private String answer;
+        private String image;
+        private int level;
+        private StudyResponse studyResponse;
+        private List<StudyChoiceResponse.DetailTravelSlide> travelSlides; // Change here
+        private List<StudyChoiceResponse.DetailTravelThree> travelThrees;
+
+        public static StudyTypeResponse.DetailTravel of(Travel travel) {
+            List<StudyChoiceResponse.DetailTravelSlide> travelSlides = travel.getTravelSlides().stream()
+                    .map(StudyChoiceResponse.DetailTravelSlide::of)
+                    .collect(Collectors.toList());
+
+            List<StudyChoiceResponse.DetailTravelThree> travelThreeElements = travel.getTravelThrees().stream()
+                    .map(StudyChoiceResponse.DetailTravelThree::of)
+                    .collect(Collectors.toList());
+
+            return DetailTravel.builder()
+                    .id(travel.getId())
+                    .question(travel.getQuestion())
+                    .example(travel.getExample())
+                    .answer(travel.getAnswer())
+                    .image(travel.getImage())
+                    .level(travel.getLevel())
+                    .studyResponse(StudyResponse.from(travel.getStudy()))
+                    .travelSlides(travelSlides)
+                    .travelThrees(travelThreeElements)
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailWorld {
+        private Long id;
+        private String image;
+        private String sentenceMeaning;
+        private String sentence;
+        private String sentenceFocusing;
+        private String focusingMeaning;
+        private String question;
+        private String answer;
+        private String file;
+        private int level;
+        private StudyResponse studyResponse;
+        private List<StudyChoiceResponse.DetailWorldThree> worldThrees;
+
+        public static DetailWorld of(World world) {
+            List<StudyChoiceResponse.DetailWorldThree> worldThreeElements = world.getWorldThrees().stream()
+                    .map(StudyChoiceResponse.DetailWorldThree::of)
+                    .collect(Collectors.toList());
+
+            return DetailWorld.builder()
+                    .id(world.getId())
+                    .image(world.getImage())
+                    .sentenceMeaning(world.getSentenceMeaning())
+                    .sentence(world.getSentence())
+                    .sentenceFocusing(world.getSentenceFocusing())
+                    .focusingMeaning(world.getFocusingMeaning())
+                    .question(world.getQuestion())
+                    .answer(world.getAnswer())
+                    .file(world.getFile())
+                    .level(world.getLevel())
+                    .worldThrees(worldThreeElements)
+                    .studyResponse(StudyResponse.from(world.getStudy()))
+                    .build();
+        }
+    }
+
+    @Data
+    @Builder
+    public static class DetailCountryElement {
+        private Long id;
+        private String image;
+        private String question;
+        private String answer;
+        private String sentence;
+        private String sentenceMeaning;
+        private List<StudyChoiceResponse.DetailCountryThree> countryThrees;
+        private List<StudyChoiceResponse.DetailCountryTwoFiles> countryTwoFiles;
+        private StudyResponse studyResponse;
+
+        public static DetailCountryElement of(CountryElement countryElement) {
+            List<StudyChoiceResponse.DetailCountryThree> countryThreeElements = countryElement.getCountryThrees().stream()
+                    .map(StudyChoiceResponse.DetailCountryThree::of)
+                    .collect(Collectors.toList());
+            List<StudyChoiceResponse.DetailCountryTwoFiles> countryTwoFiles = countryElement.getCountryTwoFiles().stream()
+                    .map(StudyChoiceResponse.DetailCountryTwoFiles::of)
+                    .collect(Collectors.toList());
+
+            return DetailCountryElement.builder()
+                    .id(countryElement.getId())
+                    .image(countryElement.getImage())
+                    .question(countryElement.getQuestion())
+                    .answer(countryElement.getAnswer())
+                    .sentence(countryElement.getSentence())
+                    .sentenceMeaning(countryElement.getSentenceMeaning())
+                    .countryThrees(countryThreeElements)
+                    .countryTwoFiles(countryTwoFiles)
+                    .studyResponse(StudyResponse.from(countryElement.getStudy()))
+                    .build();
+        }
+    }
+}
 
src/main/java/com/example/educatback/model/entity/Analysis.java (added)
+++ src/main/java/com/example/educatback/model/entity/Analysis.java
@@ -0,0 +1,18 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "Analysis")
+public class Analysis {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+}
 
src/main/java/com/example/educatback/model/entity/CountryElement.java (added)
+++ src/main/java/com/example/educatback/model/entity/CountryElement.java
@@ -0,0 +1,43 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "CountryElement")
+public class CountryElement {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+
+    @Column(name = "question")
+    private String question;
+    @Column(name = "answer")
+    private String answer;
+    @Column(name = "level")
+    private int level;
+    @Column(name = "sentence")
+    private String sentence;
+    @Column(name = "sentenceMeaning")
+    private String sentenceMeaning;
+    @Column(name = "image")
+    private String image;
+
+    @ManyToOne
+    private Study study;
+
+    @OneToMany(mappedBy = "countryElement")
+    private List<CountryThree> countryThrees = new ArrayList<>();
+    @OneToMany(mappedBy = "countryElement")
+    private List<CountryTwoFiles> countryTwoFiles = new ArrayList<>();
+}
 
src/main/java/com/example/educatback/model/entity/CountryThree.java (added)
+++ src/main/java/com/example/educatback/model/entity/CountryThree.java
@@ -0,0 +1,24 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "CountryThree")
+public class CountryThree {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "element")
+    private String element;
+
+    @ManyToOne
+    private CountryElement countryElement;
+}
 
src/main/java/com/example/educatback/model/entity/CountryTwoFiles.java (added)
+++ src/main/java/com/example/educatback/model/entity/CountryTwoFiles.java
@@ -0,0 +1,29 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "CountryTwoFiles")
+public class CountryTwoFiles {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "element")
+    private String element;
+
+    @Column(name = "sentence")
+    private String sentence;
+    @Column(name = "sentence_meaning")
+    private String sentenceMeaning;
+
+    @ManyToOne
+    private CountryElement countryElement;
+}
 
src/main/java/com/example/educatback/model/entity/GrammarFairy.java (added)
+++ src/main/java/com/example/educatback/model/entity/GrammarFairy.java
@@ -0,0 +1,49 @@
+package com.example.educatback.model.entity;
+
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "GrammarFairy")
+public class GrammarFairy {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "sentence")
+    private String sentence;
+
+    @Column(name = "explanation")
+    private String explanation;
+
+    @Column(name = "question")
+    private String question;
+
+    @Column(name = "answer")
+    private String answer;
+
+    @Column(name = "example")
+    private String example;
+
+    @Column(name = "level")
+    private int level;
+
+    @OneToMany(mappedBy = "grammarFairy")
+    private List<GrammarFairyTwo> GrammarFairyTwo = new ArrayList<>();
+
+    @ManyToOne
+    private Study study;
+
+    @Column(name = "sentence_fairy")
+    private String sentenceFairy;
+}
 
src/main/java/com/example/educatback/model/entity/GrammarFairyTwo.java (added)
+++ src/main/java/com/example/educatback/model/entity/GrammarFairyTwo.java
@@ -0,0 +1,24 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "grammarFairyTwo")
+public class GrammarFairyTwo {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "element")
+    private String element;
+
+    @ManyToOne
+    private GrammarFairy grammarFairy;
+}
 
src/main/java/com/example/educatback/model/entity/GrammarLand.java (added)
+++ src/main/java/com/example/educatback/model/entity/GrammarLand.java
@@ -0,0 +1,39 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "GrammarLand")
+public class GrammarLand {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "sentence1")
+    private String sentence1;
+
+    @Column(name = "sentence2")
+    private String sentence2;
+
+    @Column(name = "explanation")
+    private String explanation;
+
+    @Column(name = "example")
+    private String example;
+
+    @Column(name = "answer")
+    private String answer;
+
+    @Column(name = "level")
+    private int level;
+
+    @ManyToOne
+    private Study study;
+}
 
src/main/java/com/example/educatback/model/entity/Member.java (added)
+++ src/main/java/com/example/educatback/model/entity/Member.java
@@ -0,0 +1,111 @@
+package com.example.educatback.model.entity;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import jakarta.persistence.*;
+import lombok.*;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "Member")
+public class Member implements UserDetails {
+    @Id
+    @Column(name = "id")
+    private String username;
+
+    @Column(name = "pw")
+    private String password;
+
+    @Column(name = "name")
+    private String name;
+    @Column(name = "grade")
+    private int grade;
+    @Column
+    private String role;
+
+    @Column(name = "focus")
+    private int focus;
+    @Column(name = "expression")
+    private int expression;
+    @Column(name = "understand")
+    private int understand;
+    @Column(name = "word")
+    private int word;
+    @Column(name = "sentence")
+    private int sentence;
+    @Column(name = "grammar")
+    private int grammar;
+    @Column(name = "gender")
+    private String gender;
+    @Column(name = "created_at")
+    private LocalDateTime createdAt;
+    @Column(name = "updated_at")
+    private LocalDateTime updatedAt;
+
+    @OneToMany(mappedBy = "member")
+    private List<Solved> solveds;
+
+    @OneToMany(mappedBy = "member")
+    private List<ScoreLog> scoreLogs;
+    @Override
+    public Collection<? extends GrantedAuthority> getAuthorities() {
+
+        List<GrantedAuthority> roles = new ArrayList<>();
+//        roles.add(new SimpleGrantedAuthority(role));
+        if (role != null) {
+            roles.add(new SimpleGrantedAuthority(role));
+        }
+        return roles;
+    }
+
+    @Override
+    public String getPassword() {
+        return password;
+    }
+
+    @Override
+    public String getUsername() {
+        return username;
+    }
+
+    @Override
+    public boolean isAccountNonExpired() {
+        return true;
+    }
+
+    @Override
+    public boolean isAccountNonLocked() {
+        return true;
+    }
+
+    @Override
+    public boolean isCredentialsNonExpired() {
+        return true;
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return true;
+    }
+
+    @PrePersist
+    public void prePersist() {
+        this.createdAt = LocalDateTime.now();
+        this.updatedAt = LocalDateTime.now();
+    }
+    @PreUpdate
+    public void preUpdate() {
+        this.updatedAt = LocalDateTime.now();
+    }
+}
 
src/main/java/com/example/educatback/model/entity/ScoreLog.java (added)
+++ src/main/java/com/example/educatback/model/entity/ScoreLog.java
@@ -0,0 +1,45 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.time.LocalDateTime;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "ScoreLog")
+public class ScoreLog {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+
+    @Column(name = "focus")
+    private int focus;
+    @Column(name = "expression")
+    private int expression;
+    @Column(name = "understand")
+    private int understand;
+    @Column(name = "word")
+    private int word;
+    @Column(name = "sentence")
+    private int sentence;
+    @Column(name = "grammar")
+    private int grammar;
+
+    @Column(name = "created_at")
+    private LocalDateTime createdAt;
+
+    @ManyToOne
+    private Member member;
+
+    @PrePersist
+    public void prePersist() {
+        this.createdAt = LocalDateTime.now();
+    }
+}
 
src/main/java/com/example/educatback/model/entity/SentenceAbsorb.java (added)
+++ src/main/java/com/example/educatback/model/entity/SentenceAbsorb.java
@@ -0,0 +1,51 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "SentenceAbsorb")
+public class SentenceAbsorb {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "sentence")
+    private String sentence;
+
+    @Column(name = "sentence_meaning")
+    private String sentenceMeaning;
+
+    @Column(name = "image")
+    private String image;
+
+    @Column(name = "file")
+    private String file;
+
+    @Column(name = "example")
+    private String example;
+
+    @Column(name = "level")
+    private int level;
+
+    @Column(name = "question")
+    private String question;
+
+    @Column(name = "answer")
+    private String answer;
+
+    @ManyToOne
+    private Study study;
+
+    @OneToMany(mappedBy = "SentenceAbsorb")
+    private List<SentenceAbsorbThree> sentenceAbsorbThree = new ArrayList<>();
+}
 
src/main/java/com/example/educatback/model/entity/SentenceAbsorbThree.java (added)
+++ src/main/java/com/example/educatback/model/entity/SentenceAbsorbThree.java
@@ -0,0 +1,23 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "SentenceAbsorbThree")
+public class SentenceAbsorbThree {
+    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "element")
+    private String element;
+
+    @ManyToOne
+    private SentenceAbsorb SentenceAbsorb;
+}
 
src/main/java/com/example/educatback/model/entity/SentenceDiary.java (added)
+++ src/main/java/com/example/educatback/model/entity/SentenceDiary.java
@@ -0,0 +1,39 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "SentenceDiary")
+public class SentenceDiary {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "sentence")
+    private String sentence;
+
+    @Column(name = "sentence_problem")
+    private String sentenceQuestion;
+
+    @Column(name = "sentence_meaning")
+    private String sentenceMeaning;
+
+    @Column(name = "image")
+    private String image;
+
+    @Column(name = "file")
+    private String file;
+
+    @Column(name = "question")
+    private String question;
+
+    @ManyToOne
+    private Study study;
+}
 
src/main/java/com/example/educatback/model/entity/Solved.java (added)
+++ src/main/java/com/example/educatback/model/entity/Solved.java
@@ -0,0 +1,43 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.time.LocalDateTime;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "Solved")
+public class Solved {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "is_checked")
+    private int isChecked;
+    @Column(name = "answer")
+    private String answer;
+
+    @Column(name = "create_at")
+    private LocalDateTime createAt;
+    @Column(name = "time")
+    private int time;
+    @Column(name = "level")
+    private int level;
+    @ManyToOne
+    private Member member;
+
+    @ManyToOne
+    @JoinColumn(name = "study_id")
+    private Study study;
+
+    @PrePersist
+    public void prePersist() {
+        this.createAt = LocalDateTime.now();
+    }
+}
 
src/main/java/com/example/educatback/model/entity/Study.java (added)
+++ src/main/java/com/example/educatback/model/entity/Study.java
@@ -0,0 +1,62 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "Study")
+public class Study {
+    @Id
+    @Column(name = "id")
+    private Long id;
+
+    @Enumerated(EnumType.STRING)
+    @Column(name = "study_type")
+    private StudyType studyType;
+
+    @Column(name = "grade")
+    private Integer grade;
+
+    @Column(name = "chapter")
+    private Integer chapter;
+
+    @Column(name = "lesson")
+    private Integer lesson;
+
+    @OneToMany(mappedBy = "study")
+    private List<WordAbsorb> wordAbsorbs;
+
+    @OneToMany(mappedBy = "study")
+    private List<WordBundle> wordBundles;
+
+    @OneToMany(mappedBy = "study")
+    private List<CountryElement> countryElements;
+
+    @OneToMany(mappedBy = "study")
+    private List<GrammarFairy> grammarFairies;
+
+    @OneToMany(mappedBy = "study")
+    private List<GrammarLand> grammarLands;
+
+    @OneToMany(mappedBy = "study")
+    private List<SentenceAbsorb> sentenceAbsorbs;
+
+    @OneToMany(mappedBy = "study")
+    private List<SentenceDiary> sentenceDiaries;
+
+    @OneToMany(mappedBy = "study")
+    private List<Travel> travels;
+
+    @OneToMany(mappedBy = "study")
+    private List<World> worlds;
+
+    @OneToMany(mappedBy = "study")
+    private List<Solved> solveds;
+}
 
src/main/java/com/example/educatback/model/entity/StudyType.java (added)
+++ src/main/java/com/example/educatback/model/entity/StudyType.java
@@ -0,0 +1,5 @@
+package com.example.educatback.model.entity;
+
+public enum StudyType {
+    단어뭉치, 어휘력쑥쑥,문장일기,문장쏙쏙,문법요정,문법랜드,동화여행,동화세상,동요세상,동요나라;
+}
 
src/main/java/com/example/educatback/model/entity/Travel.java (added)
+++ src/main/java/com/example/educatback/model/entity/Travel.java
@@ -0,0 +1,44 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "Travel")
+public class Travel {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "question")
+    private String question;
+    @Column(name = "example")
+    private String example;
+    @Column(name = "answer")
+    private String answer;
+    @Column(name = "image")
+    private String image;
+
+    @Column(name = "level")
+    private int level;
+
+    @ManyToOne
+    private Study study;
+
+
+
+    @OneToMany(mappedBy = "travel")
+    private List<TravelSlide> travelSlides = new ArrayList<>();
+
+    @OneToMany(mappedBy = "travel")
+    private List<TravelThree> travelThrees = new ArrayList<>();
+}
 
src/main/java/com/example/educatback/model/entity/TravelSlide.java (added)
+++ src/main/java/com/example/educatback/model/entity/TravelSlide.java
@@ -0,0 +1,27 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "TravelSlide")
+public class TravelSlide {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "sequence")
+    private Integer sequence;
+    @Column(name = "image")
+    private String image;
+    @Column(name = "sentence")
+    private String sentence;
+    @ManyToOne
+    private Travel travel;
+}
 
src/main/java/com/example/educatback/model/entity/TravelThree.java (added)
+++ src/main/java/com/example/educatback/model/entity/TravelThree.java
@@ -0,0 +1,24 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "TravelThree")
+public class TravelThree {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "element")
+    private String element;
+
+    @ManyToOne
+    private Travel travel;
+}
 
src/main/java/com/example/educatback/model/entity/WordAbsorb.java (added)
+++ src/main/java/com/example/educatback/model/entity/WordAbsorb.java
@@ -0,0 +1,42 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "WordAbsorb")
+public class WordAbsorb {
+    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "word")
+    private String word;
+    @Column(name = "word_meaning")
+    private String wordMeaning;
+
+    @Column(name = "image")
+    private String image;
+    @Column(name = "file")
+    private String file;
+
+    @Column(name = "answer")
+    private String answer;
+
+    @Column(name = "level")
+    private int level;
+
+    @ManyToOne
+    private Study study;
+
+    @OneToMany(mappedBy = "wordAbsorb")
+    private List<WordAbsorbThree> wordAbsorbThrees = new ArrayList<>();
+}
 
src/main/java/com/example/educatback/model/entity/WordAbsorbThree.java (added)
+++ src/main/java/com/example/educatback/model/entity/WordAbsorbThree.java
@@ -0,0 +1,23 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "WordAbsorbThree")
+public class WordAbsorbThree {
+    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "element")
+    private String element;
+
+    @ManyToOne
+    private WordAbsorb wordAbsorb;
+}
 
src/main/java/com/example/educatback/model/entity/WordBundle.java (added)
+++ src/main/java/com/example/educatback/model/entity/WordBundle.java
@@ -0,0 +1,38 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "WordBundle")
+public class WordBundle {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "word")
+    private String word;
+    @Column(name = "word_meaning")
+    private String wordMeaning;
+    @Column(name = "word_file")
+    private String wordFile;
+
+    @Column(name = "sentence")
+    private String sentence;
+    @Column(name = "sentence_meaning")
+    private String sentenceMeaning;
+    @Column(name = "sentence_file")
+    private String sentenceFile;
+
+    @Column(name = "image")
+    private String image;
+
+    @ManyToOne
+    private Study study;
+}
 
src/main/java/com/example/educatback/model/entity/World.java (added)
+++ src/main/java/com/example/educatback/model/entity/World.java
@@ -0,0 +1,46 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "World")
+public class World {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "image")
+    private String image;
+    @Column(name = "sentence_meaning")
+    private String sentenceMeaning;
+    @Column(name = "sentence")
+    private String sentence;
+    @Column(name = "sentence_focusing")
+    private String sentenceFocusing;
+    @Column(name = "focusing_meaning")
+    private String focusingMeaning;
+    @Column(name = "question")
+    private String question;
+    @Column(name = "answer")
+    private String answer;
+    @Column(name = "file")
+    private String file;
+    @Column(name = "level")
+    private int level;
+
+    @ManyToOne
+    private Study study;
+
+    @OneToMany(mappedBy = "world")
+    private List<WorldThree> worldThrees = new ArrayList<>();
+}
 
src/main/java/com/example/educatback/model/entity/WorldThree.java (added)
+++ src/main/java/com/example/educatback/model/entity/WorldThree.java
@@ -0,0 +1,24 @@
+package com.example.educatback.model.entity;
+
+import jakarta.persistence.*;
+import lombok.*;
+
+@Entity
+@Builder
+@NoArgsConstructor
+@Getter
+@AllArgsConstructor
+@Setter
+@Table(name = "WorldThree")
+public class WorldThree {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Long id;
+
+    @Column(name = "element")
+    private String element;
+
+    @ManyToOne
+    private World world;
+}
 
src/main/java/com/example/educatback/model/repository/AnalysisRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/AnalysisRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Analysis;
+import com.example.educatback.model.entity.Member;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface AnalysisRepository  extends JpaRepository<Analysis, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/CountryElementRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/CountryElementRepository.java
@@ -0,0 +1,13 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.Member;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface CountryElementRepository extends JpaRepository<CountryElement, Long> {
+    Optional<CountryElement> findByStudyId(Long studyId);
+
+    Optional<CountryElement> findByStudyIdAndLevel(Long studyId, int level);
+}
 
src/main/java/com/example/educatback/model/repository/CountryThreeRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/CountryThreeRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.CountryThree;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface CountryThreeRepository extends JpaRepository<CountryThree, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/CountryTwoFilesRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/CountryTwoFilesRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.CountryTwoFiles;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface CountryTwoFilesRepository extends JpaRepository<CountryTwoFiles, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/GrammarFairyRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/GrammarFairyRepository.java
@@ -0,0 +1,13 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.GrammarFairy;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface GrammarFairyRepository extends JpaRepository<GrammarFairy, Long> {
+    Optional<GrammarFairy> findByStudyId(Long studyId);
+
+    Optional<GrammarFairy> findByStudyIdAndLevel(Long studyId, int level);
+}
 
src/main/java/com/example/educatback/model/repository/GrammarFairyTwoRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/GrammarFairyTwoRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.GrammarFairyTwo;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface GrammarFairyTwoRepository extends JpaRepository<GrammarFairyTwo, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/GrammarLandRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/GrammarLandRepository.java
@@ -0,0 +1,13 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.GrammarLand;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface GrammarLandRepository extends JpaRepository<GrammarLand, Long> {
+    Optional<GrammarLand> findByStudyId(Long studyId);
+
+    Optional<GrammarLand> findByStudyIdAndLevel(Long studyId, int level);
+}
 
src/main/java/com/example/educatback/model/repository/MemberRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/MemberRepository.java
@@ -0,0 +1,7 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Member;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface MemberRepository extends JpaRepository<Member, String> {
+}
 
src/main/java/com/example/educatback/model/repository/ScoreLogRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/ScoreLogRepository.java
@@ -0,0 +1,21 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.Member;
+import com.example.educatback.model.entity.ScoreLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface ScoreLogRepository extends JpaRepository<ScoreLog, Long> {
+    @Query("SELECT s FROM ScoreLog s WHERE s.member = :member AND s.createdAt IN " +
+            "(SELECT MAX(s2.createdAt) FROM ScoreLog s2 WHERE s2.member = :member GROUP BY FUNCTION('date', s2.createdAt))")
+    List<ScoreLog> findLatestByMemberGroupedByDate(Member member);
+
+    @Query("SELECT FUNCTION('date', s.createdAt) as date, " +
+            "AVG(s.focus) as avgFocus, AVG(s.expression) as avgExpression, AVG(s.understand) as avgUnderstand, " +
+            "AVG(s.word) as avgWord, AVG(s.sentence) as avgSentence, AVG(s.grammar) as avgGrammar " +
+            "FROM ScoreLog s WHERE s.member = :member GROUP BY FUNCTION('date', s.createdAt)")
+    List<Object[]> findDailyAverageScoresByMember(Member member);
+}
 
src/main/java/com/example/educatback/model/repository/SentenceAbsorbRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/SentenceAbsorbRepository.java
@@ -0,0 +1,13 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.SentenceAbsorb;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface SentenceAbsorbRepository extends JpaRepository<SentenceAbsorb, Long> {
+    Optional<SentenceAbsorb> findByStudyId(Long studyId);
+
+    Optional<SentenceAbsorb> findByStudyIdAndLevel(Long studyId, int level);
+}
 
src/main/java/com/example/educatback/model/repository/SentenceAbsorbThreeRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/SentenceAbsorbThreeRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.CountryElement;
+import com.example.educatback.model.entity.SentenceAbsorbThree;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface SentenceAbsorbThreeRepository extends JpaRepository<SentenceAbsorbThree, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/SentenceDiaryRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/SentenceDiaryRepository.java
@@ -0,0 +1,10 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.SentenceDiary;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface SentenceDiaryRepository extends JpaRepository<SentenceDiary, Long> {
+    Optional<SentenceDiary> findByStudyId(Long studyId);
+}
 
src/main/java/com/example/educatback/model/repository/SolvedRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/SolvedRepository.java
@@ -0,0 +1,12 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Solved;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface SolvedRepository extends JpaRepository<Solved, Long> {
+    @Query("SELECT s.study.studyType, COUNT(s) FROM Solved s GROUP BY s.study.studyType ORDER BY COUNT(s) DESC")
+    List<Object[]> findStudyTypeCount();
+}
 
src/main/java/com/example/educatback/model/repository/StudyRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/StudyRepository.java
@@ -0,0 +1,17 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Member;
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.StudyType;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.repository.query.Param;
+
+import java.util.Optional;
+
+public interface StudyRepository extends JpaRepository<Study, Long> {
+    Optional<Study> findByGradeAndChapterAndLessonAndStudyType(@Param("grade") int grade,
+                                                               @Param("chapter") int chapter,
+                                                               @Param("lesson") int lesson,
+                                                               @Param("studyType") StudyType studyType);
+
+}
 
src/main/java/com/example/educatback/model/repository/TravelRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/TravelRepository.java
@@ -0,0 +1,13 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.Travel;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface TravelRepository extends JpaRepository<Travel, Long> {
+    Optional<Travel> findByStudyId(Long studyId);
+
+    Optional<Travel> findByStudyIdAndLevel(Long studyId, int level);
+}
 
src/main/java/com/example/educatback/model/repository/TravelSlideRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/TravelSlideRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.TravelSlide;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface TravelSlideRepository extends JpaRepository<TravelSlide, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/TravelThreeRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/TravelThreeRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.TravelThree;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface TravelThreeRepository extends JpaRepository<TravelThree, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/WordAbsorbRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/WordAbsorbRepository.java
@@ -0,0 +1,15 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.WordAbsorb;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.List;
+import java.util.Optional;
+
+public interface WordAbsorbRepository extends JpaRepository<WordAbsorb, Long> {
+    List<WordAbsorb> findByStudyId(Long studyId);
+    Optional<WordAbsorb> findByStudy(Study study);
+
+    Optional<WordAbsorb> findByStudyIdAndLevel(Long studyId, int level);
+}
 
src/main/java/com/example/educatback/model/repository/WordAbsorbThreeRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/WordAbsorbThreeRepository.java
@@ -0,0 +1,8 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.WordAbsorbThree;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface WordAbsorbThreeRepository extends JpaRepository<WordAbsorbThree, Long> {
+}
 
src/main/java/com/example/educatback/model/repository/WordBundleRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/WordBundleRepository.java
@@ -0,0 +1,11 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.WordBundle;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface WordBundleRepository extends JpaRepository<WordBundle, Long> {
+    Optional<WordBundle> findByStudyId(Long studyId);
+}
 
src/main/java/com/example/educatback/model/repository/WorldRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/WorldRepository.java
@@ -0,0 +1,13 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.Study;
+import com.example.educatback.model.entity.World;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.Optional;
+
+public interface WorldRepository extends JpaRepository<World, Long> {
+    Optional<World> findByStudyId(Long studyId);
+
+    Optional<World> findByStudyIdAndLevel(Long studyId, int level);
+}
 
src/main/java/com/example/educatback/model/repository/WorldThreeRepository.java (added)
+++ src/main/java/com/example/educatback/model/repository/WorldThreeRepository.java
@@ -0,0 +1,7 @@
+package com.example.educatback.model.repository;
+
+import com.example.educatback.model.entity.WorldThree;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface WorldThreeRepository extends JpaRepository<WorldThree, Long> {
+}
 
src/main/resources/application.properties (added)
+++ src/main/resources/application.properties
@@ -0,0 +1,19 @@
+spring.application.name=educatBack
+# db??
+spring.datasource.url=jdbc:mysql://210.180.118.83/edu_tech_test
+spring.datasource.username=takensoft
+spring.datasource.password=tts96314728!@
+`
+# Hibernate ???? ??? ? ???? ????? ?? ????.
+spring.jpa.hibernate.ddl-auto=update
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
+
+# ???? sql? ??
+spring.jpa.show-sql=true
+#sql? ?? ????.
+spring.jpa.properties.hibernate.format_sql=true
+logging.level.org.hibernate.SQL=DEBUG
+logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
+
+server.servlet.session.timeout=30m
+server.servlet.session.cookie.max-age=30m(파일 끝에 줄바꿈 문자 없음)
 
src/test/java/com/example/educatback/EducatBackApplicationTests.java (added)
+++ src/test/java/com/example/educatback/EducatBackApplicationTests.java
@@ -0,0 +1,13 @@
+package com.example.educatback;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class EducatBackApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}
Add a comment
List